Using continuations to build a user-level threads library

  • Authors:
  • Randall W. Dean

  • Affiliations:
  • School of Computer Science, Carnegie Mellon University Pittsburgh, Pennsylvania

  • Venue:
  • MSYM'93 Proceedings of the 3rd conference on USENIX MACH III Symposium - Volume 1
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

We have designed and built a user-level threads library that uses continuations for transfers of control. The use of continuations reduces the amount of state that needs to be saved and restored at context switch time thereby reducing the instruction count in the critical sections. Our multiprocessor contention benchmarks indicate that this reduction and the use of Busy Spinning, Busy Waiting and Spin Polling increases throughput by as much as 75% on a multiprocessor. In addition, flattening the locking hierarchy reduces context switch latency by 5% to 49% on both uniprocessors and multiprocessors. This paper describes the library's design and compares its overall performance characteristics to the existing implementation.