JP3606922B2 - ハイパキュ−ブマルチコンピュ−タ−のタスク割当方法および装置 - Google Patents
ハイパキュ−ブマルチコンピュ−タ−のタスク割当方法および装置 Download PDFInfo
- Publication number
- JP3606922B2 JP3606922B2 JP29540794A JP29540794A JP3606922B2 JP 3606922 B2 JP3606922 B2 JP 3606922B2 JP 29540794 A JP29540794 A JP 29540794A JP 29540794 A JP29540794 A JP 29540794A JP 3606922 B2 JP3606922 B2 JP 3606922B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- graph
- mapping
- module
- modules
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
Description
【0001】
【産業上の利用分野】
本発明はハイパキュ−ブマルチコンピュ−タ−のタスク割当方法および装置に係り、特にタスクグラフを変換してマキシマムカットセット(以下、マックスカットと略称)アルゴリズムにより反復的に分割して最適の一対一マッピングを算出し、これによりタスクをハイパキュ−ブマルチコンピュ−タ−に割当てる方法および装置に関する。
【0002】
【従来の技術】
VLSI技術の迅速な発展とコンピュ−タ−通信技術の向上で多様なマルチコンピュ−タ−を開発することが可能になった。並列処理に対する潜在能力と具現を容易にする規則性のため、ハイパキュ−ブコンピュ−タ−が脚光を浴びている。ハイパキュ−ブ(以下 n− キュ−ブという)は 2n 個のプロセッサ−(即ち、ノ−ド)で相互疎結合された(loosely coupled )マルチコンピュ−タである。各プロセッサ−は二進 n− キュ−ブの2n 個の頂点(vertics) 中一つに位置する。自分の相当な大きさのメモリを有したプロセッサ−はその n個の隣のプロセッサ−と連結される。このようなハイパキュ−ブ形態を有するコンピュ−タ−が常用化されてものであって、インテル社のiPSC, NCUBE, Caltech/JPLなどがある。
【0003】
ハイパキュ−ブマルチコンピュ−タ−で並列プログラムを遂行するために並列プログラムのタスクモジュ−ルはハイパキュ−ブを形成するプロセッサ−にそれぞれ割当てられるべきである。一般的に、相互作用するタスクモジュ−ル間の通信経路はハイパキュ−ブマルチコンピュ−タ−の連結構造と相違である。即ち、タスクをプロセッサ−に配置する問題はマッピング問題と知られているが、プロセッサ−割当問題とは異なる。プロセッサ−割当問題はタスク間の通信構造を考慮せず、効率的な方式で処理能力を割当てる。このようなプロセッサ−割当問題は通常的なメモリ割当問題と類似であるが、その目的はプロセッサ−の活用を最大化することである。多数のプロセッサ−割当方式中でグレ−コ−ド方式はハイパキュ−ブマルチコンピュ−タ−に広く使用され、ウェ−ブスケジュ−リングはツリ−形態で連結されたマルチコンピュ−タ−のためである。プロセッサ−割当後にタスクとハイパキュ−ブ間の構造的な不一致を解決するために、マッピング手順がプロセッサ−間通信コストを最少化し、実行速度を最大化する方向に遂行される。このように全体プロセッサ−間の通信費用を最少化する方向に相互作用するタスクモジュ−ルをハイパキュ−ブマルチコンピュ−タ−にマッピングする問題を解決する必要があるが、これはつまり NP − コンプリ−トと知られている。したがって、適したマッピングを探すために最適化アルゴリズムよりは速いヒュ−リスティックアルゴリズムが使用される。通信グラフをハイパキュ−ブにマッピングするグラフ向きマッピング方式を使用してマッピング問題を解決するグリ−ディ(greedy) なアルゴリズムが W.K Chen と E.F. Gehringer により提案(“A graph−orinted mapping strategy for a hypercube”, Proceeding. of the Third Conference. on Hypercube Concurrent Computers and Applications, pp 200〜209, Jan. 1988 )されたが、これは線形アレ−、同形ハイパキュ−ブおよび類似形通信グラフ等には適用されるが、他の形態のグラフには適用し得ない問題点があった。また、Kernighan−Lin のミニマムカットセット(ミンカット)バイセクションヒュ−リスティック(mincut bisection heuristic )に基づいた、リカ−シブな分割および征服方式(drive−and−conquer)によるアルゴリズムが F.Ercalと J.Ramanujanと P. Sadayappanにより提案 (“Task allocation onto a hypercube by recursive mincut bipartitioning” , Proceeding. of the Third Conference. on Hypercube Concurrent Computers and Applications, pp. 210〜221, January. 1988)され、これによるとタスクグラフに対してリカ−シブな二分割を反復遂行した。このようなリカ−シブなマッピング方法は各サブグラフが適切に二分割されたとしても、マッピング問題が適切に解決されたことでないという問題点があった。
【0004】
【発明が解決しようとする課題】
本発明の目的は前記のような従来の問題点を解決するためにタスクグラフを変換した後、マックスカットアルゴリズムに従い一対一対応のマッピングを提供し、これによりタスクを割当てるハイパキュ−ブマルチコンピュ−タ−のタスク割当方法および装置を提供するにある。
【0005】
【課題を解決するための手段】
前記のような目的を達成するために本発明の方法は所定の通信費用を有する少なくとも一つ以上の通信経路で連結される 2n 個のタスクモジュ−ルより構成され、この構造を加重値を有するエッジとノ−ドによるグラフ Gに表現し得る並列プログラムを、ハイパキュ−ブ形態で連結されて nビットのバイナリ−番号に区別される2n 個のプロセッサ−に前記通信費用の総合を最少とするマッピングに応じて割当てるハイパキュ−ブマルチコンピュ−タ−のタスク割当方法において、前記タスクグラフ Gを変換規則に従いグラフ Gk * に変換する第1過程と、前記第1過程で変換されたグラフ Gk * を二分割するマキシマムカットセットを算出する第2過程と、前記第2過程から算出されたマキシマムカットセットにより前記タスクグラフ Gの部分集合を形成する第3過程と、前記第3過程で形成された部分集合により前記バイナリ−番号のk番目ビットを順次に割当てて前記タスクモジュ−ルを前記フリセッサ−に一対一対応させるマッピング Xを算出する第4過程とよりなり、前記グラフ変換に応じて前記マッピング Xを探す遂行時間を短縮し、前記マッピング Xにより前記タスクモジュ−ルを前記プロセッサ−のそれぞれ割当てることを特徴とする。
【0006】
また、本発明の前記の目的を達成するために、本発明による装置は、所定の通信費用を有する少なくとも一つ以上の通信経路で連結される2n 個のタスクモジュ−ルより構成され、この構造をグラフ Gに表現し得る並列プログラムを、ハイパキュ−ブ形態で連結されてnビットのバイナリ−番号に区別される2n 個のプロセッサ−に前記通信費用の総合を最少とするマッピングにより割当てるハイパキュ−ブマルチコンピュ−タ−のタスク割当装置において、前記タスクグラフ Gを入力した後、タスクモジュ−ルを比較してタスクモジュ−ルが同一な部分集合に属すると前記タスクモジュ−ル間の通信費用を所定値に変換したり所定の通信費用で新たに形成し、前記タスクモジュ−ルが相異なる部分集合に属すると前記タスクモジュ−ル間の通信費用の符号を反転して新たなグラフ Gk * を出力するグラフ変換手段と、前記変換されたグラフ Gk * を入力しこれを二分割するマキシマムカットセット CMAX を算出するマキシマムカットセット算出手段と、前記算出されたマキシマムカットセット CMAX により前記タスクグラフ Gの部分集合を形成する部分集合形成手段と、前記形成された部分集合により前記バイナリ−番号にk番目のビットを順次に割当てて貯蔵し、k=nになると前記2n 個のタスクモジュ−ルを前記2n 個のプロセッサ−に割当てるマッピング Xを出力するバイナリ−番号割当手段とよりなり、前記マッピング Xにより前記タスクモジュ−ルを前記プロセッサ−にそれぞれ割当てることを特徴とする。
【0007】
【作用】
本発明は2n 個のタスクモジュ−ルより構成されたタスクを有する並列プログラムを2n 個のプロセッサ−より構成されるハイパキュ−ブマルチコンピュ−タ−で遂行させるためにタスクモジュ−ルをプロセッサ−に一対一対応させるマッピングによりタスクを割当てることによりマルチコンピュ−タの性能を向上させうる。
【0008】
【実施例】
以下、添付した図面に基づき本発明を詳細に説明する。説明の便宜上、まず本発明が適用される一般的なハイパキュ−ブコンピュ−タ−の構造を定義し、タスク割当のためのマッピング問題を式で示して本発明が最少化しようとする費用関数を開発する。また、本発明は広く知られていないス−パ−コンピュ−タ−分野に関するものなので、理解の便宜のため本発明の概念と基本前提となる定理および理論などを定義し、これを証明する。また、本発明の効果を示すために所定の試験タスクグラフに対して本発明を適用した実験結果と従来技術で言及した方式(greedyおよびrecursive な方式) を適用した実験結果を比較する。
【0009】
1.本発明に対する概念の説明
本発明による n −次元ハイパキュ−ブマルチコンピュ−タ−は2n 個のプロセッサ−(グラフ上では一つのノ−ドとして表現されるので、以下ノ−ドと表現する)より構成される。2n 個のプロセッサ−は二進数 0〜 2n −1のうち一つとそれぞれ示し、これをそのプロセッサ−のアドレスという。また、各プロセッサ−の二進数(アドレス)が只1ビットのみ異なる時、二つのプロセッサ−間には通信リンク(グラフ上でエッジと表現される) で連結される。したがって、 n− 次元ハイパキュ−ブマルチコンピュ−タ−は自分のロカルメモリを有した2n 個のプロセッサ−{ pk | 0≦ k≦ 2n −1}より構成され、各プロセッサ−は n個の隣のプロセッサ−と連結されるので n2 n−1 個の双方向通信リンクを有する。
【0010】
ハイパキュ−ブマルチコンピュ−タ−のプロセッサ− pk のアドレスを kの二進表現、 kn kn−1 .... k1 に示すと、二つのプロセッサ−が只一つの座標が異なる時こどに通信リンクが存する。また、任意の二プロセッサ− pk と pι間の距離を dk,ιに示し、プロセッサ− pk から pιまで到達するに通過する通信リンクの最少数、即ち、プロセッサ− pk から pιまでの最短距離と定義する。定義により、プロセッサ− pk と pι間の距離は dk,ιは次の式(1)の通りである。
【0011】
【数1】
【0012】
この際、ハイパキュ−ブマルチコンピュ−タを構成するすべてのプロセッサ−が同一な処理能力を有し、すべての通信リンクが同一な通信速度を有してシステムが同質的(homogeneous )であると仮定する。
このような構造を有する n次元ハイパキュ−ブマルチコンピュ−タ−で遂行されるタスクは相互作用する M個のタスクモジュ−ル m1, m2,...., mM より構成され、タスクグラフ G( V,E )に表現される。ここで、頂点(vertices)‘ V’はタスクモジュ−ルを示し、エッジ‘E’はタスクモジュ−ル間のデ−タ通信依存度を示す。タスクモジュ−ル mi , mj 間のエッジ( mi , mj ) の加重値(ウェイト)はwi,j と示し、二タスクモジュ−ル間に要求される通信の量を示す。また、通信コストは送信タスクモジュ−ルと受信タスクモジュ−ル間の距離 dとメッセ−ジの大きさに比例する。
【0013】
タスクモジュ−ルの集合であるタスクを n次元ハイパキュ−ブにマッピングする時、一般性をなくさないようにするため、そのタスクが 2n 個のモジュ−ルより構成されると仮定する。即ち、一つのタスクがある整数 nで M個のタスクモジュ−ル 2n−1 < M< 2n より構成される時には、ダミ−モジュ−ルを付加して 2n 個のタスクモジュ−ルで形成し得る。反対に、 M > 2n である場合にはワ−クロ−ド分割技法(workload partitioning scheme) を適用してクラスタモジュ−ルを形成してグル−プで結びグル−プの数をハイパキュ−ブのサイズ 2n に一致させることができる。したがって、 n− 次元ハイパキュ−ブマルチコンピュ−タ−で遂行するためのタスクは 2n 個のタスクモジュ−ルで構成されて、正確に一つのタスクモジュ−ルを一つのプロセッサ−に割当(マッピング)させ得る。以下、別途の言及がなければ、マッピングは1対1マッピングを意味する。したがって、タスクモジュ−ルをプロセッサ−にマッピングするマッピング(モジュ−ル対プロセッサマッピング)は一対一対応関数 X: mi → pk に示し、一対一対応関数 X(i )はタスクモジュ−ル mi が対応するプロセッサ−を指定する。
【0014】
一方、comp( m i )をタスクモジュ−ル mi を実行するためにプロセッサ−(ノ−ド)が招来する計算コストと仮定すれば、ハイパキュ−ブが同質的なので、いずれのマッピングによっても同一な全体計算費用、即ち、
【0015】
【数2】
【0016】
を有する。しかし、相異なるマッピングは相異なる通信費用を招来する。したがって、タスクマッピングを決めるにおいて、計算費用は考慮せず、ただプロセッサ−間通信費用のみ考慮すれば充分である。また、ハイパキュ−ブは対称的なので、ある二マッピング Xa , Xb が任意の nビット二進数 xに対して
【0017】
【数3】
【0018】
ならば、同一な通信費用を招来する。ここで、
【0019】
【外1】
【0020】
はビットワイズ排他的論理和演算 (bitwise EXCLUSIVE−OR OPERATION )を示す。このような二マッピングは同一であるという。したがって、本発明でマッピング問題は最少の通信費用でタスクモジュ−ルをプロセッサ−に割当てる一対一対応関数 XO を探すことである。ここで、通信コスト(COST(XO ))は次の式(2)のように示す。
【0021】
【数4】
【0022】
図1(A)は4個のタスクモジュ−ルより構成されたタスクの例を示したものである。 m1, m2, m3, m4 はそれぞれタスクモジュ−ルを示し、タスクモジュ−ル間に連結される直線(エッジ)はモジュ−ル間の通信リンクを示し、数は該当リンクの加重値を示す。第1タスクモジュ−ル m1 と第2タスクモジュ−ル m2 間には加重値10の通信リンクで連結され、第1タスクモジュ−ル m1 と第4タスクモジュ−ル m4 は加重値5の通信リンクで連結される。
【0023】
図1(B)は 2− 次元ハイパキュ−ブマルチコンピュ−タ−(2−キュ−ブ)のプロセッサ−の構成を示したものであって、 2− キュ−ブは 4( 22 )個のプロセッサ−より構成される。図1Bにおいて、各ノ−ドは一つのプロセッサ−を示し、各プロセッサ−は二進数のアドレス(00, 01, 10, 11) を有する。また、各プロセッサ−は二つの通信リンクを有し、プロセッサ−のアドレスが1ビット異なる隣接したプロセッサ−とは通信リンクで連結されたことが分かる。
【0024】
図1(C)と図1(A)のタスクモジュ−ルを図1(B)のプロセッサ−にマッピングした一例(X1)を示したものである。図1(C)において、プロセッサ−‘ 00 ’には第1タスクモジュ−ル m1 を割当て、プロセッサ−‘ 01 ’には第2タスクモジュ−ル m2 を割当て、プロセッサ−‘ 10 ’には第3マスクモジュ−ル m3 を割当て、プロセッサ−‘ 11 ’には第4タスクモジュ−ル m4 を割当てる。このようなマッピングの通信費用はこれらタスクモジュ−ルを分割するカットセットの加重値の和から 25 + 25 = 50 であることが分かる。
【0025】
図1(D)は図1(A)のタスクモジュ−ルを図1(B)のプロセッサ−にマッピングした他の例(X2)を示したものである。図1(D)において、プロセッサ−‘ 00 ’には第1タスクモジュ−ル m1 を割当て、プロセッサ−‘ 01 ’には第4タスクモジュ−ル m4 を割当て、プロセッサ−‘ 10 ’には第3マスクモジュ−ル m3 を割当て、プロセッサ−‘ 11 ’には第2タスクモジュ−ル m2 を割当てる。このようなマッピングの通信費用は 25 +40= 65 であることが分かる。
【0026】
図1(A)〜図1(D)をみると、4個のタスクモジュ−ルを 2− キュ−ブに割当てる二つの他のマッピング X1 と X2 において、全体通信費用はそれぞれ50,65であって、マッピング X1 がマッピング X2 より効率的であることが分かる。したがって、マッピングにより通信費用が異になることが分かり、最小の通信費用を有するマッピングを探すことがタスク割当の主目的であることが分かる。
【0027】
図2(A),(B)は二つの 3− キュ−ブから一つの 4− キュ−ブを形成する概念を示したものである。
図2(A)は 8( 23 )個のプロセッサ−を有する 3− キュ−ブを示したものであって、各プロセッサ−は‘ 000’から‘ 111’まで中一つのアドレスを有し、1ビットのみ異なる 3個の隣接した通信リンクで連結されたものであることが分かる。
【0028】
図2(B)は図2(A)のような 3− キュ−ブ二つを合わせて一つの 4− キュ−ブを作ることを示す。図2(B)において、 4− キュ−ブは一つの 3− キュ−ブの各ノ −ドのアドレスの4番目ビットを全部‘ 0’とし( 0000 〜0111)、他の一つの 3− キュ−ブの各ノ−ドのアドレスの4番目ビットを全部‘ 1’として( 1000 〜1111)、各ノ−ドに4ビットのアドレス( 0000 〜1111)を与え、隣接したノ−ドをリンクで連結して形成することができる。反対に、 4− キュ−ブは二つの 3− キュ−ブで容易に分割され得ることが分かる。このように 3− キュ−ブは図2(A)に示したように頂点が 8( 23 )個である 3− キュ−ブの8 ( 23 )個のノ−ドと表現することができる。
【0029】
一般的に、次のように n− キュ−ブを形成することができる。第1、 2n 個のノ−ドは 0から 2n−1 までの 2n 個の二進数(アドレス)と表現される。次いで、二進数が只1ビット異なる二ノ−ド間をリンク(エッジ)で連結する。このように形成された n− キュ−ブのグラフを Qn に示す。
定義1:n−キュ−ブのグラフ Qn は 2n 個の n− 次元ブ−ルベクトル、即ち、0 と 1の二進座標を有したベクトルより構成されるノ−ドの集合 Vn の無方向性グラフである。
【0030】
ここで、正確に一つの座標が異なる場合に二ノ−ドは相互隣接する。また、図2(A)および図2(B)で調べたように、 n− キュ−ブの重要な特性中一つは低次元のキュ−ブからリカ−シブに構成され得るといえる。より正確に言うと、頂点が 0から 2n−1−1 まで番号が与えられた二つの同一な(n−1)− キュ−ブより構成される。第1(n−1)− キュ−ブのすべての頂点を同一な数を有した第2(n−1)− キュ−ブの頂点と結合して、一つの n− キュ−ブを形成することができる。なお、第1(n−1)−キュ−ブのノ−ドを 0, xn−1 xn−2 ....x1に番号を与え、第2(n−1)− キュ−ブのノ−ドを1, xn−1 xn−2 ....x1に番号を与えた後、隣接したノ−ド間をエッジで連結すると充分である。ここで、 xn−1 xn−2 ....x1は(n−1)− サブキュ−ブの類似な二つのノ−ドを示す二進表示である。
【0031】
逆に、n−キュ−ブグラフの定義により、n−キュ−ブは i番目ビットが 0のノ−ドと i番目ビットが1のノ−ドを連結するすべてのエッジを取り除くことにより、二つのサブグラフに容易に分割されることが分かる。分離された結果である二つのサブグラフは明白に(n−1)− キュ−ブである。これを i番目方向に沿った分割という。したがって、 nビットがあるので、 n個の方向が存する。このような単純な性質は次のような命題として要約される。
【0032】
命題1:n−キュ−ブを二つの(n−1 )− サブキュ−ブに分割する方法は相異なる n個がある。
命題2:任意の k個の方向に分割すると、n−キュ−ブは 2k 個の(n−k )− サブキュ−ブに分割される。ここで、1 ≦k ≦ nである。
命題2により n− キュ−ブは n個の方向に分割されて 2n 個の個別的なノ−ドに完全に分割される。
【0033】
また、任意の二つのノ−ドは i番目ビットが異なる場合(なお、一つのノ−ドの i番目ビットが 0であり、他のノ−ドの i番目ビットが 1の場合)にのみ i番目方向に応じて分離される。ハイパキュ−ブグラフのこのような特性を用いて、各モジュ−ルのプロセッサ−マッピングの k番目ビットを定める k番目二分割であって、タスクグラフを 2n−1 個のモジュ−ルを有する二つのサブグラフに反復的に二分割して与えられた 2n 個のモジュ−ルの n− 次元タスクグラフを n− 次元イパキュ−ブマルチコンピュ−タ−で部分的にマッピングする。その後、 n個の二分割(n bipartition )により各モジュ−ルがマッピングされるプロセッサ−の完全なアドレスを求めることができる。そのうえ、 n個の二分割が命題2で言及した特性を満足すると、即ち、異なる k個の二分割によるタスクグラフが 2n−k 個のモジュ−ルを有する 2k 個のサブグラフに分けられると(ここで、1≦ k≦n)、マッピングは一対一対応となる。
【0034】
定義2:n−次元のタスクグラフ G( V,E )のカットセット Ci はタスクモジュ−ルの集合Vを
【0035】
【外2】
【0036】
とVi に分離して
【0037】
【数5】
【0038】
となるようにするエッジの
【0039】
【数6】
【0040】
ならば(即ち、ノ−ドの数が同一に二分割させると)、 Ci のバランスドカットセットという。また、カットセット Ci の加重値 W( Ci )はカットセット Ci にあるエッジの加重値の総合である。
定義3:n−次元タスクグラフ G( V,E )の n個のバランスドカットセット{ Ci |1≦ i≦ n}の集合を Cとする時、C にある k個のカットセット群、 C1, C2,..., Ck によりモジュ−ルの集合 Vが正確に 2n−k 個のタスクモジュ−ルを有する 2k 個の部分集合に分割されると、 Cは許諾可能である(admissible)とする。C の加重値は Cにあるカットセットの加重値の総合、即ち、
【0041】
【数7】
【0042】
である。
前提1: n− 次元タスクグラフ G(V ,E )の各許諾可能な集合 C={ Ci |1≦ k≦ n}はタスクモジュ−ルを n− キュ−ブのプロセッサ−で一対一形態で対応させるマッピングに該当する。前提1に対する証明は次の通りである。
証明:タスクモジュ−ルの集合 Vが各カットセット Ci によりVi と
【0043】
【外3】
【0044】
に分割されるとしよう。やはり各許諾可能な集合 Cがマッピング Xと一致すると、各タスクモジュ−ル mj に対して mj が Vi の元素ならば( mj ∈ Vi ), X(j )i = 1 であり、そうでないと、 X(j )i = 0 である(ここで、1≦ i≦ n)。許諾可能の定義により、タスクモジュ−ルの集合は Cにある n個のバランスドカットセットにより正確に 2n 個の部分集合(なお、一つのタスクモジュ−ル)に分割される。即ち、すべての二モジュ−ルは最小限一つのカットセットにより分離される。したがって、各 2n 個のタスクモジュ−ルは関数 Xでマッピングされるプロセッサ−に対する唯一な一つのアドレスが割当てられる。そして、それに該当するマッピング Xは一対一である。逆に、各マッピング X′は許諾可能なカットセット C′= { C′i |1 ≦ i≦ n}に一致する(ここで、 Ci ′= {( ma, mb )| X′(a) i = 1 , X′(b) i = 0 }である。したがって、各許諾可能な集合 Cの一対一形態のマッピヒングである。
【0045】
前提2:許諾可能な集合 Cがマッピング Xに一致するとしよう。すると、集合 Cの加重値( W(C) )はマッピング Xの全体通信費用(COST(X))と同一である。前提2に対する証明は、マッピング Xの全体通信費用を求める次の式(3)と同一である。
【0046】
【数8】
【0047】
図3(A)〜(C)は本発明による許諾可能なカットセット集合 Cとそれによるマッピング Xを示した概念図である。
図3は3次元タスクグラフを示した例であって、3次元タスクは 8( 23)個のタスクモジュ−ル( m1 〜 m8 )より構成され、各タスクモジュ−ルは所定の加重値を有する通信リンク(エッジ)で連結される。
【0048】
図3(B)は図3(A)で示したタスクグラフを分割するカットセット集合 Cの一例を示したものである。図3(A)において、カットセット集合 Cは3個のカットセット C1 ,C2,C3を元素として有し、前述した定義3を満足するので許諾可能である。また、第1カットセット(C1) による加重値 W(C1) は第1カットセット(C1)が通過するエッジの加重値の総合であるので10+ 5+ 5+ 5= 25 である。同一な方式で、第2カットセット(C2)の加重値 W(C2)は40であり、第3カットセット(C3)の加重値 W(C3)は 40 であることが分かる。したがって、集合 Cの加重値は式(3)によりCOST(X )= W(C1)+ W(C2)+ W(C3)= 105である。
【0049】
図3(C)は図3(B)に示したカットセット( C1, C2, C3 )によるマッピング Xを示したものである。図3(C)において、全体通信費用は 105であり、これは図3Bのカットセット集合の加重値と同一であることが分かる。このように、各カットセット Ci の加重値 W( Ci )は i番目方向性通信リンク即ち、マッピング Xによる結果として i番目ビットが0のプロセッサ−と i番目ビットが1であるプロセッサ−を連結するリンクに付加された通信費用と同一なことが分かる。
【0050】
続けて、前記の命題からタスク割当のためのマッピング問題が最小加重値を有する許諾可能な集合 Cを探す問題と同一であるということが分かるので、反復された二分割により一対一マッピングを解決することを説明する。
実験的に決定された時間複雑度 O(N2 )(ここで、 Nはグラフにあるノ−ドの数)を有する効率的なグラフ分割アルゴリズムが本発明者が発表した論文(“ Efficient algorithm for graph−partitioning algorithm for task allocation in parallel computing systems”, Computer−Aided Design, vol, 21, no.10, pp.611−618, Dec. 1989 )で提案された。本発明者が既に発表したところによると、サイズ制限を有するグラフ分割問題はグラフ変換技法により、いずれのサイズ制限も有しないマックスカット(maxcut)問題に変換され得ることが分かる。変換されたグラフの最大加重値カットセット(即ち、マックスカット)は元のグラフの最小加重値を有するバランスドカットセット(即ち、ミンカット)に該当する。また、前記論文で効率的なマックスカットアルゴリズムを提案したが、そのマックスカットアルゴリズムは Kernighanとlin のアルゴリズムおよびそれと類似な他のアルゴリズムよりも効率的なことと知られた。さらに、前記論文によるアルゴリズムは本発明で考慮するタスクグラフのように同一なサイズを有するグラフノ−ドである時、バランスド分割を保障する長所がある。したがって、本発明で使用する二分割アルゴリズムは本発明者が既に発表した論文で提案したヒュ−リスティックアルゴリズムと類似である。
【0051】
二分割手続きはクラフのバランスドN−ウェイパ−ティション(blanced N−way partition )を遂行するために反復的に使用されうる。ここで、N = 2n であり、まず二つのバランスドパ−ティションを作った後、グラフを変更して次のパ−ティションそれぞれを二つのパランスドサブパ−ティションに分割するようになる。このように、 N個のバランスドパ−ティションが求められる時まで続ける。本発明の核心的なアイデアは反復される二分割段階間にタスクモジュ−ルをプロセッサ−に割当てる部分的なマッピングを作る。この過程のレベル kで、各モジュ−ルに対してそのプロセッサ−マッピングの k番目ビットのアドレスが決定される。初期にすべての分割の前に、全体ハイパキュ−ブは考慮する唯一なサブキュ−ブであり、明白に各モジュ−ルはこのサブキュ−ブ内に割当てられる。タスクグラフの一番目の二分割はそのモジュ−ルを二つのグル−プに分離し、各グル−プには N/2 サイズの区別されたサブキュ−ブを割当てる。即ち、割当られるプロセッサ−の一番目ビットがユニックに決定される。 n番目レベルの二分割後に、各モジュ−ルのプロセッサ−マッピングの全体アドレスが決定される。本発明の二分割アルゴリズムは後に述べるグラフ変換技法の長所によりバランスドパ−ティションを保障する。それと共に、結果された n個の二分割は許諾可能である。即ち、各 k番目レベルの二分割後に、正確に 2n−k タスクモジュ−ルはそれぞれ 2k (n−k)−サブキュ−ブに割当てられる。したがって、最後の n番目レベルの二分割後に、各モジュ−ルはそのプロセッサ−マッピングのための唯一なアドレスが割当てられる。即ち、言い換えれば、結果されたマッピングは一対一となる。
【0052】
一方、前述したように各 k番目レベル二分割がカットセット Ck に該当するとし、タスクグラフのモジュ−ルの集合が k個のカットセット C1, C2,..., Ck により 2k 個の部分集合(パ−ティション) Pk 1 , Pk 2 , ...., Pk 2” に分割され Pk−1 i =Pk 2i−1∪ Pk 2iになるとしよう。即ち、k−1 個のカットセット C1, C2,..., Ck−1 により分割された 2k−1 個の部分集合(パ−ティション) Pk−1 i のそれぞれは、次のカットセット CK により二つの部分集合 Pk 2i−1と Pk 2iにさらに分割されるとしよう。また初期に、二分割の前には全てのモジュ−ルが P0 1内にある(即ち、P0 1 = V)としよう。すると、定義により、もし| Pk 1 |= | Pk 2 |= ...= | Pk 2 ” |(1 ≦ k≦ n)ならば(即ち、分割によるパ−ティションが常時同一な数のタスクモジュ−ルより構成されれば)、集合 C={ C1, C2, ..., Cn }は許諾可能である。各 k番目レベルで、二分割前に、タスクグラフ G( V,E )は次のように Gk * に変換され、その結果カットセットが許諾可能にする。したがって、本発明によるグラフ変換方法は次の通りである。
【0053】
タスクグラフGの任意の二つのノ−ドを ma, mb とし、変換前の二ノ−ド間の加重値を Wa,b とすれば、
変換規則1:もし二ノ−ドが(k−1)個のカットセット C1, C2,..., Ck−1 により分離されないと、即ち任意の iに対して ma ∈ Pk−1 i であり、 mb ∈ Pk−1 i (ここで、1 ≦ i≦ 2k−1 )ならば(即ち、同一な部分集合に属すると)、該二ノ−ド間のエッジ加重値を R−Wa,b に変換する。ここで、独立変数(augmenting factor ) Rは
【0054】
【数9】
【0055】
のような適切な正の値で設定する。この際、もし元のグラフ Gでその二ノ−ド間にエッジがなければ、加重値 Rで新たなエッジを形成する。
変換規則2:もし二ノ−ドが(k−1 ) 個のカットセット C1, C2,..., Ck−1 により分離され相異なる部分集合に属すると、該二ノ−ド間のエッジの加重値を − Wa,b となるように変換する。
【0056】
前提3:与えられたグラフ Gとその変換されたグラフ Gk * で、カットセット Ck * (Ck )が Gk * (G) のノ−ドを二つの部分集合 Ak と Bk に分割するとしよう。すると、変換されたグラフのカットセットの加重値 W(Ck * ) は次の式(4)と同一である。
【0057】
【数10】
【0058】
前提3に対する証明は、 2K−1 個の部分集合 Pk−1 i (1 ≦ i≦ 2K−1 )がカットセット Ck により分割されて Pk 2i−1 = pk−1 i ∩ AK および Pk−1 2i= Pk−1 i ∩ BK となるしよう。すると、変換されたグラフのカットセットの加重値 W ( Ck * ) は次の式(5)と同一であり、これにより前提3が証明される。
【0059】
【数11】
【0060】
したがって、変換されたグラフ Gk * 上の各カットセット Ck * の加重値は元のグラフ G上の対応カットセット Ck の加重値( W ( CK ))と関連された部分集合の大きさに対する情報を有している。もし、各カットセット Ck * がそれと関連されたグラフ Gk * 上の最大加重値カットセット(マックスカット)ならば、 G上の該当カットセット Ck は許諾可能な最小加重値カットセット(ミンカット)となる。なぜならば、すべての部分集合 Pk j は大きさが同一であるからである。即ち、
【0061】
【数12】
【0062】
は一定であるからである。
定理1:与えられた n− 次タスクグラフ G( V,E )に対して、もし C* にある各カットセット Ck * が関連されたグラフ Gk * 上で最大加重値カットセット(マックスカット) ならば、集合 C* = { C1 * , C2 * ,... Cn * }は承諾可能である(ここで、1 ≦ k≦n)。
【0063】
定理1に対する証明は次の通りである。変換されたグラフの各カットセット Ck * が変換前グラフG 上のカットセット Ck に該当するとし、集合 C* が許諾可能であることを証明して見せる。即ち、1 ≦ k≦n の Kで | Pk 1 |= | Pk 2 |= ... = | Pk 2 ” |であることを示す。
1)k=1の場合、タスクモジュ−ルの集合 Pk 1 は P1 1と P1 2にカットセット C1 * により分割される。パ−ティション P1 1と P1 2がバランスドでないとしよう(即ち、| P1 1|≠| P1 2|)。すると、パ−ティション P0 1を P1 ′1 と P1 ′2 に分離して| P1 ′1 |= | P1 ′2 |を満足させる他のバランスドカットセット C1 ′* が存するようになる。すると、| P1 1|+| P1 2|= | P1 ′1 |+| P1 ′2 |= 常数なので、| P1 1|・| P1 2|+1 ≦| P1 ′1 |・| P1 ′2 |となる。すると、
前記不等号は
【0064】
【数13】
【0065】
に起因する。そのゆえ、 W(C1′* )>W(C1 * )となる。これは C1 * が最大値カットセットであるという事実に矛盾される。したがって、| P1 1|= | P1 2|である。
2)k=i−1 の場合、| Pi−1 1|= |P i−1 2|= ...=|P i−1 2# |となる。C1 *によりタスクモジュ−ルの集合が Ai と Bi に分割されるとしよう。また k≠1 としよう。すると、タスクモジュ−ルを Ai ′と Bi ′に分け、| Ai ′∩ Pi−1 j |= | Bi ′∩ Pi−1 j |= 2 n−1(1 ≦j ≦ 2i−1)となるようにする異なるカットセット C1′ *が存するようになる。すると、
【0066】
【数14】
【0067】
したがって、 W(Ci ′* )> W( Ci * )である。これは Ci * が最大値カットセットという事実に矛盾となる。したがって、k=i であり、カットセット C* は許諾可能である。
このように、定理1は本発明で提案するグラフ変換技術を用いて、最小加重値カットセット(ミンカット)の許諾可能な集合を探す問題を、最大加重値カットセット( マックスカット) の許諾可能な問題に変換され得ることを示すが、これをマックスカット問題という。言い換えれば、このように本発明によりマッピング問題をマックスカット問題に変換すると、結果されたパ−ティションを許諾可能に維持するために努力する必要がない。結論的に、元の許諾可能なミンカット問題よりもマックスカット問題を解決するためのヒュ−リスチックアルゴリズムを具現することが一層容易でである。なぜならば、ミンカット問題は最適化するための二つの対象を有するが、マックスカット問題は只一つの対象のみを有するためである。
【0068】
一方、費用行列 C=( cij)を持って与えられたグラフ Gから得られたグラフ Gk * のノ−ド間の集合を Vとしよう。ここで、 cijはタスクモジュ−ル m1 と mj 間のエッジの費用である。すると、 Gk * において、問題はノ−ド集合 Vをその二つのバランスド部分集合 AK および BK に分け、それと関連されたカットセット Ck * の加重値
【0069】
【数15】
【0070】
が最大となるようにする。この際、加重値が最も大きいカットセット(マックスカット)を求める問題は元のグラフ Gにおいて、最小加重値を有する許諾可能なカットセット(ミンカット)を求めることと同一である。即ち、変換されたグラフにおけるマックスカットは元のグラフでミンカットと同一である。
変換されたグラフでマックスカットを探す基本的な接近は任意のパ−ティションから始める。即ち、変換されたグラフを任意分割に分け、反復的に一つの集合に属する一つのタスクモジュ−ルを選択して他の集合に移動してその分割がマックスカットによる分割であることを立証する。このように、移動のために選択されたタスクモジュ−ルを候補モジュ−ルとし、これはカットセット加重値の増加分が最大となるように(もし、その以上の増加が不可能な場合には減少が最小となるように)選択される。
【0071】
そのようなマックスカットアルゴリズムは一連のパスよりなるが、各パスにおいてすべてのモジュ−ルが移動完了する時まで、一つのモジュ−ルが交代に移動する。このような反復において、移動されるモジュ−ルがそのパス間にまだ移動しないモジュ−ルのうちから選択される。|V|パ−ティションが特定な遂行中のパスの間に形成され、最大カットセットを有する一つが選択され、次のパスのための出発パ−ティションとなる。このようなパスは得られたカットセットの加重値がさらに増加しない時まで遂行される。
【0072】
このように、一回動き動作はマックスカット問題の解決に極めて適し、分割による任意のパ−ティションを AK 、 BK とすれば、各モジュ−ルの利得は次のように定義される。 AK の一元素であるタスクモジュ−ル ma の利得を g(ma ) とし、 BK の一元素であるタスクモジュ−ル mb の利得を g(mb ) とすれば、
【0073】
【数16】
【0074】
したがって、候補モジュ−ルとして最も大きい利得を有するモジュ−ルを選択し、そのモジュ−ルの一回移動後に該当パスでまだ移動されないモジュ−ルの利得をさらに計算する。例えば、モジュ−ル mi が Ak から Bk に移動したとすれば、各モジュ−ルの利得は次の式にに従い再び計算する。なお、
g′(ma ) = g( ma ) − 2Cai只 ma ∈ Ak であり、
g′(mb ) = g( mb ) − 2Cbi只 mb ∈ Bk である。
【0075】
定理2:所定の n− 次元タスクグラフ G(V ,E )に対して、修正されたグラフ Gk * 上の後述するアルゴリズム MRM(Mapping by Repeated Maxcut algorithm)により発見された集合 C* = { C* |1 ≦ k≦ n}は許容可能である。即ち、マッピング Xは一対一である。定理2に対する証明は、すべての1 ≦ k≦ nに対して、| Pk 1 |= | Pk 2 |= ....| Pk 2” |であることを示すことにより、集合 C* 許容性を立証する。k に対する帰納でそれを証明する。
【0076】
(1)k=1 に対して、タスクモジュ−ルの集合はマックスカットアルゴリズムにより発見されたカット集合 C* により P1 1および P1 2パ−ティションされる。次、該パ−ティション( P1 1, P1 2)下の各モジュ−ルの利得値は正の利得値を有するモジュ−ルがあれば、該パ−ティション( P1 1, P1 2)は異なるのパ−ティションに−変形されるので、負数に違いない。一般的に、パ−ティション( P1 1, P1 2)は均衡状態でない。即ち、| P1 1 |≠| P1 2 |である。次、| P1 1 |+| P1 2 |= 2n ( 即ち、正の整数値でさえ) なので、|| P1 1 |−| P1 2 ||≧2である。| P1 1 |≧| P1 2 |+2と仮定し、G 内の任意の2モジュ−ル mi と mj 間の元のエッジコストを Wi,j とする。次いで、P1 1 内の各モジュ−ル ma に対してその利得g( ma ) は次の通りである。
【0077】
【数17】
【0078】
即ち、パ−ティション( P1 1, P1 2)は均衡状態でなく| P1 1 |>| P1 2 |の時、 P1 1内のすべての正の利得を有する。これは矛盾である。その故、( P1 1, P1 2)は均衡状態、即ち、| P1 1 |= | P1 2 |である。
(2)k=i−1 に対して有効だと仮定する時、| Pi−1 1|= | Pi−1 2|= ... | Pi−1 2 #|である。タスクモジュ−ルの集合が Ci * により Ai および Bi にパ−ティションされ 1≦ j≦ 2i−1 に対して、 Ai ∩ Pi−1 j = Pi 2j−1であり、 Bi ∩ Pi−1 j = Pi 2jとなるようにする。(1)と同一な理由で、各モジュ−ルの利得は正の数に違いない。k ≠i と仮定する時、1≦ j≦ 2i−1 に対して、少なくとも一つの jが存することを意味し、| Pi 2j−1|≠| Pi 2j|である。次いで、| Pi 2j−1|+| Pi 2j|=|P i−1 j |= 2i−1 なので、正の整数値に対してさえ|| Pi 2j−1|−| Pi 2j||≧ 2である。| Pi 2j−1|≧| Pi 2j|+ 2 と仮定する時、 Pi 2j−1内の各モジュ−ル ma に対して、利得 g(ma )は次の通りである。
【0079】
【数18】
【0080】
これは矛盾である。そして、許容性に対する条件は k=1に対して満足する。したがって、帰納法によりすべての kに対して有効である。そのため、集合 C* は許容可能であり、結果のマッピングは一対一である。
2.本発明による望ましい実施例の説明。
以上で調べた定理および命題を用いて、図3(A)に示したタスクグラフを変換する一例を調べ、本発明によるタスク割当方法を説明する。
【0081】
図4(A)〜図4(C)は独立変数 R=100の時、図3(A)に示した第 3次タスクグラフを変換したグラフ Gk * とその最大値カットセット Ck * を示したものである。
図4(A)は変換された第1グラフ G1 * とその最大加重値を有する第1カットセットC1 * を示したものである。図3(A)に示したタスクグラフを形成する各タスクモジュ−ルは分割される前なので、同一な集合 P0 1に属する。したがって、図4(A)に示した変換されたグラフG1 * は変換規則 1により次のように形成される。
【0082】
第1タスクモジュ−ル m1 は第2タスクモジュ−ル m2 と前述した変換規則 1により加重値 85(R=100−15) の通信リンクで連結され、第3タスクモジュ−ル m3 とは加重値 90(R=100−10) の通信リンクで連結され、第4,第5,第6,第7および第8タスクモジュ−ル( m4, m5, m6, m7, m8 ) とは連結がないので加重値 100(R=100) の新たな通信リンクでそれぞれ連結される。他のタスクモジュ−ルに対しても同一な方法でそれぞれ新たな加重値を有するように変換する。このように変換して形成されたグラフG1 * をタスクモジュ−ルの数が同一な二つのパ−ティションに分けるカットセットのうち最大の加重値を有するカットセット(マックスカット)を第1カットセットC1 * とし、これにより二分割されたパ−ティションを P1 1, P1 2とする。すると、第1,第2,第3および第4タスクモジュ−ルは P1 1に属し、第5,第6,第7および第8タスクモジュ−ルは P1 2属する。この際、第1カットセットC1 * の加重値 W( C1 * )=1575(100x12 + 95x3 + 90)であることが分かる。
【0083】
図4(B)は図4(A)に示した第1カットセットC1 * により分割されて得たパ−ティション P1 1, P1 2を変換規則 1, 2 に従い変換して形成した第2グラフG2 * とその最大加重値を有するカットセットC2 * を示したものである。図4(B)において、グラフG2 * はパ−ティション P1 1, P1 2に対して変換規則 1, 2 を適用して次のように形成される。
【0084】
第1タスクモジュ−ル m1 は同一な部分集合 P1 1に属する第2モジュ−ル m2 ,第3モジュ−ル m3 ,第4モジュ−ル m4 とは変換規則 1に従い加重値 85, 90, 100にそれぞれ連結される。また、第3タスクモジュ−ル m3 は同一な部分集合 P1 1に属する第1 m1 ,第2 m2 および第4モジュ−ル m4 とは変換規則 1により加重値 90, 85, 95 にそれぞれ連結されるが、他の部分集合 P1 2に属する第5タスクモジュ−ル m5 および第6タスクモジュ−ル m6 とは変換規則2により −5, −5 の加重値にそれぞれ連結される。同一な方法で図3(A)に示したタスクグラフのタスクモジュ−ルは変換され、変換された第2グラフG2 * を形成する。そして、変換された第2グラフG2 * 上でマックスカットを第2カットセットC2 * とすれば、第2カットセットC2 * はパ−ティション P2 1, P2 2, P2 3および P2 4を形成する。この際、最大加重値 W( C2 * ) は 760であることが分かる。ここで、パ−ティション P2 1は第1タスクモジュ−ル m1 と第3タスクモジュ−ル m3 より構成され、パ−ティション P2 2は第2タスクモジュ−ル m2 と第4タスクモジュ−ル m4 より構成され、パ−ティション P2 3は第5タスクモジュ−ル m5 と第7タスクモジュ−ル m7 より構成され、パ−ティシション P2 4は第6タスクモジュ−ル m6 と第8タスクモジュ−ル m8 より構成される。
【0085】
図4(C)は図4(B)に示したカットセットC2 * により分割されたパ−ティション P2 1, P2 2, P2 3および P2 4に変換規則 1, 2 を適用して変換した第3グラフG3 * とその最大加重値を有するカットセットC3 * を示した。図4(C)において、グラフG3 * はパ−ティション P2 1, P2 2, P2 3および P2 4に対して変換規則 1, 2 を適用して次のように形成される。
【0086】
第1タスクモジュ−ル m1 は同一な部分集合( P2 1)に属する第3モジュ−ル m3 とは変換規則 1により加重値 90 に連結され、他の部分集合( P2 2 ) に属する第2タスクモジュ−ル m2 と変換規則2により加重値 −15で連結される。同一な方法で図3(A)に示したタスクグラフのタスクモジュ−ルは変換されて変換された第3グラフG3 * を形成する。そして、変換された第3グラフG3 * 上でマックスカットは第3カットセットC3 * とすれば、第3カットセットはC3 * はパ−ティション P3 1, P3 2, P3 3, P3 4, P3 5, P3 6, P3 7および P3 8を形成する。この際、第3カットセットC3 * は最大加重値 W(C3 * ) は 360であることが分かる。
【0087】
図4(A)〜図4(C)において、マックスカットの集合 C* = {C1 * , C2 * , C3 * }が許諾可能で、これに該当する図3(B)のカットセット Ck がそれと関連されたグラフで最小加重値を有することが分かる。また、8個のタスクモジュ−ルより構成されたグラフは3回の二分割により一つのタスクモジュ−ルを有する8個のパ−ティションに分離され、各分割に二進数を与えることにより、プロセッサ−を割当てることができる。即ち、図4(A)のように第1カットセットによる二分割で定められる二進数の一番目ビットに左側のパ−ティションに一モジュ−ルが属すると0を付与し、右側のパ−ティションに属すると1を付与し、パ−ティション P1 1の二進数が‘0’となり、パ−ティション P1 2の二進数が‘1’となる。続けて、図4(B)のように第2カットセットによる二分割で定義される二進数の二番目ビットに上側パ−ティションに一モジュ−ルが属すると‘0’を付与し、下側パ−ティションに属すると‘1’を付与し、パ−ティション P1 2の二進数が‘ 00 ’となり、パ−ティション P2 2の二進数が‘ 10 ’となり、パ−ティション P2 3の二進数が‘ 01 ’となり、パ−ティション P2 4の二進数が‘ 11 ’となる。同様に、図4(C)のように第3カットセットによる二分割に定められる二進数の三番目ビットに外側に一モジュ−ルが属すると‘0 ’を付与し、内側に属すると‘ 1’を付与すれば8個のパ−ティション( P3 1, P3 2, P3 3, P3 4, P3 5, P3 6,P3 7 および P3 8)は3ビットの唯一な二進数(‘000 ’〜‘111 ’) を有する。このように、8個のタスクモジュ−ルは3回の二分割により個別的なタスクモジュ−ルに分けられ、3ビット二進数により指定されたプロセッサ−をそれぞれ割当てることができる。たま、図4(C)のように、マックスカットによる二分割で形成されたマッピングと図3(C)に示したように、ミンカットで形成されたマッピングが同一なものであることが分かる。このように、2n 個のタスクモジュ−ルは k番目二分割により k番目ビットの二進数が決定され、 n番の二分割により一対一マッピングが形成される。
【0088】
図5は本発明によりタスクを割当てるためのマッピングを求める方法を示したフロ−チャ−トである。図5において、本発明のマッピングを求める方法は2n 個のタスクモジュ−ルより構成されたタスクを有する並列プログラムを2n 個のプロセッサ−より構成されるハイパキュ−ブマルチコンピュ−タ−で遂行させるために、そして前記タスクモジュ−ルを前記プロセッサ−で最低の費用で一対一マッピングさせて前記タスクを割当てるために、
前記タスクのタスクグラフ Gを Gk * に変換する第1過程110と、前記第1過程で変換されたグラフ Gk * を二分割するマックスカットを算出する第2過程120と、前記第2過程で算出されたマックスカットにより前記グラフ Gの 2k−1 個の部分集合(パ−ティション)を形成する第3過程130と、前記第3過程で形成された部分集合(パ−ティション)に二進数のk番目ビットを割当ててマッピング Xを算出する第4過程140,150,160を具備する。100では本発明の方法を遂行するために初期化する過程である。
【0089】
一方、図5のように本発明による一対一マッピングを求める MRMアルゴリズムを C言語で記述した例を次に示す。
前記アルゴリズムによると、各二分割のちに、1ビットはそのパ−ティションの結果に応じて各モジュ−ルの処理時にマッピングで設定される。アルゴリズム MRMは三つの段階を含む。第1段階(段階 2.1) はグラフG を Gk に修正して、次のパ−ティション( Ak ,Bk )が許容されるようにする。第2段階(段階 2.2)は最も時間が多くかかる過程でマックスカットアルゴリズムを使用して二分割を遂行する。第3段階(段階 2.3および 2.4) は 2k の部分集合(パ−ティション)を形成し、第2段階から得たパ−ティションに応じて各タスクモジュ−ルにそのプロセッサ−マッピングのために k番目のビットを割当てる。また、 MRMアルゴリズムの時間複雑度は MAXCUT 過程の N番の反復により O(nN2)である。
【0090】
図6は図5に示した変換されたグラフで最大値を有するカットセット(マックスカット)を求める方法を示したフロ−チャ−トである。図6において、マックスカットを求める方法は、タスクグラフ G* の初期パ−ティション Pを形成する第1段階121と、前記初期パ−ティション Pで各タスクモジュ−ルの利得を計算して候補モジュ−ルを選択し、これを一回移動する第2段階122,123と、前記候補モジュ−ルの一回移動後に使用されないタスクモジュ−ルの利得をさらに計算して前記 2段階に戻りすべてのモジュ−ルを一回移動する第3段階124,125と、前記第2および第3段階の遂行結果最大値を有したマックスカットを求めて新たな分割 P′を求める第4段階126、前記第2,3,第4段階を反復して一回移動でさらに利得増加がなければ、前記新たな分割 P′により前記グラフ Gk * の二分割 Ak ,Bk を出力する第5段階127,128を具備する。
【0091】
このように、与えられたグラフの最大加重値を有するカットセット(マックスカット)を求める問題に対する MAXCUT アルゴリズムを C言語の疑似コ−ドで記述すると次の通りである。
【0092】
【数19】
【0093】
前記アルゴリズムを参照すると、特にアレ− Part 1 ...N の形態で完成される N−tupleは現在の分割を記述するに使用される。ヒストリ 1 ...N は一回移動動作に対するヒストリ情報を貯蔵するに使用される。時間的な分析のために、一つのパスをマックスカットアルゴリズムの段階 2)から段階 5)までの1サイクルを行うに関連された動作であると定義する。各モジュ−ルの利得を計算するためO(N)時間が要されるので、段階 2)で要求される計算時間は O(N2 )である。段階 3)を反復することは段階 3.6) により O(N) 計算時間を要する。したがって、段階 3) に要する全体時間はO(N2)である。O(N2)計算時間は段階 4) および段階 5) に十分である。そのため、一つのパスに対する全体計算時間はO(N2 )である。マックスカットアルゴリズムが終了するに要求されるパスの数は少ない。200個の頂点 Vで試験したすべてのグラフ上の実験から、そのパスの数は大部分2ないし6である。この実験から、パスの数は Nの値に強く従属されないことが分かる。動作時間は合理的に N2 に近く、図7のグラフに示した。図7を参照すれば、横軸は頂点の数( N2 )を示し、縦軸はプロセッサ− CPUの遂行時間(単位ms)を示す。また、図7のグラフの斜めは殆ど直線的に増加して運転時間を合理的に N2 に比例して増加することが分かる。
【0094】
図8は本発明によりハイパキュ−ブマルチコンピュ−タ−のタスク割当装置を示したブロック図である。
所定の通信費用を有する少なくとも一つ以上の通信経路で連結される 2n 個のタスクモジュ−ルより構成され、この構造をグラフ Gに表現し得る並列プログラムを、ハイパキュ−ブ形態で連結されて nビットのバイナリ−番号に区別される 2n 個のプロセッサ−に前記通信費用の総合を最小とするマッピングX に応じて割当てる本発明の装置は、
前記タスクグラフ Gを入力した後、タスクモジュ−ルを比較してタスクモジュ−ルが同一な部分集合に属すると前記タスクモジュ−ル間の通信費用を所定値に変換したり所定の通信費用で新たに形成し、前記タスクモジュ−ルが相異なる部分集合に属すると前記タスクモジュ−ル間の通信費用の符号を反転して新たなグラフ Gk * を出力するグラフ変換部82と、前記変換されたグラフ Gk * を入力してこれを二分割するマキシマムカットセット CMAX を算出するマキシマムカットセット算出部84と、前記算出されたマキシマムカットセット CMAX により前記タスクグラフ Gの部分集合を形成する部分集合形成部86と、前記形成された部分集合により前記バイナリ−番号のk 番目ビットを順次に割当てて貯蔵し、k = n になると、前記 2n 個のタスクモジュ−ルを前記 2n 個のプロセッサ−に割当てるマッピング Xを出力するバイナリ−番号割当部88を具備して前記マッピング Xにより前記タスクモジュ−ルを前記プロセッサ−にそれぞれ割当てる。
【0095】
3.本発明による実験結果の説明
本発明による MRMアルゴリズムの性能を評価するために、2種のシミュレ−ション実験が多数のタスクグラフ、ランダム及び規則的なグラフに対して遂行された。そして、 MRMアルゴリズムの遂行結果は従来のグリ−ディおよびリカ−シブマッピングアルゴリズムと比較した。
【0096】
第1実験は3タイプのランダムグラフの散在(sparse)グラフ、正常(normal )グラフ及び稠密(dense )グラフに対して遂行された。散在グラフ、正常グラフおよび稠密グラフはエッジの数がそれぞれ 2N(N−1)/14, 3N(N−1)/14, 4N(N−1)/14 のグラフで定義される。各タイプはエッジの加重値がその範囲(range)内でランンダムに決定され、即ち、範囲 Kグラフのエッジの加重値は区間1からk までランダムに選択された。各場合に、100回の動作が遂行された。そのマッピングの平均コストの標準偏差は各テストの場合に表1〜表4に示した。各場合にランダムに発生されたマッピングのコストは大量の反復的なマッピングおよび MRMアルゴリズムにより得られたマッピングを比較するために基本を提供する。
【0097】
【表1】
【0098】
前記表(1)はランダムグラフを3− キュ−ブ(N = 8 ) 上に割当てるにおいて、従来のアルゴリズム(ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム、最適化アルゴリズム)によるマッピングのコストと本発明によるマッピングコストを比較して示す。表(1)で optimal欄は探索アルゴリズムを用いて最適解が得られた3次元ランダムタスクグラフに対して得られた結果の要約を示す。
【0099】
【表2】
【0100】
前記表(2)はランダムグラフ 4− キュ−ブ(N = 16)上に割当てるにおいて、従来のアルゴリズム(ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム)によるマッピングのコストと本発明による MRMアルゴリズムによるマッピングのコストを比較して見せる。
【0101】
【表3】
【0102】
前記表(3)はランダムグラフを 5− キュ−ブ(N = 32)上に割当てるにおいて、従来のアルゴリズム(ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム)によるマッピングのコストと本発明による MRMアルゴリズムによるマッピングのコストを比較して示す。
【0103】
【表4】
【0104】
前記表(4)はランダムグラフを6− キュ−ブ(N = 64) 上に割当てるにおいて、従来のアルゴリズム( ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム)によるマッピングのコストと本発明による MRMアルゴリズムによるマッピングのコストを比較して示す。
前記表(1)〜(4)において、前記3種の方法(グリ−ディ、リカ−シブ、MRM)全部はランダムに発生されたマッピングよりはるかに優秀なマッピングを発生した。この中でリカ−シブなアルゴリズムにより発生されたマッピングはグリ−ディなアルゴリズムによりマッピングよりやや優秀で、特に MRMアルゴリズムにより発生されたマッピングはリカ−シブな方法を含む従来の他の方法よりはるかに優秀であった。即ち、本発明よる MRMアルゴリズムは3次元タスクグラフに対して殆ど最適なマッピングを発生した。4, 5, 6 次のキュ−ブに対してもそれぞれ表(2)〜表(4)に示した。 3次キュ−ブ以上で最適マッピングを探索することが実際的でないので表(2)〜表(4)に最適マッピングを示さなかった。この結果から、 MRMアルゴリズムによるマッピングが n値が増加する時、グリ−ディおよびリカ−シブアルゴリズムによるマッピングより効果的であることが分かる。
【0105】
第2実験は明確に各アルゴリズムの性能を評価するために、各エッジごとに一つの加重値を設定することにより、ある規則的なグラフに対して遂行された。まず、一つのハイパキュ−ブと正確に同形であるタスクグラフ GH を設定した。確かに、 GH に対する最適マッピングコスト Co はハイパキュ−ブのエッジ数と同一である。即ち、 Co = (N log N)/2である。その後、 GH にランダムエッジを加算しこのエッジがハイパキュ−ブにマッピングされる時に距離 dを計算する。エッジが加算されるので、新たなコスト Co は以前のコスト Co + d と同一である。極めて少ないエッジが加算される時、 Co が最適コストであることは確実である。それにもかかわらず、極めて多いエッジが加算される時、Co ベ−スを有する解は常に最適ではない。しかしながら、Co が実際の最適コストと比較してあまり悪くならないことは確かである。ハイパキュ−ブと同形であるサブグラフを有するグラフに対するアルゴリズムのマッピング性能を評価するために、 GH からエッジを減算し、その減算されたエッジの全体距離 dを計算する。この場合、 Co − d は最適に保障される。
【0106】
正確に一つまたは二つのエッジをハイパキュ−ブ同形であるグラフに加算したりまたは減算したりすることをシミュレ−トし、そのマッピング結果を記録した。また、規則的なメッシュグラフ上にシミュレ−ションを遂行した。2 n/2 ×2 n/2 メッシュは n− ハイパキュ−ブと同形であるサブグラフの n次元メッシュグラフとして使用された。確かに、2 n/2 ×2 n/2 メッシュに対する最適コストは(2 n/2 −1)2 n/2 +2 n/2 (2 n/2 −1)である。その結果は表(5)〜(8)に要約されている。
【0107】
【表5】
【0108】
前記表(5)は規則的なグラフを 3− キュ−ブ(N = 8 )に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
【0109】
【表6】
【0110】
前記表(6)は規則的なグラフを4− キュ−ブ(N = 16)に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
【0111】
【表7】
【0112】
記表(7)は規則的なグラフを 5− キュ−ブ(N = 32)に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
【0113】
【表8】
【0114】
前記表(8)は規則的なグラフを6− キュ−ブ(N=64)に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
前記表(5)〜表(8)において、このような結果はグリ−ディアルゴリズムがいずれの種類のグラフ上では良好に遂行されるが、他のグラフでは良好に遂行されないことを示す。リカ−シブマッピングまたは MRMアルゴリズムにより発生されたマッピングは ADD1 ,ADD2またはメッシュ−グラフに対してグリ−ディアルゴリズムによるものと比較できないほど優秀であった。また、リカ−シブマッピングアルゴリズムはテストされた大部分の規則的なグラフに対する最適解を探した。しかしながら、 nが増加する時、本発明による MRMアルゴリズムの性能はリカ−シブマッピンアルゴリズムの性能よりさらに向上される。したがって、本発明による MRMアルゴリズムにより発生されたマッピングはすべてのテストされた規則的なグラフに対して最適であった。
【0115】
以上で調べたように、ランダムおよび規則的なタスクグラフに対する多くの実験を遂行した結果から、本発明によるアルゴリズムがランダムおよび具体的なグラフ全部に対して良好に遂行されたことが分かる。特に、本発明によるアルゴリズムはプロセッサ−の数が増加する時、従来のグリ−ディおよびリカ−シブマッピングアルゴリズムをはるかに越えている。実際的な問題で、タスクグラフは時々規則的であったり、基本的な構造を有している。ところが、本発明によるアルゴリズムはハイパキュ−ブ同形または殆ど同形グラフおよびメッシュのような規則的なグラフに対しても極めて効果的なことを示す。
【0116】
【発明の効果】
本発明はハイパキュ−ブの構造を有するマルチコンピュ−タ−に使用して並列プログラムのタスクをそれぞれのプロセッサ−に適合に割当てることにより、マルチコンピュ−タ−の性能を向上させ得る。
【図面の簡単な説明】
【図1】(A)は4個のタスクモジュ−ルより構成されたタスクの例を示したもの、(B)は2次元ハイパキュ−ブマルチコンピュ−タ−のプロセッサ−構成したもの、(C)は(A)に示したタスクモジュ−ルを図1(B)に示したプロセッサ−にマッピング一例( X1 )に示したもの、(D)は図1(A)に示したタスクモジュ−ルを図1(B)に示したプロセッサ−にマッピングした他の例( X2 )を示したものである。
【図2】(A),(B)は二つの3次元ハイパキュ−ブから一つの4次元ハイパキュ−ブを形成する概念を示したものである。
【図3】(A)〜(C)は本発明による2次元ハイパキュ−ブ、許諾可能なカット セット Cとそれによるマッピング Xを示した概念図である。
【図4】(A)〜(C)は独立変数 R = 100の時、図3(A)に示した2次元ハイパキュ−ブのタスクグラフを変換したグラフ Gk * とその最大値カットセット Ck * を示したものである。
【図5】本発明によりタスクをプロセッサ−に割当てるマッピングを求める方法を示したフロ−チャ−トである。
【図6】図5に示した変換さけたグラフ G* で最大値を有するカットセット(マックスカット)を求める方法を示したフロ−チャ−トである。
【図7】図6によるアルゴリズムの動作時間がモジュ−ルの大きさ Nにより変わる特性を示したグラフである。
【図8】本発明によるタスク割当装置を示したブロック図である。
【符号の説明】
82 グラフ変換部
84 マキシマムカットセット算出部
86 部分集合形成部
88 バイリナ−番号割当部
【産業上の利用分野】
本発明はハイパキュ−ブマルチコンピュ−タ−のタスク割当方法および装置に係り、特にタスクグラフを変換してマキシマムカットセット(以下、マックスカットと略称)アルゴリズムにより反復的に分割して最適の一対一マッピングを算出し、これによりタスクをハイパキュ−ブマルチコンピュ−タ−に割当てる方法および装置に関する。
【0002】
【従来の技術】
VLSI技術の迅速な発展とコンピュ−タ−通信技術の向上で多様なマルチコンピュ−タ−を開発することが可能になった。並列処理に対する潜在能力と具現を容易にする規則性のため、ハイパキュ−ブコンピュ−タ−が脚光を浴びている。ハイパキュ−ブ(以下 n− キュ−ブという)は 2n 個のプロセッサ−(即ち、ノ−ド)で相互疎結合された(loosely coupled )マルチコンピュ−タである。各プロセッサ−は二進 n− キュ−ブの2n 個の頂点(vertics) 中一つに位置する。自分の相当な大きさのメモリを有したプロセッサ−はその n個の隣のプロセッサ−と連結される。このようなハイパキュ−ブ形態を有するコンピュ−タ−が常用化されてものであって、インテル社のiPSC, NCUBE, Caltech/JPLなどがある。
【0003】
ハイパキュ−ブマルチコンピュ−タ−で並列プログラムを遂行するために並列プログラムのタスクモジュ−ルはハイパキュ−ブを形成するプロセッサ−にそれぞれ割当てられるべきである。一般的に、相互作用するタスクモジュ−ル間の通信経路はハイパキュ−ブマルチコンピュ−タ−の連結構造と相違である。即ち、タスクをプロセッサ−に配置する問題はマッピング問題と知られているが、プロセッサ−割当問題とは異なる。プロセッサ−割当問題はタスク間の通信構造を考慮せず、効率的な方式で処理能力を割当てる。このようなプロセッサ−割当問題は通常的なメモリ割当問題と類似であるが、その目的はプロセッサ−の活用を最大化することである。多数のプロセッサ−割当方式中でグレ−コ−ド方式はハイパキュ−ブマルチコンピュ−タ−に広く使用され、ウェ−ブスケジュ−リングはツリ−形態で連結されたマルチコンピュ−タ−のためである。プロセッサ−割当後にタスクとハイパキュ−ブ間の構造的な不一致を解決するために、マッピング手順がプロセッサ−間通信コストを最少化し、実行速度を最大化する方向に遂行される。このように全体プロセッサ−間の通信費用を最少化する方向に相互作用するタスクモジュ−ルをハイパキュ−ブマルチコンピュ−タ−にマッピングする問題を解決する必要があるが、これはつまり NP − コンプリ−トと知られている。したがって、適したマッピングを探すために最適化アルゴリズムよりは速いヒュ−リスティックアルゴリズムが使用される。通信グラフをハイパキュ−ブにマッピングするグラフ向きマッピング方式を使用してマッピング問題を解決するグリ−ディ(greedy) なアルゴリズムが W.K Chen と E.F. Gehringer により提案(“A graph−orinted mapping strategy for a hypercube”, Proceeding. of the Third Conference. on Hypercube Concurrent Computers and Applications, pp 200〜209, Jan. 1988 )されたが、これは線形アレ−、同形ハイパキュ−ブおよび類似形通信グラフ等には適用されるが、他の形態のグラフには適用し得ない問題点があった。また、Kernighan−Lin のミニマムカットセット(ミンカット)バイセクションヒュ−リスティック(mincut bisection heuristic )に基づいた、リカ−シブな分割および征服方式(drive−and−conquer)によるアルゴリズムが F.Ercalと J.Ramanujanと P. Sadayappanにより提案 (“Task allocation onto a hypercube by recursive mincut bipartitioning” , Proceeding. of the Third Conference. on Hypercube Concurrent Computers and Applications, pp. 210〜221, January. 1988)され、これによるとタスクグラフに対してリカ−シブな二分割を反復遂行した。このようなリカ−シブなマッピング方法は各サブグラフが適切に二分割されたとしても、マッピング問題が適切に解決されたことでないという問題点があった。
【0004】
【発明が解決しようとする課題】
本発明の目的は前記のような従来の問題点を解決するためにタスクグラフを変換した後、マックスカットアルゴリズムに従い一対一対応のマッピングを提供し、これによりタスクを割当てるハイパキュ−ブマルチコンピュ−タ−のタスク割当方法および装置を提供するにある。
【0005】
【課題を解決するための手段】
前記のような目的を達成するために本発明の方法は所定の通信費用を有する少なくとも一つ以上の通信経路で連結される 2n 個のタスクモジュ−ルより構成され、この構造を加重値を有するエッジとノ−ドによるグラフ Gに表現し得る並列プログラムを、ハイパキュ−ブ形態で連結されて nビットのバイナリ−番号に区別される2n 個のプロセッサ−に前記通信費用の総合を最少とするマッピングに応じて割当てるハイパキュ−ブマルチコンピュ−タ−のタスク割当方法において、前記タスクグラフ Gを変換規則に従いグラフ Gk * に変換する第1過程と、前記第1過程で変換されたグラフ Gk * を二分割するマキシマムカットセットを算出する第2過程と、前記第2過程から算出されたマキシマムカットセットにより前記タスクグラフ Gの部分集合を形成する第3過程と、前記第3過程で形成された部分集合により前記バイナリ−番号のk番目ビットを順次に割当てて前記タスクモジュ−ルを前記フリセッサ−に一対一対応させるマッピング Xを算出する第4過程とよりなり、前記グラフ変換に応じて前記マッピング Xを探す遂行時間を短縮し、前記マッピング Xにより前記タスクモジュ−ルを前記プロセッサ−のそれぞれ割当てることを特徴とする。
【0006】
また、本発明の前記の目的を達成するために、本発明による装置は、所定の通信費用を有する少なくとも一つ以上の通信経路で連結される2n 個のタスクモジュ−ルより構成され、この構造をグラフ Gに表現し得る並列プログラムを、ハイパキュ−ブ形態で連結されてnビットのバイナリ−番号に区別される2n 個のプロセッサ−に前記通信費用の総合を最少とするマッピングにより割当てるハイパキュ−ブマルチコンピュ−タ−のタスク割当装置において、前記タスクグラフ Gを入力した後、タスクモジュ−ルを比較してタスクモジュ−ルが同一な部分集合に属すると前記タスクモジュ−ル間の通信費用を所定値に変換したり所定の通信費用で新たに形成し、前記タスクモジュ−ルが相異なる部分集合に属すると前記タスクモジュ−ル間の通信費用の符号を反転して新たなグラフ Gk * を出力するグラフ変換手段と、前記変換されたグラフ Gk * を入力しこれを二分割するマキシマムカットセット CMAX を算出するマキシマムカットセット算出手段と、前記算出されたマキシマムカットセット CMAX により前記タスクグラフ Gの部分集合を形成する部分集合形成手段と、前記形成された部分集合により前記バイナリ−番号にk番目のビットを順次に割当てて貯蔵し、k=nになると前記2n 個のタスクモジュ−ルを前記2n 個のプロセッサ−に割当てるマッピング Xを出力するバイナリ−番号割当手段とよりなり、前記マッピング Xにより前記タスクモジュ−ルを前記プロセッサ−にそれぞれ割当てることを特徴とする。
【0007】
【作用】
本発明は2n 個のタスクモジュ−ルより構成されたタスクを有する並列プログラムを2n 個のプロセッサ−より構成されるハイパキュ−ブマルチコンピュ−タ−で遂行させるためにタスクモジュ−ルをプロセッサ−に一対一対応させるマッピングによりタスクを割当てることによりマルチコンピュ−タの性能を向上させうる。
【0008】
【実施例】
以下、添付した図面に基づき本発明を詳細に説明する。説明の便宜上、まず本発明が適用される一般的なハイパキュ−ブコンピュ−タ−の構造を定義し、タスク割当のためのマッピング問題を式で示して本発明が最少化しようとする費用関数を開発する。また、本発明は広く知られていないス−パ−コンピュ−タ−分野に関するものなので、理解の便宜のため本発明の概念と基本前提となる定理および理論などを定義し、これを証明する。また、本発明の効果を示すために所定の試験タスクグラフに対して本発明を適用した実験結果と従来技術で言及した方式(greedyおよびrecursive な方式) を適用した実験結果を比較する。
【0009】
1.本発明に対する概念の説明
本発明による n −次元ハイパキュ−ブマルチコンピュ−タ−は2n 個のプロセッサ−(グラフ上では一つのノ−ドとして表現されるので、以下ノ−ドと表現する)より構成される。2n 個のプロセッサ−は二進数 0〜 2n −1のうち一つとそれぞれ示し、これをそのプロセッサ−のアドレスという。また、各プロセッサ−の二進数(アドレス)が只1ビットのみ異なる時、二つのプロセッサ−間には通信リンク(グラフ上でエッジと表現される) で連結される。したがって、 n− 次元ハイパキュ−ブマルチコンピュ−タ−は自分のロカルメモリを有した2n 個のプロセッサ−{ pk | 0≦ k≦ 2n −1}より構成され、各プロセッサ−は n個の隣のプロセッサ−と連結されるので n2 n−1 個の双方向通信リンクを有する。
【0010】
ハイパキュ−ブマルチコンピュ−タ−のプロセッサ− pk のアドレスを kの二進表現、 kn kn−1 .... k1 に示すと、二つのプロセッサ−が只一つの座標が異なる時こどに通信リンクが存する。また、任意の二プロセッサ− pk と pι間の距離を dk,ιに示し、プロセッサ− pk から pιまで到達するに通過する通信リンクの最少数、即ち、プロセッサ− pk から pιまでの最短距離と定義する。定義により、プロセッサ− pk と pι間の距離は dk,ιは次の式(1)の通りである。
【0011】
【数1】
【0012】
この際、ハイパキュ−ブマルチコンピュ−タを構成するすべてのプロセッサ−が同一な処理能力を有し、すべての通信リンクが同一な通信速度を有してシステムが同質的(homogeneous )であると仮定する。
このような構造を有する n次元ハイパキュ−ブマルチコンピュ−タ−で遂行されるタスクは相互作用する M個のタスクモジュ−ル m1, m2,...., mM より構成され、タスクグラフ G( V,E )に表現される。ここで、頂点(vertices)‘ V’はタスクモジュ−ルを示し、エッジ‘E’はタスクモジュ−ル間のデ−タ通信依存度を示す。タスクモジュ−ル mi , mj 間のエッジ( mi , mj ) の加重値(ウェイト)はwi,j と示し、二タスクモジュ−ル間に要求される通信の量を示す。また、通信コストは送信タスクモジュ−ルと受信タスクモジュ−ル間の距離 dとメッセ−ジの大きさに比例する。
【0013】
タスクモジュ−ルの集合であるタスクを n次元ハイパキュ−ブにマッピングする時、一般性をなくさないようにするため、そのタスクが 2n 個のモジュ−ルより構成されると仮定する。即ち、一つのタスクがある整数 nで M個のタスクモジュ−ル 2n−1 < M< 2n より構成される時には、ダミ−モジュ−ルを付加して 2n 個のタスクモジュ−ルで形成し得る。反対に、 M > 2n である場合にはワ−クロ−ド分割技法(workload partitioning scheme) を適用してクラスタモジュ−ルを形成してグル−プで結びグル−プの数をハイパキュ−ブのサイズ 2n に一致させることができる。したがって、 n− 次元ハイパキュ−ブマルチコンピュ−タ−で遂行するためのタスクは 2n 個のタスクモジュ−ルで構成されて、正確に一つのタスクモジュ−ルを一つのプロセッサ−に割当(マッピング)させ得る。以下、別途の言及がなければ、マッピングは1対1マッピングを意味する。したがって、タスクモジュ−ルをプロセッサ−にマッピングするマッピング(モジュ−ル対プロセッサマッピング)は一対一対応関数 X: mi → pk に示し、一対一対応関数 X(i )はタスクモジュ−ル mi が対応するプロセッサ−を指定する。
【0014】
一方、comp( m i )をタスクモジュ−ル mi を実行するためにプロセッサ−(ノ−ド)が招来する計算コストと仮定すれば、ハイパキュ−ブが同質的なので、いずれのマッピングによっても同一な全体計算費用、即ち、
【0015】
【数2】
【0016】
を有する。しかし、相異なるマッピングは相異なる通信費用を招来する。したがって、タスクマッピングを決めるにおいて、計算費用は考慮せず、ただプロセッサ−間通信費用のみ考慮すれば充分である。また、ハイパキュ−ブは対称的なので、ある二マッピング Xa , Xb が任意の nビット二進数 xに対して
【0017】
【数3】
【0018】
ならば、同一な通信費用を招来する。ここで、
【0019】
【外1】
【0020】
はビットワイズ排他的論理和演算 (bitwise EXCLUSIVE−OR OPERATION )を示す。このような二マッピングは同一であるという。したがって、本発明でマッピング問題は最少の通信費用でタスクモジュ−ルをプロセッサ−に割当てる一対一対応関数 XO を探すことである。ここで、通信コスト(COST(XO ))は次の式(2)のように示す。
【0021】
【数4】
【0022】
図1(A)は4個のタスクモジュ−ルより構成されたタスクの例を示したものである。 m1, m2, m3, m4 はそれぞれタスクモジュ−ルを示し、タスクモジュ−ル間に連結される直線(エッジ)はモジュ−ル間の通信リンクを示し、数は該当リンクの加重値を示す。第1タスクモジュ−ル m1 と第2タスクモジュ−ル m2 間には加重値10の通信リンクで連結され、第1タスクモジュ−ル m1 と第4タスクモジュ−ル m4 は加重値5の通信リンクで連結される。
【0023】
図1(B)は 2− 次元ハイパキュ−ブマルチコンピュ−タ−(2−キュ−ブ)のプロセッサ−の構成を示したものであって、 2− キュ−ブは 4( 22 )個のプロセッサ−より構成される。図1Bにおいて、各ノ−ドは一つのプロセッサ−を示し、各プロセッサ−は二進数のアドレス(00, 01, 10, 11) を有する。また、各プロセッサ−は二つの通信リンクを有し、プロセッサ−のアドレスが1ビット異なる隣接したプロセッサ−とは通信リンクで連結されたことが分かる。
【0024】
図1(C)と図1(A)のタスクモジュ−ルを図1(B)のプロセッサ−にマッピングした一例(X1)を示したものである。図1(C)において、プロセッサ−‘ 00 ’には第1タスクモジュ−ル m1 を割当て、プロセッサ−‘ 01 ’には第2タスクモジュ−ル m2 を割当て、プロセッサ−‘ 10 ’には第3マスクモジュ−ル m3 を割当て、プロセッサ−‘ 11 ’には第4タスクモジュ−ル m4 を割当てる。このようなマッピングの通信費用はこれらタスクモジュ−ルを分割するカットセットの加重値の和から 25 + 25 = 50 であることが分かる。
【0025】
図1(D)は図1(A)のタスクモジュ−ルを図1(B)のプロセッサ−にマッピングした他の例(X2)を示したものである。図1(D)において、プロセッサ−‘ 00 ’には第1タスクモジュ−ル m1 を割当て、プロセッサ−‘ 01 ’には第4タスクモジュ−ル m4 を割当て、プロセッサ−‘ 10 ’には第3マスクモジュ−ル m3 を割当て、プロセッサ−‘ 11 ’には第2タスクモジュ−ル m2 を割当てる。このようなマッピングの通信費用は 25 +40= 65 であることが分かる。
【0026】
図1(A)〜図1(D)をみると、4個のタスクモジュ−ルを 2− キュ−ブに割当てる二つの他のマッピング X1 と X2 において、全体通信費用はそれぞれ50,65であって、マッピング X1 がマッピング X2 より効率的であることが分かる。したがって、マッピングにより通信費用が異になることが分かり、最小の通信費用を有するマッピングを探すことがタスク割当の主目的であることが分かる。
【0027】
図2(A),(B)は二つの 3− キュ−ブから一つの 4− キュ−ブを形成する概念を示したものである。
図2(A)は 8( 23 )個のプロセッサ−を有する 3− キュ−ブを示したものであって、各プロセッサ−は‘ 000’から‘ 111’まで中一つのアドレスを有し、1ビットのみ異なる 3個の隣接した通信リンクで連結されたものであることが分かる。
【0028】
図2(B)は図2(A)のような 3− キュ−ブ二つを合わせて一つの 4− キュ−ブを作ることを示す。図2(B)において、 4− キュ−ブは一つの 3− キュ−ブの各ノ −ドのアドレスの4番目ビットを全部‘ 0’とし( 0000 〜0111)、他の一つの 3− キュ−ブの各ノ−ドのアドレスの4番目ビットを全部‘ 1’として( 1000 〜1111)、各ノ−ドに4ビットのアドレス( 0000 〜1111)を与え、隣接したノ−ドをリンクで連結して形成することができる。反対に、 4− キュ−ブは二つの 3− キュ−ブで容易に分割され得ることが分かる。このように 3− キュ−ブは図2(A)に示したように頂点が 8( 23 )個である 3− キュ−ブの8 ( 23 )個のノ−ドと表現することができる。
【0029】
一般的に、次のように n− キュ−ブを形成することができる。第1、 2n 個のノ−ドは 0から 2n−1 までの 2n 個の二進数(アドレス)と表現される。次いで、二進数が只1ビット異なる二ノ−ド間をリンク(エッジ)で連結する。このように形成された n− キュ−ブのグラフを Qn に示す。
定義1:n−キュ−ブのグラフ Qn は 2n 個の n− 次元ブ−ルベクトル、即ち、0 と 1の二進座標を有したベクトルより構成されるノ−ドの集合 Vn の無方向性グラフである。
【0030】
ここで、正確に一つの座標が異なる場合に二ノ−ドは相互隣接する。また、図2(A)および図2(B)で調べたように、 n− キュ−ブの重要な特性中一つは低次元のキュ−ブからリカ−シブに構成され得るといえる。より正確に言うと、頂点が 0から 2n−1−1 まで番号が与えられた二つの同一な(n−1)− キュ−ブより構成される。第1(n−1)− キュ−ブのすべての頂点を同一な数を有した第2(n−1)− キュ−ブの頂点と結合して、一つの n− キュ−ブを形成することができる。なお、第1(n−1)−キュ−ブのノ−ドを 0, xn−1 xn−2 ....x1に番号を与え、第2(n−1)− キュ−ブのノ−ドを1, xn−1 xn−2 ....x1に番号を与えた後、隣接したノ−ド間をエッジで連結すると充分である。ここで、 xn−1 xn−2 ....x1は(n−1)− サブキュ−ブの類似な二つのノ−ドを示す二進表示である。
【0031】
逆に、n−キュ−ブグラフの定義により、n−キュ−ブは i番目ビットが 0のノ−ドと i番目ビットが1のノ−ドを連結するすべてのエッジを取り除くことにより、二つのサブグラフに容易に分割されることが分かる。分離された結果である二つのサブグラフは明白に(n−1)− キュ−ブである。これを i番目方向に沿った分割という。したがって、 nビットがあるので、 n個の方向が存する。このような単純な性質は次のような命題として要約される。
【0032】
命題1:n−キュ−ブを二つの(n−1 )− サブキュ−ブに分割する方法は相異なる n個がある。
命題2:任意の k個の方向に分割すると、n−キュ−ブは 2k 個の(n−k )− サブキュ−ブに分割される。ここで、1 ≦k ≦ nである。
命題2により n− キュ−ブは n個の方向に分割されて 2n 個の個別的なノ−ドに完全に分割される。
【0033】
また、任意の二つのノ−ドは i番目ビットが異なる場合(なお、一つのノ−ドの i番目ビットが 0であり、他のノ−ドの i番目ビットが 1の場合)にのみ i番目方向に応じて分離される。ハイパキュ−ブグラフのこのような特性を用いて、各モジュ−ルのプロセッサ−マッピングの k番目ビットを定める k番目二分割であって、タスクグラフを 2n−1 個のモジュ−ルを有する二つのサブグラフに反復的に二分割して与えられた 2n 個のモジュ−ルの n− 次元タスクグラフを n− 次元イパキュ−ブマルチコンピュ−タ−で部分的にマッピングする。その後、 n個の二分割(n bipartition )により各モジュ−ルがマッピングされるプロセッサ−の完全なアドレスを求めることができる。そのうえ、 n個の二分割が命題2で言及した特性を満足すると、即ち、異なる k個の二分割によるタスクグラフが 2n−k 個のモジュ−ルを有する 2k 個のサブグラフに分けられると(ここで、1≦ k≦n)、マッピングは一対一対応となる。
【0034】
定義2:n−次元のタスクグラフ G( V,E )のカットセット Ci はタスクモジュ−ルの集合Vを
【0035】
【外2】
【0036】
とVi に分離して
【0037】
【数5】
【0038】
となるようにするエッジの
【0039】
【数6】
【0040】
ならば(即ち、ノ−ドの数が同一に二分割させると)、 Ci のバランスドカットセットという。また、カットセット Ci の加重値 W( Ci )はカットセット Ci にあるエッジの加重値の総合である。
定義3:n−次元タスクグラフ G( V,E )の n個のバランスドカットセット{ Ci |1≦ i≦ n}の集合を Cとする時、C にある k個のカットセット群、 C1, C2,..., Ck によりモジュ−ルの集合 Vが正確に 2n−k 個のタスクモジュ−ルを有する 2k 個の部分集合に分割されると、 Cは許諾可能である(admissible)とする。C の加重値は Cにあるカットセットの加重値の総合、即ち、
【0041】
【数7】
【0042】
である。
前提1: n− 次元タスクグラフ G(V ,E )の各許諾可能な集合 C={ Ci |1≦ k≦ n}はタスクモジュ−ルを n− キュ−ブのプロセッサ−で一対一形態で対応させるマッピングに該当する。前提1に対する証明は次の通りである。
証明:タスクモジュ−ルの集合 Vが各カットセット Ci によりVi と
【0043】
【外3】
【0044】
に分割されるとしよう。やはり各許諾可能な集合 Cがマッピング Xと一致すると、各タスクモジュ−ル mj に対して mj が Vi の元素ならば( mj ∈ Vi ), X(j )i = 1 であり、そうでないと、 X(j )i = 0 である(ここで、1≦ i≦ n)。許諾可能の定義により、タスクモジュ−ルの集合は Cにある n個のバランスドカットセットにより正確に 2n 個の部分集合(なお、一つのタスクモジュ−ル)に分割される。即ち、すべての二モジュ−ルは最小限一つのカットセットにより分離される。したがって、各 2n 個のタスクモジュ−ルは関数 Xでマッピングされるプロセッサ−に対する唯一な一つのアドレスが割当てられる。そして、それに該当するマッピング Xは一対一である。逆に、各マッピング X′は許諾可能なカットセット C′= { C′i |1 ≦ i≦ n}に一致する(ここで、 Ci ′= {( ma, mb )| X′(a) i = 1 , X′(b) i = 0 }である。したがって、各許諾可能な集合 Cの一対一形態のマッピヒングである。
【0045】
前提2:許諾可能な集合 Cがマッピング Xに一致するとしよう。すると、集合 Cの加重値( W(C) )はマッピング Xの全体通信費用(COST(X))と同一である。前提2に対する証明は、マッピング Xの全体通信費用を求める次の式(3)と同一である。
【0046】
【数8】
【0047】
図3(A)〜(C)は本発明による許諾可能なカットセット集合 Cとそれによるマッピング Xを示した概念図である。
図3は3次元タスクグラフを示した例であって、3次元タスクは 8( 23)個のタスクモジュ−ル( m1 〜 m8 )より構成され、各タスクモジュ−ルは所定の加重値を有する通信リンク(エッジ)で連結される。
【0048】
図3(B)は図3(A)で示したタスクグラフを分割するカットセット集合 Cの一例を示したものである。図3(A)において、カットセット集合 Cは3個のカットセット C1 ,C2,C3を元素として有し、前述した定義3を満足するので許諾可能である。また、第1カットセット(C1) による加重値 W(C1) は第1カットセット(C1)が通過するエッジの加重値の総合であるので10+ 5+ 5+ 5= 25 である。同一な方式で、第2カットセット(C2)の加重値 W(C2)は40であり、第3カットセット(C3)の加重値 W(C3)は 40 であることが分かる。したがって、集合 Cの加重値は式(3)によりCOST(X )= W(C1)+ W(C2)+ W(C3)= 105である。
【0049】
図3(C)は図3(B)に示したカットセット( C1, C2, C3 )によるマッピング Xを示したものである。図3(C)において、全体通信費用は 105であり、これは図3Bのカットセット集合の加重値と同一であることが分かる。このように、各カットセット Ci の加重値 W( Ci )は i番目方向性通信リンク即ち、マッピング Xによる結果として i番目ビットが0のプロセッサ−と i番目ビットが1であるプロセッサ−を連結するリンクに付加された通信費用と同一なことが分かる。
【0050】
続けて、前記の命題からタスク割当のためのマッピング問題が最小加重値を有する許諾可能な集合 Cを探す問題と同一であるということが分かるので、反復された二分割により一対一マッピングを解決することを説明する。
実験的に決定された時間複雑度 O(N2 )(ここで、 Nはグラフにあるノ−ドの数)を有する効率的なグラフ分割アルゴリズムが本発明者が発表した論文(“ Efficient algorithm for graph−partitioning algorithm for task allocation in parallel computing systems”, Computer−Aided Design, vol, 21, no.10, pp.611−618, Dec. 1989 )で提案された。本発明者が既に発表したところによると、サイズ制限を有するグラフ分割問題はグラフ変換技法により、いずれのサイズ制限も有しないマックスカット(maxcut)問題に変換され得ることが分かる。変換されたグラフの最大加重値カットセット(即ち、マックスカット)は元のグラフの最小加重値を有するバランスドカットセット(即ち、ミンカット)に該当する。また、前記論文で効率的なマックスカットアルゴリズムを提案したが、そのマックスカットアルゴリズムは Kernighanとlin のアルゴリズムおよびそれと類似な他のアルゴリズムよりも効率的なことと知られた。さらに、前記論文によるアルゴリズムは本発明で考慮するタスクグラフのように同一なサイズを有するグラフノ−ドである時、バランスド分割を保障する長所がある。したがって、本発明で使用する二分割アルゴリズムは本発明者が既に発表した論文で提案したヒュ−リスティックアルゴリズムと類似である。
【0051】
二分割手続きはクラフのバランスドN−ウェイパ−ティション(blanced N−way partition )を遂行するために反復的に使用されうる。ここで、N = 2n であり、まず二つのバランスドパ−ティションを作った後、グラフを変更して次のパ−ティションそれぞれを二つのパランスドサブパ−ティションに分割するようになる。このように、 N個のバランスドパ−ティションが求められる時まで続ける。本発明の核心的なアイデアは反復される二分割段階間にタスクモジュ−ルをプロセッサ−に割当てる部分的なマッピングを作る。この過程のレベル kで、各モジュ−ルに対してそのプロセッサ−マッピングの k番目ビットのアドレスが決定される。初期にすべての分割の前に、全体ハイパキュ−ブは考慮する唯一なサブキュ−ブであり、明白に各モジュ−ルはこのサブキュ−ブ内に割当てられる。タスクグラフの一番目の二分割はそのモジュ−ルを二つのグル−プに分離し、各グル−プには N/2 サイズの区別されたサブキュ−ブを割当てる。即ち、割当られるプロセッサ−の一番目ビットがユニックに決定される。 n番目レベルの二分割後に、各モジュ−ルのプロセッサ−マッピングの全体アドレスが決定される。本発明の二分割アルゴリズムは後に述べるグラフ変換技法の長所によりバランスドパ−ティションを保障する。それと共に、結果された n個の二分割は許諾可能である。即ち、各 k番目レベルの二分割後に、正確に 2n−k タスクモジュ−ルはそれぞれ 2k (n−k)−サブキュ−ブに割当てられる。したがって、最後の n番目レベルの二分割後に、各モジュ−ルはそのプロセッサ−マッピングのための唯一なアドレスが割当てられる。即ち、言い換えれば、結果されたマッピングは一対一となる。
【0052】
一方、前述したように各 k番目レベル二分割がカットセット Ck に該当するとし、タスクグラフのモジュ−ルの集合が k個のカットセット C1, C2,..., Ck により 2k 個の部分集合(パ−ティション) Pk 1 , Pk 2 , ...., Pk 2” に分割され Pk−1 i =Pk 2i−1∪ Pk 2iになるとしよう。即ち、k−1 個のカットセット C1, C2,..., Ck−1 により分割された 2k−1 個の部分集合(パ−ティション) Pk−1 i のそれぞれは、次のカットセット CK により二つの部分集合 Pk 2i−1と Pk 2iにさらに分割されるとしよう。また初期に、二分割の前には全てのモジュ−ルが P0 1内にある(即ち、P0 1 = V)としよう。すると、定義により、もし| Pk 1 |= | Pk 2 |= ...= | Pk 2 ” |(1 ≦ k≦ n)ならば(即ち、分割によるパ−ティションが常時同一な数のタスクモジュ−ルより構成されれば)、集合 C={ C1, C2, ..., Cn }は許諾可能である。各 k番目レベルで、二分割前に、タスクグラフ G( V,E )は次のように Gk * に変換され、その結果カットセットが許諾可能にする。したがって、本発明によるグラフ変換方法は次の通りである。
【0053】
タスクグラフGの任意の二つのノ−ドを ma, mb とし、変換前の二ノ−ド間の加重値を Wa,b とすれば、
変換規則1:もし二ノ−ドが(k−1)個のカットセット C1, C2,..., Ck−1 により分離されないと、即ち任意の iに対して ma ∈ Pk−1 i であり、 mb ∈ Pk−1 i (ここで、1 ≦ i≦ 2k−1 )ならば(即ち、同一な部分集合に属すると)、該二ノ−ド間のエッジ加重値を R−Wa,b に変換する。ここで、独立変数(augmenting factor ) Rは
【0054】
【数9】
【0055】
のような適切な正の値で設定する。この際、もし元のグラフ Gでその二ノ−ド間にエッジがなければ、加重値 Rで新たなエッジを形成する。
変換規則2:もし二ノ−ドが(k−1 ) 個のカットセット C1, C2,..., Ck−1 により分離され相異なる部分集合に属すると、該二ノ−ド間のエッジの加重値を − Wa,b となるように変換する。
【0056】
前提3:与えられたグラフ Gとその変換されたグラフ Gk * で、カットセット Ck * (Ck )が Gk * (G) のノ−ドを二つの部分集合 Ak と Bk に分割するとしよう。すると、変換されたグラフのカットセットの加重値 W(Ck * ) は次の式(4)と同一である。
【0057】
【数10】
【0058】
前提3に対する証明は、 2K−1 個の部分集合 Pk−1 i (1 ≦ i≦ 2K−1 )がカットセット Ck により分割されて Pk 2i−1 = pk−1 i ∩ AK および Pk−1 2i= Pk−1 i ∩ BK となるしよう。すると、変換されたグラフのカットセットの加重値 W ( Ck * ) は次の式(5)と同一であり、これにより前提3が証明される。
【0059】
【数11】
【0060】
したがって、変換されたグラフ Gk * 上の各カットセット Ck * の加重値は元のグラフ G上の対応カットセット Ck の加重値( W ( CK ))と関連された部分集合の大きさに対する情報を有している。もし、各カットセット Ck * がそれと関連されたグラフ Gk * 上の最大加重値カットセット(マックスカット)ならば、 G上の該当カットセット Ck は許諾可能な最小加重値カットセット(ミンカット)となる。なぜならば、すべての部分集合 Pk j は大きさが同一であるからである。即ち、
【0061】
【数12】
【0062】
は一定であるからである。
定理1:与えられた n− 次タスクグラフ G( V,E )に対して、もし C* にある各カットセット Ck * が関連されたグラフ Gk * 上で最大加重値カットセット(マックスカット) ならば、集合 C* = { C1 * , C2 * ,... Cn * }は承諾可能である(ここで、1 ≦ k≦n)。
【0063】
定理1に対する証明は次の通りである。変換されたグラフの各カットセット Ck * が変換前グラフG 上のカットセット Ck に該当するとし、集合 C* が許諾可能であることを証明して見せる。即ち、1 ≦ k≦n の Kで | Pk 1 |= | Pk 2 |= ... = | Pk 2 ” |であることを示す。
1)k=1の場合、タスクモジュ−ルの集合 Pk 1 は P1 1と P1 2にカットセット C1 * により分割される。パ−ティション P1 1と P1 2がバランスドでないとしよう(即ち、| P1 1|≠| P1 2|)。すると、パ−ティション P0 1を P1 ′1 と P1 ′2 に分離して| P1 ′1 |= | P1 ′2 |を満足させる他のバランスドカットセット C1 ′* が存するようになる。すると、| P1 1|+| P1 2|= | P1 ′1 |+| P1 ′2 |= 常数なので、| P1 1|・| P1 2|+1 ≦| P1 ′1 |・| P1 ′2 |となる。すると、
前記不等号は
【0064】
【数13】
【0065】
に起因する。そのゆえ、 W(C1′* )>W(C1 * )となる。これは C1 * が最大値カットセットであるという事実に矛盾される。したがって、| P1 1|= | P1 2|である。
2)k=i−1 の場合、| Pi−1 1|= |P i−1 2|= ...=|P i−1 2# |となる。C1 *によりタスクモジュ−ルの集合が Ai と Bi に分割されるとしよう。また k≠1 としよう。すると、タスクモジュ−ルを Ai ′と Bi ′に分け、| Ai ′∩ Pi−1 j |= | Bi ′∩ Pi−1 j |= 2 n−1(1 ≦j ≦ 2i−1)となるようにする異なるカットセット C1′ *が存するようになる。すると、
【0066】
【数14】
【0067】
したがって、 W(Ci ′* )> W( Ci * )である。これは Ci * が最大値カットセットという事実に矛盾となる。したがって、k=i であり、カットセット C* は許諾可能である。
このように、定理1は本発明で提案するグラフ変換技術を用いて、最小加重値カットセット(ミンカット)の許諾可能な集合を探す問題を、最大加重値カットセット( マックスカット) の許諾可能な問題に変換され得ることを示すが、これをマックスカット問題という。言い換えれば、このように本発明によりマッピング問題をマックスカット問題に変換すると、結果されたパ−ティションを許諾可能に維持するために努力する必要がない。結論的に、元の許諾可能なミンカット問題よりもマックスカット問題を解決するためのヒュ−リスチックアルゴリズムを具現することが一層容易でである。なぜならば、ミンカット問題は最適化するための二つの対象を有するが、マックスカット問題は只一つの対象のみを有するためである。
【0068】
一方、費用行列 C=( cij)を持って与えられたグラフ Gから得られたグラフ Gk * のノ−ド間の集合を Vとしよう。ここで、 cijはタスクモジュ−ル m1 と mj 間のエッジの費用である。すると、 Gk * において、問題はノ−ド集合 Vをその二つのバランスド部分集合 AK および BK に分け、それと関連されたカットセット Ck * の加重値
【0069】
【数15】
【0070】
が最大となるようにする。この際、加重値が最も大きいカットセット(マックスカット)を求める問題は元のグラフ Gにおいて、最小加重値を有する許諾可能なカットセット(ミンカット)を求めることと同一である。即ち、変換されたグラフにおけるマックスカットは元のグラフでミンカットと同一である。
変換されたグラフでマックスカットを探す基本的な接近は任意のパ−ティションから始める。即ち、変換されたグラフを任意分割に分け、反復的に一つの集合に属する一つのタスクモジュ−ルを選択して他の集合に移動してその分割がマックスカットによる分割であることを立証する。このように、移動のために選択されたタスクモジュ−ルを候補モジュ−ルとし、これはカットセット加重値の増加分が最大となるように(もし、その以上の増加が不可能な場合には減少が最小となるように)選択される。
【0071】
そのようなマックスカットアルゴリズムは一連のパスよりなるが、各パスにおいてすべてのモジュ−ルが移動完了する時まで、一つのモジュ−ルが交代に移動する。このような反復において、移動されるモジュ−ルがそのパス間にまだ移動しないモジュ−ルのうちから選択される。|V|パ−ティションが特定な遂行中のパスの間に形成され、最大カットセットを有する一つが選択され、次のパスのための出発パ−ティションとなる。このようなパスは得られたカットセットの加重値がさらに増加しない時まで遂行される。
【0072】
このように、一回動き動作はマックスカット問題の解決に極めて適し、分割による任意のパ−ティションを AK 、 BK とすれば、各モジュ−ルの利得は次のように定義される。 AK の一元素であるタスクモジュ−ル ma の利得を g(ma ) とし、 BK の一元素であるタスクモジュ−ル mb の利得を g(mb ) とすれば、
【0073】
【数16】
【0074】
したがって、候補モジュ−ルとして最も大きい利得を有するモジュ−ルを選択し、そのモジュ−ルの一回移動後に該当パスでまだ移動されないモジュ−ルの利得をさらに計算する。例えば、モジュ−ル mi が Ak から Bk に移動したとすれば、各モジュ−ルの利得は次の式にに従い再び計算する。なお、
g′(ma ) = g( ma ) − 2Cai只 ma ∈ Ak であり、
g′(mb ) = g( mb ) − 2Cbi只 mb ∈ Bk である。
【0075】
定理2:所定の n− 次元タスクグラフ G(V ,E )に対して、修正されたグラフ Gk * 上の後述するアルゴリズム MRM(Mapping by Repeated Maxcut algorithm)により発見された集合 C* = { C* |1 ≦ k≦ n}は許容可能である。即ち、マッピング Xは一対一である。定理2に対する証明は、すべての1 ≦ k≦ nに対して、| Pk 1 |= | Pk 2 |= ....| Pk 2” |であることを示すことにより、集合 C* 許容性を立証する。k に対する帰納でそれを証明する。
【0076】
(1)k=1 に対して、タスクモジュ−ルの集合はマックスカットアルゴリズムにより発見されたカット集合 C* により P1 1および P1 2パ−ティションされる。次、該パ−ティション( P1 1, P1 2)下の各モジュ−ルの利得値は正の利得値を有するモジュ−ルがあれば、該パ−ティション( P1 1, P1 2)は異なるのパ−ティションに−変形されるので、負数に違いない。一般的に、パ−ティション( P1 1, P1 2)は均衡状態でない。即ち、| P1 1 |≠| P1 2 |である。次、| P1 1 |+| P1 2 |= 2n ( 即ち、正の整数値でさえ) なので、|| P1 1 |−| P1 2 ||≧2である。| P1 1 |≧| P1 2 |+2と仮定し、G 内の任意の2モジュ−ル mi と mj 間の元のエッジコストを Wi,j とする。次いで、P1 1 内の各モジュ−ル ma に対してその利得g( ma ) は次の通りである。
【0077】
【数17】
【0078】
即ち、パ−ティション( P1 1, P1 2)は均衡状態でなく| P1 1 |>| P1 2 |の時、 P1 1内のすべての正の利得を有する。これは矛盾である。その故、( P1 1, P1 2)は均衡状態、即ち、| P1 1 |= | P1 2 |である。
(2)k=i−1 に対して有効だと仮定する時、| Pi−1 1|= | Pi−1 2|= ... | Pi−1 2 #|である。タスクモジュ−ルの集合が Ci * により Ai および Bi にパ−ティションされ 1≦ j≦ 2i−1 に対して、 Ai ∩ Pi−1 j = Pi 2j−1であり、 Bi ∩ Pi−1 j = Pi 2jとなるようにする。(1)と同一な理由で、各モジュ−ルの利得は正の数に違いない。k ≠i と仮定する時、1≦ j≦ 2i−1 に対して、少なくとも一つの jが存することを意味し、| Pi 2j−1|≠| Pi 2j|である。次いで、| Pi 2j−1|+| Pi 2j|=|P i−1 j |= 2i−1 なので、正の整数値に対してさえ|| Pi 2j−1|−| Pi 2j||≧ 2である。| Pi 2j−1|≧| Pi 2j|+ 2 と仮定する時、 Pi 2j−1内の各モジュ−ル ma に対して、利得 g(ma )は次の通りである。
【0079】
【数18】
【0080】
これは矛盾である。そして、許容性に対する条件は k=1に対して満足する。したがって、帰納法によりすべての kに対して有効である。そのため、集合 C* は許容可能であり、結果のマッピングは一対一である。
2.本発明による望ましい実施例の説明。
以上で調べた定理および命題を用いて、図3(A)に示したタスクグラフを変換する一例を調べ、本発明によるタスク割当方法を説明する。
【0081】
図4(A)〜図4(C)は独立変数 R=100の時、図3(A)に示した第 3次タスクグラフを変換したグラフ Gk * とその最大値カットセット Ck * を示したものである。
図4(A)は変換された第1グラフ G1 * とその最大加重値を有する第1カットセットC1 * を示したものである。図3(A)に示したタスクグラフを形成する各タスクモジュ−ルは分割される前なので、同一な集合 P0 1に属する。したがって、図4(A)に示した変換されたグラフG1 * は変換規則 1により次のように形成される。
【0082】
第1タスクモジュ−ル m1 は第2タスクモジュ−ル m2 と前述した変換規則 1により加重値 85(R=100−15) の通信リンクで連結され、第3タスクモジュ−ル m3 とは加重値 90(R=100−10) の通信リンクで連結され、第4,第5,第6,第7および第8タスクモジュ−ル( m4, m5, m6, m7, m8 ) とは連結がないので加重値 100(R=100) の新たな通信リンクでそれぞれ連結される。他のタスクモジュ−ルに対しても同一な方法でそれぞれ新たな加重値を有するように変換する。このように変換して形成されたグラフG1 * をタスクモジュ−ルの数が同一な二つのパ−ティションに分けるカットセットのうち最大の加重値を有するカットセット(マックスカット)を第1カットセットC1 * とし、これにより二分割されたパ−ティションを P1 1, P1 2とする。すると、第1,第2,第3および第4タスクモジュ−ルは P1 1に属し、第5,第6,第7および第8タスクモジュ−ルは P1 2属する。この際、第1カットセットC1 * の加重値 W( C1 * )=1575(100x12 + 95x3 + 90)であることが分かる。
【0083】
図4(B)は図4(A)に示した第1カットセットC1 * により分割されて得たパ−ティション P1 1, P1 2を変換規則 1, 2 に従い変換して形成した第2グラフG2 * とその最大加重値を有するカットセットC2 * を示したものである。図4(B)において、グラフG2 * はパ−ティション P1 1, P1 2に対して変換規則 1, 2 を適用して次のように形成される。
【0084】
第1タスクモジュ−ル m1 は同一な部分集合 P1 1に属する第2モジュ−ル m2 ,第3モジュ−ル m3 ,第4モジュ−ル m4 とは変換規則 1に従い加重値 85, 90, 100にそれぞれ連結される。また、第3タスクモジュ−ル m3 は同一な部分集合 P1 1に属する第1 m1 ,第2 m2 および第4モジュ−ル m4 とは変換規則 1により加重値 90, 85, 95 にそれぞれ連結されるが、他の部分集合 P1 2に属する第5タスクモジュ−ル m5 および第6タスクモジュ−ル m6 とは変換規則2により −5, −5 の加重値にそれぞれ連結される。同一な方法で図3(A)に示したタスクグラフのタスクモジュ−ルは変換され、変換された第2グラフG2 * を形成する。そして、変換された第2グラフG2 * 上でマックスカットを第2カットセットC2 * とすれば、第2カットセットC2 * はパ−ティション P2 1, P2 2, P2 3および P2 4を形成する。この際、最大加重値 W( C2 * ) は 760であることが分かる。ここで、パ−ティション P2 1は第1タスクモジュ−ル m1 と第3タスクモジュ−ル m3 より構成され、パ−ティション P2 2は第2タスクモジュ−ル m2 と第4タスクモジュ−ル m4 より構成され、パ−ティション P2 3は第5タスクモジュ−ル m5 と第7タスクモジュ−ル m7 より構成され、パ−ティシション P2 4は第6タスクモジュ−ル m6 と第8タスクモジュ−ル m8 より構成される。
【0085】
図4(C)は図4(B)に示したカットセットC2 * により分割されたパ−ティション P2 1, P2 2, P2 3および P2 4に変換規則 1, 2 を適用して変換した第3グラフG3 * とその最大加重値を有するカットセットC3 * を示した。図4(C)において、グラフG3 * はパ−ティション P2 1, P2 2, P2 3および P2 4に対して変換規則 1, 2 を適用して次のように形成される。
【0086】
第1タスクモジュ−ル m1 は同一な部分集合( P2 1)に属する第3モジュ−ル m3 とは変換規則 1により加重値 90 に連結され、他の部分集合( P2 2 ) に属する第2タスクモジュ−ル m2 と変換規則2により加重値 −15で連結される。同一な方法で図3(A)に示したタスクグラフのタスクモジュ−ルは変換されて変換された第3グラフG3 * を形成する。そして、変換された第3グラフG3 * 上でマックスカットは第3カットセットC3 * とすれば、第3カットセットはC3 * はパ−ティション P3 1, P3 2, P3 3, P3 4, P3 5, P3 6, P3 7および P3 8を形成する。この際、第3カットセットC3 * は最大加重値 W(C3 * ) は 360であることが分かる。
【0087】
図4(A)〜図4(C)において、マックスカットの集合 C* = {C1 * , C2 * , C3 * }が許諾可能で、これに該当する図3(B)のカットセット Ck がそれと関連されたグラフで最小加重値を有することが分かる。また、8個のタスクモジュ−ルより構成されたグラフは3回の二分割により一つのタスクモジュ−ルを有する8個のパ−ティションに分離され、各分割に二進数を与えることにより、プロセッサ−を割当てることができる。即ち、図4(A)のように第1カットセットによる二分割で定められる二進数の一番目ビットに左側のパ−ティションに一モジュ−ルが属すると0を付与し、右側のパ−ティションに属すると1を付与し、パ−ティション P1 1の二進数が‘0’となり、パ−ティション P1 2の二進数が‘1’となる。続けて、図4(B)のように第2カットセットによる二分割で定義される二進数の二番目ビットに上側パ−ティションに一モジュ−ルが属すると‘0’を付与し、下側パ−ティションに属すると‘1’を付与し、パ−ティション P1 2の二進数が‘ 00 ’となり、パ−ティション P2 2の二進数が‘ 10 ’となり、パ−ティション P2 3の二進数が‘ 01 ’となり、パ−ティション P2 4の二進数が‘ 11 ’となる。同様に、図4(C)のように第3カットセットによる二分割に定められる二進数の三番目ビットに外側に一モジュ−ルが属すると‘0 ’を付与し、内側に属すると‘ 1’を付与すれば8個のパ−ティション( P3 1, P3 2, P3 3, P3 4, P3 5, P3 6,P3 7 および P3 8)は3ビットの唯一な二進数(‘000 ’〜‘111 ’) を有する。このように、8個のタスクモジュ−ルは3回の二分割により個別的なタスクモジュ−ルに分けられ、3ビット二進数により指定されたプロセッサ−をそれぞれ割当てることができる。たま、図4(C)のように、マックスカットによる二分割で形成されたマッピングと図3(C)に示したように、ミンカットで形成されたマッピングが同一なものであることが分かる。このように、2n 個のタスクモジュ−ルは k番目二分割により k番目ビットの二進数が決定され、 n番の二分割により一対一マッピングが形成される。
【0088】
図5は本発明によりタスクを割当てるためのマッピングを求める方法を示したフロ−チャ−トである。図5において、本発明のマッピングを求める方法は2n 個のタスクモジュ−ルより構成されたタスクを有する並列プログラムを2n 個のプロセッサ−より構成されるハイパキュ−ブマルチコンピュ−タ−で遂行させるために、そして前記タスクモジュ−ルを前記プロセッサ−で最低の費用で一対一マッピングさせて前記タスクを割当てるために、
前記タスクのタスクグラフ Gを Gk * に変換する第1過程110と、前記第1過程で変換されたグラフ Gk * を二分割するマックスカットを算出する第2過程120と、前記第2過程で算出されたマックスカットにより前記グラフ Gの 2k−1 個の部分集合(パ−ティション)を形成する第3過程130と、前記第3過程で形成された部分集合(パ−ティション)に二進数のk番目ビットを割当ててマッピング Xを算出する第4過程140,150,160を具備する。100では本発明の方法を遂行するために初期化する過程である。
【0089】
一方、図5のように本発明による一対一マッピングを求める MRMアルゴリズムを C言語で記述した例を次に示す。
前記アルゴリズムによると、各二分割のちに、1ビットはそのパ−ティションの結果に応じて各モジュ−ルの処理時にマッピングで設定される。アルゴリズム MRMは三つの段階を含む。第1段階(段階 2.1) はグラフG を Gk に修正して、次のパ−ティション( Ak ,Bk )が許容されるようにする。第2段階(段階 2.2)は最も時間が多くかかる過程でマックスカットアルゴリズムを使用して二分割を遂行する。第3段階(段階 2.3および 2.4) は 2k の部分集合(パ−ティション)を形成し、第2段階から得たパ−ティションに応じて各タスクモジュ−ルにそのプロセッサ−マッピングのために k番目のビットを割当てる。また、 MRMアルゴリズムの時間複雑度は MAXCUT 過程の N番の反復により O(nN2)である。
【0090】
図6は図5に示した変換されたグラフで最大値を有するカットセット(マックスカット)を求める方法を示したフロ−チャ−トである。図6において、マックスカットを求める方法は、タスクグラフ G* の初期パ−ティション Pを形成する第1段階121と、前記初期パ−ティション Pで各タスクモジュ−ルの利得を計算して候補モジュ−ルを選択し、これを一回移動する第2段階122,123と、前記候補モジュ−ルの一回移動後に使用されないタスクモジュ−ルの利得をさらに計算して前記 2段階に戻りすべてのモジュ−ルを一回移動する第3段階124,125と、前記第2および第3段階の遂行結果最大値を有したマックスカットを求めて新たな分割 P′を求める第4段階126、前記第2,3,第4段階を反復して一回移動でさらに利得増加がなければ、前記新たな分割 P′により前記グラフ Gk * の二分割 Ak ,Bk を出力する第5段階127,128を具備する。
【0091】
このように、与えられたグラフの最大加重値を有するカットセット(マックスカット)を求める問題に対する MAXCUT アルゴリズムを C言語の疑似コ−ドで記述すると次の通りである。
【0092】
【数19】
【0093】
前記アルゴリズムを参照すると、特にアレ− Part 1 ...N の形態で完成される N−tupleは現在の分割を記述するに使用される。ヒストリ 1 ...N は一回移動動作に対するヒストリ情報を貯蔵するに使用される。時間的な分析のために、一つのパスをマックスカットアルゴリズムの段階 2)から段階 5)までの1サイクルを行うに関連された動作であると定義する。各モジュ−ルの利得を計算するためO(N)時間が要されるので、段階 2)で要求される計算時間は O(N2 )である。段階 3)を反復することは段階 3.6) により O(N) 計算時間を要する。したがって、段階 3) に要する全体時間はO(N2)である。O(N2)計算時間は段階 4) および段階 5) に十分である。そのため、一つのパスに対する全体計算時間はO(N2 )である。マックスカットアルゴリズムが終了するに要求されるパスの数は少ない。200個の頂点 Vで試験したすべてのグラフ上の実験から、そのパスの数は大部分2ないし6である。この実験から、パスの数は Nの値に強く従属されないことが分かる。動作時間は合理的に N2 に近く、図7のグラフに示した。図7を参照すれば、横軸は頂点の数( N2 )を示し、縦軸はプロセッサ− CPUの遂行時間(単位ms)を示す。また、図7のグラフの斜めは殆ど直線的に増加して運転時間を合理的に N2 に比例して増加することが分かる。
【0094】
図8は本発明によりハイパキュ−ブマルチコンピュ−タ−のタスク割当装置を示したブロック図である。
所定の通信費用を有する少なくとも一つ以上の通信経路で連結される 2n 個のタスクモジュ−ルより構成され、この構造をグラフ Gに表現し得る並列プログラムを、ハイパキュ−ブ形態で連結されて nビットのバイナリ−番号に区別される 2n 個のプロセッサ−に前記通信費用の総合を最小とするマッピングX に応じて割当てる本発明の装置は、
前記タスクグラフ Gを入力した後、タスクモジュ−ルを比較してタスクモジュ−ルが同一な部分集合に属すると前記タスクモジュ−ル間の通信費用を所定値に変換したり所定の通信費用で新たに形成し、前記タスクモジュ−ルが相異なる部分集合に属すると前記タスクモジュ−ル間の通信費用の符号を反転して新たなグラフ Gk * を出力するグラフ変換部82と、前記変換されたグラフ Gk * を入力してこれを二分割するマキシマムカットセット CMAX を算出するマキシマムカットセット算出部84と、前記算出されたマキシマムカットセット CMAX により前記タスクグラフ Gの部分集合を形成する部分集合形成部86と、前記形成された部分集合により前記バイナリ−番号のk 番目ビットを順次に割当てて貯蔵し、k = n になると、前記 2n 個のタスクモジュ−ルを前記 2n 個のプロセッサ−に割当てるマッピング Xを出力するバイナリ−番号割当部88を具備して前記マッピング Xにより前記タスクモジュ−ルを前記プロセッサ−にそれぞれ割当てる。
【0095】
3.本発明による実験結果の説明
本発明による MRMアルゴリズムの性能を評価するために、2種のシミュレ−ション実験が多数のタスクグラフ、ランダム及び規則的なグラフに対して遂行された。そして、 MRMアルゴリズムの遂行結果は従来のグリ−ディおよびリカ−シブマッピングアルゴリズムと比較した。
【0096】
第1実験は3タイプのランダムグラフの散在(sparse)グラフ、正常(normal )グラフ及び稠密(dense )グラフに対して遂行された。散在グラフ、正常グラフおよび稠密グラフはエッジの数がそれぞれ 2N(N−1)/14, 3N(N−1)/14, 4N(N−1)/14 のグラフで定義される。各タイプはエッジの加重値がその範囲(range)内でランンダムに決定され、即ち、範囲 Kグラフのエッジの加重値は区間1からk までランダムに選択された。各場合に、100回の動作が遂行された。そのマッピングの平均コストの標準偏差は各テストの場合に表1〜表4に示した。各場合にランダムに発生されたマッピングのコストは大量の反復的なマッピングおよび MRMアルゴリズムにより得られたマッピングを比較するために基本を提供する。
【0097】
【表1】
【0098】
前記表(1)はランダムグラフを3− キュ−ブ(N = 8 ) 上に割当てるにおいて、従来のアルゴリズム(ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム、最適化アルゴリズム)によるマッピングのコストと本発明によるマッピングコストを比較して示す。表(1)で optimal欄は探索アルゴリズムを用いて最適解が得られた3次元ランダムタスクグラフに対して得られた結果の要約を示す。
【0099】
【表2】
【0100】
前記表(2)はランダムグラフ 4− キュ−ブ(N = 16)上に割当てるにおいて、従来のアルゴリズム(ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム)によるマッピングのコストと本発明による MRMアルゴリズムによるマッピングのコストを比較して見せる。
【0101】
【表3】
【0102】
前記表(3)はランダムグラフを 5− キュ−ブ(N = 32)上に割当てるにおいて、従来のアルゴリズム(ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム)によるマッピングのコストと本発明による MRMアルゴリズムによるマッピングのコストを比較して示す。
【0103】
【表4】
【0104】
前記表(4)はランダムグラフを6− キュ−ブ(N = 64) 上に割当てるにおいて、従来のアルゴリズム( ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム)によるマッピングのコストと本発明による MRMアルゴリズムによるマッピングのコストを比較して示す。
前記表(1)〜(4)において、前記3種の方法(グリ−ディ、リカ−シブ、MRM)全部はランダムに発生されたマッピングよりはるかに優秀なマッピングを発生した。この中でリカ−シブなアルゴリズムにより発生されたマッピングはグリ−ディなアルゴリズムによりマッピングよりやや優秀で、特に MRMアルゴリズムにより発生されたマッピングはリカ−シブな方法を含む従来の他の方法よりはるかに優秀であった。即ち、本発明よる MRMアルゴリズムは3次元タスクグラフに対して殆ど最適なマッピングを発生した。4, 5, 6 次のキュ−ブに対してもそれぞれ表(2)〜表(4)に示した。 3次キュ−ブ以上で最適マッピングを探索することが実際的でないので表(2)〜表(4)に最適マッピングを示さなかった。この結果から、 MRMアルゴリズムによるマッピングが n値が増加する時、グリ−ディおよびリカ−シブアルゴリズムによるマッピングより効果的であることが分かる。
【0105】
第2実験は明確に各アルゴリズムの性能を評価するために、各エッジごとに一つの加重値を設定することにより、ある規則的なグラフに対して遂行された。まず、一つのハイパキュ−ブと正確に同形であるタスクグラフ GH を設定した。確かに、 GH に対する最適マッピングコスト Co はハイパキュ−ブのエッジ数と同一である。即ち、 Co = (N log N)/2である。その後、 GH にランダムエッジを加算しこのエッジがハイパキュ−ブにマッピングされる時に距離 dを計算する。エッジが加算されるので、新たなコスト Co は以前のコスト Co + d と同一である。極めて少ないエッジが加算される時、 Co が最適コストであることは確実である。それにもかかわらず、極めて多いエッジが加算される時、Co ベ−スを有する解は常に最適ではない。しかしながら、Co が実際の最適コストと比較してあまり悪くならないことは確かである。ハイパキュ−ブと同形であるサブグラフを有するグラフに対するアルゴリズムのマッピング性能を評価するために、 GH からエッジを減算し、その減算されたエッジの全体距離 dを計算する。この場合、 Co − d は最適に保障される。
【0106】
正確に一つまたは二つのエッジをハイパキュ−ブ同形であるグラフに加算したりまたは減算したりすることをシミュレ−トし、そのマッピング結果を記録した。また、規則的なメッシュグラフ上にシミュレ−ションを遂行した。2 n/2 ×2 n/2 メッシュは n− ハイパキュ−ブと同形であるサブグラフの n次元メッシュグラフとして使用された。確かに、2 n/2 ×2 n/2 メッシュに対する最適コストは(2 n/2 −1)2 n/2 +2 n/2 (2 n/2 −1)である。その結果は表(5)〜(8)に要約されている。
【0107】
【表5】
【0108】
前記表(5)は規則的なグラフを 3− キュ−ブ(N = 8 )に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
【0109】
【表6】
【0110】
前記表(6)は規則的なグラフを4− キュ−ブ(N = 16)に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
【0111】
【表7】
【0112】
記表(7)は規則的なグラフを 5− キュ−ブ(N = 32)に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
【0113】
【表8】
【0114】
前記表(8)は規則的なグラフを6− キュ−ブ(N=64)に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
前記表(5)〜表(8)において、このような結果はグリ−ディアルゴリズムがいずれの種類のグラフ上では良好に遂行されるが、他のグラフでは良好に遂行されないことを示す。リカ−シブマッピングまたは MRMアルゴリズムにより発生されたマッピングは ADD1 ,ADD2またはメッシュ−グラフに対してグリ−ディアルゴリズムによるものと比較できないほど優秀であった。また、リカ−シブマッピングアルゴリズムはテストされた大部分の規則的なグラフに対する最適解を探した。しかしながら、 nが増加する時、本発明による MRMアルゴリズムの性能はリカ−シブマッピンアルゴリズムの性能よりさらに向上される。したがって、本発明による MRMアルゴリズムにより発生されたマッピングはすべてのテストされた規則的なグラフに対して最適であった。
【0115】
以上で調べたように、ランダムおよび規則的なタスクグラフに対する多くの実験を遂行した結果から、本発明によるアルゴリズムがランダムおよび具体的なグラフ全部に対して良好に遂行されたことが分かる。特に、本発明によるアルゴリズムはプロセッサ−の数が増加する時、従来のグリ−ディおよびリカ−シブマッピングアルゴリズムをはるかに越えている。実際的な問題で、タスクグラフは時々規則的であったり、基本的な構造を有している。ところが、本発明によるアルゴリズムはハイパキュ−ブ同形または殆ど同形グラフおよびメッシュのような規則的なグラフに対しても極めて効果的なことを示す。
【0116】
【発明の効果】
本発明はハイパキュ−ブの構造を有するマルチコンピュ−タ−に使用して並列プログラムのタスクをそれぞれのプロセッサ−に適合に割当てることにより、マルチコンピュ−タ−の性能を向上させ得る。
【図面の簡単な説明】
【図1】(A)は4個のタスクモジュ−ルより構成されたタスクの例を示したもの、(B)は2次元ハイパキュ−ブマルチコンピュ−タ−のプロセッサ−構成したもの、(C)は(A)に示したタスクモジュ−ルを図1(B)に示したプロセッサ−にマッピング一例( X1 )に示したもの、(D)は図1(A)に示したタスクモジュ−ルを図1(B)に示したプロセッサ−にマッピングした他の例( X2 )を示したものである。
【図2】(A),(B)は二つの3次元ハイパキュ−ブから一つの4次元ハイパキュ−ブを形成する概念を示したものである。
【図3】(A)〜(C)は本発明による2次元ハイパキュ−ブ、許諾可能なカット セット Cとそれによるマッピング Xを示した概念図である。
【図4】(A)〜(C)は独立変数 R = 100の時、図3(A)に示した2次元ハイパキュ−ブのタスクグラフを変換したグラフ Gk * とその最大値カットセット Ck * を示したものである。
【図5】本発明によりタスクをプロセッサ−に割当てるマッピングを求める方法を示したフロ−チャ−トである。
【図6】図5に示した変換さけたグラフ G* で最大値を有するカットセット(マックスカット)を求める方法を示したフロ−チャ−トである。
【図7】図6によるアルゴリズムの動作時間がモジュ−ルの大きさ Nにより変わる特性を示したグラフである。
【図8】本発明によるタスク割当装置を示したブロック図である。
【符号の説明】
82 グラフ変換部
84 マキシマムカットセット算出部
86 部分集合形成部
88 バイリナ−番号割当部
Claims (4)
- 所定の通信費用を有する少なくとも一つ以上の通信経路で連結される2n個のタスクモジュールより構成され、加重値を有するエッジとノードとによるタスクグラフGで表現されるタスクを有する並列プログラムを、ハイパキューブ形態で連結されてnビットのバイナリー番号により区別される2n個のプロセッサーに前記通信費用の総合を最少とするマッピング(mapping)により割当てるハイパキューブマルチコンピューターのタスク割当方法において、
所定の変換規則に従い、前記タスクグラフ G に含まれる任意の二つのノード間のエッジ加重値を該二つのノードそれぞれが属する部分集合に応じて該エッジ加重値の符号を反転し、全体通信費用を算出することにより該タスクグラフ G をタスクグラフ G*に変換する第1過程と、
前記第1過程で変換されたタスクグラフ G * を二分割するカットセットのうち、エッジ加重値の和が最大となるマキシマムカットセットを算出する第2過程と、
前記第2過程から算出された前記マキシマムカットセットにより前記タスクグラフGの部分集合を形成する第3過程と、
前記第3過程でk番目に形成された部分集合に対して前記バイナリー番号のk番目ビットを順次に割当てて前記タスクモジュールを前記プロセッサーに一対一対応させるマッピング Xを算出する第4過程とよりなり、
前記第4過程により算出された前記マッピング Xにより前記タスクモジュールを前記プロセッサーそれぞれに割当てることを特徴とするタスク割当方法。 - 前記変換規則は、
前記タスクグラフGに含まれる任意の二タスクモジュールをma ,mbとし、前記二タスクモジュール間の変換前の通信費用をWa,bとし、変換のための所定値の独立変数をRとするときに、
前記二タスクモジュールが前記カットセットにより分離されずに同一の部分集合に属する場合は、該二タスクモジュール間の通信費用をR−Wa,bに変換し、該二タスクモジュール間に前記エッジがないため該通信費用がなければ、新たなエッジを形成して該通信費用を Rに変換する変換第1規則と、
前記二タスクモジュールが前記カットセットにより分離されて相異なる部分集合に属する場合は、該二タスクモジュール間の通信費用を−Wa,bに変換する変換第2規則とからなることを特徴とする請求項1記載のタスク割当方法。 - 前記第2過程は、
変換された前記タスクグラフG * を任意分割して初期パーテーション Pを形成する第1段階と、
前記初期パーテーション Pにおける各タスクモジュールの利得を計算して候補モジュールを選択し、これを他の集合に一回移動させる第2段階と、
前記候補モジュールの一回移動後に使用されなかったタスクモジュールの利得をさらに計算して前記第2段階に戻ってすべてのタスクモジュールを他の集合に一回移動させる第3段階と、
前記第2段階および第3段階の遂行結果、前記初期パーテーション Pにおける前記マキシマムカットセットを求め、求めた該マキシマムカットセットにより新たなパーテーション P′を求める第4段階と、
前記第2,第3,第4段階を反復してタスクモジュールの一回移動によりさらに利得の増加がなければ、前記新たなパーテーション P′により前記タスクグラフG* を二分割した部分集合を出力する第5段階とよりなることを特徴とする請求項1記載のタスク割当方法。 - 所定の通信費用を有する少なくとも一つ以上の通信経路で連結される2n個のタスクモジュールより構成され、加重値を有するエッジとノードとによるタスクグラフGで表現されるタスクを有する並列プログラムを、ハイパキューブ形態で連結されてnビットのバイナリー番号により区別される2n個のプロセッサーに前記通信費用の総合を最少とするマッピングにより割当てるハイパキューブマルチコンピューターのタスク割当装置において、
所定の変換規則に従い、前記タスクグラフ G に含まれる任意の二つのノード間のエッジ加重値を該二つのノードそれぞれが属する部分集合に応じて該エッジ加重値の符号を反転し、全体通信費用を算出することにより該タスクグラフ G をタスクグラフ G * に変換するグラフ変換手段と、
前記グラフ変換手段により変換された前記タスクグラフ G * を入力し、それを二分割するカットセットのうち、エッジ加重値の和が最大となるマキシマムカットセットCMAXを算出するマキシマムカットセット算出手段と、
算出された前記マキシマムカットセットCMAXにより前記タスクグラフGの部分集合を形成する部分集合形成手段と、
前記部分集合形成手段によりk番目に形成された部分集合に対して前記バイナリー番号のk番目ビットを順次に割当てて貯蔵し、k=nになると前記2n個のタスクモジュールを前記2n個のプロセッサーに割当てるマッピング Xを出力するバイナリー番号割当手段とを備えたことを特徴とするタスク割当装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940007735A KR950029969A (ko) | 1994-04-13 | 1994-04-13 | 하이퍼큐브 멀티컴퓨터의 타스크할당 방법 및 장치 |
KR7735/1994 | 1994-04-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07281907A JPH07281907A (ja) | 1995-10-27 |
JP3606922B2 true JP3606922B2 (ja) | 2005-01-05 |
Family
ID=19380952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29540794A Expired - Fee Related JP3606922B2 (ja) | 1994-04-13 | 1994-11-29 | ハイパキュ−ブマルチコンピュ−タ−のタスク割当方法および装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP3606922B2 (ja) |
KR (1) | KR950029969A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347511A (zh) * | 2019-07-10 | 2019-10-18 | 深圳大学 | 含隐私约束条件的地理分布式进程映射方法、装置及终端 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9798947B2 (en) * | 2011-10-31 | 2017-10-24 | Applied Materials, Inc. | Method and system for splitting scheduling problems into sub-problems |
-
1994
- 1994-04-13 KR KR1019940007735A patent/KR950029969A/ko not_active Application Discontinuation
- 1994-11-29 JP JP29540794A patent/JP3606922B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347511A (zh) * | 2019-07-10 | 2019-10-18 | 深圳大学 | 含隐私约束条件的地理分布式进程映射方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
KR950029969A (ko) | 1995-11-24 |
JPH07281907A (ja) | 1995-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2512661B2 (ja) | 非バイナリ・ハイパ―キュ―ブ形式のコンピュ―タ・システムおよびネットワ―クにおける複数ノ―ドの接続方法 | |
Ou et al. | Fast and parallel mapping algorithms for irregular problems | |
TWI540578B (zh) | A semiconductor device, and a method of writing / reading a registered address in a semiconductor device | |
Schlag et al. | Scalable edge partitioning | |
Wesolowski et al. | Tram: Optimizing fine-grained communication with topological routing and aggregation of messages | |
Sheu et al. | Partitioning and mapping nested loops on multiprocessor systems | |
Sasidharan et al. | Miniamr-a miniapp for adaptive mesh refinement | |
CN113986816A (zh) | 可重构计算芯片 | |
CN118210624A (zh) | 基于cuda的gpu并行有限单元法 | |
Zhu | Job scheduling on a hypercube | |
Chen et al. | Parallel divide‐and‐conquer scheme for 2D Delaunay triangulation | |
JP3606922B2 (ja) | ハイパキュ−ブマルチコンピュ−タ−のタスク割当方法および装置 | |
JPH05324586A (ja) | マルチプロセッサ・コンピュータ・システムおよびそのデータ割振り方法 | |
Träff et al. | Message-combining algorithms for isomorphic, sparse collective communication | |
Ziavras et al. | Pyramid mappings onto hypercubes for computer vision: Connection machine comparative study | |
Koike et al. | A novel computational model for GPUs with applications to efficient algorithms | |
Al-Kerboly | The non-contiguous allocation strategies performance for k-ary n-cube connected multi computers using smallest job first scheduling strategy | |
Doreen et al. | An efficient sra based isomorphic task allocation scheme for k-ary n-cube massively parallel processors | |
Sasidharan et al. | A general space-filling curve algorithm for partitioning 2D meshes | |
An et al. | Optimal Algorithms for a Mesh-Connected Computer with Limited Additional Global Bandwidth | |
KR102723995B1 (ko) | 저-지역성 데이터를 고-지역성 데이터로 효율적으로 변환하기 위한 시스템 및 방법 | |
CN113505825B (zh) | 一种图计算装置 | |
Barak et al. | Assignment of tasks to parallel architectures | |
Johnsson | Ensemble architectures and their algorithms: an overview | |
Ziavras et al. | High‐performance emulation of hierarchical structures on hypercube supercomputers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20031224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040322 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040928 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041006 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |