paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Loupe: Driving the Development of OS Compatibility Layers

Loupe:驱动操作系统兼容层开发
ASPLOS Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 12024匹配度 2/10 · 论文属于程序分析中的动态分析方法,但应用场景是 OS 兼容层的系统调用/特性挖掘,与用户核心关注的 PL 与 AI/LLM 交叉、静态分析、浮点程序分析、贝叶斯程序分析及 Agentic 程序均无直接关联。引用 12 inbox
Hugo Lefeuvre, Gaulthier Gain, Vlad-Andrei Bădoiu, Daniel Dinca, Vlad-Radu Schiller, Costin Raiciu, Felipe Huici, Pierre Olivier
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出 Loupe 动态分析方法,精确找出应用所需的 OS 特性与系统调用,指导兼容层按优先级实现。

新操作系统若想产生影响,必须能运行主流应用;常见做法是构建兼容层,使 Linux 等应用无需修改即可运行。然而,由于缺乏精确测量一组应用究竟需要哪些 OS 特性的方法,兼容层开发存在大量工程低效。本文提出 Loupe,一种基于动态分析的方法,用于确定原型 OS 为支持目标应用与工作负载所需实现的 OS 特性,并据此排序实现优先级,从而尽早支持更多应用。作者在 100 多个应用和多个正在开发的 OS 上应用该方法,并与现有流程比较:例如 OSv 内核已支持的 62 个应用,若使用 Loupe 预计只需实现 37 个系统调用,而非其开发者非系统化流程所需的 92 个。研究还给出新洞见:构建兼容层的负担显著低于此前工作所认为的程度,有时仅需实现静态分析报告系统调用的 20%,或朴素动态分析报告的 50%,即可让应用通过标准基准测试。

问题
新操作系统要成功需能运行主流应用,但开发者在构建兼容层时缺少精确方法衡量目标应用究竟依赖哪些 OS 特性,导致大量工程低效。
方法
Loupe 通过动态分析收集应用与工作负载所需的 OS 特性(如系统调用),并对实现优先级进行排序,以指导兼容层开发。
评估
在 100+ 应用和多个开发中的 OS 上应用该方法,并与 OSv 等现有流程对比,显示可显著减少需实现的系统调用数量,并总结出关键洞见。
原文摘要(Abstract)

Supporting mainstream applications is fundamental for a new OS to have impact. It is generally achieved by developing a layer of compatibility allowing applications developed for a mainstream OS like Linux to run unmodified on the new OS. Building such a layer, as we show, results in large engineering inefficiencies due to the lack of efficient methods to precisely measure the OS features required by a set of applications. We propose Loupe, a novel method based on dynamic analysis that determines the OS features that need to be implemented in a prototype OS to bring support for a target set of applications and workloads. Loupe guides and boosts OS developers as they build compatibility layers, prioritizing which features to implement in order to quickly support many applications as early as possible. We apply our methodology to 100+ applications and several OSes currently under development, demonstrating high engineering effort savings vs. existing approaches: for example, for the 62 applications supported by the OSv kernel, we show that using Loupe, would have required implementing only 37 system calls vs. 92 for the non-systematic process followed by OSv developers. We study our measurements and extract novel key insights. Overall, we show that the burden of building compatibility layers is significantly less than what previous works suggest: in some cases, only as few as 20% of system calls reported by static analysis, and 50% of those reported by naive dynamic analysis need an implementation for an application to successfully run standard benchmarks.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{LefeuvreGBDSRHO24,
  title = {Loupe: Driving the Development of OS Compatibility Layers},
  author = {Hugo Lefeuvre and Gaulthier Gain and Vlad-Andrei Bădoiu and Daniel Dinca and Vlad-Radu Schiller and Costin Raiciu and Felipe Huici and Pierre Olivier},
  booktitle = {ASPLOS},
  year = {2024},
  doi = {10.1145/3617232.3624861}
}