μFork: Supporting POSIX fork Within a Single-Address-Space OS
John Alistair Kressel, Hugo Lefeuvre, Pierre Olivier
摘要
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 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper37
- Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud ProviderMohammad Shahrad, Rodrigo Fonseca, Iñigo Goiri, Gohar Irfan Chaudhry 等USENIX ATC 2020 · 被引用 946 次
- SEUSS: skip redundant paths to make serverless fastJames Cadden, Thomas Unger, Yara Awad, Han Dong 等EuroSys 2020 · 被引用 156 次
- Full-Speed Fuzzing: Reducing Fuzzing Overhead through Coverage-Guided TracingStefan Nagy, Matthew HicksS&P 2019 · 被引用 156 次
- Ramblr: Making Reassembly Great AgainRuoyu Wang, Yan Shoshitaishvili, Antonio Bianchi, Aravind Machiry 等NDSS 2017 · 被引用 155 次
- HDFI: Hardware-Assisted Data-Flow IsolationChengyu Song, Hyungon Moon, Monjur Alam, Insu Yun 等S&P 2016 · 被引用 146 次
相关 Paper
- Nephele: Extending Virtualization Environments for Cloning Unikernel-based VMsCostin Lupu, Andrei Albisoru, Radu Nichita, Doru-Florin Blânzeanu 等EuroSys 2023 · 被引用 10 次
- On-demand-fork: a microsecond fork for memory-intensive and latency-sensitive applicationsKaiyang Zhao, Sishuai Gong, Pedro FonsecaEuroSys 2021 · 被引用 25 次
- Efficient Linkage-Based Compartmentalization on CHERIDapeng Gao, John Baldwin, Jessica Clarke, Nicholas C. Connolly 等CCS 2026
- No Provisioned Concurrency: Fast RDMA-codesigned Remote Fork for Serverless ComputingXingda Wei, Fangming Lu, Tianxia Wang, Jinyu Gu 等OSDI 2023 · 被引用 78 次
- Fast Core Scheduling with Userspace Process AbstractionJiazhen Lin, Youmin Chen, Shiwei Gao, Youyou LuSOSP 2024 · 被引用 3 次
