Lune

SOSP2025顶会

μFork: Supporting POSIX fork Within a Single-Address-Space OS

John Alistair Kressel, Hugo Lefeuvre, Pierre Olivier

2025年份
1顶会引用

摘要

Single-address-space operating systems have well-known lightweightness benefits that result from their central design idea: the kernel and applications share a unique address space. This model makes these operating systems (OSes) incompatible by design with a large class of software: multiprocess POSIX applications. Indeed, the semantics of the primitive used to create POSIX processes, fork, are inextricably tied to the existence of multiple address spaces.

Prior approaches addressing this issue trade off lightweightness, compatibility and/or isolation. We propose µFork, a single-address-space operating system design supporting POSIX fork on modern hardware without compromising on any of these key objectives. µFork emulates POSIX processes (µprocesses) and achieves fork by creating for the child a copy of the parent µprocess' memory at a different location within a single address space. This approach presents two challenges: relocating the child's absolute memory references (pointers), as well as providing user/kernel and µprocesses isolation without impacting lightweightness. We address them using CHERI. We implement µFork and evaluate it upon three real-world use-cases: Redis snapshots, Nginx multi-worker deployments, and Zygote FaaS worker warm-up. µFork outperforms previous work and traditional monolithic OSes on key lightweightness metrics by an order of magnitude, e.g. it can offer a fork-bound FaaS function throughput 24% higher than that of a monolithic OS, and can fork a µprocess in 54 µs, 3.7× faster than a traditional fork.

问问这篇 Paper

智能体会读完全文。

Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。

可以从这些问题问起

智能体调用

Luneget_paper_fulltext

在 Lune 里问

免费开始,无需绑卡

引用它的顶会 Paper1

问问它们各自怎么用它

它引用的顶会 Paper37

相关 Paper

黄昏的海面,两侧是细线勾勒的悬崖