/
Arachne Open Issues

Arachne Open Issues

PACKING REPLICATED WRITES (Utilizing CPU Time while waiting on replicated writes)

LOAD BALANCING BETWEEN CORES

  • Choosing an idle core for a new task
  • New task creation when all cores are busy (Slow path for user thread creation)
    • Single Global Queue vs Per-Core Queues needs an experiment.
  • Task migration to balance load? (may not be needed if tasks are sufficiently short-lived)

LOGICAL CONCURRENCY VS DESIRED PARALLELISM (CORE COUNT)

  • When should we ask the kernel for more cores, and when should we return cores to the kernel?

TIMING GUARANTEES UNDER COOPERATIVE THREADING

  • Can we have any kind of timing guarantees without preemption?

PRIORITIES AND STARVATION

BENEFITS / SELLING POINTS / CONTRIBUTIONS

USER API

  • How much of knowledge of cores should bubble up to the application?
  • What kind of guidance / hints can application offer to Arachne? e.g. priorities.

KERNEL API

CORE NEGOTIATION PROTOCOL

PROPOSED EXPERIMENTS

Mostly Solved Issues

MINIMUM TIME TO SCHEDULE A USER THREAD ONTO ANOTHER CORE

  • What is the correct architecture for the fast path, and what is the lowest possible time to schedule to another core?

 

DEFINITION OF CORE AWARE

  • Knowledge of the number of nature of physical cores must move up the stack from the kernel into user-level libraries and possibly into applications

 

Related content

Core Negotiation Protocol
Core Negotiation Protocol
More like this
Contributions of Arachne
Contributions of Arachne
More like this
Arachne Load Balancing
Arachne Load Balancing
More like this
Arachne Performance
Arachne Performance
More like this
Arachne Priorities and Starvation
Arachne Priorities and Starvation
More like this
Arachne Kernel API
Arachne Kernel API
More like this