研究概要 |
次世代並列計算機向けタスク並列処理系の高性能な実行時システムを構築するための要素技術として, 本研究ではアイドル状態の計算資源が他の計算資源から実行可能なタスクを奪う, ワークスチーリングの戦略をカスタマイズすることでハードウェアやアプリケーションの特徴に配慮したスケジューリングを行う手法を提案している. 本年度の主な研究内容は, 実アプリケーションによって提案手法の有効性を確認することである. 題材としては, タスク並列処理によって記述された, 適合細分化格子法による流体計算を用いた. これは動的に変化する格子を表現するデータ構造として木構造を利用し, 再帰的にタスクを作成して並列に木をたどる処理を時間発展ごとに反復する形で実装されている点が特徴的である. 本研究では複数の計算ノードからなる分散メモリ環境上での実行を想定したカスタマイズとして, (1)各格子点に対しての処理をできるだけ直前の反復と同じCPUコアに割り振り, データとタスクの配置をできるだけ一致させる(2)多くの格子点を担当しているタスクを優先して奪うことで, 木の構造に偏りが大きい場合の負荷分散の効率を改善する, という2つを組み合わせた戦略をこれに対して適用した. 48個のCPUコアをもつ共有メモリ環境においてカスタマイズの効果を評価した結果, 各格子点の処理が直前の反復と同じCPUコアで行われる確率が最大35%程度まで向上したことが確認された. しかし, 分散メモリ環境においてはノードの間でデータを移動するオーバー・ヘッドが大きいことを考えると, この点について今後さらに改善する必要があるものと考えられる. また, ワークスチーリング1回につき移動する格子点の数が増大した結果, ワークスチーリングの効率にも改善がみられた.
|