2025-11-15T01:49:17.958429

Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems

Lakew, Svärd, Elmroth et al.
Disaggregated systems have a novel architecture motivated by the requirements of resource intensive applications such as social networking, search, and in-memory databases. The total amount of resources such as memory and CPU cores is very large in such systems. However, the distributed topology of disaggregated server systems result in non-uniform access latency and performance, with both NUMA aspects inside each box, as well as additional access latency for remote resources. In this work, we study the effects complex NUMA topologies on application performance and propose a method for improved, NUMA-aware, mapping for virtualized environments running on disaggregated systems. Our mapping algorithm is based on pinning of virtual cores and/or migration of memory across a disaggregated system and takes into account application performance, resource contention, and utilization. The proposed method is evaluated on a 288 cores and around 1TB memory system, composed of six disaggregated commodity servers, through a combination of benchmarks and real applications such as memory intensive graph databases. Our evaluation demonstrates significant improvement over the vanilla resource mapping methods. Overall, the mapping algorithm is able to improve performance by significant magnitude compared the default Linux scheduler used in system.
academic

マルチレベルNUMA分解システムにおける仮想リソースマッピングの最適化

基本情報

  • 論文ID: 2501.01356
  • タイトル: Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems
  • 著者: Ewnetu Bayuh Lakew、Petter Svärd、Erik Elmroth、Johan Tordsson (ウメオ大学、スウェーデン)
  • 分類: cs.DC (分散・並列・クラスタコンピューティング)
  • 発表日: 2025年1月2日 (arXiv プレプリント)
  • 論文リンク: https://arxiv.org/abs/2501.01356

概要

本論文は、分解システム(disaggregated systems)における複雑なNUMAトポロジーがアプリケーション性能に与える影響を調査し、改善されたNUMA対応マッピング方法を提案しています。本方法は仮想コア バインディングとメモリマイグレーションに基づき、アプリケーション性能、リソース競合、および利用率を総合的に考慮しています。6台の商用サーバで構成された288コア、約1TBメモリの分解システムでの評価結果は、デフォルトのLinuxスケジューラと比較して顕著な性能向上を示しています。

研究背景と動機

問題定義

  1. 分解システムアーキテクチャの課題:分解システムは複数の物理サーバのリソースを集約して、リソース集約型アプリケーション(ソーシャルネットワーク、検索、インメモリデータベースなど)をサポートしていますが、分散トポロジーは不均一なアクセス遅延とパフォーマンス問題を引き起こします
  2. マルチレベルNUMAの複雑性:システムは単一マシン内のNUMA特性と機間リモートリソースアクセス遅延の両方を持ち、複雑なマルチレベルNUMAトポロジーを形成しています
  3. 仮想化環境の最適化:既存のLinuxスケジューラは、このような複雑なリソースマッピングシナリオを効果的に処理できません

研究の重要性

  • 現代のアプリケーションの計算リソース要件は単一マシンの能力を超えており、分解システムが重要な発展方向となっています
  • リソースマッピング戦略はアプリケーション性能に直接影響し、不適切なマッピングは深刻なパフォーマンス低下につながる可能性があります
  • リソース競合、局所性、および干渉度を同時に考慮した総合的な最適化が必要です

既存手法の制限

  • 従来のNUMA最適化研究は主に小規模システムまたはシミュレーション評価に焦点を当てています
  • 大規模分解システムに対する実際のハードウェア測定研究が不足しています
  • リソース競合、局所性、および干渉度の総合的な影響が十分に考慮されていません

核心的貢献

  1. 分解システムの初の詳細な実測研究:実際の分解ハードウェア上での詳細な測定を実施し、リソース競合、局所性、および干渉度を考慮しています
  2. アプリケーション分類とパフォーマンス指標体系:Animal Classes分類法を採用してアプリケーションを分類し、IPCとMPIをパフォーマンス指標として使用しています
  3. NUMA対応マッピングアルゴリズム:アプリケーション分類、リソース近接性、およびランタイムハードウェアパフォーマンスカウンタを考慮したオンラインマッピングアルゴリズムを提案しています
  4. 顕著なパフォーマンス向上:実際のシステムで平均50倍のパフォーマンス向上を実現しています

方法の詳細

タスク定義

入力:仮想マシンリクエスト(CPUコア数、メモリ要件を含む)、アプリケーション分類、システムリソース状態 出力:仮想CPUから物理CPUへの最適なマッピング方案 制約:リソースオーバーサブスクリプションの回避、NUMA距離の最小化、アプリケーション間干渉の削減

