JP3016359B2 - マルチプロセッサシステムにおけるプロセッサ割り当て装置、プロセッサ割り当て方法、およびプロセッサ割り当てプログラムを記憶する媒体 - Google Patents

マルチプロセッサシステムにおけるプロセッサ割り当て装置、プロセッサ割り当て方法、およびプロセッサ割り当てプログラムを記憶する媒体

Info

Publication number
JP3016359B2
JP3016359B2 JP8164246A JP16424696A JP3016359B2 JP 3016359 B2 JP3016359 B2 JP 3016359B2 JP 8164246 A JP8164246 A JP 8164246A JP 16424696 A JP16424696 A JP 16424696A JP 3016359 B2 JP3016359 B2 JP 3016359B2
Authority
JP
Japan
Prior art keywords
task
processor
tasks
communication
parallel
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
Application number
JP8164246A
Other languages
English (en)
Other versions
JPH0997243A (ja
Inventor
雄司 横谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP8164246A priority Critical patent/JP3016359B2/ja
Publication of JPH0997243A publication Critical patent/JPH0997243A/ja
Application granted granted Critical
Publication of JP3016359B2 publication Critical patent/JP3016359B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【発明の属する技術分野】本発明は、マルチプロセッサ
システムにおいて並列に実行される各タスクにプロセッ
サを割り当てるマルチプロセッサシステムにおけるプロ
セッサ割り当て装置、プロセッサ割り当て方法、および
プロセッサ割り当てプログラムを記憶する媒体に関す
る。
【0001】
【従来の技術】マルチプロセッサシステムにおいては、
1つのプログラムの処理を複数のタスクに分割し、それ
らを複数のプロセッサで並列に実行することにより、該
プログラムのターンアラウンドタイムを短縮することが
できる。このようなタスクを並列タスクと呼ぶ。この並
列タスクで構成されたプログラムのターンアラウンドタ
イムを短縮するためには、個々のタスクにプロセッサを
効率良く割り当てることが重要である。
【0002】ところで、1つのプログラムの処理を複数
のタスクに分割して実行する場合には、各タスク間で通
信を行うことが必要であるが、その通信に要するオーバ
ーヘッドを少なくすることも、処理性能を上げるために
は重要である。
【0003】一般的にマルチプロセッサを構成する各プ
ロセッサ間の通信時間は、プロセッサ間の結合方式や、
プロセッサ間の物理的距離によって異なる。
【0004】例えば、共有メモリにより結合された複数
のプロセッサから構成されるノードをさらにネットワー
クで複数結合した構成のマルチプロセッサシステムにお
いては、共有メモリを介したプロセッサ間の通信速度に
比べて、ネットワークを介したプロセッサ間の通信速度
は非常に遅い。
【0005】ハイパーキューブ結合型のマルチプロセッ
サにおいて、並列タスクを構成する各タスクをマルチプ
ロセッサ上で実行させる場合に、各タスクをプロセッサ
間の通信処理のオーバーヘッドを低減するようにシステ
ムのプロセッサに割り当てるスケジューリングの方法が
特開平2−226358号公報に記載されている。
【0006】この方法においては、各タスクの間の関係
を表現するタスクグラフの構造とハイパーキューブの構
造との一致の度合いが最も大きくなるようにタスクをプ
ロセッサに割り当てている。
【0007】
【発明が解決しようとする課題】しかしながら、この方
法を適用することができるマルチプロセッサシステム
は、ハイパーキューブ結合型に限定されており、ほかの
結合方式のマルチプロセッサには適用できないという問
題点がある。
【0008】また、プロセッサ間の通信量に依存して通
信時間が大きく変化するにもかかわらず、タスク間の通
信量を考慮せずにプロセッサを割り当てているため、非
常にタスク間のデータ通信量が多い2つのタスクに、通
信に要する時間が大きい2つのプロセッサを割り当てて
しまった場合に、タスク間の通信時間が非常に長くなっ
てしまうことがあるという問題点がある。
【0009】本発明の目的は、マルチプロセッサシステ
ムにおいて実行される、並列タスクで構成されたプログ
ラムのターンアラウンドタイムを短縮することにある。
【0010】本発明の他の目的は、マルチプロセッサシ
ステムにおいて、並列タスクの各タスクにプロセッサを
割り当てる際に、各タスク間のデータ通信に要する通信
時間が最短になるようにプロセッサを割り当てることに
ある。
【0011】さらに本発明の他の目的は、マルチプロセ
ッサシステムにおいて、並列タスクの各タスクにプロセ
ッサを割り当てる際に、単位データ量あたりのデータ通
信時間が最速のプロセッサを割り当てることにある。
【0012】さらに本発明の他の目的は、タスク間で通
信されるデータ量を自動的に収集することができるよう
にすることにある。
【0013】
【課題を解決するための手段】本発明の第1のマルチプ
ロセッサシステムにおけるプロセッサ割り当て装置は、
複数のタスクを並列に実行することができるマルチプロ
セッサシステムにおいて、前記並列に実行される複数の
タスクの内、未だプロセッサを割り当てられていないタ
スクに対して、割り当てるプロセッサの候補と既にいず
れかのタスクに割り当てられているプロセッサとの間の
データ通信時間が最短となるプロセッサを割り当てるタ
スクスケジュール手段を備えたことを特徴とする。
【0014】本発明の第2のマルチプロセッサシステム
におけるプロセッサ割り当て装置は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間の単位データ当たり
のデータ通信時間が最短となるプロセッサを割り当てる
タスクスケジュール手段を備えたことを特徴とする。
【0015】本発明の第3のマルチプロセッサシステム
におけるプロセッサ割り当て装置は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間の単位データ当たり
のデータ通信時間と、該タスクと既にいずれかのプロセ
ッサが割り当てられている他のタスクとの間で通信を行
うデータ量とを積算してデータ通信に要する通信時間を
求め、該データ通信に要する通信時間が最短となるプロ
セッサを割り当てるタスクスケジュール手段を備えたこ
とを特徴とする。
【0016】本発明の第4のマルチプロセッサシステム
におけるプロセッサ割り当て装置は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記マルチプロセッサにおいて並列に実行され
る複数のタスクが定義されているソースプログラムを翻
訳して目的プログラムを生成するコンパイル手段と、該
並列に実行される複数のタスクのそれぞれが他のタスク
との間で通信するデータ量を記憶するタスク間通信量測
定目的プログラム手段とを備えたことを特徴とする。
【0017】本発明の第5のマルチプロセッサシステム
におけるプロセッサ割り当て装置は、第1および第2の
マルチプロセッサシステムにおけるプロセッサ割り当て
装置において、さらに、前記マルチプロセッサにおいて
並列に実行される複数のタスクが定義されているソース
プログラムを翻訳して目的プログラムを生成するコンパ
イル手段を備えたことを特徴とする。
【0018】本発明の第6のマルチプロセッサシステム
におけるプロセッサ割り当て装置は、第3のマルチプロ
セッサシステムにおけるプロセッサ割り当て装置におい
て、さらに、前記マルチプロセッサにおいて並列に実行
される複数のタスクが定義されているソースプログラム
を翻訳して目的プログラムを生成するコンパイル手段
と、該並列に実行される複数のタスクのそれぞれが他の
タスクとの間で通信するデータ量を記憶するタスク間通
信量測定目的プログラム手段とを備えたことを特徴とす
る。
【0019】本発明の第7のマルチプロセッサシステム
におけるプロセッサ割り当て装置は、第4および第6の
マルチプロセッサシステムにおけるプロセッサ割り当て
装置において、前記タスク間通信量測定目的プログラム
手段が、並列に実行される複数のタスクのそれぞれにつ
いて、該タスク中にタスク間通信命令を探し、該タスク
が該タスク間通信命令によって他のタスクとの間で通信
するデータ量を記憶することを特徴とする。
【0020】本発明の第8のマルチプロセッサシステム
におけるプロセッサ割り当て装置は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、任意の2つのプロセッサ間における単位データ
あたりのデータ通信時間を、該2つのプロセッサ番号の
組で一意となるマトリックスの要素として保持するプロ
セッサ通信コストテーブルと、並列に実行される複数の
タスクのそれぞれのタスク番号と該タスクに割り当てら
れているプロセッサのプロセッサ番号との対応関係を保
持するプロセッサ管理テーブルと、前記マルチプロセッ
サにおいて並列に実行される複数のタスクが定義されて
いるソースプログラムを翻訳して目的プログラムを生成
するコンパイル手段と、前記並列に実行される複数のタ
スクの内、未だプロセッサを割り当てられていないタス
クに対して、割り当てるプロセッサの候補と既にいずれ
かのタスクに割り当てられているプロセッサとの間の単
位データ当たりのデータ通信時間が最短となるプロセッ
サを前記プロセッサ間通信コストテーブルから求めて割
り当てるとともに、該タスクのタスク番号と割り当てた
該プロセッサのプロセッサ番号との対応を前記プロセッ
サ管理テーブルに登録するタスクスケジュール手段とを
備えたことを特徴とする。
【0021】本発明の第9のマルチプロセッサシステム
におけるプロセッサ割り当て装置は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記マルチプロセッサにおいて並列に実行され
る任意の2つのタスク間で通信されるデータ量を、該2
つのタスクのタスク番号の組で一意となるマトリックス
の要素として保持するタスク間通信量テーブルと、任意
の2つのプロセッサ間における単位データあたりのデー
タ通信時間を、該2つのプロセッサ番号の組で一意とな
るマトリックスの要素として保持するプロセッサ通信コ
ストテーブルと、並列に実行される複数のタスクのそれ
ぞれのタスク番号と該タスクに割り当てられているプロ
セッサのプロセッサ番号との対応関係を保持するプロセ
ッサ管理テーブルと、前記マルチプロセッサにおいて並
列に実行される複数のタスクが定義されているソースプ
ログラムを翻訳して目的プログラムを生成するととも
に、該ソースプログラム中に定義されている並列に実行
される複数のタスクについて前記タスク間通信量テーブ
ルを生成し、該並列に実行される複数のタスクのそれぞ
れについて、該タスク中にタスク間通信命令を探し、該
タスクが該タスク間通信命令によって他のタスクとの間
で通信するデータ量を前記タスク間通信量テーブルの対
応するタスク番号の組の要素に加算するコンパイル手段
と、前記並列に実行される複数のタスクの内、未だプロ
セッサを割り当てられていないタスクに対して、割り当
てるプロセッサの候補と既にいずれかのタスクに割り当
てられているプロセッサとの間の単位データ当たりのデ
ータ通信時間を前記プロセッサ間通信コストテーブルか
ら求め、該タスクと既にいずれかのプロセッサが割り当
てられている他のタスクとの間で通信を行うデータ量を
前記タスク間通信量テーブルから求め、該単位データ当
たりのデータ通信時間と該通信を行うデータ量とを積算
してデータ通信に要する通信時間を求め、該データ通信
に要する通信時間が最短となるプロセッサを割り当てる
とともに、該タスクのタスク番号と割り当てた該プロセ
ッサのプロセッサ番号との対応を前記プロセッサ管理テ
ーブルに登録するタスクスケジュール手段とを備えたこ
とを特徴とする。
【0022】本発明の第10のマルチプロセッサシステ
ムにおけるプロセッサ割り当て装置は、複数のタスクを
並列に実行することができるマルチプロセッサシステム
において、前記マルチプロセッサにおいて並列に実行さ
れる任意の2つのタスク間で通信されるデータ量を、該
2つのタスクのタスク番号の組で一意となるマトリック
スの要素として保持するタスク間通信量テーブルと、任
意の2つのプロセッサ間における単位データあたりのデ
ータ通信時間を、該2つのプロセッサ番号の組で一意と
なるマトリックスの要素として保持するプロセッサ通信
コストテーブルと、並列に実行される複数のタスクのそ
れぞれのタスク番号と該タスクに割り当てられているプ
ロセッサのプロセッサ番号との対応関係を保持するプロ
セッサ管理テーブルと、前記マルチプロセッサにおいて
並列に実行される複数のタスクが定義されているソース
プログラムを翻訳して目的プログラムを生成するコンパ
イル手段と、該ソースプログラム中に定義されている並
列に実行される複数のタスクについて前記タスク間通信
量テーブルを生成し、該並列に実行される複数のタスク
のそれぞれについて、該タスク中にタスク間通信命令を
探し、該タスクが該タスク間通信命令によって他のタス
クとの間で通信するデータ量を前記タスク間通信量テー
ブルの対応するタスク番号の組の要素に加算するタスク
間通信量測定目的プログラム手段と、前記並列に実行さ
れる複数のタスクの内、未だプロセッサを割り当てられ
ていないタスクに対して、割り当てるプロセッサの候補
と既にいずれかのタスクに割り当てられているプロセッ
サとの間の単位データ当たりのデータ通信時間を前記プ
ロセッサ間通信コストテーブルから求め、該タスクと既
にいずれかのプロセッサが割り当てられている他のタス
クとの間で通信を行うデータ量を前記タスク間通信量テ
ーブルから求め、該単位データ当たりのデータ通信時間
と該通信を行うデータ量とを積算してデータ通信に要す
る通信時間を求め、該データ通信に要する通信時間が最
短となるプロセッサを割り当てるとともに、該タスクの
タスク番号と割り当てた該プロセッサのプロセッサ番号
との対応を前記プロセッサ管理テーブルに登録するタス
クスケジュール手段とを備えたことを特徴とする。
【0023】本発明の第1のマルチプロセッサシステム
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間のデータ通信時間が
最短となるプロセッサを割り当てるタスクスケジュール
ステップを含むことを特徴とする。
【0024】本発明の第2のマルチプロセッサシステム
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間の単位データ当たり
のデータ通信時間が最短となるプロセッサを割り当てる
タスクスケジュールステップを含むことを特徴とする。
【0025】本発明の第3のマルチプロセッサシステム
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間の単位データ当たり
のデータ通信時間と、該タスクと既にいずれかのプロセ
ッサが割り当てられている他のタスクとの間で通信を行
うデータ量とを積算してデータ通信に要する通信時間を
求め、該データ通信に要する通信時間が最短となるプロ
セッサを割り当てるタスクスケジュールステップを含む
ことを特徴とする。
【0026】本発明の第4のマルチプロセッサシステム
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記マルチプロセッサにおいて並列に実行され
る複数のタスクが定義されているソースプログラムを翻
訳して目的プログラムを生成するコンパイルステップ
と、該並列に実行される複数のタスクのそれぞれが他の
タスクとの間で通信するデータ量を記憶するタスク間通
信量測定目的プログラムステップとを含むことを特徴と
する。
【0027】本発明の第5のマルチプロセッサシステム
におけるプロセッサ割り当て方法は、第1および第2の
マルチプロセッサシステムにおけるプロセッサ割り当て
方法において、さらに、前記マルチプロセッサにおいて
並列に実行される複数のタスクが定義されているソース
プログラムを翻訳して目的プログラムを生成するコンパ
イルステップを含むことを特徴とする。
【0028】本発明の第6のマルチプロセッサシステム
におけるプロセッサ割り当て方法は、第3のマルチプロ
セッサシステムにおけるプロセッサ割り当て方法におい
て、さらに、前記マルチプロセッサにおいて並列に実行
される複数のタスクが定義されているソースプログラム
を翻訳して目的プログラムを生成するコンパイルステッ
プと、該並列に実行される複数のタスクのそれぞれが他
のタスクとの間で通信するデータ量を記憶するタスク間
通信量測定目的プログラムステップとを含むことを特徴
とする。
【0029】本発明の第7のマルチプロセッサシステム
におけるプロセッサ割り当て方法は、第4および第6の
マルチプロセッサシステムにおけるプロセッサ割り当て
方法において、前記タスク間通信量測定目的プログラム
ステップが、並列に実行される複数のタスクのそれぞれ
について、該タスク中にタスク間通信命令を探し、該タ
スクが該タスク間通信命令によって他のタスクとの間で
通信するデータ量を記憶することを特徴とする。
【0030】本発明の第8のマルチプロセッサシステム
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記マルチプロセッサにおいて並列に実行され
る複数のタスクが定義されているソースプログラムを翻
訳して目的プログラムを生成するコンパイルステップ
と、前記並列に実行される複数のタスクの内、未だプロ
セッサを割り当てられていないタスクに対して、割り当
てるプロセッサの候補と既にいずれかのタスクに割り当
てられているプロセッサとの間の単位データ当たりのデ
ータ通信時間が最短となるプロセッサを、任意の2つの
プロセッサ間における単位データあたりのデータ通信時
間を該2つのプロセッサ番号の組で一意となるマトリッ
クスの要素として保持するプロセッサ間通信コストテー
ブルから求めて割り当てるとともに、該タスクのタスク
番号と割り当てた該プロセッサのプロセッサ番号との対
応を、並列に実行される複数のタスクのそれぞれのタス
ク番号と該タスクに割り当てられているプロセッサのプ
ロセッサ番号との対応関係を保持するプロセッサ管理テ
ーブルに登録するタスクスケジュールステップとを含む
ことを特徴とする。
【0031】本発明の第9のマルチプロセッサシステム
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記マルチプロセッサにおいて並列に実行され
る複数のタスクが定義されているソースプログラムを翻
訳して目的プログラムを生成するとともに、該ソースプ
ログラム中に定義されている並列に実行される複数のタ
スクの内、任意の2つのタスク間で通信されるデータ量
を該2つのタスクのタスク番号の組で一意となるマトリ
ックスの要素として保持するタスク間通信量テーブルを
生成し、該並列に実行される複数のタスクのそれぞれに
ついて、該タスク中にタスク間通信命令を探し、該タス
クが該タスク間通信命令によって他のタスクとの間で通
信するデータ量を前記タスク間通信量テーブルの対応す
るタスク番号の組の要素に加算するコンパイルステップ
と、前記並列に実行される複数のタスクの内、未だプロ
セッサを割り当てられていないタスクに対して、割り当
てるプロセッサの候補と既にいずれかのタスクに割り当
てられているプロセッサとの間の単位データ当たりのデ
ータ通信時間を、任意の2つのプロセッサ間における単
位データあたりのデータ通信時間を該2つのプロセッサ
番号の組で一意となるマトリックスの要素として保持す
るプロセッサ間通信コストテーブルから求め、該タスク
と既にいずれかのプロセッサが割り当てられている他の
タスクとの間で通信を行うデータ量を前記タスク間通信
量テーブルから求め、該単位データ当たりのデータ通信
時間と該通信を行うデータ量とを積算してデータ通信に
要する通信時間を求め、該データ通信に要する通信時間
が最短となるプロセッサを割り当てるとともに、該タス
クのタスク番号と割り当てた該プロセッサのプロセッサ
番号との対応を、並列に実行される複数のタスクのそれ
ぞれのタスク番号と該タスクに割り当てられているプロ
セッサのプロセッサ番号との対応関係を保持するプロセ
ッサ管理テーブルに登録するタスクスケジュールステッ
プとを含むことを特徴とする。
【0032】本発明の第10のマルチプロセッサシステ
ムにおけるプロセッサ割り当て方法は、複数のタスクを
並列に実行することができるマルチプロセッサシステム
において、前記マルチプロセッサにおいて並列に実行さ
れる複数のタスクが定義されているソースプログラムを
翻訳して目的プログラムを生成するコンパイルステップ
と、該ソースプログラム中に定義されている並列に実行
される複数のタスクの内、任意の2つのタスク間で通信
されるデータ量を該2つのタスクのタスク番号の組で一
意となるマトリックスの要素として保持するタスク間通
信量テーブルを生成し、該並列に実行される複数のタス
クのそれぞれについて、該タスク中にタスク間通信命令
を探し、該タスクが該タスク間通信命令によって他のタ
スクとの間で通信するデータ量を前記タスク間通信量テ
ーブルの対応するタスク番号の組の要素に加算するタス
ク間通信量測定目的プログラムステップと、前記並列に
実行される複数のタスクの内、未だプロセッサを割り当
てられていないタスクに対して、割り当てるプロセッサ
の候補と既にいずれかのタスクに割り当てられているプ
ロセッサとの間の単位データ当たりのデータ通信時間
を、任意の2つのプロセッサ間における単位データあた
りのデータ通信時間を該2つのプロセッサ番号の組で一
意となるマトリックスの要素として保持するプロセッサ
間通信コストテーブルから求め、該タスクと既にいずれ
かのプロセッサが割り当てられている他のタスクとの間
で通信を行うデータ量を前記タスク間通信量テーブルか
ら求め、該単位データ当たりのデータ通信時間と該通信
を行うデータ量とを積算してデータ通信に要する通信時
間を求め、該データ通信に要する通信時間が最短となる
プロセッサを割り当てるとともに、該タスクのタスク番
号と割り当てた該プロセッサのプロセッサ番号との対応
を、並列に実行される複数のタスクのそれぞれのタスク
番号と該タスクに割り当てられているプロセッサのプロ
セッサ番号との対応関係を保持するプロセッサ管理テー
ブルに登録するタスクスケジュールステップとを含むこ
とを特徴とする。
【0033】
【0034】
【0035】
【0036】
【0037】
【0038】
【0039】
【0040】
【0041】
【0042】
【0043】
【発明の実施の形態】以下本発明の実施例について、図
を参照しながら詳細に説明する。
【0044】図1を参照すると、本発明の第1の実施例
であるマルチプロセッサシステムにおけるプロセッサ割
り当て装置は、マルチプロセッサシステム8を構成する
複数のプロセッサ9a、9b、および9cと、並列タス
クで構成されるプログラムのソースプログラム1と、該
ソースプログラム1をコンパイルするコンパイラ2a
と、コンパイラ2aによって生成される目的プログラム
3と、コンパイラ2aによって生成され、並列タスクの
各タスク間の通信処理のデータ量を保持するタスク間通
信量テーブル4と、並列タスクの各タスクにプロセッサ
を割り当てるタスクスケジューラ5と、マルチプロセッ
サシステム8の全プロセッサの組における単位データ当
たりのデータ通信時間を定義するプロセッサ通信コスト
テーブル6と、タスクと該タスクに割り当てられている
プロセッサとの対応関係を保持するプロセッサ管理テー
ブル7とから構成されている。
【0045】図2を参照すると、プロセッサ通信コスト
テーブル6には、マルチプロセッサシステム8がN個の
プロセッサから構成されている場合、各プロセッサに1
からNまでのプロセッサ番号を割り当てておき、i行j
列の要素がプロセッサiとプロセッサjの間の単位デー
タ量あたりのデータ通信時間をN×Nの2次元配列で予
め設定する。
【0046】次に本発明の第1の実施例の動作につい
て、図1〜図4、図6、および図7を参照して説明す
る。
【0047】まずコンパイラ2aの処理について以下に
説明する。
【0048】コンパイラ2aは、並列タスクによる処理
を含むソースプログラム1を入力・翻訳して(ステップ
71)、目的プログラム3を生成する(ステップ72)
とともに、該プログラム中に定義されている並列タスク
についてタスク間通信量テーブル4を生成する(ステッ
プ73)。
【0049】図3を参照すると、タスク間通信量テーブ
ル4は、並列タスクの各タスク間で行われる通信処理の
データ量を保持し、並列タスクを構成するタスクの数を
Nとした場合、N×Nの2次元配列で表される。
【0050】コンパイラ2aは、タスク間通信量テーブ
ル4を生成した後、該タスク間通信量テーブル4の各要
素を以下の手順で設定する。
【0051】まずコンパイラ2aは、並列タスクを構成
する各タスクに1からNまでタスク番号を割り当てる
(ステップ74)。
【0052】次にコンパイラ2aは、タスク通信量テー
ブル4の各要素を初期化する(ステップ75)。
【0053】さらにコンパイラ2aは、各タスク中のタ
スク間通信命令を探し、該タスクが通信先の他のタスク
と通信するデータ量をタスク間通信量テーブル4の対応
するタスク番号の組の要素に加算する(ステップ7
6)。例えば、タスク番号iのタスク中にタスクjとの
間で大きさsj のデータを転送するタスク間通信命令が
あったならば、タスク間通信量テーブル4のi行j列の
要素にsj を加算する。この処理を全タスクに対して行
うことにより、タスク間通信量テーブル4が完成する
(ステップ77)。
【0054】次に、並列タスクで構成される目的プログ
ラム3を実行する際、タスクスケジューラ5が各タスク
にマルチプロセッサシステム8の各プロセッサを割り当
てる処理について以下に説明する。
【0055】図4を参照すると、プロセッサ管理テーブ
ル7は、タスクと該タスクに割り当てられているプロセ
ッサとの対応関係を保持する。プロセッサが未だいずれ
のタスクにも割り当てられていない初期状態において、
すべてのタスク番号の欄を初期化する。
【0056】タスクスケジューラ5は、タスク番号iの
タスクにプロセッサを割り当てる場合、まずプロセッサ
管理テーブル7を参照し、いずれのタスクにも割り当て
られていないプロセッサのプロセッサ番号の集合pと、
いずれかのタスクに割り当てられているプロセッサのプ
ロセッサ番号の集合Pを求める(ステップ78)。
【0057】次にタスクスケジューラ5は、タスク番号
iのタスクに集合pに属するいずれかのプロセッサを割
り当てるために、集合pのすべてのプロセッサ(プロセ
ッサ番号をnとする)について、図6に示す式の値を求
める。
【0058】図6の式において、mは集合Pに属するプ
ロセッサのプロセッサ番号である。Cmnはプロセッサ間
通信コストテーブル6から求めたプロセッサ番号がmと
nのプロセッサ間の単位データ当たりのデータ通信時間
である。Mj(m)i はプロセッサ管理テーブル7から求め
たプロセッサ番号mのプロセッサが割り当てられている
タスクのタスク番号j(m) とタスク番号iのタスクにつ
いて、タスク間通信量テーブル4から求めたタスク間の
通信処理のデータ量である。
【0059】すなわちこの図6の式は、プロセッサ間の
単位データ当たりのデータ通信時間とタスク間通信を行
うデータ量を積算することにより、タスク間のデータ通
信に要する通信時間を求めるものである。
【0060】タスクスケジューラ5は、この図6の式の
計算を行い(ステップ79)、求められる値、すなわち
タスク間のデータ通信に要する通信時間が、最小となる
プロセッサを集合pから求めて(ステップ7A)、求め
たプロセッサをタスクiに割り当て(ステップ7B)、
さらにプロセッサ管理テーブル7の該プロセッサのプロ
セッサ番号nに対応するタスク番号としてiを設定する
(ステップ7C)。
【0061】以上により、本発明の第1の実施例である
マルチプロセッサシステムにおけるプロセッサ割り当て
装置の処理が終了する。
【0062】なお、プロセッサを割り当てられたタスク
は、オペレーティングシステムによって実行される。
【0063】本発明の第1の実施例であるマルチプロセ
ッサシステムにおけるプロセッサ割り当て装置によれ
ば、マルチプロセッサシステムにおいて、並列タスクの
各タスクにプロセッサを割り当てる際に、各タスク間の
データ通信に要する通信時間が最短になるようにプロセ
ッサを割り当てることができる効果を有している。
【0064】また第2の実施例として、タスクスケジュ
ーラ5の処理を、第1の実施例のようにタスク間のデー
タ通信に要する通信時間が最小となるプロセッサをタス
クiに割り当てるのではなく、いずれのタスクにも割り
当てられていないプロセッサのプロセッサ番号の集合p
の内、すでにいずれかのタスクに割り当てられているプ
ロセッサのプロセッサ番号の集合Pとの間で、単位デー
タ当たりのデータ通信時間が最速となるプロセッサをプ
ロセッサ間通信コストテーブル6から求めるようにする
こともできる。
【0065】この第2の実施例であるマルチプロセッサ
システムにおけるプロセッサ割り当て装置によれば、マ
ルチプロセッサシステムにおいて、並列タスクの各タス
クにプロセッサを割り当てる際に、単位データ量あたり
のデータ通信時間が最速のプロセッサを割り当てること
ができる効果を有している。
【0066】また第3の実施例として、第1の実施例の
ようにタスク間通信量テーブル4をコンパイラ2aが生
成するのではなく、コンパイラ2aが並列タスクのソー
スプログラム1の翻訳時にタスク間通信量を測定するタ
スク間通信量測定目的プログラムを生成するようにし
て、該タスク間通信量測定目的プログラムがタスク間通
信量テーブル4を生成するようにすることもできる。
【0067】図5を参照すると、第3の実施例であるマ
ルチプロセッサシステムにおけるプロセッサ割り当て装
置は、第1の実施例の構成に加えてコンパイラ2bとタ
スク間通信量測定目的プログラム10を備えている。
【0068】次に本発明の第3の実施例の動作につい
て、図5、図8を参照して説明する。
【0069】第1の実施例と相違する点は、コンパイラ
2bとタスク間通信量測定目的プログラム10の処理の
みであるため、以下にはその点についてのみ説明する。
【0070】コンパイラ2bは、並列タスクによる処理
を含むソースプログラム1を入力・翻訳して(ステップ
81)、目的プログラム3を生成する(ステップ82)
とともに、タスク間通信量測定目的プログラム10を生
成する(ステップ83)。
【0071】タスク間通信量測定目的プログラム10
は、目的プログラム3のタスク間通信を行う部分に、そ
のタスク間通信におけるタスク番号と、通信するデータ
の大きさをタスク間通信量テーブル4に登録するような
処理を付加した目的プログラムである。以下にタスク間
通信量測定目的プログラム10の動作を説明する。
【0072】まずタスク間通信量測定目的プログラム1
0は、目的プログラム3のタスク数をNとした場合、最
初にN×Nの2次元配列としてタスク間通信量テーブル
4を生成し(ステップ84)、各要素を初期化する(ス
テップ85)。
【0073】次にタスク間通信量測定目的プログラム1
0は、タスク間通信を行うごとに、該通信を行うタスク
のタスク番号と通信先のタスクのタスク番号を取り出し
(ステップ86)、タスク間通信量テーブル4内の該タ
スク番号の組の位置に、該タスク間通信で転送するデー
タ量を加算する(ステップ87)。タスク間通信量測定
プログラム10の実行が終了すると、タスク間通信量テ
ーブル4が完成する。
【0074】以上により、本発明の第3の実施例である
マルチプロセッサシステムにおけるプロセッサ割り当て
方法の処理が終了する。
【0075】本発明の第3の実施例であるマルチプロセ
ッサシステムにおけるプロセッサ割り当て装置によれ
ば、タスク間通信を行うタスク間で通信されるデータ量
を自動的に収集することができる効果を有している。
【0076】なお、本発明の効果は、特にマルチプロセ
ッサシステム全体で発生するタスク数に比べてプロセッ
サ数が大きい場合に発揮される。さらに、プロセッサ間
の結合方式や物理的距離が異なるハイパーキューブ結合
型のようなマルチプロセッサシステムにおいて、特に効
果が発揮される。
【0077】
【発明の効果】以上説明したように、本発明のマルチプ
ロセッサシステムにおけるプロセッサ割り当て装置、プ
ロセッサ割り当て方法、およびプロセッサ割り当てプロ
グラムを記憶する媒体によれば、マルチプロセッサシス
テムにおいて並列タスクで構成されたプログラムのター
ンアラウンドタイムを短縮することができる効果を有し
ている。
【0078】また、マルチプロセッサシステムにおい
て、並列タスクの各タスクにプロセッサを割り当てる際
に、各タスク間のデータ通信に要する通信時間が最短に
なるようにプロセッサを割り当てることができる効果を
有している。
【0079】さらに、マルチプロセッサシステムにおい
て、並列タスクの各タスクにプロセッサを割り当てる際
に、単位データ量あたりのデータ通信時間が最速のプロ
セッサを割り当てることができる効果を有している。
【0080】さらに、タスク間通信を行うタスク間で通
信されるデータ量を自動的に収集することができる効果
を有している。
【図面の簡単な説明】
【図1】図1は、本発明の第1、第2の実施例であるマ
ルチプロセッサシステムにおけるプロセッサ割り当て方
法を適用したマルチプロセッサシステムの構成を示すブ
ロック図である。
【図2】図2は、本発明の第1〜第3の実施例における
プロセッサ通信コストテーブル6の内容を示す図であ
る。
【図3】図3は、本発明の第1〜第3の実施例における
タスク間通信量テーブル4の内容を示す図である。
【図4】図4は、本発明の第1〜第3の実施例における
プロセッサ管理テーブル7の内容を示す図である。
【図5】図5は、本発明の第3の実施例であるマルチプ
ロセッサシステムにおけるプロセッサ割り当て方法を適
用したマルチプロセッサシステムの構成を示すブロック
図である。
【図6】図6は、本発明の第1の実施例におけるタスク
スケジューラ5によるプロセッサの割り当て処理に用い
られる計算式を示す図である。
【図7】図7は、本発明の第1の実施例におけるコンパ
イラ2aとタスクスケジューラ5の処理を示す流れ図で
ある。
【図8】図8は、本発明の第3の実施例におけるコンパ
イラ2bとタスク間通信量測定目的プログラム10の処
理を示す流れ図である。
【符号の説明】
1 ソースプログラム 2a コンパイラ 2b コンパイラ 3 目的プログラム 4 タスク間通信量テーブル 5 タスクスケジューラ 6 プロセッサ通信コストテーブル 7 プロセッサ管理テーブル 8 マルチプロセッサシステム 9a プロセッサ 9b プロセッサ 9c プロセッサ 10 タスク間通信量測定目的プログラム
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/177 674 G06F 9/46 360

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のタスクを並列に実行することがで
    きるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間のデータ通信時間が最短とな
    るプロセッサを割り当てるタスクスケジュール手段を備
    えたことを特徴とするマルチプロセッサシステムにおけ
    るプロセッサ割り当て装置。
  2. 【請求項2】 複数のタスクを並列に実行することがで
    きるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間の単位データ当たりのデータ
    通信時間が最短となるプロセッサを割り当てるタスクス
    ケジュール手段を備えたことを特徴とするマルチプロセ
    ッサシステムにおけるプロセッサ割り当て装置。
  3. 【請求項3】 複数のタスクを並列に実行することがで
    きるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間の単位データ当たりのデータ
    通信時間と、 該タスクと既にいずれかのプロセッサが割り当てられて
    いる他のタスクとの間で通信を行うデータ量とを積算し
    てデータ通信に要する通信時間を求め、該データ通信に
    要する通信時間が最短となるプロセッサを割り当てるタ
    スクスケジュール手段とを備えたことを特徴とするマル
    チプロセッサシステムにおけるプロセッサ割り当て装
    置。
  4. 【請求項4】 複数のタスクを並列に実行することがで
    きるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される複数の
    タスクが定義されているソースプログラムを翻訳して目
    的プログラムを生成するコンパイル手段と、 該並列に実行される複数のタスクのそれぞれが他のタス
    クとの間で通信するデータ量を記憶するタスク間通信量
    測定目的プログラム手段とを備えたことを特徴とするマ
    ルチプロセッサシステムにおけるプロセッサ割り当て装
    置。
  5. 【請求項5】 さらに、前記マルチプロセッサにおいて
    並列に実行される複数のタスクが定義されているソース
    プログラムを翻訳して目的プログラムを生成するコンパ
    イル手段を備えたことを特徴とする請求項1および請求
    項2記載のマルチプロセッサシステムにおけるプロセッ
    サ割り当て装置。
  6. 【請求項6】 さらに、前記マルチプロセッサにおいて
    並列に実行される複数のタスクが定義されているソース
    プログラムを翻訳して目的プログラムを生成するコンパ
    イル手段と、 該並列に実行される複数のタスクのそれぞれが他のタス
    クとの間で通信するデータ量を記憶するタスク間通信量
    測定目的プログラム手段とを備えたことを特徴とする請
    求項3記載のマルチプロセッサシステムにおけるプロセ
    ッサ割り当て装置。
  7. 【請求項7】 前記タスク間通信量測定目的プログラム
    手段が、並列に実行される複数のタスクのそれぞれにつ
    いて、該タスク中にタスク間通信命令を探し、該タスク
    が該タスク間通信命令によって他のタスクとの間で通信
    するデータ量を記憶することを特徴とする請求項4よび
    請求項6記載のマルチプロセッサシステムにおけるプロ
    セッサ割り当て装置。
  8. 【請求項8】 複数のタスクを並列に実行することがで
    きるマルチプロセッサシステムにおいて、 任意の2つのプロセッサ間における単位データあたりの
    データ通信時間を、該2つのプロセッサ番号の組で一意
    となるマトリックスの要素として保持するプロセッサ通
    信コストテーブルと、 並列に実行される複数のタスクのそれぞれのタスク番号
    と該タスクに割り当てられているプロセッサのプロセッ
    サ番号との対応関係を保持するプロセッサ管理テーブル
    と、 前記マルチプロセッサにおいて並列に実行される複数の
    タスクが定義されているソースプログラムを翻訳して目
    的プログラムを生成するコンパイル手段と、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間の単位データ当たりのデータ
    通信時間が最短となるプロセッサを前記プロセッサ間通
    信コストテーブルから求めて割り当てるとともに、該タ
    スクのタスク番号と割り当てた該プロセッサのプロセッ
    サ番号との対応を前記プロセッサ管理テーブルに登録す
    るタスクスケジュール手段とを備えたことを特徴とする
    マルチプロセッサシステムにおけるプロセッサ割り当て
    装置。
  9. 【請求項9】 複数のタスクを並列に実行することがで
    きるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される任意の
    2つのタスク間で通信されるデータ量を、該2つのタス
    クのタスク番号の組で一意となるマトリックスの要素と
    して保持するタスク間通信量テーブルと、 任意の2つのプロセッサ間における単位データあたりの
    データ通信時間を、該2つのプロセッサ番号の組で一意
    となるマトリックスの要素として保持するプロセッサ通
    信コストテーブルと、 並列に実行される複数のタスクのそれぞれのタスク番号
    と該タスクに割り当てられているプロセッサのプロセッ
    サ番号との対応関係を保持するプロセッサ管理テーブル
    と、 前記マルチプロセッサにおいて並列に実行される複数の
    タスクが定義されているソースプログラムを翻訳して目
    的プログラムを生成するとともに、該ソースプログラム
    中に定義されている並列に実行される複数のタスクにつ
    いて前記タスク間通信量テーブルを生成し、該並列に実
    行される複数のタスクのそれぞれについて、該タスク中
    にタスク間通信命令を探し、該タスクが該タスク間通信
    命令によって他のタスクとの間で通信するデータ量を前
    記タスク間通信量テーブルの対応するタスク番号の組の
    要素に加算するコンパイル手段と、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間の単位データ当たりのデータ
    通信時間を前記プロセッサ間通信コストテーブルから求
    め、該タスクと既にいずれかのプロセッサが割り当てら
    れている他のタスクとの間で通信を行うデータ量を前記
    タスク間通信量テーブルから求め、該単位データ当たり
    のデータ通信時間と該通信を行うデータ量とを積算して
    データ通信に要する通信時間を求め、該データ通信に要
    する通信時間が最短となるプロセッサを割り当てるとと
    もに、該タスクのタスク番号と割り当てた該プロセッサ
    のプロセッサ番号との対応を前記プロセッサ管理テーブ
    ルに登録するタスクスケジュール手段とを備えたことを
    特徴とするマルチプロセッサシステムにおけるプロセッ
    サ割り当て装置。
  10. 【請求項10】 複数のタスクを並列に実行することが
    できるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される任意の
    2つのタスク間で通信されるデータ量を、該2つのタス
    クのタスク番号の組で一意となるマトリックスの要素と
    して保持するタスク間通信量テーブルと、 任意の2つのプロセッサ間における単位データあたりの
    データ通信時間を、該2つのプロセッサ番号の組で一意
    となるマトリックスの要素として保持するプロセッサ通
    信コストテーブルと、 並列に実行される複数のタスクのそれぞれのタスク番号
    と該タスクに割り当てられているプロセッサのプロセッ
    サ番号との対応関係を保持するプロセッサ管理テーブル
    と、 前記マルチプロセッサにおいて並列に実行される複数の
    タスクが定義されているソースプログラムを翻訳して目
    的プログラムを生成するコンパイル手段と、 該ソースプログラム中に定義されている並列に実行され
    る複数のタスクについて前記タスク間通信量テーブルを
    生成し、該並列に実行される複数のタスクのそれぞれに
    ついて、該タスク中にタスク間通信命令を探し、該タス
    クが該タスク間通信命令によって他のタスクとの間で通
    信するデータ量を前記タスク間通信量テーブルの対応す
    るタスク番号の組の要素に加算するタスク間通信量測定
    目的プログラム手段と、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間の単位データ当たりのデータ
    通信時間を前記プロセッサ間通信コストテーブルから求
    め、該タスクと既にいずれかのプロセッサが割り当てら
    れている他のタスクとの間で通信を行うデータ量を前記
    タスク間通信量テーブルから求め、該単位データ当たり
    のデータ通信時間と該通信を行うデータ量とを積算して
    データ通信に要する通信時間を求め、該データ通信に要
    する通信時間が最短となるプロセッサを割り当てるとと
    もに、該タスクのタスク番号と割り当てた該プロセッサ
    のプロセッサ番号との対応を前記プロセッサ管理テーブ
    ルに登録するタスクスケジュール手段とを備えたことを
    特徴とするマルチプロセッサシステムにおけるプロセッ
    サ割り当て装置。
  11. 【請求項11】 複数のタスクを並列に実行することが
    できるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間のデータ通信時間が最短とな
    るプロセッサを割り当てるタスクスケジュールステップ
    を含むことを特徴とするマルチプロセッサシステムにお
    けるプロセッサ割り当て方法。
  12. 【請求項12】 複数のタスクを並列に実行することが
    できるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間の単位データ当たりのデータ
    通信時間が最短となるプロセッサを割り当てるタスクス
    ケジュールステップを含むことを特徴とするマルチプロ
    セッサシステムにおけるプロセッサ割り当て方法。
  13. 【請求項13】 複数のタスクを並列に実行することが
    できるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間の単位データ当たりのデータ
    通信時間と、 該タスクと既にいずれかのプロセッサが割り当てられて
    いる他のタスクとの間で通信を行うデータ量とを積算し
    てデータ通信に要する通信時間を求め、該データ通信に
    要する通信時間が最短となるプロセッサを割り当てるタ
    スクスケジュールステップとを含むことを特徴とするマ
    ルチプロセッサシステムにおけるプロセッサ割り当て方
    法。
  14. 【請求項14】 複数のタスクを並列に実行することが
    できるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される複数の
    タスクが定義されているソースプログラムを翻訳して目
    的プログラムを生成するコンパイルステップと、 該並列に実行される複数のタスクのそれぞれが他のタス
    クとの間で通信するデータ量を記憶するタスク間通信量
    測定目的プログラムステップとを含むことを特徴とする
    マルチプロセッサシステムにおけるプロセッサ割り当て
    方法。
  15. 【請求項15】 さらに、前記マルチプロセッサにおい
    て並列に実行される複数のタスクが定義されているソー
    スプログラムを翻訳して目的プログラムを生成するコン
    パイルステップを含むことを特徴とする請求項11およ
    び請求項12記載のマルチプロセッサシステムにおける
    プロセッサ割り当て方法。
  16. 【請求項16】 さらに、前記マルチプロセッサにおい
    て並列に実行される複数のタスクが定義されているソー
    スプログラムを翻訳して目的プログラムを生成するコン
    パイルステップと、 該並列に実行される複数のタスクのそれぞれが他のタス
    クとの間で通信するデータ量を記憶するタスク間通信量
    測定目的プログラムステップとを含むことを特徴とする
    請求項13記載のマルチプロセッサシステムにおけるプ
    ロセッサ割り当て方法。
  17. 【請求項17】 前記タスク間通信量測定目的プログラ
    ムステップが、並列に実行される複数のタスクのそれぞ
    れについて、該タスク中にタスク間通信命令を探し、該
    タスクが該タスク間通信命令によって他のタスクとの間
    で通信するデータ量を記憶することを特徴とする請求項
    14および請求項16記載のマルチプロセッサシステム
    におけるプロセッサ割り当て方法。
  18. 【請求項18】 複数のタスクを並列に実行することが
    できるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される複数の
    タスクが定義されているソースプログラムを翻訳して目
    的プログラムを生成するコンパイルステップと、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間の単位データ当たりのデータ
    通信時間が最短となるプロセッサを、任意の2つのプロ
    セッサ間における単位データあたりのデータ通信時間を
    該2つのプロセッサ番号の組で一意となるマトリックス
    の要素として保持するプロセッサ間通信コストテーブル
    から求めて割り当てるとともに、該タスクのタスク番号
    と割り当てた該プロセッサのプロセッサ番号との対応
    を、並列に実行される複数のタスクのそれぞれのタスク
    番号と該タスクに割り当てられているプロセッサのプロ
    セッサ番号との対応関係を保持するプロセッサ管理テー
    ブルに登録するタスクスケジュールステップとを含むこ
    とを特徴とするマルチプロセッサシステムにおけるプロ
    セッサ割り当て方法。
  19. 【請求項19】 複数のタスクを並列に実行することが
    できるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される複数の
    タスクが定義されているソースプログラムを翻訳して目
    的プログラムを生成するとともに、該ソースプログラム
    中に定義されている並列に実行される複数のタスクの
    内、任意の2つのタスク間で通信されるデータ量を該2
    つのタスクのタスク番号の組で一意となるマトリックス
    の要素として保持するタスク間通信量テーブルを生成
    し、該並列に実行される複数のタスクのそれぞれについ
    て、該タスク中にタスク間通信命令を探し、該タスクが
    該タスク間通信命令によって他のタスクとの間で通信す
    るデータ量を前記タスク間通信量テーブルの対応するタ
    スク番号の組の要素に加算するコンパイルステップと、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間の単位データ当たりのデータ
    通信時間を、任意の2つのプロセッサ間における単位デ
    ータあたりのデータ通信時間を該2つのプロセッサ番号
    の組で一意となるマトリックスの要素として保持するプ
    ロセッサ間通信コストテーブルから求め、該タスクと既
    にいずれかのプロセッサが割り当てられている他のタス
    クとの間で通信を行うデータ量を前記タスク間通信量テ
    ーブルから求め、該単位データ当たりのデータ通信時間
    と該通信を行うデータ量とを積算してデータ通信に要す
    る通信時間を求め、該データ通信に要する通信時間が最
    短となるプロセッサを割り当てるとともに、該タスクの
    タスク番号と割り当てた該プロセッサのプロセッサ番号
    との対応を、並列に実行される複数のタスクのそれぞれ
    のタスク番号と該タスクに割り当てられているプロセッ
    サのプロセッサ番号との対応関係を保持するプロセッサ
    管理テーブルに登録するタスクスケジュールステップと
    を含むことを特徴とするマルチプロセッサシステムにお
    けるプロセッサ割り当て方法。
  20. 【請求項20】 複数のタスクを並列に実行することが
    できるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される複数の
    タスクが定義されているソースプログラムを翻訳して目
    的プログラムを生成するコンパイルステップと、 該ソースプログラム中に定義されている並列に実行され
    る複数のタスクの内、任意の2つのタスク間で通信され
    るデータ量を該2つのタスクのタスク番号の組で一意と
    なるマトリックスの要素として保持するタスク間通信量
    テーブルを生成し、該並列に実行される複数のタスクの
    それぞれについて、該タスク中にタスク間通信命令を探
    し、該タスクが該タスク間通信命令によって他のタスク
    との間で通信するデータ量を前記タスク間通信量テーブ
    ルの対応するタスク番号の組の要素に加算するタスク間
    通信量測定目的プログラムステップと、 前記並列に実行される複数のタスクの内、未だプロセッ
    サを割り当てられていないタスクに対して、割り当てる
    プロセッサの候補と既にいずれかのタスクに割り当てら
    れているプロセッサとの間の単位データ当たりのデータ
    通信時間を、任意の2つのプロセッサ間における単位デ
    ータあたりのデータ通信時間を該2つのプロセッサ番号
    の組で一意となるマトリックスの要素として保持するプ
    ロセッサ間通信コストテーブルから求め、該タスクと既
    にいずれかのプロセッサが割り当てられている他のタス
    クとの間で通信を行うデータ量を前記タスク間通信量テ
    ーブルから求め、該単位データ当たりのデータ通信時間
    と該通信を行うデータ量とを積算してデータ通信に要す
    る通信時間を求め、該データ通信に要する通信時間が最
    短となるプロセッサを割り当てるとともに、該タスクの
    タスク番号と割り当てた該プロセッサのプロセッサ番号
    との対応を、並列に実行される複数のタスクのそれぞれ
    のタスク番号と該タスクに割り当てられているプロセッ
    サのプロセッサ番号との対応関係を保持するプロセッサ
    管理テーブルに登録するタスクスケジュールステップと
    を含むことを特徴とするマルチプロセッサシステムにお
    けるプロセッサ割り当て方法。
JP8164246A 1995-07-21 1996-06-25 マルチプロセッサシステムにおけるプロセッサ割り当て装置、プロセッサ割り当て方法、およびプロセッサ割り当てプログラムを記憶する媒体 Expired - Fee Related JP3016359B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8164246A JP3016359B2 (ja) 1995-07-21 1996-06-25 マルチプロセッサシステムにおけるプロセッサ割り当て装置、プロセッサ割り当て方法、およびプロセッサ割り当てプログラムを記憶する媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP18454995 1995-07-21
JP7-184549 1995-07-21
JP8164246A JP3016359B2 (ja) 1995-07-21 1996-06-25 マルチプロセッサシステムにおけるプロセッサ割り当て装置、プロセッサ割り当て方法、およびプロセッサ割り当てプログラムを記憶する媒体

Publications (2)

Publication Number Publication Date
JPH0997243A JPH0997243A (ja) 1997-04-08
JP3016359B2 true JP3016359B2 (ja) 2000-03-06

Family

ID=26489429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8164246A Expired - Fee Related JP3016359B2 (ja) 1995-07-21 1996-06-25 マルチプロセッサシステムにおけるプロセッサ割り当て装置、プロセッサ割り当て方法、およびプロセッサ割り当てプログラムを記憶する媒体

Country Status (1)

Country Link
JP (1) JP3016359B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5100246B2 (ja) * 2007-08-09 2012-12-19 三菱電機株式会社 シミュレーション装置及びシミュレーション方法
JP4629768B2 (ja) 2008-12-03 2011-02-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 並列化処理方法、システム、及びプログラム
KR101926464B1 (ko) * 2012-10-11 2018-12-07 삼성전자 주식회사 멀티코어 프로세서에서 수행되는 프로그램의 컴파일 방법, 멀티코어 프로세서의 태스크 매핑 방법 및 태스크 스케줄링 방법
KR20220034520A (ko) * 2020-09-11 2022-03-18 삼성전자주식회사 프로세싱 장치, 컴퓨팅 장치, 및 프로세싱 장치의 동작 방법

Also Published As

Publication number Publication date
JPH0997243A (ja) 1997-04-08

Similar Documents

Publication Publication Date Title
Ahuja et al. Matching language and hardware for parallel computation in the Linda machine
CA2181099C (en) Method and means for scheduling parallel processors
US5339429A (en) Parallel processing system and compiling method used therefor
US9038088B2 (en) Load balancing on hetrogenous processing cluster based on exceeded load imbalance factor threshold determined by total completion time of multiple processing phases
JP2738692B2 (ja) 並列化コンパイル方法
Cierniak et al. Compile-time scheduling algorithms for a heterogeneous network of workstations
EP0540680A1 (en) System for high-level virtual computer with heterogeneous operating systems
Shu et al. Chare kernel—a runtime support system for parallel computations
US7983890B2 (en) Method and apparatus performing automatic mapping for a multi-processor system
JP3016359B2 (ja) マルチプロセッサシステムにおけるプロセッサ割り当て装置、プロセッサ割り当て方法、およびプロセッサ割り当てプログラムを記憶する媒体
US20040093477A1 (en) Scalable parallel processing on shared memory computers
Eigenmann et al. Cedar Fortrand its compiler
Ma et al. A dynamic load balancer for a parallel branch and bound algorithm
Helal et al. Commanalyzer: Automated estimation of communication cost and scalability on hpc clusters from sequential code
Haines Distributed runtime support for task and data management
Fimmel Generation of scheduling functions supporting LSGP-partitioning
Orlando et al. SUPPLE: an efficient run-time support for non-uniform parallel loops
Rühl Evaluation of compiler generated parallel programs on three multicomputers
Zhou et al. Very fast distributed spreadsheet computing
Yang et al. Executing scheduled task graphs on message-passing architectures
Krishnaswamy et al. The Linda Machine
Jiao Parallel Sparse Gaussian Elimination with Partial Pivoting and 2-D Data Mapping
JP3239963B2 (ja) マルチ・プロセッサ計算機システム
Orlando et al. SUPPLE: an E cient Run {Time Support for Non {Uniform Parallel Loops
MacDonald et al. Issues in Parallel Programming Environments1

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19991124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071224

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees