Arachne: Core-Aware Thread Management

  • Authors:
    Henry Qin (Stanford), Jacqeline Speiser (Stanford), John Ousterhout (Stanford)
    Publication ID:
    Publication Type:
    Received Date:
    Last Edit Date:
    2384.007 (University of Michigan)


Arachne is a new user-level implementation of threads that provides both low latency and high throughput for applications consisting of extremely short-lived threads (only a few microseconds). Arachne is core-aware: a lightweight runtime within each application computes how many cores are needed based on its load, and a central core arbiter allocates cores among competing applications. Each runtime always knows its current core allocation, so it can schedule user threads to match the available resources. The runtime is optimized to minimize cache misses; it can initiate a new user thread on a different core (with load balancing) in about 180 ns and wake up a blocked thread on another core in about 130 ns. Adding Arachne to the RAMCloud storage system increased its write throughput by more than 2.5x. Both the Arachne runtime and the core arbiter run at user level on Linux; no kernel modifications are needed.

4819 Emperor Blvd, Suite 300 Durham, NC 27703 Voice: (919) 941-9400 Fax: (919) 941-9450

Important Information for the SRC website. This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.