アプリケーション分類体系

Animal Classes分類法に基づいて、アプリケーションを3つのカテゴリに分類します:

  • Sheep(温和型):キャッシュ共有の影響を受けにくいアプリケーション
  • Rabbit(敏感型):パフォーマンスは迅速ですが、キャッシュ割り当て不足または共有の影響を受けやすく、性能が低下します
  • Devil(破壊型):キャッシュに頻繁にアクセスし、未命中率が高く、他のアプリケーションのパフォーマンスに影響を与えます

同時に、リモートメモリ感度に基づいて、敏感/非敏感の2つのカテゴリにさらに分類します。

マッピングアルゴリズムアーキテクチャ

2段階マッピング戦略

段階1:リモート性処理(アプリケーション到着時)

if VMi is a new arrival then
    if Free slot is suitable for VMi given ci, ai then
        Map VMi directly
    else
        Reshuffle existing VMs to create suitable slot
        Map VMi to new slot

段階2:干渉最小化(ランタイム最適化)

for each VMi do
    if (expected_perf - measured_perf)/expected_perf ≥ Threshold then
        Add VMi to affected list
        
for each affected VM do
    Build potential neighbor list based on class compatibility
    Compute new configuration with minimal reshuffle
    Remap if beneficial

アプリケーション互換性マトリックス

アプリケーション型SheepRabbitDevil
Sheep
Rabbit
Devil

利益評価マトリックス

アプリケーション型ソケットレベルNUMAノードレベルサーバレベル
Sheep158
Rabbit479
Devil169

パフォーマンス監視メカニズム

  • IPC (Instructions Per Cycle):アプリケーションの相対的なパフォーマンスを示し、値が高いほどパフォーマンスが良好です
  • MPI (Misses Per Instruction):キャッシュミス率を測定し、値が低いほどパフォーマンスが良好です
  • Linux Perfツールを使用してハードウェアパフォーマンスカウンタをリアルタイムで収集します

実験設定

ハードウェアプラットフォーム

  • システム構成:6台のIBM x3755 M3サーバ
  • プロセッサ:各サーバ2×AMD 6380 (48コア)
  • メモリ:各サーバ192GB RAM、合計1176GB
  • ネットワーク:NumaConnect N323アダプタ、2次元環形トポロジー
  • 総リソース:288コア、約1TBメモリ

NumaConnect技術の特徴

  • キャッシュコヒーレント共有メモリシステム
  • 統一されたプログラミングモデル、アプリケーションに対して透過的
  • NUMA距離:ローカル10、隣接16/22、リモート160/200

実験ワークロード

アプリケーション分類特徴
Neo4jグラフデータベースSheepCPU/メモリ集約的
SockshopマイクロサービスSheepクラウドアプリケーション代表
DerbyベンチマークSheepデータベースベンチマーク
SPECjvm2008ベンチマークRabbit/DevilJava実行時パフォーマンス
Streamメモリ帯域幅-メモリ帯域幅テスト

VM型構成

VM型CPUコア数メモリ(GB)数量
Small41612
Medium8324
Large16642
Huge722882

実験結果

主要なパフォーマンス向上

デフォルトのLinuxスケジューラ(Vanilla)と比較して、提案されたアルゴリズムは顕著なパフォーマンス向上を実現しています:

アプリケーションSM-IPC向上SM-MPI向上
Derby215×241×
FFT33×37×
Sockshop25×23×
Sunflow34×34×
Mpegaudio
SOR17×23×
Neo4j
Stream105×105×

パフォーマンス安定性分析

  • Vanillaアルゴリズム:標準偏差と平均パフォーマンスの比率>0.4、予測不可能な性能
  • SM-IPC/SM-MPI:この比率<0.04、安定した予測可能なパフォーマンス

VM規模の影響分析

Streamアプリケーションを例に、異なるVM規模でのパフォーマンス向上:

VM型SM-IPC向上SM-MPI向上
Small48×47×
Medium105×105×
Large41×39×
Huge

主要な発見

  • Huge VMのパフォーマンス向上は相対的に小さく、大型VM自体がより良い局所性を持つためです
  • 小~中規模VMが最大の恩恵を受けており、不適切なマッピングの影響を受けやすいためです

NUMA距離の影響

