Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

PACKING REPLICATED WRITES

HANDLING BLOCKING SYSCALLS

  • What kind of kernel assistance do we need?

DATA STRUCTURE FOR TASKS THAT DO NOT YET HAVE A CORE (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)

...

BENEFITS / SELLING POINTS / CONTRIBUTIONSLOAD BALANCING BETWEEN CORES

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?

...

  • 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

 

...