大数跨境
0
0

SOSP'25 全解读之1/13:操作系统文艺复兴,六大神作颠覆系统设计

SOSP'25 全解读之1/13:操作系统文艺复兴,六大神作颠覆系统设计 存储前沿技术评论
2025-10-15
0
导读:“存储前沿技术评论”将开启一项史无前例的“氛围阅读”计划:分13期,为您完整呈现SOSP'25的全部66篇论文。我们一起披荆斩棘,啃下最硬的骨头,提炼最闪光的思想。您只需泡上一杯咖啡,便能与全球最顶尖

前言:在AI的巨浪之巅,重铸操作系统的荣光

当AlphaGo横空出世,当ChatGPT惊艳四座,当Sora一键生成视频,我们似乎进入了一个“算法为王”的时代。聚光灯下,是璀璨夺目的模型、是浩如烟海的数据。然而,在这场智能革命的喧嚣之下,一个古老而坚实的名字,正以前所未有的方式,决定着这场变革的深度与广度—— 操作系统(Operating Systems)

它曾是计算机科学的“皇冠明珠”,却在应用层创新的光芒下,一度显得沉静。但今天,SOSP'25的开幕战——Session 1: Operating Systems,用六篇石破天惊的论文告诉世界:操作系统,正在经历一场深刻的文艺复兴。

系统顶会论文,向来以技术门槛高、阅读耗时、坚持困难著称。SOSP、OSDI、FAST...每年合计数百篇论文,如同一座座陡峭的山峰,让无数技术爱好者望而却步。今年,我们想改变这一切。“存储前沿技术评论”将开启一项史无前例的“氛围阅读”计划:分13期,为您完整呈现SOSP'25的全部66篇论文。我们一起披荆斩棘,啃下最硬的骨头;您只需泡上一杯咖啡,便能在最闪光的思想里受教化。

今天是我们的第一站,欣赏SOSP的镇会之宝——操作系统。这六篇论文,从不同维度,对经典发起了挑战,为未来描绘了蓝图。它们将带我们深入GPU的“内心世界”,探索单地址空间的“乾坤挪移”,见证十年磨一剑的安全传奇,甚至重温在树莓派上跑起《DOOM》的纯粹快乐。

准备好了吗?让我们一同启程,见证这场操作系统的王者归来。


Paper 1: LithOS —— 为GPU打造一颗真正的“心脏”,解锁万卡时代的极致效率

在人工智能席卷全球的今天,GPU已然是数据中心的“算力心脏”。然而,一个残酷的现实是,这颗价值连城、功耗千瓦的心脏,却常常处于“半饥饿”状态。Meta的公开数据显示,其庞大的推理服务集群,GPU利用率竟长期低于30%;即便是Llama 3这类旗舰模型的训练,利用率也仅在40%左右徘徊。这背后,是惊人的资源浪费与能源空耗,正成为AI规模化发展的巨大瓶颈。

现有的GPU共享方案,无论是NVIDIA的MPS和MIG,还是学术界的各种调度框架,都像是在“心脏”外围打补丁,始终在透明性、调度粒度和性能隔离之间痛苦挣扎。它们要么像MIG (NVIDIA Multi-Instance GPU) 那样,把GPU“大卸八块”,划分僵化,难以适应动态负载;要么像MPS (NVIDIA Multi-Process Service),缺乏有效隔离,多个任务争抢资源,导致严重的性能干扰和“队头阻塞”(Head-of-Line Blocking);更有甚者,需要对上层应用或ML框架进行侵入式修改,在快速迭代的生产环境中,这几乎是不可维护的噩梦。

能否像为CPU设计Windows或Linux一样,为GPU设计一个真正的操作系统?一个能以完全透明、细粒度且高效的方式,来管理和虚拟化GPU资源的“心脏总管”?

为了回答这个核心问题,来自卡内基梅隆大学与Meta的研究团队联手亮出了他们的王牌——LithOS。这是一个专为GPU高效机器学习设计的操作系统,旨在将经典的OS原理注入GPU,从根本上重塑GPU的资源管理范式。

