CMU-CS-22-101 Computer Science Department School of Computer Science, Carnegie Mellon University
Lightweight Preemptible Functions Sol Boucher Ph.D. Thesis March 2022
CMU-CS-22-101.pdf
We introduce novel programming abstractions for isolation of both time and memory. They operate at finer granularity than traditional primitives, supporting preemption at sub-millisecond timescales and tasks defined at the level of a function call. This resolution enables new functionality for application programmers, including users of unmanaged systems programming languages, all without requiring changes to the existing systems stack. Despite being concurrency abstractions, they employ synchronous invocation to allow application programmers to make their own scheduling decisions. However, we found that they compose naturally with existing concurrency abstractions centered around asynchronous background work, such as threads and futures. We demonstrated how such composition can enable asynchronous cancellation of threads and the implementation of preemptive thread libraries in userland, both regarded for decades as challenging problems.
139 pages
Thesis Committee:
Srinivasan Seshan, Head, Computer Science Department
| |
Return to:
SCS Technical Report Collection This page maintained by reports@cs.cmu.edu |