研究概要 |
互いに通信しあいながら計算を行う多数のタスクを,場所によって異なる計算能力や通信能力を持つ計算機群上に,効率よく配置するアルゴリズムについて研究を行った.タスクおよび計算機群は,ノードとエッジに重みのついた,重みつきグラフ(それぞれ,タスクグラフ,資源グラフ)として定式化した.タスクグラフの各ノードは周期的なタスクをあらわし,ノードの重みは一周期あたりの計算量,エッジの重みは一周期あたりの通信量をあらわす.リソースグラフのノードは計算機,エッジは通信路をあらわし,ノードの重みは単位時間あたりに処理できる計算量,エッジの重みは単位時間あたりの通信量をあらわす.そして問題を,単位時間あたりに処理できるタスク数(周期数)を多くするような配置を求めることと定式化した.この定式化は,大量のデータをストリームから読み出し,なんらかの処理を行って後続のタスクに送るようなタスクのパイプラインをモデル化したものであり,WEB上のデータ処理アプリケーションの多くがこれによってモデル化できる. まずはじめにこの定式化の下,最適な配置を求める問題はNP完全問題であることを証明した.その結果,多数のタスク,リソースの存在下で最適な解を求めることが困難であることがわかったため,近似アルゴリズムに関する研究を行った.近似アルゴリズムの用件として,(1)タスク間の通信がほとんど無視可能なときには高速に負荷分散すること,(2)密に通信しあうタスクがある場合にそれらを一つのノード,あるいは高速に通信可能なノードに配置できること,を設定し,近似アルゴリズムを考察した. アルゴリズムはグラフのクラスタリング,可変深さの局所改良法などを組み合わせたもので,実験の結果,上記の性質を満たすことが確かめられた.本結果を国際会議Heterogeneous Computing Workshop 2000に投稿,受理され,発表した.
|