Skip to main content
QUICK REVIEW

[论文解读] Isolate First, Then Share: a New OS Architecture for Datacenter Computing

Gang Lü, Jianfeng Zhan|arXiv (Cornell University)|Apr 5, 2016
Parallel Computing and Optimization Techniques参考文献 69被引用 4
一句话总结

本文提出了一种“先隔离后共享”(IFTS)的操作系统架构,将CPU核心、内存和设备在轻量级、按需启动的操作系统实例(称为subOS)之间进行分区,从而在实现低尾部延迟的同时保持高性能。原型系统RainForest在各类基准测试中,其最坏情况和平均性能均优于Linux、LXC和Xen,尾部延迟最低降低7.8倍,使用优化的跨subOS通信机制后,Spark工作负载的性能提升达2.6倍。

ABSTRACT

This paper presents the "isolate first, then share" OS model in which the processor cores, memory, and devices are divided up between disparate OS instances and a new abstraction, subOS, is proposed to encapsulate an OS instance that can be created, destroyed, and resized on-the-fly. The intuition is that this avoids shared kernel states between applications, which in turn reduces performance loss caused by contention. We decompose the OS into the supervisor and several subOSes running at the same privilege level: a subOS directly manages physical resources, while the supervisor can create, destroy, resize a subOS on-the-fly. The supervisor and subOSes have few state sharing, but fast inter-subOS communication mechanisms are provided on demand. We present the first implementation, RainForest, which supports unmodified Linux binaries. Our comprehensive evaluation shows RainForest outperforms Linux with four different kernels, LXC, and Xen in terms of worst-case and average performance most of time when running a large number of benchmarks. The source code is available soon.

研究动机与目标

  • 解决数据中心环境中对同时优化最坏情况(尾部)延迟和平均性能的操作系统日益增长的需求。
  • 克服传统“先共享后隔离”(SFTI)操作系统模型的局限性,后者因共享内核数据结构而导致性能争用和异常值问题。
  • 支持弹性、按需创建、销毁和调整大小的隔离操作系统实例,以满足具有差异化服务质量(QoS)要求的多样化混合工作负载。
  • 通过支持未经修改的Linux二进制文件,在实现强性能隔离和低开销的同时,保持软件向后兼容性。
  • 设计一种安全、高效且可扩展的操作系统模型,避免单体内核瓶颈,支持未来规模的数据中心工作负载。

提出的方法

  • 将操作系统分解为一个管理程序和多个运行在相同特权级别的subOS,每个subOS独立管理物理资源。
  • 引入subOS抽象,封装可动态创建、销毁和调整大小的隔离操作系统实例,运行于同一硬件之上。
  • 通过按需使用共享内存和IPI(处理器间中断)实现快速跨subOS通信,最大限度减少性能影响。
  • 采用基于软件的安全机制——安全防护(Security Guard, SG),结合基于插桩的特权限制(IPR)和地址空间随机化(ASR),强制实施管理程序与subOS之间的隔离。
  • 构建基于IFTS模型的首个工作原型RainForest,完全兼容Linux ABI,支持未经修改的Linux二进制文件。
  • 通过RFloop优化跨subOS通信,这是一种高性能共享内存传输机制,其TCP流吞吐量达到物理网卡的15.95倍。

实验结果

研究问题

  • RQ1一种在资源共享前优先进行资源隔离的操作系统架构,是否能比现有SFTI模型实现更好的最坏情况和平均性能?
  • RQ2在具有冲突QoS需求的混合、多样化数据中心工作负载下,IFTS模型的性能表现如何?
  • RQ3subOS抽象在多大程度上能够实现弹性、按需的资源分配,同时不牺牲性能或安全性?
  • RQ4IFTS模型中跨subOS通信机制的性能开销和可扩展性如何?
  • RQ5IFTS模型能否在显著超越单体系统和虚拟化系统的同时,保持与现有软件的兼容性?

主要发现

  • 在memcached工作负载下,RainForest相比Linux 2.6.32,将第99百分位延迟降低最多达7.8倍;相比Linux 2.6.35M降低4.2倍;相比Linux 3.17.4降低2.0倍。
  • 在Spark工作负载下,RainForest相比Xen最高提升1.78倍,相比Linux提升1.43倍,相比LXC提升1.16倍;使用RFloop后,性能最高达到Xen的2.60倍。
  • 在Spark的Join查询中,使用八个subOS而非四个,性能提升达170%,证明了最优subOS分布的优势。
  • RFloop实现的TCP流吞吐量达到物理网卡的15.95倍,UDP吞吐量达到Xen虚拟网卡的13.02倍,表明其在跨subOS通信中具有极高效率。
  • IFTS模型支持稳定的性能扩展:当核心数增至40时,RainForest的尾部延迟增长速度慢于Linux、LXC或Xen。
  • 尽管跨域之间缺乏硬件缓存一致性,IFTS模型仍支持多个一致性域,但资源共享仅限于同一域内,若无额外的分布式共享内存(DSM)机制则无法跨域共享。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。