Wave: A Split OS Architecture for Application Engines

Jack Tigar Humphries, Neel Natu, Kostis Kaffes, Stanko Novaković, Paul Turner, Hank Levy, David Culler, Christos Kozyrakis
{"title":"Wave: A Split OS Architecture for Application Engines","authors":"Jack Tigar Humphries, Neel Natu, Kostis Kaffes, Stanko Novaković, Paul Turner, Hank Levy, David Culler, Christos Kozyrakis","doi":"arxiv-2408.17351","DOIUrl":null,"url":null,"abstract":"The end of Moore's Law and the tightening performance requirements in today's\nclouds make re-architecting the software stack a necessity. To address this,\ncloud providers and vendors offload the virtualization control plane and data\nplane, along with the host OS data plane, to IPUs (SmartNICs), recovering\nscarce host resources that are then used by applications. However, the host OS\ncontrol plane--encompassing kernel thread scheduling, memory management, the\nnetwork stack, file systems, and more--is left on the host CPU and degrades\nworkload performance. This paper presents Wave, a split OS architecture that moves OS subsystem\npolicies to the IPU while keeping OS mechanisms on the host CPU. Wave not only\nfrees host CPU resources, but it reduces host workload interference and\nleverages network insights on the IPU to improve policy decisions. Wave makes\nOS control plane offloading practical despite high host-IPU communication\nlatency, lack of a coherent interconnect, and operation across two system\nimages. We present Wave's design and implementation, and implement several OS\nsubsystems in Wave, including kernel thread scheduling, the control plane for a\nnetwork stack, and memory management. We then evaluate the Wave subsystems on\nStubby (scheduling and network), our GCE VM service (scheduling), and RocksDB\n(memory management and scheduling). We demonstrate that Wave subsystems are\ncompetitive with and often superior to on-host subsystems, saving 8 host CPUs\nfor Stubby, 16 host CPUs for database memory management, and improving VM\nperformance by up to 11.2%.","PeriodicalId":501333,"journal":{"name":"arXiv - CS - Operating Systems","volume":"15 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Operating Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2408.17351","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

The end of Moore's Law and the tightening performance requirements in today's clouds make re-architecting the software stack a necessity. To address this, cloud providers and vendors offload the virtualization control plane and data plane, along with the host OS data plane, to IPUs (SmartNICs), recovering scarce host resources that are then used by applications. However, the host OS control plane--encompassing kernel thread scheduling, memory management, the network stack, file systems, and more--is left on the host CPU and degrades workload performance. This paper presents Wave, a split OS architecture that moves OS subsystem policies to the IPU while keeping OS mechanisms on the host CPU. Wave not only frees host CPU resources, but it reduces host workload interference and leverages network insights on the IPU to improve policy decisions. Wave makes OS control plane offloading practical despite high host-IPU communication latency, lack of a coherent interconnect, and operation across two system images. We present Wave's design and implementation, and implement several OS subsystems in Wave, including kernel thread scheduling, the control plane for a network stack, and memory management. We then evaluate the Wave subsystems on Stubby (scheduling and network), our GCE VM service (scheduling), and RocksDB (memory management and scheduling). We demonstrate that Wave subsystems are competitive with and often superior to on-host subsystems, saving 8 host CPUs for Stubby, 16 host CPUs for database memory management, and improving VM performance by up to 11.2%.
波浪应用引擎的分离式操作系统架构
摩尔定律的终结以及当今云计算对性能要求的不断提高,使得重新构建软件栈成为必然。为了解决这个问题,云提供商和供应商将虚拟化控制平面和数据平面以及主机操作系统数据平面卸载到IPU(SmartNIC)上,从而恢复了主机资源,供应用程序使用。然而,主机操作系统控制平面--包括内核线程调度、内存管理、网络堆栈、文件系统等--被留在主机 CPU 上,降低了工作负载性能。本文介绍的 Wave 是一种分离式操作系统架构,它将操作系统子系统策略移至 IPU,同时将操作系统机制保留在主机 CPU 上。Wave 不仅释放了主机 CPU 资源,还减少了主机工作负载干扰,并利用 IPU 上的网络洞察力改进了策略决策。Wave 使操作系统控制平面卸载成为现实,尽管主机与 IPU 之间的通信延迟很高、缺乏连贯的互连和跨两个系统图像运行。我们介绍了 Wave 的设计和实现,并在 Wave 中实现了多个操作系统子系统,包括内核线程调度、网络堆栈控制平面和内存管理。然后,我们在Stubby(调度和网络)、我们的GCE虚拟机服务(调度)和RocksDB(内存管理和调度)上对Wave子系统进行了评估。我们证明,Wave 子系统可与主机子系统竞争,而且往往优于主机子系统,为 Stubby 节省了 8 个主机 CPU,为数据库内存管理节省了 16 个主机 CPU,并将虚拟机性能提高了 11.2%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信