Carnegie Mellon University
Browse
DOCUMENT
CMU-CS-22-101 Boucher.pdf (3.95 MB)
ARCHIVE
sboucher_phd_csd_2022.tar (105.67 MB)
1/0
2 files

Lightweight Preemptible Functions

thesis
posted on 2022-05-19, 20:53 authored by Solomon BoucherSolomon Boucher

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.

History

Date

2022-05-14

Degree Type

  • Dissertation

Department

  • Computer Science

Degree Name

  • Doctor of Philosophy (PhD)

Advisor(s)

David G. Andersen

Usage metrics

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC