Sciweavers

SOSP
2003
ACM

Capriccio: scalable threads for internet services

14 years 8 months ago
Capriccio: scalable threads for internet services
This paper presents Capriccio, a scalable thread package for use with high-concurrency servers. While recent work has advocated event-based systems, we believe that threadbased systems can provide a simpler programming model that achieves equivalent or superior performance. By implementing Capriccio as a user-level thread package, we have decoupled the thread package implementation from the underlying operating system. As a result, we can take advantage of cooperative threading, new asynchronous I/O mechanisms, and compiler support. Using this approach, we are able to provide three key features: (1) scalability to 100,000 threads, (2) efficient stack management, and (3) resource-aware scheduling. We introduce linked stack management, which minimizes the amount of wasted stack space by providing safe, small, and non-contiguous stacks that can grow or shrink at run time. A compiler analysis makes our stack implementation efficient and sound. We also present resource-aware scheduling, wh...
J. Robert von Behren, Jeremy Condit, Feng Zhou, Ge
Added 17 Mar 2010
Updated 17 Mar 2010
Type Conference
Year 2003
Where SOSP
Authors J. Robert von Behren, Jeremy Condit, Feng Zhou, George C. Necula, Eric A. Brewer
Comments (0)