Predictive and Adaptive Resource Scheduling for Kubernetes–Ceph Hyperconverged Infrastructure on Proxmox VE
本論文は、Proxmox VE上で動作するKubernetes–Cephハイパーコンバージドインフラストラクチャにおいて、ワークロード予測とCephを意識したストレージ決定を統合することで、リソース競合とI/Oレイテンシを大幅に削減し、デフォルトのKubernetesスケジューラと比較して優れた負荷分散とパフォーマンスを実現する、予測的かつ適応的なスケジューリングモデルを提案し、評価するものである。
原論文は CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
現代のコンピューティングの世界では、道路、電力網、水道供給がすべて同じ近隣地域に住んでいるような状態を「ハイパーコンバージド・インフラストラクチャ(HCI)」と呼びます。サーバー(計算)、ハードドライブ(ストレージ)、ネットワークケーブル(通信)といった別々の建物を用意する代わりに、これらすべてが同じ物理マシンの中にぎっしりと詰め込まれています。これは効率的でスペースも節約できますが、厄介な交通問題を引き起こします。もし、巨大な配送トラック(データ量の多いプログラム)が、すぐ横で行われている建設作業(ストレージタスク)のすぐそばの通りを走ろうとしたら、すべてが停滞してしまうのです。
このデジタル都市を管理するために、私たちはKubernetesと呼ばれるシステムを使用します。Kubernetesは、都市の交通管制官だと考えてください。その役割は、どの建物(サーバー)にどの新しい配送トラック(ソフトウェアプログラム、または「ポッド」)を送り込むかを決定することです。しかし、標準的な交通管制官は少し古臭いやり方です。彼らは「今、この瞬間」に起きていることしか見ていません。建物が空いているのを見て、「よし、そこにトラックを送ろう!」と言います。しかし、近くの建設プロジェクトのせいで建物の電力網がすでに苦戦していることや、そのトラックが5分後に交通渋滞を引き起こすほどの荷物を積んで到着することには気づいていません。この反応的なスタイルは、ある建物が過剰な仕事で押しつぶされる一方で、他の建物は何もせず放置されるという状況を招き、結果として「道路」(データストレージ)が詰まり、すべてを遅延させてしまいます。
このパズルを解くために、ウズベキスタンとルーマニアの大学の研究チームは、ある問いを投げかけました。「もし、私たちの交通管制官が未来を覗き見ることができたらどうだろうか? もし、交通渋滞が起こる前にそれを予測し、それに応じてトラックを移動させることができたらどうだろうか?」 彼らの論文の中で、彼らは、単に現状に反応するだけでなく、直近の未来を計画できる、よりスマートな「予測的かつ適応的」なシステムを構築しました。シンプルな予測ツールと新しいソフトウェア配置手法を組み合わせることで、彼らはテスト用のデジタル都市における混乱を鎮め、「時には、超複雑な脳を持つよりも、少しの先見の明を持つ方が優れている」ということを証明しました。
問題点:反応的な交通管制官
デジタル世界において、研究者たちは3つの主要なツールを使用して「ハイパーコンバージド」なテストベッドを構築しました。それは、Proxmox VE(サーバーを保持する基盤)、Ceph(巨大な共有ハードドライブとして機能するストレージシステム)、そしてKubernetes(交通管制官)です。
標準的なセットアップでは、Kubernetesは安全策をとります。サーバー上でプログラムが実行されるのを待ち、CPU(計算能力)とメモリ(短期記憶)がどれくらい使用されているかを確認してから、次のプログラムをどこに配置するかを決定します。これは、道路上の車を現在走行しているものだけを見ている交通警官のようなものです。もしサーバーが空いていれば、警官は新しい車をそこに送ります。しかし、ハイパーコンバージド・システムでは、「車」はそのサーバー上にある「ストレージ」(ハードドライブ)にアクセスする必要があるかもしれません。もし警官が、そのサーバーのストレージがすでに多忙であることを知らなければ、新しい車は立ち往生し、遅延を引き起こします。
研究者たちは、この「反応的」なアプローチが3つの大きな悩みを引き起こすことを発見しました。
- リソースの競合(Resource Contention): 同時刻に、あまりにも多くのプログラムが同じCPUやストレージを取り合って戦うこと。
- 負荷の不均衡(Load Imbalance): 一部のサーバーが汗をかいて苦しんでいる(容量の95%で作動)一方で、他のサーバーは昼寝をしている(容量の40%で作動)状態。
- ストレージのレイテンシ(Storage Latency): ストレージシステムが過負荷になるため、データの読み書きにかかる時間が遅くなること。
解決策:水晶玉と柔軟な地図
チームは、水晶玉と柔軟な地図を持つ交通管制官のような、新しいモデルを提案しました。彼らのシステムは、ループの中で連動して動く4つの主要なパーツで構成されています。
- 水晶玉(予測): 単に現在の瞬間を見るのではなく、システムは「指数加重移動平均(EWMA)」と呼ばれる数学的なトリックを使用します。これは、明日の傘が必要かどうかを予想するために、ここ数日間の降雨量を見る天気予報士のようなものです。システムは、プログラムが数分後に必要とするCPUとストレージ量を予測します。彼らは、この「予測」に特定の数値設定を用いるのが最適であることを発見しました。その結果、CPUの必要量は約8.4%、メモリは5.1%、ストレージの必要量は12.3%の誤差で予測できました。
- 柔軟な地図(適応型スケジューリング): システムは、何が来るかを知ると、単に最初の空いているサーバーにプログラムを投げ込むわけではありません。まず、すべてのサーバーの「予測負荷」を計算します。そして、「もしここにこのプログラムを置いたら、5分後にこのサーバーはオーバーロードするか?」と問いかけます。もし答えが「イエス」であれば、そのサーバーをスキップして、より良い場所を見つけます。
- ストレージを意識した意思決定: これが秘伝のソースです。システムはCPUを見るだけでなく、Cephストレージ(OSD、すなわちストレージデーモン)の健康状態もチェックします。もしサーバーのストレージドライブが多忙であれば、システムは、たとえCPUが空いていても、重いデータプログラムを別の場所に送るように判断します。
- 動的な調整: プログラムが予想以上に多くの電力を必要とするようになった場合、システムはクラッシュしたり再起動したりすることなく、自動的に制限値を調整して、流れをスムーズに保つことができます。
実験:3つの都市によるテスト
これが機能するかどうかを確認するために、研究者たちは3台の物理コンピュータ(ノード)を使用して、現実的な小規模都市を構築しました。各ノードには強力なプロセッサ、32GBのRAM、そして2つの高速なNVMe SSD(超高速ハードドライブ)が搭載されていました。彼らはこの都市に、異なるタイプの交通を詰め込みました。
- CPU重視のトラック: 数値を計算することに特化したプログラム(stress-ngなど)。
- ストレージ重視のトラック: 大量のデータを読み書きするプログラム(fioなど)。
- 混合交通: 計算とストレージの両方をこなすデータベースやウェブアプリ(YCSBなど)。
彼らは、2つのシナリオを30分間並行して実行しました。
- シナリオA(従来の方法): 予測機能のない標準的なKubernetes。
- シナリオB(新しい方法): 彼らの予測的かつ適応的なモデル。
結果:滑らかな道路、迅速な配送
結果は、新モデルの明確な勝利であり、その数字は劇的な改善の物語を雄弁に語っています。
1. 負荷のバランス:
従来の方法では、交通は極めて不均衡でした。あるサーバーは95.64%の容量で悲鳴を上げている一方で、別のサーバーは39.73%でほとんど働いていませんでした。「不均衡(最も忙しいサーバーと最も静かなサーバーの差)」は53.29%という混沌とした状態でした。
新モデルでは、交通が完璧に平準化されました。最も忙しいサーバーの負荷は67.41%まで下がり、最も静かなサーバーは56.33%まで上昇しました。不均衡はわずか10.98%へと激減しました。これは、混沌が79.4%減少したことを意味します。新システムは、すべてのサーバーの使用率を**54%から68%**という狭い範囲内に収め、誰も働きすぎず、誰も退屈しない状態を維持しました。
2. ストレージの高速化:
新しいシステムはストレージが混雑する場所を把握していたため、道路を塞ぐことを回避できました。ストレージの変更を適用する平均時間(レイテンシ)は、1.11 msから1.00 msへと減少しました。これは一見微々たる差に見えますが、データの世界では、システムがより一貫しており、信頼性が高いことを意味します。また、「ワーストケース」の遅延(95パーセンタイル)も1.15 msから1.00 msへと改善し、システムが重い交通をより上手く処理できたことを示しています。
3. 追加コストなし:
研究者たちは、都市全体を再構築したり、高価で複雑なAIの脳を使用したりする必要はなかったことを強調しています。彼らは標準的なツール(KubernetesとPrometheus API)とシンプルな予測手法を使用しました。彼らは、素晴らしい結果を得るために必ずしも超複雑なアルゴリズムが必要なわけではなく、コンピューティングとストレージの間の点をつなぐことが重要であると証明しました。
まとめ:複雑さよりも統合
この論文の最も刺激的な部分は、単に「うまくいった」ということではなく、「なぜうまくいったのか」という点にあります。研究者たちは、従来の交通管制官が愚かだったのではなく、問題を「一つの次元」でしか見ていなかったのだと主張しています。彼らはCPUを見てはいましたが、ストレージを無視していました。
「先見性」と「ストレージへの意識」を既存のシステムに加えるだけで、彼らは劇的な成果を上げました。彼らは、アーキテクチャの統合(コンピューティングとストレージを対話させること)が、単にアルゴリズムを複雑にするよりも強力であることを示しました。シンプルで軽量な予測ツールであっても、スマートな配置と組み合わせることで、ハイパーコンバージド・システムにおける最大のボトルネックを解消できるのです。
結局のところ、この論文は、効率的なコンピューティングの未来は、必ずしも「より大きく、より賢い脳」を作ることではなく、システムの異なる部分が手を取り合い、共に先を見据えることにあることを示唆しています。交通管制官は天才である必要はありません。ただ、角の先に何が来ているのかを知っていればよいのです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。