(57)【特許請求の範囲】
【請求項１】
所定の通信費用を有する少なくとも一つ以上の通信経路で連結される２n個のタスクモジュールより構成され、加重値を有するエッジとノードとによるタスクグラフGで表現されるタスクを有する並列プログラムを、ハイパキューブ形態で連結されてnビットのバイナリー番号により区別される２n個のプロセッサーに前記通信費用の総合を最少とするマッピング（mapping)により割当てるハイパキューブマルチコンピューターのタスク割当方法において、
所定の変換規則に従い、前記タスクグラフGに含まれる任意の二つのノード間のエッジ加重値を該二つのノードそれぞれが属する部分集合に応じて該エッジ加重値の符号を反転し、全体通信費用を算出することにより該タスクグラフGをタスクグラフ G*に変換する第１過程と、
前記第１過程で変換されたタスクグラフG*を二分割するカットセットのうち、エッジ加重値の和が最大となるマキシマムカットセットを算出する第２過程と、
前記第２過程から算出された前記マキシマムカットセットにより前記タスクグラフＧの部分集合を形成する第３過程と、
前記第３過程でｋ番目に形成された部分集合に対して前記バイナリー番号のｋ番目ビットを順次に割当てて前記タスクモジュールを前記プロセッサーに一対一対応させるマッピング Xを算出する第４過程とよりなり、
前記第４過程により算出された前記マッピング Xにより前記タスクモジュールを前記プロセッサーそれぞれに割当てることを特徴とするタスク割当方法。
【請求項２】
前記変換規則は、
前記タスクグラフGに含まれる任意の二タスクモジュールをma，mbとし、前記二タスクモジュール間の変換前の通信費用をWa,bとし、変換のための所定値の独立変数をRとするときに、
前記二タスクモジュールが前記カットセットにより分離されずに同一の部分集合に属する場合は、該二タスクモジュール間の通信費用をR−Wa,bに変換し、該二タスクモジュール間に前記エッジがないため該通信費用がなければ、新たなエッジを形成して該通信費用を Rに変換する変換第１規則と、
前記二タスクモジュールが前記カットセットにより分離されて相異なる部分集合に属する場合は、該二タスクモジュール間の通信費用を−Wa,bに変換する変換第２規則とからなることを特徴とする請求項１記載のタスク割当方法。
【請求項３】
前記第２過程は、
変換された前記タスクグラフG*を任意分割して初期パーテーション Pを形成する第１段階と、
前記初期パーテーション Pにおける各タスクモジュールの利得を計算して候補モジュールを選択し、これを他の集合に一回移動させる第２段階と、
前記候補モジュールの一回移動後に使用されなかったタスクモジュールの利得をさらに計算して前記第２段階に戻ってすべてのタスクモジュールを他の集合に一回移動させる第３段階と、
前記第２段階および第３段階の遂行結果、前記初期パーテーション Pにおける前記マキシマムカットセットを求め、求めた該マキシマムカットセットにより新たなパーテーション P′を求める第４段階と、
前記第２，第３，第４段階を反復してタスクモジュールの一回移動によりさらに利得の増加がなければ、前記新たなパーテーション P′により前記タスクグラフＧ*を二分割した部分集合を出力する第５段階とよりなることを特徴とする請求項１記載のタスク割当方法。
【請求項４】
所定の通信費用を有する少なくとも一つ以上の通信経路で連結される２n個のタスクモジュールより構成され、加重値を有するエッジとノードとによるタスクグラフGで表現されるタスクを有する並列プログラムを、ハイパキューブ形態で連結されてnビットのバイナリー番号により区別される２n個のプロセッサーに前記通信費用の総合を最少とするマッピングにより割当てるハイパキューブマルチコンピューターのタスク割当装置において、
所定の変換規則に従い、前記タスクグラフGに含まれる任意の二つのノード間のエッジ加重値を該二つのノードそれぞれが属する部分集合に応じて該エッジ加重値の符号を反転し、全体通信費用を算出することにより該タスクグラフGをタスクグラフG*に変換するグラフ変換手段と、
前記グラフ変換手段により変換された前記タスクグラフG*を入力し、それを二分割するカットセットのうち、エッジ加重値の和が最大となるマキシマムカットセットCMAXを算出するマキシマムカットセット算出手段と、
算出された前記マキシマムカットセットCMAXにより前記タスクグラフGの部分集合を形成する部分集合形成手段と、
前記部分集合形成手段によりｋ番目に形成された部分集合に対して前記バイナリー番号のｋ番目ビットを順次に割当てて貯蔵し、ｋ＝ｎになると前記２n個のタスクモジュールを前記２n個のプロセッサーに割当てるマッピング Xを出力するバイナリー番号割当手段とを備えたことを特徴とするタスク割当装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はハイパキュ−ブマルチコンピュ−タ−のタスク割当方法および装置に係り、特にタスクグラフを変換してマキシマムカットセット（以下、マックスカットと略称）アルゴリズムにより反復的に分割して最適の一対一マッピングを算出し、これによりタスクをハイパキュ−ブマルチコンピュ−タ−に割当てる方法および装置に関する。
【０００２】
【従来の技術】
ＶＬＳＩ技術の迅速な発展とコンピュ−タ−通信技術の向上で多様なマルチコンピュ−タ−を開発することが可能になった。並列処理に対する潜在能力と具現を容易にする規則性のため、ハイパキュ−ブコンピュ−タ−が脚光を浴びている。ハイパキュ−ブ（以下  ｎ−  キュ−ブという）は  ２ｎ  個のプロセッサ−（即ち、ノ−ド）で相互疎結合された（ｌｏｏｓｅｌｙ  ｃｏｕｐｌｅｄ  ）マルチコンピュ−タである。各プロセッサ−は二進  ｎ−  キュ−ブの２ｎ  個の頂点（ｖｅｒｔｉｃｓ）  中一つに位置する。自分の相当な大きさのメモリを有したプロセッサ−はその  ｎ個の隣のプロセッサ−と連結される。このようなハイパキュ−ブ形態を有するコンピュ−タ−が常用化されてものであって、インテル社のｉＰＳＣ，  ＮＣＵＢＥ，  Ｃａｌｔｅｃｈ／ＪＰＬなどがある。
【０００３】
ハイパキュ−ブマルチコンピュ−タ−で並列プログラムを遂行するために並列プログラムのタスクモジュ−ルはハイパキュ−ブを形成するプロセッサ−にそれぞれ割当てられるべきである。一般的に、相互作用するタスクモジュ−ル間の通信経路はハイパキュ−ブマルチコンピュ−タ−の連結構造と相違である。即ち、タスクをプロセッサ−に配置する問題はマッピング問題と知られているが、プロセッサ−割当問題とは異なる。プロセッサ−割当問題はタスク間の通信構造を考慮せず、効率的な方式で処理能力を割当てる。このようなプロセッサ−割当問題は通常的なメモリ割当問題と類似であるが、その目的はプロセッサ−の活用を最大化することである。多数のプロセッサ−割当方式中でグレ−コ−ド方式はハイパキュ−ブマルチコンピュ−タ−に広く使用され、ウェ−ブスケジュ−リングはツリ−形態で連結されたマルチコンピュ−タ−のためである。プロセッサ−割当後にタスクとハイパキュ−ブ間の構造的な不一致を解決するために、マッピング手順がプロセッサ−間通信コストを最少化し、実行速度を最大化する方向に遂行される。このように全体プロセッサ−間の通信費用を最少化する方向に相互作用するタスクモジュ−ルをハイパキュ−ブマルチコンピュ−タ−にマッピングする問題を解決する必要があるが、これはつまり  ＮＰ  −  コンプリ−トと知られている。したがって、適したマッピングを探すために最適化アルゴリズムよりは速いヒュ−リスティックアルゴリズムが使用される。通信グラフをハイパキュ−ブにマッピングするグラフ向きマッピング方式を使用してマッピング問題を解決するグリ−ディ（ｇｒｅｅｄｙ）  なアルゴリズムが  Ｗ．Ｋ  Ｃｈｅｎ  と  Ｅ．Ｆ．  Ｇｅｈｒｉｎｇｅｒ  により提案（“Ａ  ｇｒａｐｈ−ｏｒｉｎｔｅｄ  ｍａｐｐｉｎｇ  ｓｔｒａｔｅｇｙ  ｆｏｒ  ａ  ｈｙｐｅｒｃｕｂｅ”，  Ｐｒｏｃｅｅｄｉｎｇ．  ｏｆ  ｔｈｅ  Ｔｈｉｒｄ  Ｃｏｎｆｅｒｅｎｃｅ．  ｏｎ  Ｈｙｐｅｒｃｕｂｅ  Ｃｏｎｃｕｒｒｅｎｔ  Ｃｏｍｐｕｔｅｒｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，  ｐｐ  ２００〜２０９，  Ｊａｎ．  １９８８  ）されたが、これは線形アレ−、同形ハイパキュ−ブおよび類似形通信グラフ等には適用されるが、他の形態のグラフには適用し得ない問題点があった。また、Ｋｅｒｎｉｇｈａｎ−Ｌｉｎ  のミニマムカットセット（ミンカット）バイセクションヒュ−リスティック（ｍｉｎｃｕｔ  ｂｉｓｅｃｔｉｏｎ  ｈｅｕｒｉｓｔｉｃ  ）に基づいた、リカ−シブな分割および征服方式（ｄｒｉｖｅ−ａｎｄ−ｃｏｎｑｕｅｒ）によるアルゴリズムが  Ｆ．Ｅｒｃａｌと  Ｊ．Ｒａｍａｎｕｊａｎと  Ｐ．  Ｓａｄａｙａｐｐａｎにより提案  （“Ｔａｓｋ  ａｌｌｏｃａｔｉｏｎ  ｏｎｔｏ  ａ  ｈｙｐｅｒｃｕｂｅ  ｂｙ  ｒｅｃｕｒｓｉｖｅ  ｍｉｎｃｕｔ  ｂｉｐａｒｔｉｔｉｏｎｉｎｇ”  ，  Ｐｒｏｃｅｅｄｉｎｇ．  ｏｆ  ｔｈｅ  Ｔｈｉｒｄ  Ｃｏｎｆｅｒｅｎｃｅ．  ｏｎ  Ｈｙｐｅｒｃｕｂｅ  Ｃｏｎｃｕｒｒｅｎｔ  Ｃｏｍｐｕｔｅｒｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，  ｐｐ．  ２１０〜２２１，  Ｊａｎｕａｒｙ．  １９８８）され、これによるとタスクグラフに対してリカ−シブな二分割を反復遂行した。このようなリカ−シブなマッピング方��は各サブグラフが適切に二分割されたとしても、マッピング問題が適切に解決されたことでないという問題点があった。
【０００４】
【発明が解決しようとする課題】
本発明の目的は前記のような従来の問題点を解決するためにタスクグラフを変換した後、マックスカットアルゴリズムに従い一対一対応のマッピングを提供し、これによりタスクを割当てるハイパキュ−ブマルチコンピュ−タ−のタスク割当方法および装置を提供するにある。
【０００５】
【課題を解決するための手段】
前記のような目的を達成するために本発明の方法は所定の通信費用を有する少なくとも一つ以上の通信経路で連結される  ２ｎ  個のタスクモジュ−ルより構成され、この構造を加重値を有するエッジとノ−ドによるグラフ  Ｇに表現し得る並列プログラムを、ハイパキュ−ブ形態で連結されて  ｎビットのバイナリ−番号に区別される２ｎ  個のプロセッサ−に前記通信費用の総合を最少とするマッピングに応じて割当てるハイパキュ−ブマルチコンピュ−タ−のタスク割当方法において、前記タスクグラフ  Ｇを変換規則に従いグラフ  Ｇｋ  ＊  に変換する第１過程と、前記第１過程で変換されたグラフ  Ｇｋ  ＊  を二分割するマキシマムカットセットを算出する第２過程と、前記第２過程から算出されたマキシマムカットセットにより前記タスクグラフ  Ｇの部分集合を形成する第３過程と、前記第３過程で形成された部分集合により前記バイナリ−番号のｋ番目ビットを順次に割当てて前記タスクモジュ−ルを前記フリセッサ−に一対一対応させるマッピング  Ｘを算出する第４過程とよりなり、前記グラフ変換に応じて前記マッピング  Ｘを探す遂行時間を短縮し、前記マッピング  Ｘにより前記タスクモジュ−ルを前記プロセッサ−のそれぞれ割当てることを特徴とする。
【０００６】
また、本発明の前記の目的を達成するために、本発明による装置は、所定の通信費用を有する少なくとも一つ以上の通信経路で連結される２ｎ  個のタスクモジュ−ルより構成され、この構造をグラフ  Ｇに表現し得る並列プログラムを、ハイパキュ−ブ形態で連結されてｎビットのバイナリ−番号に区別される２ｎ  個のプロセッサ−に前記通信費用の総合を最少とするマッピングにより割当てるハイパキュ−ブマルチコンピュ−タ−のタスク割当装置において、前記タスクグラフ  Ｇを入力した後、タスクモジュ−ルを比較してタスクモジュ−ルが同一な部分集合に属すると前記タスクモジュ−ル間の通信費用を所定値に変換したり所定の通信費用で新たに形成し、前記タスクモジュ−ルが相異なる部分集合に属すると前記タスクモジュ−ル間の通信費用の符号を反転して新たなグラフ  Ｇｋ  ＊  を出力するグラフ変換手段と、前記変換されたグラフ  Ｇｋ  ＊  を入力しこれを二分割するマキシマムカットセット  ＣＭＡＸ  を算出するマキシマムカットセット算出手段と、前記算出されたマキシマムカットセット  ＣＭＡＸ  により前記タスクグラフ  Ｇの部分集合を形成する部分集合形成手段と、前記形成された部分集合により前記バイナリ−番号にｋ番目のビットを順次に割当てて貯蔵し、ｋ＝ｎになると前記２ｎ  個のタスクモジュ−ルを前記２ｎ  個のプロセッサ−に割当てるマッピング  Ｘを出力するバイナリ−番号割当手段とよりなり、前記マッピング  Ｘにより前記タスクモジュ−ルを前記プロセッサ−にそれぞれ割当てることを特徴とする。
【０００７】
【作用】
本発明は２ｎ  個のタスクモジュ−ルより構成されたタスクを有する並列プログラムを２ｎ  個のプロセッサ−より構成されるハイパキュ−ブマルチコンピュ−タ−で遂行させるためにタスクモジュ−ルをプロセッサ−に一対一対応させるマッピングによりタスクを割当てることによりマルチコンピュ−タの性能を向上させうる。
【０００８】
【実施例】
以下、添付した図面に基づき本発明を詳細に説明する。説明の便宜上、まず本発明が適用される一般的なハイパキュ−ブコンピュ−タ−の構造を定義し、タスク割当のためのマッピング問題を式で示して本発明が最少化しようとする費用関数を開発する。また、本発明は広く知られていないス−パ−コンピュ−タ−分野に関するものなので、理解の便宜のため本発明の概念と基本前提となる定理および理論などを定義し、これを証明する。また、本発明の効果を示すために所定の試験タスクグラフに対して本発明を適用した実験結果と従来技術で言及した方式（ｇｒｅｅｄｙおよびｒｅｃｕｒｓｉｖｅ  な方式）  を適用した実験結果を比較する。
【０００９】
１．本発明に対する概念の説明
本発明による  ｎ  −次元ハイパキュ−ブマルチコンピュ−タ−は２ｎ  個のプロセッサ−（グラフ上では一つのノ−ドとして表現されるので、以下ノ−ドと表現する）より構成される。２ｎ  個のプロセッサ−は二進数  ０〜  ２ｎ  −１のうち一つとそれぞれ示し、これをそのプロセッサ−のアドレスという。また、各プロセッサ−の二進数（アドレス）が只１ビットのみ異なる時、二つのプロセッサ−間には通信リンク（グラフ上でエッジと表現される）  で連結される。したがって、  ｎ−  次元ハイパキュ−ブマルチコンピュ−タ−は自分のロカルメモリを有した２ｎ  個のプロセッサ−｛  ｐｋ  ｜  ０≦  ｋ≦  ２ｎ  −１｝より構成され、各プロセッサ−は  ｎ個の隣のプロセッサ−と連結されるので  ｎ２  ｎ−１  個の双方向通信リンクを有する。
【００１０】
ハイパキュ−ブマルチコンピュ−タ−のプロセッサ−  ｐｋ  のアドレスを  ｋの二進表現、  ｋｎ    ｋｎ−１  ．．．．  ｋ１  に示すと、二つのプロセッサ−が只一つの座標が異なる時こどに通信リンクが存する。また、任意の二プロセッサ−  ｐｋ  と  ｐι間の距離を  ｄｋ，ιに示し、プロセッサ−  ｐｋ  から  ｐιまで到達するに通過する通信リンクの最少数、即ち、プロセッサ−  ｐｋ  から  ｐιまでの最短距離と定義する。定義により、プロセッサ−  ｐｋ  と  ｐι間の距離は  ｄｋ，ιは次の式（１）の通りである。
【００１１】
【数１】
0003606922.tif 000002
【００１２】
この際、ハイパキュ−ブマルチコンピュ−タを構成するすべてのプロセッサ−が同一な処理能力を有し、すべての通信リンクが同一な通信速度を有してシステムが同質的（ｈｏｍｏｇｅｎｅｏｕｓ  ）であると仮定する。
このような構造を有する  ｎ次元ハイパキュ−ブマルチコンピュ−タ−で遂行されるタスクは相互作用する  Ｍ個のタスクモジュ−ル  ｍ１，  ｍ２，．．．．，    ｍＭ  より構成され、タスクグラフ  Ｇ（  Ｖ，Ｅ  ）に表現される。ここで、頂点（ｖｅｒｔｉｃｅｓ）‘  Ｖ’はタスクモジュ−ルを示し、エッジ‘Ｅ’はタスクモジュ−ル間のデ−タ通信依存度を示す。タスクモジュ−ル  ｍｉ  ，  ｍｊ  間のエッジ（    ｍｉ  ，  ｍｊ  ）  の加重値（ウェイト）はｗｉ，ｊ  と示し、二タスクモジュ−ル間に要求される通信の量を示す。また、通信コストは送信タスクモジュ−ルと受信タスクモジュ−ル間の距離  ｄとメッセ−ジの大きさに比例する。
【００１３】
タスクモジュ−ルの集合であるタスクを  ｎ次元ハイパキュ−ブにマッピングする時、一般性をなくさないようにするため、そのタスクが  ２ｎ  個のモジュ−ルより構成されると仮定する。即ち、一つのタスクがある整数  ｎで  Ｍ個のタスクモジュ−ル  ２ｎ−１  ＜  Ｍ＜  ２ｎ  より構成される時には、ダミ−モジュ−ルを付加して  ２ｎ  個のタスクモジュ−ルで形成し得る。反対に、  Ｍ  ＞  ２ｎ  である場合にはワ−クロ−ド分割技法（ｗｏｒｋｌｏａｄ  ｐａｒｔｉｔｉｏｎｉｎｇ  ｓｃｈｅｍｅ）  を適用してクラスタモジュ−ルを形成してグル−プで結びグル−プの数をハイパキュ−ブのサイズ  ２ｎ  に一致させることができる。したがって、  ｎ−  次元ハイパキュ−ブマルチコンピュ−タ−で遂行するためのタスクは  ２ｎ  個のタスクモジュ−ルで構成されて、正確に一つのタスクモジュ−ルを一つのプロセッサ−に割当（マッピング）させ得る。以下、別途の言及がなければ、マッピングは１対１マッピングを意味する。したがって、タスクモジュ−ルをプロセッサ−にマッピングするマッピング（モジュ−ル対プロセッサマッピング）は一対一対応関数  Ｘ：  ｍｉ  →  ｐｋ  に示し、一対一対応関数  Ｘ（ｉ  ）はタスクモジュ−ル  ｍｉ  が対応するプロセッサ−を指定する。
【００１４】
一方、ｃｏｍｐ（  ｍ  ｉ  ）をタスクモジュ−ル  ｍｉ  を実行するためにプロセッサ−（ノ−ド）が招来する計算コストと仮定すれば、ハイパキュ−ブが同質的なので、いずれのマッピングによっても同一な全体計算費用、即ち、
【００１５】
【数２】
0003606922.tif 000003
【００１６】
を有する。しかし、相異なるマッピングは相異なる通信費用を招来する。したがって、タスクマッピングを決めるにおいて、計算費用は考慮せず、ただプロセッサ−間通信費用のみ考慮すれば充分である。また、ハイパキュ−ブは対称的なので、ある二マッピング  Ｘａ  ，  Ｘｂ  が任意の  ｎビット二進数  ｘに対して
【００１７】
【数３】
0003606922.tif 000004
【００１８】
ならば、同一な通信費用を招来する。ここで、
【００１９】
【外１】
0003606922.tif 000005
【００２０】
はビットワイズ排他的論理和演算  （ｂｉｔｗｉｓｅ  ＥＸＣＬＵＳＩＶＥ−ＯＲ  ＯＰＥＲＡＴＩＯＮ  ）を示す。このような二マッピングは同一であるという。したがって、本発明でマッピング問題は最少の通信費用でタスクモジュ−ルをプロセッサ−に割当てる一対一対応関数  ＸＯ  を探すことである。ここで、通信コスト（ＣＯＳＴ（ＸＯ  ））は次の式（２）のように示す。
【００２１】
【数４】
0003606922.tif 000006
【００２２】
図１（Ａ）は４個のタスクモジュ−ルより構成されたタスクの例を示したものである。  ｍ１，  ｍ２，  ｍ３，  ｍ４  はそれぞれタスクモジュ−ルを示し、タスクモジュ−ル間に連結される直線（エッジ）はモジュ−ル間の通信リンクを示し、数は該当リンクの加重値を示す。第１タスクモジュ−ル  ｍ１  と第２タスクモジュ−ル  ｍ２  間には加重値１０の通信リンクで連結され、第１タスクモジュ−ル  ｍ１  と第４タスクモジュ−ル  ｍ４  は加重値５の通信リンクで連結される。
【００２３】
図１（Ｂ）は  ２−  次元ハイパキュ−ブマルチコンピュ−タ−（２−キュ−ブ）のプロセッサ−の構成を示したものであって、  ２−  キュ−ブは  ４（  ２２  ）個のプロセッサ−より構成される。図１Ｂにおいて、各ノ−ドは一つのプロセッサ−を示し、各プロセッサ−は二進数のアドレス（００，  ０１，  １０，  １１）  を有する。また、各プロセッサ−は二つの通信リンクを有し、プロセッサ−のアドレスが１ビット異なる隣接したプロセッサ−とは通信リンクで連結されたことが分かる。
【００２４】
図１（Ｃ）と図１（Ａ）のタスクモジュ−ルを図１（Ｂ）のプロセッサ−にマッピングした一例（Ｘ１）を示したものである。図１（Ｃ）において、プロセッサ−‘  ００  ’には第１タスクモジュ−ル  ｍ１  を割当て、プロセッサ−‘  ０１  ’には第２タスクモジュ−ル  ｍ２  を割当て、プロセッサ−‘  １０  ’には第３マスクモジュ−ル  ｍ３  を割当て、プロセッサ−‘  １１  ’には第４タスクモジュ−ル  ｍ４  を割当てる。このようなマッピングの通信費用はこれらタスクモジュ−ルを分割するカットセットの加重値の和から  ２５  ＋  ２５  ＝  ５０  であることが分かる。
【００２５】
図１（Ｄ）は図１（Ａ）のタスクモジュ−ルを図１（Ｂ）のプロセッサ−にマッピングした他の例（Ｘ２）を示したものである。図１（Ｄ）において、プロセッサ−‘  ００  ’には第１タスクモジュ−ル  ｍ１  を割当て、プロセッサ−‘  ０１  ’には第４タスクモジュ−ル  ｍ４  を割当て、プロセッサ−‘  １０  ’には第３マスクモジュ−ル  ｍ３  を割当て、プロセッサ−‘  １１  ’には第２タスクモジュ−ル  ｍ２  を割当てる。このようなマッピングの通信費用は  ２５  ＋４０＝  ６５  であることが分かる。
【００２６】
図１（Ａ）〜図１（Ｄ）をみると、４個のタスクモジュ−ルを  ２−  キュ−ブに割当てる二つの他のマッピング  Ｘ１  と  Ｘ２  において、全体通信費用はそれぞれ５０，６５であって、マッピング  Ｘ１  がマッピング  Ｘ２  より効率的であることが分かる。したがって、マッピングにより通信費用が異になることが分かり、最小の通信費用を有するマッピングを探すことがタスク割当の主目的であることが分かる。
【００２７】
図２（Ａ），（Ｂ）は二つの  ３−  キュ−ブから一つの  ４−  キュ−ブを形成する概念を示したものである。
図２（Ａ）は  ８（  ２３  ）個のプロセッサ−を有する  ３−  キュ−ブを示したものであって、各プロセッサ−は‘  ０００’から‘  １１１’まで中一つのアドレスを有し、１ビットのみ異なる  ３個の隣接した通信リンクで連結されたものであることが分かる。
【００２８】
図２（Ｂ）は図２（Ａ）のような  ３−  キュ−ブ二つを合わせて一つの  ４−  キュ−ブを作ることを示す。図２（Ｂ）において、  ４−  キュ−ブは一つの  ３−  キュ−ブの各ノ  −ドのアドレスの４番目ビットを全部‘  ０’とし（  ００００  〜０１１１）、他の一つの  ３−  キュ−ブの各ノ−ドのアドレスの４番目ビットを全部‘  １’として（  １０００  〜１１１１）、各ノ−ドに４ビットのアドレス（  ００００  〜１１１１）を与え、隣接したノ−ドをリンクで連結して形成することができる。反対に、  ４−  キュ−ブは二つの  ３−  キュ−ブで容易に分割され得ることが分かる。このように  ３−  キュ−ブは図２（Ａ）に示したように頂点が  ８（  ２３  ）個である  ３−  キュ−ブの８  （  ２３  ）個のノ−ドと表現することができる。
【００２９】
一般的に、次のように  ｎ−  キュ−ブを形成することができる。第１、  ２ｎ  個のノ−ドは  ０から  ２ｎ−１  までの  ２ｎ  個の二進数（アドレス）と表現される。次いで、二進数が只１ビット異なる二ノ−ド間をリンク（エッジ）で連結する。このように形成された  ｎ−  キュ−ブのグラフを  Ｑｎ  に示す。
定義１：ｎ−キュ−ブのグラフ  Ｑｎ  は  ２ｎ  個の  ｎ−  次元ブ−ルベクトル、即ち、０  と  １の二進座標を有したベクトルより構成されるノ−ドの集合  Ｖｎ  の無方向性グラフである。
【００３０】
ここで、正確に一つの座標が異なる場合に二ノ−ドは相互隣接する。また、図２（Ａ）および図２（Ｂ）で調べたように、  ｎ−  キュ−ブの重要な特性中一つは低次元のキュ−ブからリカ−シブに構成され得るといえる。より正確に言うと、頂点が  ０から  ２ｎ−１−１  まで番号が与えられた二つの同一な（ｎ−１）−  キュ−ブより構成される。第１（ｎ−１）−  キュ−ブのすべての頂点を同一な数を有した第２（ｎ−１）−  キュ−ブの頂点と結合して、一つの  ｎ−  キュ−ブを形成することができる。なお、第１（ｎ−１）−キュ−ブのノ−ドを  ０，  ｘｎ−１    ｘｎ−２  ．．．．ｘ１に番号を与え、第２（ｎ−１）−  キュ−ブのノ−ドを１，  ｘｎ−１    ｘｎ−２  ．．．．ｘ１に番号を与えた後、隣接したノ−ド間をエッジで連結すると充分である。ここで、  ｘｎ−１    ｘｎ−２  ．．．．ｘ１は（ｎ−１）−  サブキュ−ブの類似な二つのノ−ドを示す二進表示である。
【００３１】
逆に、ｎ−キュ−ブグラフの定義により、ｎ−キュ−ブは  ｉ番目ビットが  ０のノ−ドと  ｉ番目ビットが１のノ−ドを連結するすべてのエッジを取り除くことにより、二つのサブグラフに容易に分割されることが分かる。分離された結果である二つのサブグラフは明白に（ｎ−１）−  キュ−ブである。これを  ｉ番目方向に沿った分割という。したがって、  ｎビットがあるので、  ｎ個の方向が存する。このような単純な性質は次のような命題として要約される。
【００３２】
命題１：ｎ−キュ−ブを二つの（ｎ−１  ）−  サブキュ−ブに分割する方法は相異なる  ｎ個がある。
命題２：任意の  ｋ個の方向に分割すると、ｎ−キュ−ブは  ２ｋ  個の（ｎ−ｋ  ）−  サブキュ−ブに分割される。ここで、１  ≦ｋ  ≦  ｎである。
命題２により  ｎ−  キュ−ブは  ｎ個の方向に分割されて  ２ｎ  個の個別的なノ−ドに完全に分割される。
【００３３】
また、任意の二つのノ−ドは  ｉ番目ビットが異なる場合（なお、一つのノ−ドの  ｉ番目ビットが  ０であり、他のノ−ドの  ｉ番目ビットが  １の場合）にのみ  ｉ番目方向に応じて分離される。ハイパキュ−ブグラフのこのような特性を用いて、各モジュ−ルのプロセッサ−マッピングの  ｋ番目ビットを定める  ｋ番目二分割であって、タスクグラフを  ２ｎ−１  個のモジュ−ルを有する二つのサブグラフに反復的に二分割して与えられた  ２ｎ  個のモジュ−ルの  ｎ−  次元タスクグラフを  ｎ−  次元イパキュ−ブマルチコンピュ−タ−で部分的にマッピングする。その後、  ｎ個の二分割（ｎ  ｂｉｐａｒｔｉｔｉｏｎ  ）により各モジュ−ルがマッピングされるプロセッサ−の完全なアドレスを求めることができる。そのうえ、  ｎ個の二分割が命題２で言及した特性を満足すると、即ち、異なる  ｋ個の二分割によるタスクグラフが  ２ｎ−ｋ  個のモジュ−ルを有する  ２ｋ  個のサブグラフに分けられると（ここで、１≦  ｋ≦ｎ）、マッピングは一対一対応となる。
【００３４】
定義２：ｎ−次元のタスクグラフ  Ｇ（  Ｖ，Ｅ  ）のカットセット  Ｃｉ  はタスクモジュ−ルの集合Ｖを
【００３５】
【外２】
0003606922.tif 000007
【００３６】
とＶｉ  に分離して
【００３７】
【数５】
0003606922.tif 000008
【００３８】
となるようにするエッジの
【００３９】
【数６】
0003606922.tif 000009
【００４０】
ならば（即ち、ノ−ドの数が同一に二分割させると）、  Ｃｉ  のバランスドカットセットという。また、カットセット  Ｃｉ  の加重値  Ｗ（  Ｃｉ  ）はカットセット  Ｃｉ  にあるエッジの加重値の総合である。
定義３：ｎ−次元タスクグラフ  Ｇ（  Ｖ，Ｅ  ）の  ｎ個のバランスドカットセット｛  Ｃｉ  ｜１≦  ｉ≦  ｎ｝の集合を  Ｃとする時、Ｃ  にある  ｋ個のカットセット群、  Ｃ１，  Ｃ２，．．．，  Ｃｋ  によりモジュ−ルの集合  Ｖが正確に  ２ｎ−ｋ  個のタスクモジュ−ルを有する  ２ｋ  個の部分集合に分割されると、  Ｃは許諾可能である（ａｄｍｉｓｓｉｂｌｅ）とする。Ｃ  の加重値は  Ｃにあるカットセットの加重値の総合、即ち、
【００４１】
【数７】
0003606922.tif 000010
【００４２】
である。
前提１：  ｎ−  次元タスクグラフ  Ｇ（Ｖ  ，Ｅ  ）の各許諾可能な集合  Ｃ＝｛  Ｃｉ  ｜１≦  ｋ≦  ｎ｝はタスクモジュ−ルを  ｎ−  キュ−ブのプロセッサ−で一対一形態で対応させるマッピングに該当する。前提１に対する証明は次の通りである。
証明：タスクモジュ−ルの集合  Ｖが各カットセット  Ｃｉ  によりＶｉ  と
【００４３】
【外３】
0003606922.tif 000011
【００４４】
に分割されるとしよう。やはり各許諾可能な集合  Ｃがマッピング  Ｘと一致すると、各タスクモジュ−ル  ｍｊ  に対して  ｍｊ  が  Ｖｉ  の元素ならば（  ｍｊ  ∈  Ｖｉ  ），  Ｘ（ｊ  ）ｉ  ＝  １  であり、そうでないと、  Ｘ（ｊ  ）ｉ  ＝  ０  である（ここで、１≦  ｉ≦  ｎ）。許諾可能の定義により、タスクモジュ−ルの集合は  Ｃにある  ｎ個のバランスドカットセットにより正確に  ２ｎ  個の部分集合（なお、一つのタスクモジュ−ル）に分割される。即ち、すべての二モジュ−ルは最小限一つのカットセットにより分離される。したがって、各  ２ｎ  個のタスクモジュ−ルは関数  Ｘでマッピングされるプロセッサ−に対する唯一な一つのアドレスが割当てられる。そして、それに該当するマッピング  Ｘは一対一である。逆に、各マッピング  Ｘ′は許諾可能なカットセット  Ｃ′＝  ｛  Ｃ′ｉ  ｜１  ≦  ｉ≦  ｎ｝に一致する（ここで、  Ｃｉ  ′＝  ｛（  ｍａ，  ｍｂ  ）｜  Ｘ′（ａ）  ｉ  ＝  １  ，  Ｘ′（ｂ）  ｉ  ＝  ０  ｝である。したがって、各許諾可能な集合  Ｃの一対一形態のマッピヒングである。
【００４５】
前提２：許諾可能な集合  Ｃがマッピング  Ｘに一致するとしよう。すると、集合  Ｃの加重値（  Ｗ（Ｃ）  ）はマッピング  Ｘの全体通信費用（ＣＯＳＴ（Ｘ））と同一である。前提２に対する証明は、マッピング  Ｘの全体通信費用を求める次の式（３）と同一である。
【００４６】
【数８】
0003606922.tif 000012
【００４７】
図３（Ａ）〜（Ｃ）は本発明による許諾可能なカットセット集合  Ｃとそれによるマッピング  Ｘを示した概念図である。
図３は３次元タスクグラフを示した例であって、３次元タスクは    ８（  ２３）個のタスクモジュ−ル（  ｍ１  〜  ｍ８  ）より構成され、各タスクモジュ−ルは所定の加重値を有する通信リンク（エッジ）で連結される。
【００４８】
図３（Ｂ）は図３（Ａ）で示したタスクグラフを分割するカットセット集合  Ｃの一例を示したものである。図３（Ａ）において、カットセット集合  Ｃは３個のカットセット  Ｃ１  ，Ｃ２，Ｃ３を元素として有し、前述した定義３を満足するので許諾可能である。また、第１カットセット（Ｃ１）  による加重値  Ｗ（Ｃ１）  は第１カットセット（Ｃ１）が通過するエッジの加重値の総合であるので１０＋  ５＋  ５＋  ５＝  ２５  である。同一な方式で、第２カットセット（Ｃ２）の加重値  Ｗ（Ｃ２）は４０であり、第３カットセット（Ｃ３）の加重値  Ｗ（Ｃ３）は  ４０  であることが分かる。したがって、集合  Ｃの加重値は式（３）によりＣＯＳＴ（Ｘ  ）＝  Ｗ（Ｃ１）＋  Ｗ（Ｃ２）＋  Ｗ（Ｃ３）＝  １０５である。
【００４９】
図３（Ｃ）は図３（Ｂ）に示したカットセット（  Ｃ１，  Ｃ２，  Ｃ３  ）によるマッピング  Ｘを示したものである。図３（Ｃ）において、全体通信費用は  １０５であり、これは図３Ｂのカットセット集合の加重値と同一であることが分かる。このように、各カットセット  Ｃｉ  の加重値  Ｗ（  Ｃｉ  ）は  ｉ番目方向性通信リンク即ち、マッピング  Ｘによる結果として  ｉ番目ビットが０のプロセッサ−と  ｉ番目ビットが１であるプロセッサ−を連結するリンクに付加された通信費用と同一なことが分かる。
【００５０】
続けて、前記の命題からタスク割当のためのマッピング問題が最小加重値を有する許諾可能な集合  Ｃを探す問題と同一であるということが分かるので、反復された二分割により一対一マッピングを解決することを説明する。
実験的に決定された時間複雑度  Ｏ（Ｎ２  ）（ここで、  Ｎはグラフにあるノ−ドの数）を有する効率的なグラフ分割アルゴリズムが本発明者が発表した論文（“  Ｅｆｆｉｃｉｅｎｔ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｇｒａｐｈ−ｐａｒｔｉｔｉｏｎｉｎｇ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｔａｓｋ  ａｌｌｏｃａｔｉｏｎ  ｉｎ  ｐａｒａｌｌｅｌ  ｃｏｍｐｕｔｉｎｇ  ｓｙｓｔｅｍｓ”，  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ，  ｖｏｌ，  ２１，  ｎｏ．１０，  ｐｐ．６１１−６１８，  Ｄｅｃ．  １９８９  ）で提案された。本発明者が既に発表したところによると、サイズ制限を有するグラフ分割問題はグラフ変換技法により、いずれのサイズ制限も有しないマックスカット（ｍａｘｃｕｔ）問題に変換され得ることが分かる。変換されたグラフの最大加重値カットセット（即ち、マックスカット）は元のグラフの最小加重値を有するバランスドカットセット（即ち、ミンカット）に該当する。また、前記論文で効率的なマックスカットアルゴリズムを提案したが、そのマックスカットアルゴリズムは  Ｋｅｒｎｉｇｈａｎとｌｉｎ  のアルゴリズムおよびそれと類似な他のアルゴリズムよりも効率的なことと知られた。さらに、前記論文によるアルゴリズムは本発明で考慮するタスクグラフのように同一なサイズを有するグラフノ−ドである時、バランスド分割を保障する長所がある。したがって、本発明で使用する二分割アルゴリズムは本発明者が既に発表した論文で提案したヒュ−リスティックアルゴリズムと類似である。
【００５１】
二分割手続きはクラフのバランスドＮ−ウェイパ−ティション（ｂｌａｎｃｅｄ  Ｎ−ｗａｙ  ｐａｒｔｉｔｉｏｎ  ）を遂行するために反復的に使用されうる。ここで、Ｎ  ＝  ２ｎ  であり、まず二つのバランスドパ−ティションを作った後、グラフを変更して次のパ−ティションそれぞれを二つのパランスドサブパ−ティションに分割するようになる。このように、  Ｎ個のバランスドパ−ティションが求められる時まで続ける。本発明の核心的なアイデアは反復される二分割段階間にタスクモジュ−ルをプロセッサ−に割当てる部分的なマッピングを作る。この過程のレベル  ｋで、各モジュ−ルに対してそのプロセッサ−マッピングの  ｋ番目ビットのアドレスが決定される。初期にすべての分割の前に、全体ハイパキュ−ブは考慮する唯一なサブキュ−ブであり、明白に各モジュ−ルはこのサブキュ−ブ内に割当てられる。タスクグラフの一番目の二分割はそのモジュ−ルを二つのグル−プに分離し、各グル−プには  Ｎ／２  サイズの区別されたサブキュ−ブを割当てる。即ち、割当られるプロセッサ−の一番目ビットがユニックに決定される。  ｎ番目レベルの二分割後に、各モジュ−ルのプロセッサ−マッピングの全体アドレスが決定される。本発明の二分割アルゴリズムは後に述べるグラフ変換技法の長所によりバランスドパ−ティションを保障する。それと共に、結果された  ｎ個の二分割は許諾可能である。即ち、各  ｋ番目レベルの二分割後に、正確に  ２ｎ−ｋ  タスクモジュ−ルはそれぞれ  ２ｋ  （ｎ−ｋ）−サブキュ−ブに割当てられる。したがって、最後の  ｎ番目レベルの二分割後に、各モジュ−ルはそのプロセッサ−マッピングのための唯一なアドレスが割当てられる。即ち、言い換えれば、結果されたマッピングは一対一となる。
【００５２】
一方、前述したように各  ｋ番目レベル二分割がカットセット  Ｃｋ  に該当するとし、タスクグラフのモジュ−ルの集合が  ｋ個のカットセット  Ｃ１，  Ｃ２，．．．，  Ｃｋ  により  ２ｋ  個の部分集合（パ−ティション）  Ｐｋ  １  ，    Ｐｋ  ２  ，  ．．．．，    Ｐｋ    ２”  に分割され  Ｐｋ−１ ｉ  ＝Ｐｋ  ２ｉ−１∪  Ｐｋ  ２ｉになるとしよう。即ち、ｋ−１  個のカットセット  Ｃ１，  Ｃ２，．．．，  Ｃｋ−１  により分割された  ２ｋ−１  個の部分集合（パ−ティション）  Ｐｋ−１  ｉ  のそれぞれは、次のカットセット  ＣＫ  により二つの部分集合  Ｐｋ  ２ｉ−１と  Ｐｋ  ２ｉにさらに分割されるとしよう。また初期に、二分割の前には全てのモジュ−ルが  Ｐ０１内にある（即ち、Ｐ０１  ＝  Ｖ）としよう。すると、定義により、もし｜  Ｐｋ  １  ｜＝  ｜  Ｐｋ  ２  ｜＝    ．．．＝  ｜  Ｐｋ  ２  ”  ｜（１  ≦  ｋ≦  ｎ）ならば（即ち、分割によるパ−ティションが常時同一な数のタスクモジュ−ルより構成されれば）、集合  Ｃ＝｛  Ｃ１，  Ｃ２，  ．．．，    Ｃｎ  ｝は許諾可能である。各  ｋ番目レベルで、二分割前に、タスクグラフ  Ｇ（  Ｖ，Ｅ  ）は次のように  Ｇｋ  ＊  に変換され、その結果カットセットが許諾可能にする。したがって、本発明によるグラフ変換方法は次の通りである。
【００５３】
タスクグラフＧの任意の二つのノ−ドを  ｍａ，  ｍｂ  とし、変換前の二ノ−ド間の加重値を  Ｗａ，ｂ  とすれば、
変換規則１：もし二ノ−ドが（ｋ−１）個のカットセット  Ｃ１，  Ｃ２，．．．，  Ｃｋ−１  により分離されないと、即ち任意の  ｉに対して  ｍａ  ∈  Ｐｋ−１  ｉ  であり、  ｍｂ  ∈  Ｐｋ−１  ｉ  （ここで、１  ≦  ｉ≦  ２ｋ−１  ）ならば（即ち、同一な部分集合に属すると）、該二ノ−ド間のエッジ加重値を  Ｒ−Ｗａ，ｂ  に変換する。ここで、独立変数（ａｕｇｍｅｎｔｉｎｇ  ｆａｃｔｏｒ  ）  Ｒは
【００５４】
【数９】
0003606922.tif 000013
【００５５】
のような適切な正の値で設定する。この際、もし元のグラフ  Ｇでその二ノ−ド間にエッジがなければ、加重値  Ｒで新たなエッジを形成する。
変換規則２：もし二ノ−ドが（ｋ−１  ）  個のカットセット  Ｃ１，  Ｃ２，．．．，  Ｃｋ−１  により分離され相異なる部分集合に属すると、該二ノ−ド間のエッジの加重値を  −  Ｗａ，ｂ  となるように変換する。
【００５６】
前提３：与えられたグラフ  Ｇとその変換されたグラフ  Ｇｋ  ＊  で、カットセット  Ｃｋ  ＊  （Ｃｋ  ）が  Ｇｋ  ＊  （Ｇ）  のノ−ドを二つの部分集合  Ａｋ  と  Ｂｋ  に分割するとしよう。すると、変換されたグラフのカットセットの加重値  Ｗ（Ｃｋ  ＊  ）  は次の式（４）と同一である。
【００５７】
【数１０】
0003606922.tif 000014
【００５８】
前提３に対する証明は、  ２Ｋ−１  個の部分集合  Ｐｋ−１  ｉ  （１  ≦  ｉ≦  ２Ｋ−１  ）がカットセット  Ｃｋ  により分割されて  Ｐｋ  ２ｉ−１  ＝  ｐｋ−１  ｉ  ∩  ＡＫ  および  Ｐｋ−１  ２ｉ＝    Ｐｋ−１  ｉ  ∩  ＢＫ  となるしよう。すると、変換されたグラフのカットセットの加重値  Ｗ  （  Ｃｋ  ＊  ）  は次の式（５）と同一であり、これにより前提３が証明される。
【００５９】
【数１１】
0003606922.tif 000015
【００６０】
したがって、変換されたグラフ  Ｇｋ  ＊  上の各カットセット  Ｃｋ  ＊  の加重値は元のグラフ  Ｇ上の対応カットセット  Ｃｋ  の加重値（  Ｗ  （  ＣＫ  ））と関連された部分集合の大きさに対する情報を有している。もし、各カットセット  Ｃｋ  ＊  がそれと関連されたグラフ  Ｇｋ  ＊  上の最大加重値カットセット（マックスカット）ならば、  Ｇ上の該当カットセット  Ｃｋ  は許諾可能な最小加重値カットセット（ミンカット）となる。なぜならば、すべての部分集合  Ｐｋ  ｊ  は大きさが同一であるからである。即ち、
【００６１】
【数１２】
0003606922.tif 000016
【００６２】
は一定であるからである。
定理１：与えられた  ｎ−  次タスクグラフ  Ｇ（  Ｖ，Ｅ  ）に対して、もし  Ｃ＊  にある各カットセット  Ｃｋ  ＊  が関連されたグラフ  Ｇｋ  ＊  上で最大加重値カットセット（マックスカット）  ならば、集合  Ｃ＊  ＝  ｛  Ｃ１  ＊  ，    Ｃ２  ＊  ，．．．  Ｃｎ  ＊  ｝は承諾可能である（ここで、１  ≦  ｋ≦ｎ）。
【００６３】
定理１に対する証明は次の通りである。変換されたグラフの各カットセット  Ｃｋ  ＊  が変換前グラフＧ  上のカットセット  Ｃｋ  に該当するとし、集合  Ｃ＊  が許諾可能であることを証明して見せる。即ち、１  ≦  ｋ≦ｎ  の  Ｋで    ｜  Ｐｋ  １  ｜＝  ｜  Ｐｋ  ２  ｜＝  ．．．  ＝  ｜  Ｐｋ  ２  ”  ｜であることを示す。
１）ｋ＝１の場合、タスクモジュ−ルの集合  Ｐｋ  １  は  Ｐ１１と  Ｐ１２にカットセット  Ｃ１  ＊  により分割される。パ−ティション  Ｐ１１と  Ｐ１２がバランスドでないとしよう（即ち、｜  Ｐ１１｜≠｜  Ｐ１２｜）。すると、パ−ティション  Ｐ０１を  Ｐ１  ′１  と  Ｐ１  ′２  に分離して｜  Ｐ１  ′１  ｜＝  ｜  Ｐ１  ′２  ｜を満足させる他のバランスドカットセット  Ｃ１  ′＊  が存するようになる。すると、｜  Ｐ１１｜＋｜  Ｐ１２｜＝  ｜  Ｐ１  ′１  ｜＋｜  Ｐ１  ′２  ｜＝  常数なので、｜  Ｐ１１｜・｜  Ｐ１２｜＋１  ≦｜  Ｐ１  ′１  ｜・｜  Ｐ１  ′２  ｜となる。すると、
0003606922.tif 000017
前記不等号は
【００６４】
【数１３】
0003606922.tif 000018
【００６５】
に起因する。そのゆえ、    Ｗ（Ｃ１′＊  ）＞Ｗ（Ｃ１＊  ）となる。これは  Ｃ１  ＊  が最大値カットセットであるという事実に矛盾される。したがって、｜  Ｐ１１｜＝  ｜  Ｐ１２｜である。
２）ｋ＝ｉ−１  の場合、｜  Ｐｉ−１１｜＝  ｜Ｐ  ｉ−１２｜＝  ．．．＝｜Ｐ  ｉ−１２＃  ｜となる。Ｃ１  ＊によりタスクモジュ−ルの集合が  Ａｉ  と  Ｂｉ  に分割されるとしよう。また  ｋ≠１  としよう。すると、タスクモジュ−ルを  Ａｉ  ′と  Ｂｉ  ′に分け、｜  Ａｉ  ′∩  Ｐｉ−１  ｊ  ｜＝  ｜  Ｂｉ  ′∩  Ｐｉ−１  ｊ  ｜＝  ２  ｎ−１（１  ≦ｊ  ≦  ２ｉ−１）となるようにする異なるカットセット    Ｃ１′  ＊が存するようになる。すると、
【００６６】
【数１４】
0003606922.tif 000019
【００６７】
したがって、  Ｗ（Ｃｉ  ′＊  ）＞  Ｗ（  Ｃｉ  ＊  ）である。これは  Ｃｉ  ＊  が最大値カットセットという事実に矛盾となる。したがって、ｋ＝ｉ  であり、カットセット  Ｃ＊  は許諾可能である。
このように、定理１は本発明で提案するグラフ変換技術を用いて、最小加重値カットセット（ミンカット）の許諾可能な集合を探す問題を、最大加重値カットセット（  マックスカット）  の許諾可能な問題に変換され得ることを示すが、これをマックスカット問題という。言い換えれば、このように本発明によりマッピング問題をマックスカット問題に変換すると、結果されたパ−ティションを許諾可能に維持するために努力する必要がない。結論的に、元の許諾可能なミンカット問題よりもマックスカット問題を解決するためのヒュ−リスチックアルゴリズムを具現することが一層容易でである。なぜならば、ミンカット問題は最適化するための二つの対象を有するが、マックスカット問題は只一つの対象のみを有するためである。
【００６８】
一方、費用行列  Ｃ＝（  ｃｉｊ）を持って与えられたグラフ  Ｇから得られたグラフ  Ｇｋ  ＊  のノ−ド間の集合を  Ｖとしよう。ここで、  ｃｉｊはタスクモジュ−ル  ｍ１  と  ｍｊ  間のエッジの費用である。すると、  Ｇｋ  ＊  において、問題はノ−ド集合  Ｖをその二つのバランスド部分集合  ＡＫ  および  ＢＫ  に分け、それと関連されたカットセット  Ｃｋ  ＊  の加重値
【００６９】
【数１５】
0003606922.tif 000020
【００７０】
が最大となるようにする。この際、加重値が最も大きいカットセット（マックスカット）を求める問題は元のグラフ  Ｇにおいて、最小加重値を有する許諾可能なカットセット（ミンカット）を求めることと同一である。即ち、変換されたグラフにおけるマックスカットは元のグラフでミンカットと同一である。
変換されたグラフでマックスカットを探す基本的な接近は任意のパ−ティションから始める。即ち、変換されたグラフを任意分割に分け、反復的に一つの集合に属する一つのタスクモジュ−ルを選択して他の集合に移動してその分割がマックスカットによる分割であることを立証する。このように、移動のために選択されたタスクモジュ−ルを候補モジュ−ルとし、これはカットセット加重値の増加分が最大となるように（もし、その以上の増加が不可能な場合には減少が最小となるように）選択される。
【００７１】
そのようなマックスカットアルゴリズムは一連のパスよりなるが、各パスにおいてすべてのモジュ−ルが移動完了する時まで、一つのモジュ−ルが交代に移動する。このような反復において、移動されるモジュ−ルがそのパス間にまだ移動しないモジュ−ルのうちから選択される。｜Ｖ｜パ−ティションが特定な遂行中のパスの間に形成され、最大カットセットを有する一つが選択され、次のパスのための出発パ−ティションとなる。このようなパスは得られたカットセットの加重値がさらに増加しない時まで遂行される。
【００７２】
このように、一回動き動作はマックスカット問題の解決に極めて適し、分割による任意のパ−ティションを  ＡＫ  、  ＢＫ  とすれば、各モジュ−ルの利得は次のように定義される。  ＡＫ  の一元素であるタスクモジュ−ル  ｍａ  の利得を  ｇ（ｍａ  ）  とし、  ＢＫ  の一元素であるタスクモジュ−ル  ｍｂ  の利得を  ｇ（ｍｂ  ）  とすれば、
【００７３】
【数１６】
0003606922.tif 000021
【００７４】
したがって、候補モジュ−ルとして最も大きい利得を有するモジュ−ルを選択し、そのモジュ−ルの一回移動後に該当パスでまだ移動されないモジュ−ルの利得をさらに計算する。例えば、モジュ−ル  ｍｉ  が  Ａｋ  から  Ｂｋ  に移動したとすれば、各モジュ−ルの利得は次の式にに従い再び計算する。なお、
ｇ′（ｍａ  ）  ＝  ｇ（  ｍａ  ）  −  ２Ｃａｉ只  ｍａ  ∈  Ａｋ  であり、
ｇ′（ｍｂ  ）  ＝  ｇ（  ｍｂ  ）  −  ２Ｃｂｉ只  ｍｂ  ∈  Ｂｋ  である。
【００７５】
定理２：所定の  ｎ−  次元タスクグラフ  Ｇ（Ｖ  ，Ｅ  ）に対して、修正されたグラフ  Ｇｋ  ＊  上の後述するアルゴリズム  ＭＲＭ（Ｍａｐｐｉｎｇ  ｂｙ  Ｒｅｐｅａｔｅｄ  Ｍａｘｃｕｔ  ａｌｇｏｒｉｔｈｍ）により発見された集合  Ｃ＊  ＝  ｛  Ｃ＊  ｜１  ≦  ｋ≦  ｎ｝は許容可能である。即ち、マッピング  Ｘは一対一である。定理２に対する証明は、すべての１  ≦  ｋ≦  ｎに対して、｜  Ｐｋ  １  ｜＝  ｜  Ｐｋ  ２  ｜＝  ．．．．｜  Ｐｋ    ２”  ｜であることを示すことにより、集合  Ｃ＊  許容性を立証する。ｋ  に対する帰納でそれを証明する。
【００７６】
（１）ｋ＝１  に対して、タスクモジュ−ルの集合はマックスカットアルゴリズムにより発見されたカット集合  Ｃ＊  により  Ｐ１１および  Ｐ１２パ−ティションされる。次、該パ−ティション（  Ｐ１１，  Ｐ１２）下の各モジュ−ルの利得値は正の利得値を有するモジュ−ルがあれば、該パ−ティション（  Ｐ１１，  Ｐ１２）は異なるのパ−ティションに−変形されるので、負数に違いない。一般的に、パ−ティション（  Ｐ１１，  Ｐ１２）は均衡状態でない。即ち、｜    Ｐ１１  ｜≠｜  Ｐ１  ２  ｜である。次、｜    Ｐ１１  ｜＋｜  Ｐ１  ２  ｜＝    ２ｎ  （  即ち、正の整数値でさえ）  なので、｜｜    Ｐ１１  ｜−｜  Ｐ１  ２  ｜｜≧２である。｜    Ｐ１１  ｜≧｜  Ｐ１  ２  ｜＋２と仮定し、Ｇ  内の任意の２モジュ−ル  ｍｉ  と  ｍｊ  間の元のエッジコストを  Ｗｉ，ｊ  とする。次いで、Ｐ１１  内の各モジュ−ル  ｍａ  に対してその利得ｇ（  ｍａ  ）  は次の通りである。
【００７７】
【数１７】
0003606922.tif 000022
【００７８】
即ち、パ−ティション（  Ｐ１１，  Ｐ１２）は均衡状態でなく｜    Ｐ１１  ｜＞｜  Ｐ１  ２  ｜の時、  Ｐ１１内のすべての正の利得を有する。これは矛盾である。その故、（  Ｐ１１，  Ｐ１２）は均衡状態、即ち、｜    Ｐ１１  ｜＝  ｜  Ｐ１  ２  ｜である。
（２）ｋ＝ｉ−１  に対して有効だと仮定する時、｜  Ｐｉ−１１｜＝  ｜  Ｐｉ−１２｜＝  ．．．  ｜  Ｐｉ−１２  ＃｜である。タスクモジュ−ルの集合が  Ｃｉ  ＊  により  Ａｉ  および  Ｂｉ  にパ−ティションされ  １≦  ｊ≦  ２ｉ−１  に対して、  Ａｉ  ∩  Ｐｉ−１  ｊ  ＝    Ｐｉ  ２ｊ−１であり、  Ｂｉ  ∩  Ｐｉ−１  ｊ  ＝    Ｐｉ  ２ｊとなるようにする。（１）と同一な理由で、各モジュ−ルの利得は正の数に違いない。ｋ  ≠ｉ  と仮定する時、１≦  ｊ≦  ２ｉ−１  に対して、少なくとも一つの  ｊが存することを意味し、｜  Ｐｉ  ２ｊ−１｜≠｜  Ｐｉ  ２ｊ｜である。次いで、｜  Ｐｉ  ２ｊ−１｜＋｜  Ｐｉ  ２ｊ｜＝｜Ｐ  ｉ−１  ｊ  ｜＝  ２ｉ−１  なので、正の整数値に対してさえ｜｜  Ｐｉ  ２ｊ−１｜−｜  Ｐｉ  ２ｊ｜｜≧  ２である。｜  Ｐｉ  ２ｊ−１｜≧｜  Ｐｉ  ２ｊ｜＋  ２  と仮定する時、  Ｐｉ  ２ｊ−１内の各モジュ−ル  ｍａ  に対して、利得  ｇ（ｍａ  ）は次の通りである。
【００７９】
【数１８】
0003606922.tif 000023
【００８０】
これは矛盾である。そして、許容性に対する条件は  ｋ＝１に対して満足する。したがって、帰納法によりすべての  ｋに対して有効である。そのため、集合  Ｃ＊  は許容可能であり、結果のマッピングは一対一である。
２．本発明による望ましい実施例の説明。
以上で調べた定理および命題を用いて、図３（Ａ）に示したタスクグラフを変換する一例を調べ、本発明によるタスク割当方法を説明する。
【００８１】
図４（Ａ）〜図４（Ｃ）は独立変数  Ｒ＝１００の時、図３（Ａ）に示した第  ３次タスクグラフを変換したグラフ  Ｇｋ  ＊  とその最大値カットセット  Ｃｋ  ＊  を示したものである。
図４（Ａ）は変換された第１グラフ  Ｇ１  ＊  とその最大加重値を有する第１カットセットＣ１＊  を示したものである。図３（Ａ）に示したタスクグラフを形成する各タスクモジュ−ルは分割される前なので、同一な集合  Ｐ０１に属する。したがって、図４（Ａ）に示した変換されたグラフＧ１＊  は変換規則  １により次のように形成される。
【００８２】
第１タスクモジュ−ル  ｍ１  は第２タスクモジュ−ル  ｍ２  と前述した変換規則  １により加重値  ８５（Ｒ＝１００−１５）  の通信リンクで連結され、第３タスクモジュ−ル  ｍ３  とは加重値  ９０（Ｒ＝１００−１０）  の通信リンクで連結され、第４，第５，第６，第７および第８タスクモジュ−ル（  ｍ４，  ｍ５，  ｍ６，  ｍ７，  ｍ８  ）  とは連結がないので加重値  １００（Ｒ＝１００）  の新たな通信リンクでそれぞれ連結される。他のタスクモジュ−ルに対しても同一な方法でそれぞれ新たな加重値を有するように変換する。このように変換して形成されたグラフＧ１＊  をタスクモジュ−ルの数が同一な二つのパ−ティションに分けるカットセットのうち最大の加重値を有するカットセット（マックスカット）を第１カットセットＣ１＊  とし、これにより二分割されたパ−ティションを  Ｐ１１，  Ｐ１２とする。すると、第１，第２，第３および第４タスクモジュ−ルは  Ｐ１１に属し、第５，第６，第７および第８タスクモジュ−ルは  Ｐ１２属する。この際、第１カットセットＣ１＊  の加重値  Ｗ（  Ｃ１＊  ）＝１５７５（１００ｘ１２  ＋  ９５ｘ３  ＋  ９０）であることが分かる。
【００８３】
図４（Ｂ）は図４（Ａ）に示した第１カットセットＣ１＊  により分割されて得たパ−ティション  Ｐ１１，  Ｐ１２を変換規則  １，  ２  に従い変換して形成した第２グラフＧ２＊  とその最大加重値を有するカットセットＣ２＊  を示したものである。図４（Ｂ）において、グラフＧ２＊  はパ−ティション  Ｐ１１，  Ｐ１２に対して変換規則  １，  ２  を適用して次のように形成される。
【００８４】
第１タスクモジュ−ル  ｍ１  は同一な部分集合  Ｐ１１に属する第２モジュ−ル  ｍ２  ，第３モジュ−ル  ｍ３  ，第４モジュ−ル  ｍ４  とは変換規則  １に従い加重値  ８５，  ９０，  １００にそれぞれ連結される。また、第３タスクモジュ−ル  ｍ３  は同一な部分集合  Ｐ１１に属する第１  ｍ１  ，第２  ｍ２  および第４モジュ−ル  ｍ４  とは変換規則  １により加重値  ９０，  ８５，  ９５  にそれぞれ連結されるが、他の部分集合  Ｐ１２に属する第５タスクモジュ−ル  ｍ５  および第６タスクモジュ−ル  ｍ６  とは変換規則２により  −５，  −５  の加重値にそれぞれ連結される。同一な方法で図３（Ａ）に示したタスクグラフのタスクモジュ−ルは変換され、変換された第２グラフＧ２＊  を形成する。そして、変換された第２グラフＧ２＊  上でマックスカットを第２カットセットＣ２＊  とすれば、第２カットセットＣ２＊  はパ−ティション  Ｐ２１，  Ｐ２２，  Ｐ２３および  Ｐ２４を形成する。この際、最大加重値  Ｗ（  Ｃ２＊  ）  は  ７６０であることが分かる。ここで、パ−ティション  Ｐ２１は第１タスクモジュ−ル  ｍ１  と第３タスクモジュ−ル  ｍ３  より構成され、パ−ティション  Ｐ２２は第２タスクモジュ−ル  ｍ２  と第４タスクモジュ−ル  ｍ４  より構成され、パ−ティション  Ｐ２３は第５タスクモジュ−ル  ｍ５  と第７タスクモジュ−ル  ｍ７  より構成され、パ−ティシション  Ｐ２４は第６タスクモジュ−ル  ｍ６  と第８タスクモジュ−ル  ｍ８  より構成される。
【００８５】
図４（Ｃ）は図４（Ｂ）に示したカットセットＣ２＊  により分割されたパ−ティション  Ｐ２１，  Ｐ２２，  Ｐ２３および  Ｐ２４に変換規則  １，  ２  を適用して変換した第３グラフＧ３＊  とその最大加重値を有するカットセットＣ３＊  を示した。図４（Ｃ）において、グラフＧ３＊  はパ−ティション  Ｐ２１，  Ｐ２２，  Ｐ２３および  Ｐ２４に対して変換規則  １，  ２  を適用して次のように形成される。
【００８６】
第１タスクモジュ−ル  ｍ１  は同一な部分集合（  Ｐ２１）に属する第３モジュ−ル  ｍ３  とは変換規則  １により加重値  ９０  に連結され、他の部分集合（  Ｐ２２  ）  に属する第２タスクモジュ−ル  ｍ２  と変換規則２により加重値  −１５で連結される。同一な方法で図３（Ａ）に示したタスクグラフのタスクモジュ−ルは変換されて変換された第３グラフＧ３＊  を形成する。そして、変換された第３グラフＧ３＊  上でマックスカットは第３カットセットＣ３＊  とすれば、第３カットセットはＣ３＊  はパ−ティション  Ｐ３１，  Ｐ３２，  Ｐ３３，  Ｐ３４，  Ｐ３５，  Ｐ３６，  Ｐ３７および  Ｐ３８を形成する。この際、第３カットセットＣ３＊  は最大加重値  Ｗ（Ｃ３  ＊  ）  は  ３６０であることが分かる。
【００８７】
図４（Ａ）〜図４（Ｃ）において、マックスカットの集合  Ｃ＊  ＝  ｛Ｃ１＊  ，  Ｃ２＊  ，  Ｃ３＊  ｝が許諾可能で、これに該当する図３（Ｂ）のカットセット  Ｃｋ  がそれと関連されたグラフで最小加重値を有することが分かる。また、８個のタスクモジュ−ルより構成されたグラフは３回の二分割により一つのタスクモジュ−ルを有する８個のパ−ティションに分離され、各分割に二進数を与えることにより、プロセッサ−を割当てることができる。即ち、図４（Ａ）のように第１カットセットによる二分割で定められる二進数の一番目ビットに左側のパ−ティションに一モジュ−ルが属すると０を付与し、右側のパ−ティションに属すると１を付与し、パ−ティション  Ｐ１１の二進数が‘０’となり、パ−ティション  Ｐ１２の二進数が‘１’となる。続けて、図４（Ｂ）のように第２カットセットによる二分割で定義される二進数の二番目ビットに上側パ−ティションに一モジュ−ルが属すると‘０’を付与し、下側パ−ティションに属すると‘１’を付与し、パ−ティション  Ｐ１２の二進数が‘  ００  ’となり、パ−ティション  Ｐ２２の二進数が‘  １０  ’となり、パ−ティション  Ｐ２３の二進数が‘  ０１  ’となり、パ−ティション  Ｐ２４の二進数が‘  １１  ’となる。同様に、図４（Ｃ）のように第３カットセットによる二分割に定められる二進数の三番目ビットに外側に一モジュ−ルが属すると‘０  ’を付与し、内側に属すると‘  １’を付与すれば８個のパ−ティション（  Ｐ３１，  Ｐ３２，  Ｐ３３，  Ｐ３４，  Ｐ３５，  Ｐ３６，Ｐ３７  および  Ｐ３８）は３ビットの唯一な二進数（‘０００  ’〜‘１１１  ’）  を有する。このように、８個のタスクモジュ−ルは３回の二分割により個別的なタスクモジュ−ルに分けられ、３ビット二進数により指定されたプロセッサ−をそれぞれ割当てることができる。たま、図４（Ｃ）のように、マックスカットによる二分割で形成されたマッピングと図３（Ｃ）に示したように、ミンカットで形成されたマッピングが同一なものであることが分かる。このように、２ｎ  個のタスクモジュ−ルは  ｋ番目二分割により  ｋ番目ビットの二進数が決定され、  ｎ番の二分割により一対一マッピングが形成される。
【００８８】
図５は本発明によりタスクを割当てるためのマッピングを求める方法を示したフロ−チャ−トである。図５において、本発明のマッピングを求める方法は２ｎ  個のタスクモジュ−ルより構成されたタスクを有する並列プログラムを２ｎ  個のプロセッサ−より構成されるハイパキュ−ブマルチコンピュ−タ−で遂行させるために、そして前記タスクモジュ−ルを前記プロセッサ−で最低の費用で一対一マッピングさせて前記タスクを割当てるために、
前記タスクのタスクグラフ  Ｇを  Ｇｋ  ＊  に変換する第１過程１１０と、前記第１過程で変換されたグラフ  Ｇｋ  ＊  を二分割するマックスカットを算出する第２過程１２０と、前記第２過程で算出されたマックスカットにより前記グラフ  Ｇの  ２ｋ−１  個の部分集合（パ−ティション）を形成する第３過程１３０と、前記第３過程で形成された部分集合（パ−ティション）に二進数のｋ番目ビットを割当ててマッピング  Ｘを算出する第４過程１４０，１５０，１６０を具備する。１００では本発明の方法を遂行するために初期化する過程である。
【００８９】
一方、図５のように本発明による一対一マッピングを求める  ＭＲＭアルゴリズムを  Ｃ言語で記述した例を次に示す。
0003606922.tif 000024
0003606922.tif 000025
前記アルゴリズムによると、各二分割のちに、１ビットはそのパ−ティションの結果に応じて各モジュ−ルの処理時にマッピングで設定される。アルゴリズム  ＭＲＭは三つの段階を含む。第１段階（段階  ２．１）  はグラフＧ  を  Ｇｋ  に修正して、次のパ−ティション（  Ａｋ  ，Ｂｋ  ）が許容されるようにする。第２段階（段階  ２．２）は最も時間が多くかかる過程でマックスカットアルゴリズムを使用して二分割を遂行する。第３段階（段階  ２．３および  ２．４）  は  ２ｋ  の部分集合（パ−ティション）を形成し、第２段階から得たパ−ティションに応じて各タスクモジュ−ルにそのプロセッサ−マッピングのために  ｋ番目のビットを割当てる。また、  ＭＲＭアルゴリズムの時間複雑度は  ＭＡＸＣＵＴ  過程の  Ｎ番の反復により  Ｏ（ｎＮ２）である。
【００９０】
図６は図５に示した変換されたグラフで最大値を有するカットセット（マックスカット）を求める方法を示したフロ−チャ−トである。図６において、マックスカットを求める方法は、タスクグラフ  Ｇ＊  の初期パ−ティション  Ｐを形成する第１段階１２１と、前記初期パ−ティション  Ｐで各タスクモジュ−ルの利得を計算して候補モジュ−ルを選択し、これを一回移動する第２段階１２２，１２３と、前記候補モジュ−ルの一回移動後に使用されないタスクモジュ−ルの利得をさらに計算して前記  ２段階に戻りすべてのモジュ−ルを一回移動する第３段階１２４，１２５と、前記第２および第３段階の遂行結果最大値を有したマックスカットを求めて新たな分割  Ｐ′を求める第４段階１２６、前記第２，３，第４段階を反復して一回移動でさらに利得増加がなければ、前記新たな分割  Ｐ′により前記グラフ  Ｇｋ  ＊  の二分割  Ａｋ  ，Ｂｋ  を出力する第５段階１２７，１２８を具備する。
【００９１】
このように、与えられたグラフの最大加重値を有するカットセット（マックスカット）を求める問題に対する  ＭＡＸＣＵＴ  アルゴリズムを  Ｃ言語の疑似コ−ドで記述すると次の通りである。
0003606922.tif 000026
0003606922.tif 000027
【００９２】
【数１９】
0003606922.tif 000028
【００９３】
0003606922.tif 000029
前記アルゴリズムを参照すると、特にアレ−  Ｐａｒｔ    １  ．．．Ｎ      の形態で完成される  Ｎ−ｔｕｐｌｅは現在の分割を記述するに使用される。ヒストリ    １  ．．．Ｎ    は一回移動動作に対するヒストリ情報を貯蔵するに使用される。時間的な分析のために、一つのパスをマックスカットアルゴリズムの段階  ２）から段階  ５）までの１サイクルを行うに関連された動作であると定義する。各モジュ−ルの利得を計算するためＯ（Ｎ）時間が要されるので、段階  ２）で要求される計算時間は  Ｏ（Ｎ２  ）である。段階  ３）を反復することは段階  ３．６）  により  Ｏ（Ｎ）  計算時間を要する。したがって、段階  ３）  に要する全体時間はＯ（Ｎ２）である。Ｏ（Ｎ２）計算時間は段階  ４）  および段階  ５）  に十分である。そのため、一つのパスに対する全体計算時間はＯ（Ｎ２  ）である。マックスカットアルゴリズムが終了するに要求されるパスの数は少ない。２００個の頂点  Ｖで試験したすべてのグラフ上の実験から、そのパスの数は大部分２ないし６である。この実験から、パスの数は  Ｎの値に強く従属されないことが分かる。動作時間は合理的に  Ｎ２  に近く、図７のグラフに示した。図７を参照すれば、横軸は頂点の数（  Ｎ２  ）を示し、縦軸はプロセッサ−  ＣＰＵの遂行時間（単位ｍｓ）を示す。また、図７のグラフの斜めは殆ど直線的に増加して運転時間を合理的に  Ｎ２  に比例して増加することが分かる。
【００９４】
図８は本発明によりハイパキュ−ブマルチコンピュ−タ−のタスク割当装置を示したブロック図である。
所定の通信費用を有する少なくとも一つ以上の通信経路で連結される  ２ｎ  個のタスクモジュ−ルより構成され、この構造をグラフ  Ｇに表現し得る並列プログラムを、ハイパキュ−ブ形態で連結されて  ｎビットのバイナリ−番号に区別される  ２ｎ  個のプロセッサ−に前記通信費用の総合を最小とするマッピングＸ  に応じて割当てる本発明の装置は、
前記タスクグラフ  Ｇを入力した後、タスクモジュ−ルを比較してタスクモジュ−ルが同一な部分集合に属すると前記タスクモジュ−ル間の通信費用を所定値に変換したり所定の通信費用で新たに形成し、前記タスクモジュ−ルが相異なる部分集合に属すると前記タスクモジュ−ル間の通信費用の符号を反転して新たなグラフ  Ｇｋ  ＊  を出力するグラフ変換部８２と、前記変換されたグラフ  Ｇｋ  ＊  を入力してこれを二分割するマキシマムカットセット  ＣＭＡＸ  を算出するマキシマムカットセット算出部８４と、前記算出されたマキシマムカットセット  ＣＭＡＸ  により前記タスクグラフ  Ｇの部分集合を形成する部分集合形成部８６と、前記形成された部分集合により前記バイナリ−番号のｋ  番目ビットを順次に割当てて貯蔵し、ｋ  ＝  ｎ  になると、前記  ２ｎ  個のタスクモジュ−ルを前記  ２ｎ  個のプロセッサ−に割当てるマッピング  Ｘを出力するバイナリ−番号割当部８８を具備して前記マッピング  Ｘにより前記タスクモジュ−ルを前記プロセッサ−にそれぞれ割当てる。
【００９５】
３．本発明による実験結果の説明
本発明による  ＭＲＭアルゴリズムの性能を評価するために、２種のシミュレ−ション実験が多数のタスクグラフ、ランダム及び規則的なグラフに対して遂行された。そして、  ＭＲＭアルゴリズムの遂行結果は従来のグリ−ディおよびリカ−シブマッピングアルゴリズムと比較した。
【００９６】
第１実験は３タイプのランダムグラフの散在（ｓｐａｒｓｅ）グラフ、正常（ｎｏｒｍａｌ  ）グラフ及び稠密（ｄｅｎｓｅ  ）グラフに対して遂行された。散在グラフ、正常グラフおよび稠密グラフはエッジの数がそれぞれ  ２Ｎ（Ｎ−１）／１４，  ３Ｎ（Ｎ−１）／１４，  ４Ｎ（Ｎ−１）／１４  のグラフで定義される。各タイプはエッジの加重値がその範囲（ｒａｎｇｅ）内でランンダムに決定され、即ち、範囲  Ｋグラフのエッジの加重値は区間１からｋ  までランダムに選択された。各場合に、１００回の動作が遂行された。そのマッピングの平均コストの標準偏差は各テストの場合に表１〜表４に示した。各場合にランダムに発生されたマッピングのコストは大量の反復的なマッピングおよび  ＭＲＭアルゴリズムにより得られたマッピングを比較するために基本を提供する。
【００９７】
【表１】
0003606922.tif 000030
【００９８】
前記表（１）はランダムグラフを３−  キュ−ブ（Ｎ  ＝  ８  ）  上に割当てるにおいて、従来のアルゴリズム（ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム、最適化アルゴリズム）によるマッピングのコストと本発明によるマッピングコストを比較して示す。表（１）で  ｏｐｔｉｍａｌ欄は探索アルゴリズムを用いて最適解が得られた３次元ランダムタスクグラフに対して得られた結果の要約を示す。
【００９９】
【表２】
0003606922.tif 000031
【０１００】
前記表（２）はランダムグラフ  ４−  キュ−ブ（Ｎ  ＝  １６）上に割当てるにおいて、従来のアルゴリズム（ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム）によるマッピングのコストと本発明による  ＭＲＭアルゴリズムによるマッピングのコストを比較して見せる。
【０１０１】
【表３】
0003606922.tif 000032
【０１０２】
前記表（３）はランダムグラフを  ５−  キュ−ブ（Ｎ  ＝  ３２）上に割当てるにおいて、従来のアルゴリズム（ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム）によるマッピングのコストと本発明による  ＭＲＭアルゴリズムによるマッピングのコストを比較して示す。
【０１０３】
【表４】
0003606922.tif 000033
【０１０４】
前記表（４）はランダムグラフを６−  キュ−ブ（Ｎ  ＝  ６４）  上に割当てるにおいて、従来のアルゴリズム（  ランダム、グリ−ディアルゴリズム、リカ−シブアルゴリズム）によるマッピングのコストと本発明による  ＭＲＭアルゴリズムによるマッピングのコストを比較して示す。
前記表（１）〜（４）において、前記３種の方法（グリ−ディ、リカ−シブ、ＭＲＭ）全部はランダムに発生されたマッピングよりはるかに優秀なマッピングを発生した。この中でリカ−シブなアルゴリズムにより発生されたマッピングはグリ−ディなアルゴリズムによりマッピングよりやや優秀で、特に  ＭＲＭアルゴリズムにより発生されたマッピングはリカ−シブな方法を含む従来の他の方法よりはるかに優秀であった。即ち、本発明よる  ＭＲＭアルゴリズムは３次元タスクグラフに対して殆ど最適なマッピングを発生した。４，  ５，  ６  次のキュ−ブに対してもそれぞれ表（２）〜表（４）に示した。  ３次キュ−ブ以上で最適マッピングを探索することが実際的でないので表（２）〜表（４）に最適マッピングを示さなかった。この結果から、  ＭＲＭアルゴリズムによるマッピングが  ｎ値が増加する時、グリ−ディおよびリカ−シブアルゴリズムによるマッピングより効果的であることが分かる。
【０１０５】
第２実験は明確に各アルゴリズムの性能を評価するために、各エッジごとに一つの加重値を設定することにより、ある規則的なグラフに対して遂行された。まず、一つのハイパキュ−ブと正確に同形であるタスクグラフ  ＧＨ  を設定した。確かに、  ＧＨ  に対する最適マッピングコスト  Ｃｏ  はハイパキュ−ブのエッジ数と同一である。即ち、  Ｃｏ  ＝  （Ｎ  ｌｏｇ  Ｎ）／２である。その後、  ＧＨ  にランダムエッジを加算しこのエッジがハイパキュ−ブにマッピングされる時に距離  ｄを計算する。エッジが加算されるので、新たなコスト  Ｃｏ  は以前のコスト  Ｃｏ  ＋  ｄ  と同一である。極めて少ないエッジが加算される時、  Ｃｏ  が最適コストであることは確実である。それにもかかわらず、極めて多いエッジが加算される時、Ｃｏ  ベ−スを有する解は常に最適ではない。しかしながら、Ｃｏ  が実際の最適コストと比較してあまり悪くならないことは確かである。ハイパキュ−ブと同形であるサブグラフを有するグラフに対するアルゴリズムのマッピング性能を評価するために、  ＧＨ  からエッジを減算し、その減算されたエッジの全体距離  ｄを計算する。この場合、  Ｃｏ  −  ｄ  は最適に保障される。
【０１０６】
正確に一つまたは二つのエッジをハイパキュ−ブ同形であるグラフに加算したりまたは減算したりすることをシミュレ−トし、そのマッピング結果を記録した。また、規則的なメッシュグラフ上にシミュレ−ションを遂行した。２  ｎ／２    ×２  ｎ／２    メッシュは  ｎ−  ハイパキュ−ブと同形であるサブグラフの  ｎ次元メッシュグラフとして使用された。確かに、２  ｎ／２    ×２  ｎ／２    メッシュに対する最適コストは（２  ｎ／２    −１）２  ｎ／２    ＋２  ｎ／２    （２  ｎ／２    −１）である。その結果は表（５）〜（８）に要約されている。
【０１０７】
【表５】
0003606922.tif 000034
【０１０８】
前記表（５）は規則的なグラフを  ３−  キュ−ブ（Ｎ  ＝  ８  ）に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
【０１０９】
【表６】
0003606922.tif 000035
【０１１０】
前記表（６）は規則的なグラフを４−  キュ−ブ（Ｎ  ＝  １６）に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
【０１１１】
【表７】
0003606922.tif 000036
【０１１２】
記表（７）は規則的なグラフを  ５−  キュ−ブ（Ｎ  ＝  ３２）に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
【０１１３】
【表８】
0003606922.tif 000037
【０１１４】
前記表（８）は規則的なグラフを６−  キュ−ブ（Ｎ＝６４）に割当てるマッピングのコストを本発明によるアルゴリズムの場合と他のアルゴリズムの場合に比較して示したものである。
前記表（５）〜表（８）において、このような結果はグリ−ディアルゴリズムがいずれの種類のグラフ上では良好に遂行されるが、他のグラフでは良好に遂行されないことを示す。リカ−シブマッピングまたは  ＭＲＭアルゴリズムにより発生されたマッピングは  ＡＤＤ１  ，ＡＤＤ２またはメッシュ−グラフに対してグリ−ディアルゴリズムによるものと比較できないほど優秀であった。また、リカ−シブマッピングアルゴリズムはテストされた大部分の規則的なグラフに対する最適解を探した。しかしながら、  ｎが増加する時、本発明による  ＭＲＭアルゴリズムの性能はリカ−シブマッピンアルゴリズムの性能よりさらに向上される。したがって、本発明による  ＭＲＭアルゴリズムにより発生されたマッピングはすべてのテストされた規則的なグラフに対して最適であった。
【０１１５】
以上で調べたように、ランダムおよび規則的なタスクグラフに対する多くの実験を遂行した結果から、本発明によるアルゴリズムがランダムおよび具体的なグラフ全部に対して良好に遂行されたことが分かる。特に、本発明によるアルゴリズムはプロセッサ−の数が増加する時、従来のグリ−ディおよびリカ−シブマッピングアルゴリズムをはるかに越えている。実際的な問題で、タスクグラフは時々規則的であったり、基本的な構造を有している。ところが、本発明によるアルゴリズムはハイパキュ−ブ同形または殆ど同形グラフおよびメッシュのような規則的なグラフに対しても極めて効果的なことを示す。
【０１１６】
【発明の効果】
本発明はハイパキュ−ブの構造を有するマルチコンピュ−タ−に使用して並列プログラムのタスクをそれぞれのプロセッサ−に適合に割当てることにより、マルチコンピュ−タ−の性能を向上させ得る。
【図面の簡単な説明】
【図１】（Ａ）は４個のタスクモジュ−ルより構成されたタスクの例を示したもの、（Ｂ）は２次元ハイパキュ−ブマルチコンピュ−タ−のプロセッサ−構成したもの、（Ｃ）は（Ａ）に示したタスクモジュ−ルを図１（Ｂ）に示したプロセッサ−にマッピング一例（  Ｘ１  ）に示したもの、（Ｄ）は図１（Ａ）に示したタスクモジュ−ルを図１（Ｂ）に示したプロセッサ−にマッピングした他の例（  Ｘ２  ）を示したものである。
【図２】（Ａ），（Ｂ）は二つの３次元ハイパキュ−ブから一つの４次元ハイパキュ−ブを形成する概念を示したものである。
【図３】（Ａ）〜（Ｃ）は本発明による２次元ハイパキュ−ブ、許諾可能なカット    セット  Ｃとそれによるマッピング  Ｘを示した概念図である。
【図４】（Ａ）〜（Ｃ）は独立変数  Ｒ  ＝  １００の時、図３（Ａ）に示した２次元ハイパキュ−ブのタスクグラフを変換したグラフ  Ｇｋ  ＊  とその最大値カットセット  Ｃｋ  ＊  を示したものである。
【図５】本発明によりタスクをプロセッサ−に割当てるマッピングを求める方法を示したフロ−チャ−トである。
【図６】図５に示した変換さけたグラフ  Ｇ＊  で最大値を有するカットセット（マックスカット）を求める方法を示したフロ−チャ−トである。
【図７】図６によるアルゴリズムの動作時間がモジュ−ルの大きさ  Ｎにより変わる特性を示したグラフである。
【図８】本発明によるタスク割当装置を示したブロック図である。
【符号の説明】
８２  グラフ変換部
８４  マキシマムカットセット算出部
８６  部分集合形成部
８８  バイリナ−番号割当部
【図１】
0003606922.tif 000038
【図２】
0003606922.tif 000039
【図３】
0003606922.tif 000040
【図４】
0003606922.tif 000041
【図５】
0003606922.tif 000042
【図６】
0003606922.tif 000043
【図７】
0003606922.tif 000044
【図８】
0003606922.tif 000045