LithOS四大核心机制:重构GPU调度法则

LithOS的设计哲学是:在不打扰上层应用(模型、框架、运行时)的前提下,深入GPU内部,实现精细化的资源调度与控制。 为此,它构建了四大协同工作的核心机制。

1. 细粒度TPC调度器 & TPC“偷取”机制

传统GPU调度要么基于整卡,要么基于粗粒度的硬件分区(如MIG中的GPC)。LithOS将调度粒度下沉至TPC(Texture Processing Cluster,一组SM的集合)。这种空间级调度更为精细,且无需高昂的硬件重配置开销,如同将粗放的大锅饭改为了精准的按需配餐。

更绝妙的是,LithOS引入了“TPC偷取”(TPC Stealing)机制。想象一下,一个高优先级任务分配了10个TPC,但某一瞬间它只用到了5个。此时,这5个空闲的TPC不会被浪费,而是会被系统动态“借”给其他排队的任务。这种“能者多劳,闲者出让”的机制,既保障了高优任务的资源底线,又将整体硬件利用率推向了极致。

2. 透明内核原子化器 (Transparent Kernel Atomization)

GPU任务中,内核(Kernel)的执行时间千差万别,从几微秒到几十毫秒不等。一个“长跑型”内核会像一辆慢车堵在路口,让后面所有任务都动弹不得,这便是致命的队头阻塞。

LithOS的内核原子化器是其最具颠覆性的设计。它能在运行时,透明地将一个大的GPU内核,拆分为由若干线程块(Thread Blocks)组成的、更小的可调度单元——“原子”(Atom)。整个过程如同庖丁解牛,无需触碰源代码或PTX汇编,即便是对cuDNN这类闭源库也同样有效。通过调度这些微小的“原子”,LithOS将调度粒度从宏观的内核级,降低至微观的线程块子集级别,从而彻底瓦解了队头阻塞,为抢占和动态资源重分配铺平了道路。

3. 恰到好处的硬件资源分配 (Hardware Right-sizing)

并非所有内核都能从更多的TPC中获得线性的性能提升,许多内核在分配少量TPC后性能即已饱和。给它们再多资源,也是一种浪费。

LithOS内置了一个轻量级的在线性能预测模型,它能实时分析内核的伸缩特性,动态计算出在可接受性能损失(例如延迟增加不超过10%)下的最小所需TPC数量。这种“好钢用在刀刃上”的资源分配策略,避免了向性能无扩展性的内核过度供给资源,从而凭空“变”出了更多可用的GPU容量。

4. 透明电源管理 (Transparent Power Management)

传统的DVFS(动态电压频率缩放)是“一刀切”的,整个GPU设备要么一起快,要么一起慢。但一个内存密集型内核和一个计算密集型内核在同一频率下运行,显然是低效的。

LithOS通过对内核序列的特征进行建模,实现了动态调整GPU频率。当执行内存密集型任务时(瓶颈在访存),就适当降低频率省电;当执行计算密集型任务时,则火力全开。这种精细化的功耗控制,在保证性能的前提下,实现了显著的能源节约。

实验结果:数量级的性能飞跃

LithOS在NVIDIA A100 GPU平台上,与MPS、MIG及Orion等顶尖方案进行了正面硬刚,结果堪称惊艳:

  • 性能与隔离性: 混合推理场景下,高优先级任务的P95尾延迟,LithOS相比于MPS降低了13倍,相比于最强学术对手Orion降低了4倍,同时系统总吞吐提升了1.3倍!在推理与训练混合部署时,其尾延迟比MPS平均低4.7倍,同时竟将后台训练任务的吞吐提升了高达34倍! 
  • 容量节省与能源效率: 通过“恰到好处的资源分配”机制,LithOS在平均性能损失仅4%的情况下,节省了约26%的GPU容量
  • 能源效率:透明电源管理在平均性能损失7%的代价下,节省了约20%以上的GPU总能耗。

