Loupe: Driving the Development of OS Compatibility Layers

Hugo Lefeuvre, Gaulthier Gain, Vlad-Andrei Bădoiu, Daniel Dinca, Vlad-Radu Schiller, Costin Raiciu, Felipe Huici, Pierre Olivier

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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.
Original languageEnglish
Title of host publicationProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'24)
Place of PublicationNew York, NY, USA
Number of pages19
Volume1
ISBN (Electronic)979-8-4007-0372-0/24/04
DOIs
Publication statusAccepted/In press - 19 Sept 2023
EventACM International Conference on Architectural Support for
Programming Languages and Operating Systems
- La Jolla, CA, USA, La Jolla, United States
Duration: 27 Apr 20241 May 2024
Conference number: 28
https://www.asplos-conference.org/asplos2024/

Conference

ConferenceACM International Conference on Architectural Support for
Programming Languages and Operating Systems
Abbreviated titleASPLOS'24
Country/TerritoryUnited States
CityLa Jolla
Period27/04/241/05/24
Internet address

Fingerprint

Dive into the research topics of 'Loupe: Driving the Development of OS Compatibility Layers'. Together they form a unique fingerprint.

Cite this