Robust and Immediate Resource Reclamation with M3

Viktor Reusch, Nils Asmussen, Michael Roitzsch · 2024

Asynchronous programming is a very helpful programming methodology for systems with many threads and long-running I/O. However, care must be taken if systems, e.g., kernels, work with objects that can be dynamically created, used, and destroyed by asynchronous tasks. The typical approach keeps an object alive until all tasks are done with it. However, this can lead to long delays until resources can be reclaimed and performs useless work on already destroyed objects.

Read the paper · More papers on PaperTik