这些数据雄辩地证明,LithOS在保障SLA、提升利用率和降低能耗这三个看似矛盾的目标之间,取得了前所未有的完美平衡。

关键贡献与未来

LithOS的贡献是系统性的,它不仅是一个调度器,更是一个操作系统的雏形。它提出了一个解耦内核提交与执行的新架构,并首次实现了细粒度TPC调度、透明内核原子化、动态资源调整与节能的完全透明化。

尽管其当前实现依赖于对驱动接口的逆向工程,但它为未来指明了方向。我们有理由相信,随着GPU硬件与驱动开放更多底层接口,一个真正通用、强大的GPU操作系统,正从LithOS的蓝图中一步步走向现实。


Paper 2: µFork —— 在“单身公寓”里,如何优雅地“生个娃”?

在追求极致性能的系统设计中,单地址空间操作系统(SASOS)是一个极富魅力的“理想国”。它打破了进程间的“墙”,让内核与所有应用共享同一个地址空间,从而消除了昂贵的页表切换和缓存刷新,实现了风驰电掣般的跨进程通信。这让它在FaaS、边缘计算等场景中备受青睐。

然而,这个理想国有个致命的“阿喀琉斯之踵”:它无法原生支持POSIX生态的基石——fork系统调用。fork是构建并发服务(Nginx)、实现内存快照(Redis)的核心。矛盾在于:fork的灵魂是创建一份独立的地址空间副本以保证隔离,而SASOS的哲学恰恰是共享单一地址空间。这就像想在一个没有隔断的“单身公寓”里,凭空变出一个一模一样但又互不干扰的“分身”。

面对这一挑战,来自曼彻斯特大学和UBC的学者们带来了优雅的答案——µFork

核心创新:µ进程 与 Copy-on-Pointer-Access (CoPA)

µFork的设计哲学是在维持SASOS核心优势的前提下,模拟出传统进程的行为。

  1. µ进程 (micro-process):它引入“µ进程”作为传统进程的模拟体。fork时,系统会为子µ进程在共享地址空间里分配一块新内存,并复制父进程的状态。

  2. 硬件能力加持:µFork巧妙地依赖了现代硬件安全特性CHERI。CHERI的指针(能力)自带边界和权限信息,这不仅为µ进程之间提供了硬件强制的隔离,还让运行时识别和重定位指针成为可能。

  3. CoPA机制:这是µFork皇冠上的明珠。传统的写时复制(CoW)在写入时才复制页面。而µFork提出了更精细的Copy-on-Pointer-Access (CoPA)fork后,父子µ进程最初只读共享物理内存。只有当子进程尝试解引用(访问)一个指向共享区域的指针,或者尝试写入共享页面时,才会触发页面复制。在复制的同时,系统还会原子化地重定位页面内的所有指针,确保它们指向子进程自己的内存。

这种极致的懒惰复制策略,极大地减少了内存开销,因为大量数据页可能永远不会被子进程访问或写入。

快!省!

在基于Unikraft和CHERI硬件的平台上:

  • fork延迟:µFork仅需54微秒,比传统内核CheriBSD快3.7倍,比基于虚拟化的方案Nephele快近200倍
  • 内存占用:运行Redis并创建100MB快照时,CoPA机制节省了高达90%的内存开销,远优于CheriBSD。
  • 应用性能:在FaaS基准测试中,µFork的吞吐量比CheriBSD高出24%。

µFork不仅在理论上优雅,更在实践中证明了自己。它为SASOS生态扫清了一个关键障碍,证明了轻量化与兼容性并非鱼与熊掌,为下一代高性能系统设计开辟了全新的想象空间。


Paper 3: Tock —— 十年磨一剑,从象牙塔走向千万设备的Rust安全操作系统

在系统研究领域,一个项目能从学术原型,演进为守护Google、Microsoft核心产品的生产级系统,这本身就是一个传奇。Tock操作系统正是这样的典范。这篇SOSP'25论文,是Tock团队对过去十年不凡历程的系统性回顾与反思。

