[論文レビュー] nOS-V: Co-Executing HPC Applications Using System-Wide Task Scheduling
この論文では、共有ノード上でHPCアプリケーションのシステムワイドで細粒度な共同実行を可能にする軽量なタスクライブラリnOS-Vを紹介する。複数のアプリケーションにまたがるタスクスケジューリングを統一することで、個々のランタイムを1つのグローバルスケジューラに置き換える。nOS-Vにより、リソースの無駄遣いが削減され、効率が向上し、排他的実行と比較して3方向の共同実行で中央値1.25倍、2方向の組み合わせで1.17倍の高速化を達成した。
Future Exascale systems will feature massive parallelism, many-core processors and heterogeneous architectures. In this scenario, it is increasingly difficult for HPC applications to fully and efficiently utilize the resources in system nodes. Moreover, the increased parallelism exacerbates the effects of existing inefficiencies in current applications. Research has shown that co-scheduling applications to share system nodes instead of executing each application exclusively can increase resource utilization and efficiency. Nevertheless, the current oversubscription and co-location techniques to share nodes have several drawbacks which limit their applicability and make them very application-dependent. This paper presents co-execution through system-wide scheduling. Co-execution is a novel fine-grained technique to execute multiple HPC applications simultaneously on the same node, outperforming current state-of-the-art approaches. We implement this technique in nOS-V, a lightweight tasking library that supports co-execution through system-wide task scheduling. Moreover, nOS-V can be easily integrated with existing programming models, requiring no changes to user applications. We showcase how co-execution with nOS-V significantly reduces schedule makespan for several applications on single node and distributed environments, outperforming prior node-sharing techniques.
研究の動機と目的
- 現代のHPCシステムにおけるノード排他的実行の非効率性を是正すること。これは、アプリケーションが直列フェーズ、負荷の不均衡、または並列性の欠如によりリソースを十分に活用できないことが原因である。
- 干渉、グローバルな可視性の欠如、またはアプリケーション固有の制約に起因する既存の共配置およびオーバースブスクリプション技術の限界を克服すること。
- アプリケーションの変更を必要とせず、ポータブルで軽量なランタイムシステムを設計し、HPCワークロードの細粒度でシステムワイドなスケジューリングを可能にすること。
- 単一ノードおよび分散構成(異なるNUMAポリシーを含む)における多様なワークロードにおける共同実行のパフォーマンスを評価すること。
提案手法
- nOS-Vは、共同スケジュールされたHPCアプリケーションのすべてのタスクをグローバルに管理する統合タスクランタイムを実装し、各アプリケーション固有のランタイムを置き換える。
- 標準的なプロセス間通信(IPC)メカニズムを活用しており、カーネルの変更を必要としないため、ポータビリティと統合の容易さを確保する。
- グローバルタスクキューを維持し、プロセスの優先度やデータローカリティに基づいたスケジューリングポリシーを適用してパフォーマンスを最適化する。
- nOS-Vは、MPIとタスクベースのプログラムを含む複数のアプリケーションの共同実行を可能にし、ユーザーのコードやバイナリの変更を一切必要としない。
- リアルタイムでのコアの利用可能性とローカリティに基づいてタスクをスケジューリングすることで、動的負荷分散を実現し、OSのプリエンプションによる干渉を回避する。
- このアプローチはNanos6ランタイムおよびOmpSs-2プログラミングモデルと統合されており、実HPCワークロードでの評価を可能にしている。
実験結果
リサーチクエスチョン
- RQ1細粒度の並列性の程度が異なるHPCワークロードにおいて、システムワイドなタスクスケジューリングはノードレベルのリソース利用効率を顕著に向上させるか?
- RQ2静的共配置および動的オーバースブスクリプションと比較して、統合されたランタイムによる共同実行のパフォーマンスとスケーラビリティはいかがなっているか?
- RQ3異なるHPCアプリケーション、特にNUMAに配慮したメモリアクセスパターンを持つアプリケーションにおいて、共同実行はスケジュールのマケスピーブをどの程度短縮できるか?
- RQ4nOS-Vは、3方向の共同実行や分散アプリケーションといった複雑なワークロードを、パフォーマンス劣化を伴わずにサポートできるか?
主な発見
- nOS-Vは、単一ノード上での2アプリケーションのペアワイズ共同実行において、排他的実行と比較して中央値1.17倍の高速化を達成した。
- 3アプリケーションの共同実行では、中央値の高速化が1.25倍にまで向上し、スケーラビリティとリソース利用効率の向上が実証された。
- 同じソケット上のコアにタスクを割り当てることで、リモートNUMAアクセスを削減し、データローカリティを向上させ、遅延を低減した。
- nOS-Vは、DLB、Callisto、AMCilkといった既存の共配置技術を上回り、すべてのタスクのグローバルな視認性を提供し、各アプリケーションランタイムによる干渉を回避している。
- OmpSs-2およびNanos6との統合により、ユーザーのアプリケーションやバイナリを変更することなく、透明な共同実行が可能になった。
- 不規則な並列性や異種のメモリアクセスパターンを持つワークロードに対しても、このアプローチは効果的であることが示された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。