Skip to main content
USENIX
  • Conferences
  • Students
Sign in

connect with us


  •  Twitter
  •  Facebook
  •  LinkedIn
  •  Google+
  •  YouTube

twitter

Tweets by @usenix

usenix conference policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

You are here

Home » Using Cohort Scheduling to Enhance Server Performance
Tweet

connect with us

Using Cohort Scheduling to Enhance Server Performance

Abstract: 

A server application is commonly organized as a collection of concurrent threads, each of which executes the code necessary to process a request. This software architecture, which causes frequent control transfers between unrelated pieces of code, decreases instruction and data locality, and consequently reduces the effectiveness of hardware mechanisms such as caches, TLBs, and branch predictors. Numerous measurements demonstrate this effect in server applications, which often utilize only a fraction of a modern processor’s computational throughput.

This paper addresses this problem through cohort scheduling, a new policy that increases code and data locality by batching the execution of similar operations arising in different server requests. Effective implementation of the policy relies on a new programming abstraction, staged computation, which replaces threads. The StagedServer library provides an efficient implementation of cohort scheduling and staged computation. Measurements of two server applications written with this library show that cohort scheduling can improve server throughput by as much as 20%, by reducing the processor cycles per instruction by 30% and L2 cache misses by 50%.

James R. Larus, Microsoft Research

Michael Parkes, Microsoft Research

BibTeX
@inproceedings {270673,
author = {James R. Larus and Michael Parkes},
title = {Using Cohort Scheduling to Enhance Server Performance},
booktitle = {2002 USENIX Annual Technical Conference (USENIX ATC 02)},
year = {2002},
address = {Monterey, CA},
url = {https://www.usenix.org/conference/2002-usenix-annual-technical-conference/using-cohort-scheduling-enhance-server},
publisher = {USENIX Association},
month = jun
}
Download

Links

Paper: 
http://usenix.org/publications/library/proceedings/usenix02/full_papers/larus/larus.pdf
Paper (HTML): 
http://usenix.org/publications/library/proceedings/usenix02/full_papers/larus/larus_html/index.html
  • Log in or    Register to post comments

© USENIX

  • Privacy Policy
  • Contact Us