诞生:在资源枷锁中寻求绝对安全

Tock的起源,是在资源极度受限(如64KB RAM)、依赖电池供电的微控制器上,安全运行多个独立应用的苛刻需求。这决定了Tock必须在无MMU的硬件上,用软件实现内存安全与隔离,同时做到极致的低功耗。

架构:以Rust类型系统为安全基石

Tock是最早完全用Rust编写的内核之一,它的架构思想是将安全边界尽可能从运行时转移到编译时。

  1. 核心+胶囊(Capsules)模型:内核由一个微小的核心和一系列称为“胶囊”的半可信模块组成。胶囊用安全的Rust编写,只能通过内核提供的受限窄接口访问硬件,它们之间的隔离在编译时就被强制执行,几乎没有运行时开销。

  2. “一路异步到底”的回调机制:为实现极致低功耗,Tock采用了基于回调的异步模型。应用发起I/O请求后立即交出CPU进入休眠,硬件完成后通过回调唤醒应用。这种设计最大化地提升了能效。

  3. 编译期组合验证:嵌入式系统配置极其复杂,组件错配是常见bug。Tock巧妙利用Rust的Trait和泛型,将硬件能力和驱动需求编码到类型系统中。如果你试图组合两个不兼容的组件,编译器会直接报错,从根源上杜绝了这类错误。

十年演进:从实验室到千万级生产环境

Tock最初部署于校园传感器网络,后来被Google选中用于OpenSK(开源安全密钥)和Ti50(Chromebook的硬件信任根),并进一步集成到Microsoft的Pluton安全芯片中。

应用场景的变迁,也驱动了Tock的深刻演进。例如,为了支持应用的安全更新,简单的进程加载流程被重构成复杂的异步状态机;为了在用户空间安全地使用Rust,系统调用ABI被彻底重构,引入了“交换语义”,内核完全接管应用共享的缓冲区所有权。

经验总结:Rust的机遇与陷阱

Tock的十年,为系统领域使用Rust沉淀了宝贵经验:

  • 机遇:Rust的类型系统远不止内存安全,它还能实现编译期配置检查、安全的MMIO抽象和零开销的能力系统。
  • 陷阱:在底层维持Rust的安全假设极具挑战。例如,应用可能将同一块内存多次共享给内核,产生“可变别名”,这违反了Rust基本原则。Tock团队为此进行了审慎的权衡与设计。

Tock的故事,是一部将前沿语言特性与严苛系统需求相结合的探索史。它证明了一门编程语言不仅是实现工具,更能成为重塑系统架构的驱动力,为构建更安全的未来提供了坚实的范本。


Paper 4: Proto —— 当系统教学遇冷,他们在树莓派上用《DOOM》重燃热情

一个尴尬的现实:全球顶尖高校中,操作系统(OS)课程的必修地位逐渐动摇,学生对底层系统的兴趣普遍下降。面对xv6等经典但复杂的“无头”系统,学生们深陷于抽象概念和繁琐的命令行调试,难以获得创造的乐趣。

面对这一挑战,弗吉尼亚大学的研究者们带来了SOSP'25的一股清流——Proto,一个全新的教学操作系统,一篇旨在重燃系统构建热情的杰出论文。

破局:从“Hello World”到“Hello DOOM”

Proto的设计哲学根植于四大原则:吸引人的应用、强大的可演示性、增量式原型开发以及最小可行实现。它认为,学习OS不应始于枯燥的调度算法,而应始-于一个能让学生亲手点亮屏幕、看到3D甜甜圈旋转的“魔法时刻”。听起来有点类似中科大的“一生一芯”计划。

