Application-specific thread schedulers for internet server applications

  • Authors:
  • Matthew D. Roper;Ronald A. Olsson

  • Affiliations:
  • (Current affiliation: Intel Corporation (Folsom, California, USA)) Department of Computer Science, University of California, Davis, CA95616, USA;Department of Computer Science, University of California, Davis, CA95616, USA

  • Venue:
  • Concurrency and Computation: Practice & Experience
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes CATAPULTS (Creating And Testing APplication-specific User Level Thread Schedulers), a domain-specific language for creating and testing application-specific user-level thread schedulers. Using a domain-specific language to write user-level thread schedulers provides three advantages. First, doing so modularizes the thread scheduler, making it easy to plug in and experiment with different thread scheduling strategies. Second, using a domain-specific language for scheduling code helps prevent several of the common programming mistakes that are easy to make when developing thread schedulers. Finally, the CATAPULTS translator has multiple backends that generate code for different languages and libraries. This makes it easy to prototype an application in a high-level language and then later port it to a low-level language; the CATAPULTS translator will take care of generating the appropriate code for both the prototype and the final version of the program from a single scheduler specification. This paper describes how we have used CATAPULTS to improve the performance of two important and representative Internet server applications. Copyright © 2011 John Wiley & Sons, Ltd.