papers-we-love / portland

Papers We :heart: Portland
8 stars 3 forks source link

[Paper Suggestion] Lightweight Preemptible Functions #21

Closed jdavisp3 closed 1 month ago

jdavisp3 commented 4 months ago

Paper Suggestion

Content Summary

Lamenting the lack of a natural userland abstraction for preemptive interruption and asynchronous cancellation, we propose lightweight preemptible functions, a mechanism for synchronously performing a function call with a precise timeout that is lightweight, efficient, and composable, all while being portable between programming languages. We present the design of libinger, a library that provides this abstraction, on top of which we build libturquoise, arguably the first general-purpose and backwards-compatible preemptive thread library implemented entirely in userland. Finally, we demonstrate this software stack’s applicability to and performance on the problems of combatting head-of-line blocking and time-based DoS attacks.