Proto将一个功能完备的现代操作系统,解构为五个逻辑递进的“关卡”:

  1. 原型一:裸机I/O
    目标:在屏幕上显示一个旋转的3D甜甜圈。学生直接操作帧缓冲器,首次体会掌控硬件的乐趣。
  2. 原型二:多任务调度
    目标:同时运行多个甜甜圈。引入最基础的调度器,理解并发的本质。
  3. 原型三:用户/内核态分离
    目标:运行经典的《超级马里奥》。实现虚拟内存、页表,将游戏与内核隔离,特权分离的概念从此变得具体。
  4. 原型四:文件系统与设备抽象
    目标:从SD卡加载更多游戏、浏览图片。实现文件系统,将硬件抽象为设备文件。
  5. 原型五:完整的桌面体验
    目标:在多核CPU上流畅运行《DOOM》(名为“毁灭战士”的经典游戏)、视频播放器,并支持多窗口并发。至此,一个麻雀虽小五脏俱全的现代图形化OS构建完成。

成果:乐趣与性能兼备

Proto并非玩具,它在低成本的树莓派3上展现了惊艳的性能:

  • 经典FPS游戏《DOOM》能够以61.8 FPS的帧率稳定运行。
  • 480p视频解码播放帧率约27 FPS,在特定场景下甚至优于未开启硬件加速的Ubuntu/Linux。
  • 内核代码量与xv6相当,但系统调用延迟仅约3.4μs,IPC通信延迟约21μs。

Proto项目不仅是对OS教学的一次深刻反思和创新,也为整个系统领域提供了一个宝贵的范例:回归创造的本源,用构建有趣且有用的系统来驱动学习,是让系统软件重焕光彩的最佳路径。


Paper 5: CHERIoT RTOS —— 为廉价物联网设备打造的终极内存安全方案

在资源受限的嵌入式世界,内存安全始终是一个昂贵且难以企及的圣杯。为了压缩成本,数十亿物联网设备舍弃了MMU,其安全性完全依赖于软件的“自觉性”,这构成了巨大的安全威胁。

为此,来自苹果、微软、Google、ARM及剑桥大学的顶尖研究者们联手,在SOSP'25上提出了革命性的解决方案——CHERIoT RTOS。这是一个基于软硬件协同设计的全新安全范式,旨在为最低成本的嵌入式设备提供全面的内存安全。

方法:CHERI硬件与RTOS的深度融合

CHERIoT的基石是CHERI指令集扩展,它将所有指针硬件化为包含地址、边界和权限的“能力(Capability)”。

  • 细粒度隔离:系统以“Compartment”作为静态隔离单元。跨Compartment的调用由一个仅有约355条汇编指令、经过高度审计的切换器(Switcher)负责,任何越界或权限不符的内存访问都会被硬件立即捕获。
  • 故障容忍:通过静态密封对象不透明状态返回机制,组件可以保持无状态。一旦发生故障,可被迅速“微重启”,而不会污染整个系统。
  • 安全内存管理:其共享堆分配器不仅提供空间安全,还通过硬件机制实现了时间内存安全,有效防止了Use-After-Free漏洞。

低开销

在250MHz的原型芯片(配备1MB SRAM)上:

  • 资源占用:核心可信计算基(TCB)的代码大小仅为2.4KB。一个完整的JavaScript应用(含网络、TLS、MQTT)总内存占用仅243KB
  • 性能损耗:跨Compartment的调用开销低于100个时钟周期。其后台内存撤销机制扫描1MB内存仅需1.5毫秒

CHERIoT RTOS证明了,通过软硬件协同设计,我们完全可以在成本极其敏感的设备上,实现与高端服务器相媲美的内存安全与隔离保证。随着其核心处理器预计在2025年商用,一个更安全的物联网时代已然触手可及。


Paper 6: Miralis —— 为固件戴上“虚拟镣铐”,重塑系统安全基石

在计算机系统中,固件(Firmware)是运行在最高特权级的“幕后之王”,拥有对整个系统的绝对控制权。然而,这份权力也使其成为系统安全最幽深的“盲区”。厂商固件常包含漏洞、代码臃肿且闭源,一旦被利用,整个系统的安全大厦都将倾覆。

来自EPFL、ETH Zurich及康奈尔大学的研究团队提出了一个开创性的解决方案——Miralis。它通过纯软件虚拟化技术,为固件戴上了一副“虚拟镣铐”,安全地将其“降权”并隔离。

