[論文レビュー] Isolate First, Then Share: a New OS Architecture for Datacenter Computing
本論文は、CPUコア、メモリ、デバイスを軽量でオンデマンドのOSインスタンス(subOS)にパーティション化する「まず隔離、次に共有」(IFTS)オペレーティングシステムアーキテクチャを提案しており、低遅延の尾部遅延と高い平均パフォーマンスの両方を実現する。プロトタイプのRainForestは、さまざまなベンチマークにおいて、Linux、LXC、Xenを上回る最悪ケースおよび平均パフォーマンスを達成し、尾部遅延が最大7.8倍低く、最適化されたsubOS間通信を用いたSparkワークロードでは2.6倍の高速化を実現した。
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)OSモデルの限界を克服する。
- 異なるQoS要件を満たす多様な混合ワークロードをサポートするため、隔離されたOSインスタンスをエラスティックにオンデマンドで作成・破棄・リサイズ可能にする。
- 変更のないLinuxバイナリをサポートするソフトウェア互換性を維持しつつ、強力なパフォーマンス隔離と低オーバーヘッドを実現する。
- モノリシックカーネルのボトルneckを回避し、将来のスケールの大きなデータセンタワークロードに対応できる、安全で効率的かつ拡張性のあるOSモデルを設計する。
提案手法
- OSをスーパービジョンと複数のsubOSに分解し、同じ特権レベルで実行させ、各subOSが物理リソースを独立して管理する。
- 同じハードウェア上に動的生成・破棄・リサイズが可能な隔離されたOSインスタンスをカプセル化するsubOS抽象化を導入する。
- パフォーマンスへの影響を最小限に抑えるために、オンデマンドで共有メモリとIPI(プロセッサ間割り込み)を用いた高速なsubOS間通信を実装する。
- セキュリティガード(SG)と呼ばれるソフトウェアベースのセキュリティメカニズムを導入し、インストルメンテーションベースの特権制限(IPR)とアドレス空間ランダム化(ASR)を組み合わせて、スーパービジョンとsubOS間の隔離を強制する。
- Linux ABIと完全に互換性があり、変更のないLinuxバイナリをサポートする、IFTSモデルに基づく最初の実用的プロトタイプであるRainForestを構築する。
- RFloopと呼ばれる高パフォーマンスな共有メモリトランスポートを最適化し、TCPストリームで物理NICの15.95倍のスループットを達成した。
実験結果
リサーチクエスチョン
- RQ1共有を最初に実施するのではなく、リソースを最初に隔離するOSアーキテクチャが、従来のSFTIモデルよりも優れた最悪ケースおよび平均パフォーマンスを達成できるか?
- RQ2QoS要件が競合する多様で混合されたデータセンタワークロードにおいて、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ワークロードでは、Xenと比較して最大1.78倍の高速化、Linuxと比較して1.43倍、LXCと比較して1.16倍の高速化を達成し、RFloopを活用することでXenと比較して2.60倍の高速化を実現した。
- SparkのJoinクエリにおいて、4つの代わりに8つのsubOSを使用することで、パフォーマンスが170%向上し、最適なsubOS配置の利点を示した。
- RFloopは、物理NICのTCPストリームスループットの15.95倍、Xen仮想NICのUDPスループットの13.02倍を達成し、subOS間通信の高効率性を示した。
- IFTSモデルは安定したパフォーマンススケーリングを可能にした:コア数が40に増加しても、RainForestの尾部遅延はLinux、LXC、Xenよりもゆっくりと増加した。
- ドメイン間のハードウェアキャッシュコherenceが存在しないにもかかわらず、IFTSモデルは複数のコherenceドメインをサポートするが、追加のDSMメカニズムがなければ、リソース共有はドメイン内に限定される。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。