Mpegaudioアプリケーションの異なるNUMA距離でのパフォーマンス表現:

  • ローカルアクセス:基準パフォーマンス(1.0)
  • 隣接アクセス(距離16/22):パフォーマンス低下約5-10%
  • リモートアクセス(距離160/200):最大17%のパフォーマンス低下

関連研究

従来のNUMA最適化研究

  • Panagouirgious:メモリ位置がNUMAシステムパフォーマンスに与える影響を証明
  • Lepers等:非対称相互接続がx86システムに与える影響を研究
  • Mayo and Gross:データ局所性を削減するスレッド配置アルゴリズムを提案

仮想化環境の最適化

  • Rao等:偏向ランダムvCPUマイグレーションアルゴリズムを提案
  • Tang等:Google大規模本番環境におけるNUMA影響を研究

本論文の革新点

  • 分解システムに対する初の実際のハードウェア詳細研究
  • リソース競合、局所性、および干渉度を総合的に考慮
  • 完全なアプリケーション分類とマッピングアルゴリズムフレームワークを提供

結論と考察

主要な結論

  1. 顕著なパフォーマンス向上:提案されたNUMA対応マッピングアルゴリズムは、デフォルトスケジューラと比較して平均50倍のパフォーマンス向上を実現しています
  2. 安定性の改善:パフォーマンス変動性を大幅に削減し、予測可能なパフォーマンス表現を提供します
  3. アプリケーション分類の有効性:Animal Classesに基づく分類方法は、リソースマッピング決定を効果的に指導できます

制限事項

  1. 静的分類の仮定:現在のアプリケーション分類は静的であり、アプリケーション動作の動的変化を考慮していません
  2. 限定的なワークロード型:評価は主に特定型のアプリケーションに集中しています
  3. 特定のハードウェアプラットフォーム:実験はNumaConnectプラットフォームでのみ実施されています

将来の方向性

  1. Linuxスケジューラの調整:Linuxスケジューラの調整を通じてランダム性を削減する効果を研究
  2. メモリマイグレーション技術:libvirtの「memory follows cores」メモリマイグレーション技術を使用
  3. 動的アプリケーション分類:ランタイムアプリケーション動作分析と動的再分類メカニズムを開発

深度評価

利点

  1. 実用価値が高い:実際のハードウェアでの評価であり、結果は強い実用性を持ちます
  2. 方法論が完全:問題分析からソリューション設計、実験検証まで完全なシステムを形成しています
  3. パフォーマンス向上が顕著:実験結果は巨大なパフォーマンス改善の余地を示しています
  4. システム的研究:複数の影響要因を総合的に考慮し、包括的なソリューションを提供しています

不足

  1. プラットフォーム依存性:研究は主にNumaConnectプラットフォームに基づいており、他の分解システムでの適用性の検証が必要です
  2. ワークロードカバレッジ:評価されたアプリケーション型は相対的に限定的であり、より多様なワークロードでの検証が必要です
  3. 動的性の不足:アルゴリズムのシステム負荷動的変化への適応性はさらなる研究が必要です
  4. 理論分析の欠如:アルゴリズムの複雑性と収束性に関する理論分析が不足しています

影響力

  1. 領域への貢献:分解システムのリソース管理に重要な理論的基礎と実践的指導を提供しています
  2. 実用価値:アルゴリズムはクラウドコンピューティングと高性能コンピューティング環境に直接適用できます
  3. 再現性:著者はソースコード提供を約束しており、研究成果の推進と検証に有利です

適用シナリオ

  1. 大規模クラウドコンピューティング環境:特にリソースプーリングのクラウドインフラストラクチャに適しています
  2. 高性能コンピューティングクラスタ:HPC アプリケーションのリソース割り当て最適化に使用できます
  3. メモリ集約型アプリケーション:グラフデータベース、インメモリコンピューティングなどのアプリケーションで顕著な効果があります
  4. 仮想化データセンター:既存の仮想化管理システムに統合できます

参考文献

本論文は26篇の関連文献を引用しており、分解システム、NUMA最適化、仮想化技術など複数の領域の重要な研究成果をカバーしており、研究業務に堅実な理論的基礎を提供しています。


総合評価:これは分解システムのリソース管理領域における重要な貢献を持つ論文であり、厳密な実験設計と十分なパフォーマンス評価を通じて、NUMA対応マッピングアルゴリズムの有効性を証明しています。いくつかの制限事項がありますが、その実用価値と学術的貢献は両方とも顕著であり、この領域のさらなる発展の基礎を築いています。