架构:虚拟化最高特权级

Miralis的巧妙之处在于,它将经典虚拟化理论应用到了CPU的最高特权级。

  • 虚拟M模式(vM-mode):Miralis自身运行在物理最高特权级(M-mode),但它为厂商固件创建了一个在用户态(U-mode)下运行的“虚拟M模式”。任何固件尝试执行的特权指令或访问受保护内存,都会被Miralis捕获并模拟。
  • 快速路径卸载(Fast Path Offloading):研究发现,固件执行中超过99.9%的陷阱是由少数高频、标准化的操作(如读时钟)引起的。Miralis没有将这些请求转发给低效的虚拟固件,而是在内部直接用一个高度优化的“快速路径”来处理它们。这一设计将世界切换频率锐减至接近于零,从根本上解决了性能瓶颈。
  • 形式化验证:团队采用轻量级形式化验证方法,对Miralis最关键的指令仿真器等核心逻辑进行了符号执行验证,在开发中发现了21个潜在漏洞,极大地增强了系统的可靠性。

实验数据:性能与兼容性双赢

在多个商用RISC-V平台上:

  • 兼容性:成功虚拟化了未经修改的OpenSBI固件,甚至包括闭源固件
  • 性能表现:启用快速路径后,Miralis带来的性能开销几乎可以忽略。在Redis基准测试中,性能接近原生系统。与未开启快速路径相比,平均性能提升超过10倍

Miralis的出现,为解决系统软件栈中最棘手的固件安全问题,提供了一条清晰、可行且高效的路径。它将信任最小化原则贯彻到了硬件之上的第一层软件,是系统安全领域一次意义深远的范式转变。


结语:

SOSP'25的首发Session,六篇论文,六个截然不同的战场,却共同奏响了操作系统创新的最强音,揭示了几条主线。

  1. 向专业化要效率:当通用计算的红利逐渐消退,为特定领域(如GPU)打造专属操作系统(LithOS),成为压榨硬件潜能的终极武器。
  2. 以新硬件破旧局:CHERI这样的新硬件特性,正成为打破传统软件桎梏的钥匙,催生了µFork在单地址空间中的精妙舞蹈,以及CHERIoT在物联网世界的安全铁壁。
  3. 用软件定义信任:面对不可信的硬件或固件,Miralis用纯软件的虚拟化技艺,重构了系统的信任边界,展现了软件定义一切的强大力量。
  4. 回归本源,重塑体验:Tock十年如一日的坚持,证明了安全系统设计的价值。而Proto则提醒我们,技术的传承与魅力,最终要回归到激发创造的乐趣与热情。

从数据中心的庞然大物,到掌心的微型设备;从理论的优雅推演,到教学的寓教于乐。这六篇论文,不仅展示了顶尖的技术成果,更传递出一种信念:操作系统,这个古老的领域,在AI新时代的挑战下,同样能迸发出生机与活力。

操作系统Session暂时告一段落,但SOSP'25的精彩远未结束。下一期,我们将深入数据中心(Data Centers)的世界,见证AI洪流中的框架革命。


感谢阅读,敬请锁定“存储前沿技术评论”!

喜欢的话,记得点赞留言加转发!

我们下期见!

【声明】内容源于网络
0
0
存储前沿技术评论
“存储前沿技术评论”由热爱存储技术的专家和爱好者创建,专注于分享存储领域的最新研究、技术、和产品趋势,旨在为存储行业的学者、学生以及工业界同行提供有价值的信息和观点。欢迎您关注和交流,让我们一起探索存储技术的无限可能。
内容 98
粉丝 0
存储前沿技术评论 “存储前沿技术评论”由热爱存储技术的专家和爱好者创建,专注于分享存储领域的最新研究、技术、和产品趋势,旨在为存储行业的学者、学生以及工业界同行提供有价值的信息和观点。欢迎您关注和交流,让我们一起探索存储技术的无限可能。
总阅读12
粉丝0
内容98