HANDLING BLOCKING SYSCALLS
- What kind of kernel assistance do we need?
DATA STRUCTURE FOR TASKS THAT DO NOT YET HAVE A CORE PACKING REPLICATED WRITES (Utilizing CPU Time while waiting on replicated writes)
- 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 / CONTRIBUTIONS
- 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.
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
...