PLSEJun 24, 2021

Userfault Objects: Transparent Programmable Memory

arXiv:2106.12995v2
AI Analysis

This addresses memory limitations for data-intensive applications in domains like data science, though it appears incremental as it builds on existing userfault mechanisms.

The paper tackles the problem of managing large data structures that exceed available memory by introducing the Userfault Object (UFO) framework, which uses the Linux kernel's userfault mechanism to fill object contents on demand, enabling larger-than-memory data structures without full materialization.

The Userfault Object (UFO) framework explores avenues of cooperating with the operating system to use memory in non-traditional ways. We implement a framework that employs the Linux kernel's userfault mechanism to fill the contents of runtime objects on demand. When an object's memory is accessed the framework executes a user-defined function that generates a slice of the object. The back-end can generate data from thin air, calculate it from a formula, or retrieve it from persistent storage, the network, or other sources (with or without post-processing). UFOs follow the memory layout of standard runtime objects, so they can be introspected and written to safely. The framework manages the loading and unloading of object segments to ensure that memory is reclaimed as needed and data is never lost. This allows the UFO framework to implement larger-than-memory data structures that never materialize into memory in full. Implementing objects as UFOs also impacts performance, since overhead of populating memory is amortized by loading entire pages of data at a time. The host runtime can also rely on direct memory accesses into userfault object obviating the need for a special dispatch mechanism. We provide a proof-of-concept implementation of the UFO framework for the R language.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes