JPH0997243A - マルチプロセッサシステムにおけるプロセッサ割り当て装置、プロセッサ割り当て方法、およびプロセッサ割り当てプログラムを記憶する媒体 - Google Patents
マルチプロセッサシステムにおけるプロセッサ割り当て装置、プロセッサ割り当て方法、およびプロセッサ割り当てプログラムを記憶する媒体Info
- Publication number
- JPH0997243A JPH0997243A JP8164246A JP16424696A JPH0997243A JP H0997243 A JPH0997243 A JP H0997243A JP 8164246 A JP8164246 A JP 8164246A JP 16424696 A JP16424696 A JP 16424696A JP H0997243 A JPH0997243 A JP H0997243A
- 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.)
- Granted
Links
Landscapes
- Multi Processors (AREA)
Abstract
で構成されたプログラムのターンアラウンドタイムを短
縮する。 【解決手段】並列タスクで構成されるプログラムのソー
スプログラム1をコンパイラ2aがコンパイルして目的
プログラム3を生成する。コンパイラ2aは、並列タス
クの各タスク間で行われるタスク間通信のデータ量を保
持するタスク間通信量テーブル4を生成する。タスクス
ケジューラ5は、タスク間通信量テーブル4とマルチプ
ロセッサシステム8の全プロセッサの組における単位デ
ータ当たりのデータ通信時間を定義するプロセッサ通信
コストテーブル6とからタスク間通信の通信時間が最短
となるプロセッサを並列タスクのタスクに割り当てる旨
決定し、プロセッサ管理テーブル7に登録する。
Description
システムにおいて並列に実行される各タスクにプロセッ
サを割り当てるマルチプロセッサシステムにおけるプロ
セッサ割り当て装置、プロセッサ割り当て方法、および
プロセッサ割り当てプログラムを記憶する媒体に関す
る。
1つのプログラムの処理を複数のタスクに分割し、それ
らを複数のプロセッサで並列に実行することにより、該
プログラムのターンアラウンドタイムを短縮することが
できる。このようなタスクを並列タスクと呼ぶ。この並
列タスクで構成されたプログラムのターンアラウンドタ
イムを短縮するためには、個々のタスクにプロセッサを
効率良く割り当てることが重要である。
のタスクに分割して実行する場合には、各タスク間で通
信を行うことが必要であるが、その通信に要するオーバ
ーヘッドを少なくすることも、処理性能を上げるために
は重要である。
ロセッサ間の通信時間は、プロセッサ間の結合方式や、
プロセッサ間の物理的距離によって異なる。
のプロセッサから構成されるノードをさらにネットワー
クで複数結合した構成のマルチプロセッサシステムにお
いては、共有メモリを介したプロセッサ間の通信速度に
比べて、ネットワークを介したプロセッサ間の通信速度
は非常に遅い。
サにおいて、並列タスクを構成する各タスクをマルチプ
ロセッサ上で実行させる場合に、各タスクをプロセッサ
間の通信処理のオーバーヘッドを低減するようにシステ
ムのプロセッサに割り当てるスケジューリングの方法が
特開平2−226358号公報に記載されている。
を表現するタスクグラフの構造とハイパーキューブの構
造との一致の度合いが最も大きくなるようにタスクをプ
ロセッサに割り当てている。
法を適用することができるマルチプロセッサシステム
は、ハイパーキューブ結合型に限定されており、ほかの
結合方式のマルチプロセッサには適用できないという問
題点がある。
信時間が大きく変化するにもかかわらず、タスク間の通
信量を考慮せずにプロセッサを割り当てているため、非
常にタスク間のデータ通信量が多い2つのタスクに、通
信に要する時間が大きい2つのプロセッサを割り当てて
しまった場合に、タスク間の通信時間が非常に長くなっ
てしまうことがあるという問題点がある。
ムにおいて実行される、並列タスクで構成されたプログ
ラムのターンアラウンドタイムを短縮することにある。
ステムにおいて、並列タスクの各タスクにプロセッサを
割り当てる際に、各タスク間のデータ通信に要する通信
時間が最短になるようにプロセッサを割り当てることに
ある。
ッサシステムにおいて、並列タスクの各タスクにプロセ
ッサを割り当てる際に、単位データ量あたりのデータ通
信時間が最速のプロセッサを割り当てることにある。
信されるデータ量を自動的に収集することができるよう
にすることにある。
ロセッサシステムにおけるプロセッサ割り当て装置は、
複数のタスクを並列に実行することができるマルチプロ
セッサシステムにおいて、前記並列に実行される複数の
タスクの内、未だプロセッサを割り当てられていないタ
スクに対して、割り当てるプロセッサの候補と既にいず
れかのタスクに割り当てられているプロセッサとの間の
データ通信時間が最短となるプロセッサを割り当てるタ
スクスケジュール手段を備えたことを特徴とする。
におけるプロセッサ割り当て装置は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間の単位データ当たり
のデータ通信時間が最短となるプロセッサを割り当てる
タスクスケジュール手段を備えたことを特徴とする。
におけるプロセッサ割り当て装置は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間の単位データ当たり
のデータ通信時間と、該タスクと既にいずれかのプロセ
ッサが割り当てられている他のタスクとの間で通信を行
うデータ量とを積算してデータ通信に要する通信時間を
求め、該データ通信に要する通信時間が最短となるプロ
セッサを割り当てるタスクスケジュール手段を備えたこ
とを特徴とする。
におけるプロセッサ割り当て装置は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記マルチプロセッサにおいて並列に実行され
る複数のタスクが定義されているソースプログラムを翻
訳して目的プログラムを生成するコンパイル手段と、該
並列に実行される複数のタスクのそれぞれが他のタスク
との間で通信するデータ量を記憶するタスク間通信量測
定目的プログラム手段とを備えたことを特徴とする。
におけるプロセッサ割り当て装置は、第1および第2の
マルチプロセッサシステムにおけるプロセッサ割り当て
装置において、さらに、前記マルチプロセッサにおいて
並列に実行される複数のタスクが定義されているソース
プログラムを翻訳して目的プログラムを生成するコンパ
イル手段を備えたことを特徴とする。
におけるプロセッサ割り当て装置は、第3のマルチプロ
セッサシステムにおけるプロセッサ割り当て装置におい
て、さらに、前記マルチプロセッサにおいて並列に実行
される複数のタスクが定義されているソースプログラム
を翻訳して目的プログラムを生成するコンパイル手段
と、該並列に実行される複数のタスクのそれぞれが他の
タスクとの間で通信するデータ量を記憶するタスク間通
信量測定目的プログラム手段とを備えたことを特徴とす
る。
におけるプロセッサ割り当て装置は、第4および第6の
マルチプロセッサシステムにおけるプロセッサ割り当て
装置において、前記タスク間通信量測定目的プログラム
手段が、並列に実行される複数のタスクのそれぞれにつ
いて、該タスク中にタスク間通信命令を探し、該タスク
が該タスク間通信命令によって他のタスクとの間で通信
するデータ量を記憶することを特徴とする。
におけるプロセッサ割り当て装置は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、任意の2つのプロセッサ間における単位データ
あたりのデータ通信時間を、該2つのプロセッサ番号の
組で一意となるマトリックスの要素として保持するプロ
セッサ通信コストテーブルと、並列に実行される複数の
タスクのそれぞれのタスク番号と該タスクに割り当てら
れているプロセッサのプロセッサ番号との対応関係を保
持するプロセッサ管理テーブルと、前記マルチプロセッ
サにおいて並列に実行される複数のタスクが定義されて
いるソースプログラムを翻訳して目的プログラムを生成
するコンパイル手段と、前記並列に実行される複数のタ
スクの内、未だプロセッサを割り当てられていないタス
クに対して、割り当てるプロセッサの候補と既にいずれ
かのタスクに割り当てられているプロセッサとの間の単
位データ当たりのデータ通信時間が最短となるプロセッ
サを前記プロセッサ間通信コストテーブルから求めて割
り当てるとともに、該タスクのタスク番号と割り当てた
該プロセッサのプロセッサ番号との対応を前記プロセッ
サ管理テーブルに登録するタスクスケジュール手段とを
備えたことを特徴とする。
におけるプロセッサ割り当て装置は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記マルチプロセッサにおいて並列に実行され
る任意の2つのタスク間で通信されるデータ量を、該2
つのタスクのタスク番号の組で一意となるマトリックス
の要素として保持するタスク間通信量テーブルと、任意
の2つのプロセッサ間における単位データあたりのデー
タ通信時間を、該2つのプロセッサ番号の組で一意とな
るマトリックスの要素として保持するプロセッサ通信コ
ストテーブルと、並列に実行される複数のタスクのそれ
ぞれのタスク番号と該タスクに割り当てられているプロ
セッサのプロセッサ番号との対応関係を保持するプロセ
ッサ管理テーブルと、前記マルチプロセッサにおいて並
列に実行される複数のタスクが定義されているソースプ
ログラムを翻訳して目的プログラムを生成するととも
に、該ソースプログラム中に定義されている並列に実行
される複数のタスクについて前記タスク間通信量テーブ
ルを生成し、該並列に実行される複数のタスクのそれぞ
れについて、該タスク中にタスク間通信命令を探し、該
タスクが該タスク間通信命令によって他のタスクとの間
で通信するデータ量を前記タスク間通信量テーブルの対
応するタスク番号の組の要素に加算するコンパイル手段
と、前記並列に実行される複数のタスクの内、未だプロ
セッサを割り当てられていないタスクに対して、割り当
てるプロセッサの候補と既にいずれかのタスクに割り当
てられているプロセッサとの間の単位データ当たりのデ
ータ通信時間を前記プロセッサ間通信コストテーブルか
ら求め、該タスクと既にいずれかのプロセッサが割り当
てられている他のタスクとの間で通信を行うデータ量を
前記タスク間通信量テーブルから求め、該単位データ当
たりのデータ通信時間と該通信を行うデータ量とを積算
してデータ通信に要する通信時間を求め、該データ通信
に要する通信時間が最短となるプロセッサを割り当てる
とともに、該タスクのタスク番号と割り当てた該プロセ
ッサのプロセッサ番号との対応を前記プロセッサ管理テ
ーブルに登録するタスクスケジュール手段とを備えたこ
とを特徴とする。
ムにおけるプロセッサ割り当て装置は、複数のタスクを
並列に実行することができるマルチプロセッサシステム
において、前記マルチプロセッサにおいて並列に実行さ
れる任意の2つのタスク間で通信されるデータ量を、該
2つのタスクのタスク番号の組で一意となるマトリック
スの要素として保持するタスク間通信量テーブルと、任
意の2つのプロセッサ間における単位データあたりのデ
ータ通信時間を、該2つのプロセッサ番号の組で一意と
なるマトリックスの要素として保持するプロセッサ通信
コストテーブルと、並列に実行される複数のタスクのそ
れぞれのタスク番号と該タスクに割り当てられているプ
ロセッサのプロセッサ番号との対応関係を保持するプロ
セッサ管理テーブルと、前記マルチプロセッサにおいて
並列に実行される複数のタスクが定義されているソース
プログラムを翻訳して目的プログラムを生成するコンパ
イル手段と、該ソースプログラム中に定義されている並
列に実行される複数のタスクについて前記タスク間通信
量テーブルを生成し、該並列に実行される複数のタスク
のそれぞれについて、該タスク中にタスク間通信命令を
探し、該タスクが該タスク間通信命令によって他のタス
クとの間で通信するデータ量を前記タスク間通信量テー
ブルの対応するタスク番号の組の要素に加算するタスク
間通信量測定目的プログラム手段と、前記並列に実行さ
れる複数のタスクの内、未だプロセッサを割り当てられ
ていないタスクに対して、割り当てるプロセッサの候補
と既にいずれかのタスクに割り当てられているプロセッ
サとの間の単位データ当たりのデータ通信時間を前記プ
ロセッサ間通信コストテーブルから求め、該タスクと既
にいずれかのプロセッサが割り当てられている他のタス
クとの間で通信を行うデータ量を前記タスク間通信量テ
ーブルから求め、該単位データ当たりのデータ通信時間
と該通信を行うデータ量とを積算してデータ通信に要す
る通信時間を求め、該データ通信に要する通信時間が最
短となるプロセッサを割り当てるとともに、該タスクの
タスク番号と割り当てた該プロセッサのプロセッサ番号
との対応を前記プロセッサ管理テーブルに登録するタス
クスケジュール手段とを備えたことを特徴とする。
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間のデータ通信時間が
最短となるプロセッサを割り当てるタスクスケジュール
ステップを含むことを特徴とする。
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間の単位データ当たり
のデータ通信時間が最短となるプロセッサを割り当てる
タスクスケジュールステップを含むことを特徴とする。
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間の単位データ当たり
のデータ通信時間と、該タスクと既にいずれかのプロセ
ッサが割り当てられている他のタスクとの間で通信を行
うデータ量とを積算してデータ通信に要する通信時間を
求め、該データ通信に要する通信時間が最短となるプロ
セッサを割り当てるタスクスケジュールステップを含む
ことを特徴とする。
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記マルチプロセッサにおいて並列に実行され
る複数のタスクが定義されているソースプログラムを翻
訳して目的プログラムを生成するコンパイルステップ
と、該並列に実行される複数のタスクのそれぞれが他の
タスクとの間で通信するデータ量を記憶するタスク間通
信量測定目的プログラムステップとを含むことを特徴と
する。
におけるプロセッサ割り当て方法は、第1および第2の
マルチプロセッサシステムにおけるプロセッサ割り当て
方法において、さらに、前記マルチプロセッサにおいて
並列に実行される複数のタスクが定義されているソース
プログラムを翻訳して目的プログラムを生成するコンパ
イルステップを含むことを特徴とする。
におけるプロセッサ割り当て方法は、第3のマルチプロ
セッサシステムにおけるプロセッサ割り当て方法におい
て、さらに、前記マルチプロセッサにおいて並列に実行
される複数のタスクが定義されているソースプログラム
を翻訳して目的プログラムを生成するコンパイルステッ
プと、該並列に実行される複数のタスクのそれぞれが他
のタスクとの間で通信するデータ量を記憶するタスク間
通信量測定目的プログラムステップとを含むことを特徴
とする。
におけるプロセッサ割り当て方法は、第4および第6の
マルチプロセッサシステムにおけるプロセッサ割り当て
方法において、前記タスク間通信量測定目的プログラム
ステップが、並列に実行される複数のタスクのそれぞれ
について、該タスク中にタスク間通信命令を探し、該タ
スクが該タスク間通信命令によって他のタスクとの間で
通信するデータ量を記憶することを特徴とする。
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記マルチプロセッサにおいて並列に実行され
る複数のタスクが定義されているソースプログラムを翻
訳して目的プログラムを生成するコンパイルステップ
と、前記並列に実行される複数のタスクの内、未だプロ
セッサを割り当てられていないタスクに対して、割り当
てるプロセッサの候補と既にいずれかのタスクに割り当
てられているプロセッサとの間の単位データ当たりのデ
ータ通信時間が最短となるプロセッサを、任意の2つの
プロセッサ間における単位データあたりのデータ通信時
間を該2つのプロセッサ番号の組で一意となるマトリッ
クスの要素として保持するプロセッサ間通信コストテー
ブルから求めて割り当てるとともに、該タスクのタスク
番号と割り当てた該プロセッサのプロセッサ番号との対
応を、並列に実行される複数のタスクのそれぞれのタス
ク番号と該タスクに割り当てられているプロセッサのプ
ロセッサ番号との対応関係を保持するプロセッサ管理テ
ーブルに登録するタスクスケジュールステップとを含む
ことを特徴とする。
におけるプロセッサ割り当て方法は、複数のタスクを並
列に実行することができるマルチプロセッサシステムに
おいて、前記マルチプロセッサにおいて並列に実行され
る複数のタスクが定義されているソースプログラムを翻
訳して目的プログラムを生成するとともに、該ソースプ
ログラム中に定義されている並列に実行される複数のタ
スクの内、任意の2つのタスク間で通信されるデータ量
を該2つのタスクのタスク番号の組で一意となるマトリ
ックスの要素として保持するタスク間通信量テーブルを
生成し、該並列に実行される複数のタスクのそれぞれに
ついて、該タスク中にタスク間通信命令を探し、該タス
クが該タスク間通信命令によって他のタスクとの間で通
信するデータ量を前記タスク間通信量テーブルの対応す
るタスク番号の組の要素に加算するコンパイルステップ
と、前記並列に実行される複数のタスクの内、未だプロ
セッサを割り当てられていないタスクに対して、割り当
てるプロセッサの候補と既にいずれかのタスクに割り当
てられているプロセッサとの間の単位データ当たりのデ
ータ通信時間を、任意の2つのプロセッサ間における単
位データあたりのデータ通信時間を該2つのプロセッサ
番号の組で一意となるマトリックスの要素として保持す
るプロセッサ間通信コストテーブルから求め、該タスク
と既にいずれかのプロセッサが割り当てられている他の
タスクとの間で通信を行うデータ量を前記タスク間通信
量テーブルから求め、該単位データ当たりのデータ通信
時間と該通信を行うデータ量とを積算してデータ通信に
要する通信時間を求め、該データ通信に要する通信時間
が最短となるプロセッサを割り当てるとともに、該タス
クのタスク番号と割り当てた該プロセッサのプロセッサ
番号との対応を、並列に実行される複数のタスクのそれ
ぞれのタスク番号と該タスクに割り当てられているプロ
セッサのプロセッサ番号との対応関係を保持するプロセ
ッサ管理テーブルに登録するタスクスケジュールステッ
プとを含むことを特徴とする。
ムにおけるプロセッサ割り当て方法は、複数のタスクを
並列に実行することができるマルチプロセッサシステム
において、前記マルチプロセッサにおいて並列に実行さ
れる複数のタスクが定義されているソースプログラムを
翻訳して目的プログラムを生成するコンパイルステップ
と、該ソースプログラム中に定義されている並列に実行
される複数のタスクの内、任意の2つのタスク間で通信
されるデータ量を該2つのタスクのタスク番号の組で一
意となるマトリックスの要素として保持するタスク間通
信量テーブルを生成し、該並列に実行される複数のタス
クのそれぞれについて、該タスク中にタスク間通信命令
を探し、該タスクが該タスク間通信命令によって他のタ
スクとの間で通信するデータ量を前記タスク間通信量テ
ーブルの対応するタスク番号の組の要素に加算するタス
ク間通信量測定目的プログラムステップと、前記並列に
実行される複数のタスクの内、未だプロセッサを割り当
てられていないタスクに対して、割り当てるプロセッサ
の候補と既にいずれかのタスクに割り当てられているプ
ロセッサとの間の単位データ当たりのデータ通信時間
を、任意の2つのプロセッサ間における単位データあた
りのデータ通信時間を該2つのプロセッサ番号の組で一
意となるマトリックスの要素として保持するプロセッサ
間通信コストテーブルから求め、該タスクと既にいずれ
かのプロセッサが割り当てられている他のタスクとの間
で通信を行うデータ量を前記タスク間通信量テーブルか
ら求め、該単位データ当たりのデータ通信時間と該通信
を行うデータ量とを積算してデータ通信に要する通信時
間を求め、該データ通信に要する通信時間が最短となる
プロセッサを割り当てるとともに、該タスクのタスク番
号と割り当てた該プロセッサのプロセッサ番号との対応
を、並列に実行される複数のタスクのそれぞれのタスク
番号と該タスクに割り当てられているプロセッサのプロ
セッサ番号との対応関係を保持するプロセッサ管理テー
ブルに登録するタスクスケジュールステップとを含むこ
とを特徴とする。
列に実行することができるマルチプロセッサシステムに
対して、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間のデータ通信時間が
最短となるプロセッサを割り当てるタスクスケジュール
ステップを含む処理を行わせるプログラムを記憶する。
列に実行することができるマルチプロセッサシステムに
対して、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間の単位データ当たり
のデータ通信時間が最短となるプロセッサを割り当てる
タスクスケジュールステップを含む処理を行わせるプロ
グラムを記憶する。
列に実行することができるマルチプロセッサシステムに
対して、前記並列に実行される複数のタスクの内、未だ
プロセッサを割り当てられていないタスクに対して、割
り当てるプロセッサの候補と既にいずれかのタスクに割
り当てられているプロセッサとの間の単位データ当たり
のデータ通信時間と、該タスクと既にいずれかのプロセ
ッサが割り当てられている他のタスクとの間で通信を行
うデータ量とを積算してデータ通信に要する通信時間を
求め、該データ通信に要する通信時間が最短となるプロ
セッサを割り当てるタスクスケジュールステップを含む
処理を行わせるプログラムを記憶する。
列に実行することができるマルチプロセッサシステムに
対して、前記マルチプロセッサにおいて並列に実行され
る複数のタスクが定義されているソースプログラムを翻
訳して目的プログラムを生成するコンパイルステップ
と、該並列に実行される複数のタスクのそれぞれが他の
タスクとの間で通信するデータ量を記憶するタスク間通
信量測定目的プログラムステップとを含む処理を行わせ
るプログラムを記憶する。
媒体において、さらに、前記マルチプロセッサにおいて
並列に実行される複数のタスクが定義されているソース
プログラムを翻訳して目的プログラムを生成するコンパ
イルステップを含む処理を行わせるプログラムを記憶す
る。
て、さらに、前記マルチプロセッサにおいて並列に実行
される複数のタスクが定義されているソースプログラム
を翻訳して目的プログラムを生成するコンパイルステッ
プと、該並列に実行される複数のタスクのそれぞれが他
のタスクとの間で通信するデータ量を記憶するタスク間
通信量測定目的プログラムステップとを含む処理を行わ
せるプログラムを記憶する。
媒体において、前記タスク間通信量測定目的プログラム
ステップが、並列に実行される複数のタスクのそれぞれ
について、該タスク中にタスク間通信命令を探し、該タ
スクが該タスク間通信命令によって他のタスクとの間で
通信するデータ量を記憶することを特徴とする。
列に実行することができるマルチプロセッサシステムに
対して、前記マルチプロセッサにおいて並列に実行され
る複数のタスクが定義されているソースプログラムを翻
訳して目的プログラムを生成するコンパイルステップ
と、前記並列に実行される複数のタスクの内、未だプロ
セッサを割り当てられていないタスクに対して、割り当
てるプロセッサの候補と既にいずれかのタスクに割り当
てられているプロセッサとの間の単位データ当たりのデ
ータ通信時間が最短となるプロセッサを、任意の2つの
プロセッサ間における単位データあたりのデータ通信時
間を該2つのプロセッサ番号の組で一意となるマトリッ
クスの要素として保持するプロセッサ間通信コストテー
ブルから求めて割り当てるとともに、該タスクのタスク
番号と割り当てた該プロセッサのプロセッサ番号との対
応を、並列に実行される複数のタスクのそれぞれのタス
ク番号と該タスクに割り当てられているプロセッサのプ
ロセッサ番号との対応関係を保持するプロセッサ管理テ
ーブルに登録するタスクスケジュールステップとを含む
処理を行わせるプログラムを記憶する。
列に実行することができるマルチプロセッサシステムに
対して、前記マルチプロセッサにおいて並列に実行され
る複数のタスクが定義されているソースプログラムを翻
訳して目的プログラムを生成するとともに、該ソースプ
ログラム中に定義されている並列に実行される複数のタ
スクの内、任意の2つのタスク間で通信されるデータ量
を該2つのタスクのタスク番号の組で一意となるマトリ
ックスの要素として保持するタスク間通信量テーブルを
生成し、該並列に実行される複数のタスクのそれぞれに
ついて、該タスク中にタスク間通信命令を探し、該タス
クが該タスク間通信命令によって他のタスクとの間で通
信するデータ量を前記タスク間通信量テーブルの対応す
るタスク番号の組の要素に加算するコンパイルステップ
と、前記並列に実行される複数のタスクの内、未だプロ
セッサを割り当てられていないタスクに対して、割り当
てるプロセッサの候補と既にいずれかのタスクに割り当
てられているプロセッサとの間の単位データ当たりのデ
ータ通信時間を、任意の2つのプロセッサ間における単
位データあたりのデータ通信時間を該2つのプロセッサ
番号の組で一意となるマトリックスの要素として保持す
るプロセッサ間通信コストテーブルから求め、該タスク
と既にいずれかのプロセッサが割り当てられている他の
タスクとの間で通信を行うデータ量を前記タスク間通信
量テーブルから求め、該単位データ当たりのデータ通信
時間と該通信を行うデータ量とを積算してデータ通信に
要する通信時間を求め、該データ通信に要する通信時間
が最短となるプロセッサを割り当てるとともに、該タス
クのタスク番号と割り当てた該プロセッサのプロセッサ
番号との対応を、並列に実行される複数のタスクのそれ
ぞれのタスク番号と該タスクに割り当てられているプロ
セッサのプロセッサ番号との対応関係を保持するプロセ
ッサ管理テーブルに登録するタスクスケジュールステッ
プとを含む処理を行わせるプログラムを記憶する。
並列に実行することができるマルチプロセッサシステム
に対して、前記マルチプロセッサにおいて並列に実行さ
れる複数のタスクが定義されているソースプログラムを
翻訳して目的プログラムを生成するコンパイルステップ
と、該ソースプログラム中に定義されている並列に実行
される複数のタスクの内、任意の2つのタスク間で通信
されるデータ量を該2つのタスクのタスク番号の組で一
意となるマトリックスの要素として保持するタスク間通
信量テーブルを生成し、該並列に実行される複数のタス
クのそれぞれについて、該タスク中にタスク間通信命令
を探し、該タスクが該タスク間通信命令によって他のタ
スクとの間で通信するデータ量を前記タスク間通信量テ
ーブルの対応するタスク番号の組の要素に加算するタス
ク間通信量測定目的プログラムステップと、前記並列に
実行される複数のタスクの内、未だプロセッサを割り当
てられていないタスクに対して、割り当てるプロセッサ
の候補と既にいずれかのタスクに割り当てられているプ
ロセッサとの間の単位データ当たりのデータ通信時間
を、任意の2つのプロセッサ間における単位データあた
りのデータ通信時間を該2つのプロセッサ番号の組で一
意となるマトリックスの要素として保持するプロセッサ
間通信コストテーブルから求め、該タスクと既にいずれ
かのプロセッサが割り当てられている他のタスクとの間
で通信を行うデータ量を前記タスク間通信量テーブルか
ら求め、該単位データ当たりのデータ通信時間と該通信
を行うデータ量とを積算してデータ通信に要する通信時
間を求め、該データ通信に要する通信時間が最短となる
プロセッサを割り当てるとともに、該タスクのタスク番
号と割り当てた該プロセッサのプロセッサ番号との対応
を、並列に実行される複数のタスクのそれぞれのタスク
番号と該タスクに割り当てられているプロセッサのプロ
セッサ番号との対応関係を保持するプロセッサ管理テー
ブルに登録するタスクスケジュールステップとを含む処
理を行わせるプログラムを記憶する。
を参照しながら詳細に説明する。
であるマルチプロセッサシステムにおけるプロセッサ割
り当て装置は、マルチプロセッサシステム8を構成する
複数のプロセッサ9a、9b、および9cと、並列タス
クで構成されるプログラムのソースプログラム1と、該
ソースプログラム1をコンパイルするコンパイラ2a
と、コンパイラ2aによって生成される目的プログラム
3と、コンパイラ2aによって生成され、並列タスクの
各タスク間の通信処理のデータ量を保持するタスク間通
信量テーブル4と、並列タスクの各タスクにプロセッサ
を割り当てるタスクスケジューラ5と、マルチプロセッ
サシステム8の全プロセッサの組における単位データ当
たりのデータ通信時間を定義するプロセッサ通信コスト
テーブル6と、タスクと該タスクに割り当てられている
プロセッサとの対応関係を保持するプロセッサ管理テー
ブル7とから構成されている。
テーブル6には、マルチプロセッサシステム8がN個の
プロセッサから構成されている場合、各プロセッサに1
からNまでのプロセッサ番号を割り当てておき、i行j
列の要素がプロセッサiとプロセッサjの間の単位デー
タ量あたりのデータ通信時間をN×Nの2次元配列で予
め設定する。
て、図1〜図4、図6、および図7を参照して説明す
る。
説明する。
を含むソースプログラム1を入力・翻訳して(ステップ
71)、目的プログラム3を生成する(ステップ72)
とともに、該プログラム中に定義されている並列タスク
についてタスク間通信量テーブル4を生成する(ステッ
プ73)。
ル4は、並列タスクの各タスク間で行われる通信処理の
データ量を保持し、並列タスクを構成するタスクの数を
Nとした場合、N×Nの2次元配列で表される。
ル4を生成した後、該タスク間通信量テーブル4の各要
素を以下の手順で設定する。
する各タスクに1からNまでタスク番号を割り当てる
(ステップ74)。
ブル4の各要素を初期化する(ステップ75)。
スク間通信命令を探し、該タスクが通信先の他のタスク
と通信するデータ量をタスク間通信量テーブル4の対応
するタスク番号の組の要素に加算する(ステップ7
6)。例えば、タスク番号iのタスク中にタスクjとの
間で大きさsj のデータを転送するタスク間通信命令が
あったならば、タスク間通信量テーブル4のi行j列の
要素にsj を加算する。この処理を全タスクに対して行
うことにより、タスク間通信量テーブル4が完成する
(ステップ77)。
ラム3を実行する際、タスクスケジューラ5が各タスク
にマルチプロセッサシステム8の各プロセッサを割り当
てる処理について以下に説明する。
ル7は、タスクと該タスクに割り当てられているプロセ
ッサとの対応関係を保持する。プロセッサが未だいずれ
のタスクにも割り当てられていない初期状態において、
すべてのタスク番号の欄を初期化する。
タスクにプロセッサを割り当てる場合、まずプロセッサ
管理テーブル7を参照し、いずれのタスクにも割り当て
られていないプロセッサのプロセッサ番号の集合pと、
いずれかのタスクに割り当てられているプロセッサのプ
ロセッサ番号の集合Pを求める(ステップ78)。
iのタスクに集合pに属するいずれかのプロセッサを割
り当てるために、集合pのすべてのプロセッサ(プロセ
ッサ番号をnとする)について、図6に示す式の値を求
める。
ロセッサのプロセッサ番号である。Cmnはプロセッサ間
通信コストテーブル6から求めたプロセッサ番号がmと
nのプロセッサ間の単位データ当たりのデータ通信時間
である。Mj(m)i はプロセッサ管理テーブル7から求め
たプロセッサ番号mのプロセッサが割り当てられている
タスクのタスク番号j(m) とタスク番号iのタスクにつ
いて、タスク間通信量テーブル4から求めたタスク間の
通信処理のデータ量である。
単位データ当たりのデータ通信時間とタスク間通信を行
うデータ量を積算することにより、タスク間のデータ通
信に要する通信時間を求めるものである。
計算を行い(ステップ79)、求められる値、すなわち
タスク間のデータ通信に要する通信時間が、最小となる
プロセッサを集合pから求めて(ステップ7A)、求め
たプロセッサをタスクiに割り当て(ステップ7B)、
さらにプロセッサ管理テーブル7の該プロセッサのプロ
セッサ番号nに対応するタスク番号としてiを設定する
(ステップ7C)。
マルチプロセッサシステムにおけるプロセッサ割り当て
装置の処理が終了する。
は、オペレーティングシステムによって実行される。
ッサシステムにおけるプロセッサ割り当て装置によれ
ば、マルチプロセッサシステムにおいて、並列タスクの
各タスクにプロセッサを割り当てる際に、各タスク間の
データ通信に要する通信時間が最短になるようにプロセ
ッサを割り当てることができる効果を有している。
ーラ5の処理を、第1の実施例のようにタスク間のデー
タ通信に要する通信時間が最小となるプロセッサをタス
クiに割り当てるのではなく、いずれのタスクにも割り
当てられていないプロセッサのプロセッサ番号の集合p
の内、すでにいずれかのタスクに割り当てられているプ
ロセッサのプロセッサ番号の集合Pとの間で、単位デー
タ当たりのデータ通信時間が最速となるプロセッサをプ
ロセッサ間通信コストテーブル6から求めるようにする
こともできる。
システムにおけるプロセッサ割り当て装置によれば、マ
ルチプロセッサシステムにおいて、並列タスクの各タス
クにプロセッサを割り当てる際に、単位データ量あたり
のデータ通信時間が最速のプロセッサを割り当てること
ができる効果を有している。
ようにタスク間通信量テーブル4をコンパイラ2aが生
成するのではなく、コンパイラ2aが並列タスクのソー
スプログラム1の翻訳時にタスク間通信量を測定するタ
スク間通信量測定目的プログラムを生成するようにし
て、該タスク間通信量測定目的プログラムがタスク間通
信量テーブル4を生成するようにすることもできる。
ルチプロセッサシステムにおけるプロセッサ割り当て装
置は、第1の実施例の構成に加えてコンパイラ2bとタ
スク間通信量測定目的プログラム10を備えている。
て、図5、図8を参照して説明する。
2bとタスク間通信量測定目的プログラム10の処理の
みであるため、以下にはその点についてのみ説明する。
を含むソースプログラム1を入力・翻訳して(ステップ
81)、目的プログラム3を生成する(ステップ82)
とともに、タスク間通信量測定目的プログラム10を生
成する(ステップ83)。
は、目的プログラム3のタスク間通信を行う部分に、そ
のタスク間通信におけるタスク番号と、通信するデータ
の大きさをタスク間通信量テーブル4に登録するような
処理を付加した目的プログラムである。以下にタスク間
通信量測定目的プログラム10の動作を説明する。
0は、目的プログラム3のタスク数をNとした場合、最
初にN×Nの2次元配列としてタスク間通信量テーブル
4を生成し(ステップ84)、各要素を初期化する(ス
テップ85)。
0は、タスク間通信を行うごとに、該通信を行うタスク
のタスク番号と通信先のタスクのタスク番号を取り出し
(ステップ86)、タスク間通信量テーブル4内の該タ
スク番号の組の位置に、該タスク間通信で転送するデー
タ量を加算する(ステップ87)。タスク間通信量測定
プログラム10の実行が終了すると、タスク間通信量テ
ーブル4が完成する。
マルチプロセッサシステムにおけるプロセッサ割り当て
方法の処理が終了する。
ッサシステムにおけるプロセッサ割り当て装置によれ
ば、タスク間通信を行うタスク間で通信されるデータ量
を自動的に収集することができる効果を有している。
ッサシステム全体で発生するタスク数に比べてプロセッ
サ数が大きい場合に発揮される。さらに、プロセッサ間
の結合方式や物理的距離が異なるハイパーキューブ結合
型のようなマルチプロセッサシステムにおいて、特に効
果が発揮される。
ロセッサシステムにおけるプロセッサ割り当て装置、プ
ロセッサ割り当て方法、およびプロセッサ割り当てプロ
グラムを記憶する媒体によれば、マルチプロセッサシス
テムにおいて並列タスクで構成されたプログラムのター
ンアラウンドタイムを短縮することができる効果を有し
ている。
て、並列タスクの各タスクにプロセッサを割り当てる際
に、各タスク間のデータ通信に要する通信時間が最短に
なるようにプロセッサを割り当てることができる効果を
有している。
て、並列タスクの各タスクにプロセッサを割り当てる際
に、単位データ量あたりのデータ通信時間が最速のプロ
セッサを割り当てることができる効果を有している。
信されるデータ量を自動的に収集することができる効果
を有している。
ルチプロセッサシステムにおけるプロセッサ割り当て方
法を適用したマルチプロセッサシステムの構成を示すブ
ロック図である。
プロセッサ通信コストテーブル6の内容を示す図であ
る。
タスク間通信量テーブル4の内容を示す図である。
プロセッサ管理テーブル7の内容を示す図である。
ロセッサシステムにおけるプロセッサ割り当て方法を適
用したマルチプロセッサシステムの構成を示すブロック
図である。
スケジューラ5によるプロセッサの割り当て処理に用い
られる計算式を示す図である。
イラ2aとタスクスケジューラ5の処理を示す流れ図で
ある。
イラ2bとタスク間通信量測定目的プログラム10の処
理を示す流れ図である。
Claims (30)
- 【請求項1】 複数のタスクを並列に実行することがで
きるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間のデータ通信時間が最短とな
るプロセッサを割り当てるタスクスケジュール手段を備
えたことを特徴とするマルチプロセッサシステムにおけ
るプロセッサ割り当て装置。 - 【請求項2】 複数のタスクを並列に実行することがで
きるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間が最短となるプロセッサを割り当てるタスクス
ケジュール手段を備えたことを特徴とするマルチプロセ
ッサシステムにおけるプロセッサ割り当て装置。 - 【請求項3】 複数のタスクを並列に実行することがで
きるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間と、該タスクと既にいずれかのプロセッサが割
り当てられている他のタスクとの間で通信を行うデータ
量とを積算してデータ通信に要する通信時間を求め、該
データ通信に要する通信時間が最短となるプロセッサを
割り当てるタスクスケジュール手段を備えたことを特徴
とするマルチプロセッサシステムにおけるプロセッサ割
り当て装置。 - 【請求項4】 複数のタスクを並列に実行することがで
きるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するコンパイル手段と、 該並列に実行される複数のタスクのそれぞれが他のタス
クとの間で通信するデータ量を記憶するタスク間通信量
測定目的プログラム手段とを備えたことを特徴とするマ
ルチプロセッサシステムにおけるプロセッサ割り当て装
置。 - 【請求項5】 さらに、前記マルチプロセッサにおいて
並列に実行される複数のタスクが定義されているソース
プログラムを翻訳して目的プログラムを生成するコンパ
イル手段を備えたことを特徴とする請求項1および請求
項2記載のマルチプロセッサシステムにおけるプロセッ
サ割り当て装置。 - 【請求項6】 さらに、前記マルチプロセッサにおいて
並列に実行される複数のタスクが定義されているソース
プログラムを翻訳して目的プログラムを生成するコンパ
イル手段と、 該並列に実行される複数のタスクのそれぞれが他のタス
クとの間で通信するデータ量を記憶するタスク間通信量
測定目的プログラム手段とを備えたことを特徴とする請
求項3記載のマルチプロセッサシステムにおけるプロセ
ッサ割り当て装置。 - 【請求項7】 前記タスク間通信量測定目的プログラム
手段が、並列に実行される複数のタスクのそれぞれにつ
いて、該タスク中にタスク間通信命令を探し、該タスク
が該タスク間通信命令によって他のタスクとの間で通信
するデータ量を記憶することを特徴とする請求項4よび
請求項6記載のマルチプロセッサシステムにおけるプロ
セッサ割り当て装置。 - 【請求項8】 複数のタスクを並列に実行することがで
きるマルチプロセッサシステムにおいて、 任意の2つのプロセッサ間における単位データあたりの
データ通信時間を、該2つのプロセッサ番号の組で一意
となるマトリックスの要素として保持するプロセッサ通
信コストテーブルと、 並列に実行される複数のタスクのそれぞれのタスク番号
と該タスクに割り当てられているプロセッサのプロセッ
サ番号との対応関係を保持するプロセッサ管理テーブル
と、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するコンパイル手段と、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間が最短となるプロセッサを前記プロセッサ間通
信コストテーブルから求めて割り当てるとともに、該タ
スクのタスク番号と割り当てた該プロセッサのプロセッ
サ番号との対応を前記プロセッサ管理テーブルに登録す
るタスクスケジュール手段とを備えたことを特徴とする
マルチプロセッサシステムにおけるプロセッサ割り当て
装置。 - 【請求項9】 複数のタスクを並列に実行することがで
きるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される任意の
2つのタスク間で通信されるデータ量を、該2つのタス
クのタスク番号の組で一意となるマトリックスの要素と
して保持するタスク間通信量テーブルと、 任意の2つのプロセッサ間における単位データあたりの
データ通信時間を、該2つのプロセッサ番号の組で一意
となるマトリックスの要素として保持するプロセッサ通
信コストテーブルと、 並列に実行される複数のタスクのそれぞれのタスク番号
と該タスクに割り当てられているプロセッサのプロセッ
サ番号との対応関係を保持するプロセッサ管理テーブル
と、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するとともに、該ソースプログラム
中に定義されている並列に実行される複数のタスクにつ
いて前記タスク間通信量テーブルを生成し、該並列に実
行される複数のタスクのそれぞれについて、該タスク中
にタスク間通信命令を探し、該タスクが該タスク間通信
命令によって他のタスクとの間で通信するデータ量を前
記タスク間通信量テーブルの対応するタスク番号の組の
要素に加算するコンパイル手段と、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間を前記プロセッサ間通信コストテーブルから求
め、該タスクと既にいずれかのプロセッサが割り当てら
れている他のタスクとの間で通信を行うデータ量を前記
タスク間通信量テーブルから求め、該単位データ当たり
のデータ通信時間と該通信を行うデータ量とを積算して
データ通信に要する通信時間を求め、該データ通信に要
する通信時間が最短となるプロセッサを割り当てるとと
もに、該タスクのタスク番号と割り当てた該プロセッサ
のプロセッサ番号との対応を前記プロセッサ管理テーブ
ルに登録するタスクスケジュール手段とを備えたことを
特徴とするマルチプロセッサシステムにおけるプロセッ
サ割り当て装置。 - 【請求項10】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される任意の
2つのタスク間で通信されるデータ量を、該2つのタス
クのタスク番号の組で一意となるマトリックスの要素と
して保持するタスク間通信量テーブルと、 任意の2つのプロセッサ間における単位データあたりの
データ通信時間を、該2つのプロセッサ番号の組で一意
となるマトリックスの要素として保持するプロセッサ通
信コストテーブルと、 並列に実行される複数のタスクのそれぞれのタスク番号
と該タスクに割り当てられているプロセッサのプロセッ
サ番号との対応関係を保持するプロセッサ管理テーブル
と、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するコンパイル手段と、 該ソースプログラム中に定義されている並列に実行され
る複数のタスクについて前記タスク間通信量テーブルを
生成し、該並列に実行される複数のタスクのそれぞれに
ついて、該タスク中にタスク間通信命令を探し、該タス
クが該タスク間通信命令によって他のタスクとの間で通
信するデータ量を前記タスク間通信量テーブルの対応す
るタスク番号の組の要素に加算するタスク間通信量測定
目的プログラム手段と、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間を前記プロセッサ間通信コストテーブルから求
め、該タスクと既にいずれかのプロセッサが割り当てら
れている他のタスクとの間で通信を行うデータ量を前記
タスク間通信量テーブルから求め、該単位データ当たり
のデータ通信時間と該通信を行うデータ量とを積算して
データ通信に要する通信時間を求め、該データ通信に要
する通信時間が最短となるプロセッサを割り当てるとと
もに、該タスクのタスク番号と割り当てた該プロセッサ
のプロセッサ番号との対応を前記プロセッサ管理テーブ
ルに登録するタスクスケジュール手段とを備えたことを
特徴とするマルチプロセッサシステムにおけるプロセッ
サ割り当て装置。 - 【請求項11】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間のデータ通信時間が最短とな
るプロセッサを割り当てるタスクスケジュールステップ
を含むことを特徴とするマルチプロセッサシステムにお
けるプロセッサ割り当て方法。 - 【請求項12】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間が最短となるプロセッサを割り当てるタスクス
ケジュールステップを含むことを特徴とするマルチプロ
セッサシステムにおけるプロセッサ割り当て方法。 - 【請求項13】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムにおいて、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間と、該タスクと既にいずれかのプロセッサが割
り当てられている他のタスクとの間で通信を行うデータ
量とを積算してデータ通信に要する通信時間を求め、該
データ通信に要する通信時間が最短となるプロセッサを
割り当てるタスクスケジュールステップを含むことを特
徴とするマルチプロセッサシステムにおけるプロセッサ
割り当て方法。 - 【請求項14】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するコンパイルステップと、 該並列に実行される複数のタスクのそれぞれが他のタス
クとの間で通信するデータ量を記憶するタスク間通信量
測定目的プログラムステップとを含むことを特徴とする
マルチプロセッサシステムにおけるプロセッサ割り当て
方法。 - 【請求項15】 さらに、前記マルチプロセッサにおい
て並列に実行される複数のタスクが定義されているソー
スプログラムを翻訳して目的プログラムを生成するコン
パイルステップを含むことを特徴とする請求項11およ
び請求項12記載のマルチプロセッサシステムにおける
プロセッサ割り当て方法。 - 【請求項16】 さらに、前記マルチプロセッサにおい
て並列に実行される複数のタスクが定義されているソー
スプログラムを翻訳して目的プログラムを生成するコン
パイルステップと、 該並列に実行される複数のタスクのそれぞれが他のタス
クとの間で通信するデータ量を記憶するタスク間通信量
測定目的プログラムステップとを含むことを特徴とする
請求項13記載のマルチプロセッサシステムにおけるプ
ロセッサ割り当て方法。 - 【請求項17】 前記タスク間通信量測定目的プログラ
ムステップが、並列に実行される複数のタスクのそれぞ
れについて、該タスク中にタスク間通信命令を探し、該
タスクが該タスク間通信命令によって他のタスクとの間
で通信するデータ量を記憶することを特徴とする請求項
14および請求項16記載のマルチプロセッサシステム
におけるプロセッサ割り当て方法。 - 【請求項18】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するコンパイルステップと、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間が最短となるプロセッサを、任意の2つのプロ
セッサ間における単位データあたりのデータ通信時間を
該2つのプロセッサ番号の組で一意となるマトリックス
の要素として保持するプロセッサ間通信コストテーブル
から求めて割り当てるとともに、該タスクのタスク番号
と割り当てた該プロセッサのプロセッサ番号との対応
を、並列に実行される複数のタスクのそれぞれのタスク
番号と該タスクに割り当てられているプロセッサのプロ
セッサ番号との対応関係を保持するプロセッサ管理テー
ブルに登録するタスクスケジュールステップとを含むこ
とを特徴とするマルチプロセッサシステムにおけるプロ
セッサ割り当て方法。 - 【請求項19】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するとともに、該ソースプログラム
中に定義されている並列に実行される複数のタスクの
内、任意の2つのタスク間で通信されるデータ量を該2
つのタスクのタスク番号の組で一意となるマトリックス
の要素として保持するタスク間通信量テーブルを生成
し、該並列に実行される複数のタスクのそれぞれについ
て、該タスク中にタスク間通信命令を探し、該タスクが
該タスク間通信命令によって他のタスクとの間で通信す
るデータ量を前記タスク間通信量テーブルの対応するタ
スク番号の組の要素に加算するコンパイルステップと、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間を、任意の2つのプロセッサ間における単位デ
ータあたりのデータ通信時間を該2つのプロセッサ番号
の組で一意となるマトリックスの要素として保持するプ
ロセッサ間通信コストテーブルから求め、該タスクと既
にいずれかのプロセッサが割り当てられている他のタス
クとの間で通信を行うデータ量を前記タスク間通信量テ
ーブルから求め、該単位データ当たりのデータ通信時間
と該通信を行うデータ量とを積算してデータ通信に要す
る通信時間を求め、該データ通信に要する通信時間が最
短となるプロセッサを割り当てるとともに、該タスクの
タスク番号と割り当てた該プロセッサのプロセッサ番号
との対応を、並列に実行される複数のタスクのそれぞれ
のタスク番号と該タスクに割り当てられているプロセッ
サのプロセッサ番号との対応関係を保持するプロセッサ
管理テーブルに登録するタスクスケジュールステップと
を含むことを特徴とするマルチプロセッサシステムにお
けるプロセッサ割り当て方法。 - 【請求項20】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムにおいて、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するコンパイルステップと、 該ソースプログラム中に定義されている並列に実行され
る複数のタスクの内、任意の2つのタスク間で通信され
るデータ量を該2つのタスクのタスク番号の組で一意と
なるマトリックスの要素として保持するタスク間通信量
テーブルを生成し、該並列に実行される複数のタスクの
それぞれについて、該タスク中にタスク間通信命令を探
し、該タスクが該タスク間通信命令によって他のタスク
との間で通信するデータ量を前記タスク間通信量テーブ
ルの対応するタスク番号の組の要素に加算するタスク間
通信量測定目的プログラムステップと、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間を、任意の2つのプロセッサ間における単位デ
ータあたりのデータ通信時間を該2つのプロセッサ番号
の組で一意となるマトリックスの要素として保持するプ
ロセッサ間通信コストテーブルから求め、該タスクと既
にいずれかのプロセッサが割り当てられている他のタス
クとの間で通信を行うデータ量を前記タスク間通信量テ
ーブルから求め、該単位データ当たりのデータ通信時間
と該通信を行うデータ量とを積算してデータ通信に要す
る通信時間を求め、該データ通信に要する通信時間が最
短となるプロセッサを割り当てるとともに、該タスクの
タスク番号と割り当てた該プロセッサのプロセッサ番号
との対応を、並列に実行される複数のタスクのそれぞれ
のタスク番号と該タスクに割り当てられているプロセッ
サのプロセッサ番号との対応関係を保持するプロセッサ
管理テーブルに登録するタスクスケジュールステップと
を含むことを特徴とするマルチプロセッサシステムにお
けるプロセッサ割り当て方法。 - 【請求項21】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムに対して、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間のデータ通信時間が最短とな
るプロセッサを割り当てるタスクスケジュールステップ
を含む処理を行わせるプログラムを記憶する媒体。 - 【請求項22】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムに対して、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間が最短となるプロセッサを割り当てるタスクス
ケジュールステップを含む処理を行わせるプログラムを
記憶する媒体。 - 【請求項23】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムに対して、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間と、該タスクと既にいずれかのプロセッサが割
り当てられている他のタスクとの間で通信を行うデータ
量とを積算してデータ通信に要する通信時間を求め、該
データ通信に要する通信時間が最短となるプロセッサを
割り当てるタスクスケジュールステップを含む処理を行
わせるプログラムを記憶する媒体。 - 【請求項24】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムに対して、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するコンパイルステップと、 該並列に実行される複数のタスクのそれぞれが他のタス
クとの間で通信するデータ量を記憶するタスク間通信量
測定目的プログラムステップとを含む処理を行わせるプ
ログラムを記憶する媒体。 - 【請求項25】 さらに、前記マルチプロセッサにおい
て並列に実行される複数のタスクが定義されているソー
スプログラムを翻訳して目的プログラムを生成するコン
パイルステップを含む処理を行わせるプログラムを記憶
する請求項21および請求項22記載の媒体。 - 【請求項26】 さらに、前記マルチプロセッサにおい
て並列に実行される複数のタスクが定義されているソー
スプログラムを翻訳して目的プログラムを生成するコン
パイルステップと、 該並列に実行される複数のタスクのそれぞれが他のタス
クとの間で通信するデータ量を記憶するタスク間通信量
測定目的プログラムステップとを含む処理を行わせるプ
ログラムを記憶する請求項23記載の媒体。 - 【請求項27】 前記タスク間通信量測定目的プログラ
ムステップが、並列に実行される複数のタスクのそれぞ
れについて、該タスク中にタスク間通信命令を探し、該
タスクが該タスク間通信命令によって他のタスクとの間
で通信するデータ量を記憶することを特徴とする請求項
24および請求項26記載の媒体。 - 【請求項28】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムに対して、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するコンパイルステップと、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間が最短となるプロセッサを、任意の2つのプロ
セッサ間における単位データあたりのデータ通信時間を
該2つのプロセッサ番号の組で一意となるマトリックス
の要素として保持するプロセッサ間通信コストテーブル
から求めて割り当てるとともに、該タスクのタスク番号
と割り当てた該プロセッサのプロセッサ番号との対応
を、並列に実行される複数のタスクのそれぞれのタスク
番号と該タスクに割り当てられているプロセッサのプロ
セッサ番号との対応関係を保持するプロセッサ管理テー
ブルに登録するタスクスケジュールステップとを含む処
理を行わせるプログラムを記憶する媒体。 - 【請求項29】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムに対して、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するとともに、該ソースプログラム
中に定義されている並列に実行される複数のタスクの
内、任意の2つのタスク間で通信されるデータ量を該2
つのタスクのタスク番号の組で一意となるマトリックス
の要素として保持するタスク間通信量テーブルを生成
し、該並列に実行される複数のタスクのそれぞれについ
て、該タスク中にタスク間通信命令を探し、該タスクが
該タスク間通信命令によって他のタスクとの間で通信す
るデータ量を前記タスク間通信量テーブルの対応するタ
スク番号の組の要素に加算するコンパイルステップと、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間を、任意の2つのプロセッサ間における単位デ
ータあたりのデータ通信時間を該2つのプロセッサ番号
の組で一意となるマトリックスの要素として保持するプ
ロセッサ間通信コストテーブルから求め、該タスクと既
にいずれかのプロセッサが割り当てられている他のタス
クとの間で通信を行うデータ量を前記タスク間通信量テ
ーブルから求め、該単位データ当たりのデータ通信時間
と該通信を行うデータ量とを積算してデータ通信に要す
る通信時間を求め、該データ通信に要する通信時間が最
短となるプロセッサを割り当てるとともに、該タスクの
タスク番号と割り当てた該プロセッサのプロセッサ番号
との対応を、並列に実行される複数のタスクのそれぞれ
のタスク番号と該タスクに割り当てられているプロセッ
サのプロセッサ番号との対応関係を保持するプロセッサ
管理テーブルに登録するタスクスケジュールステップと
を含む処理を行わせるプログラムを記憶する媒体。 - 【請求項30】 複数のタスクを並列に実行することが
できるマルチプロセッサシステムに対して、 前記マルチプロセッサにおいて並列に実行される複数の
タスクが定義されているソースプログラムを翻訳して目
的プログラムを生成するコンパイルステップと、 該ソースプログラム中に定義されている並列に実行され
る複数のタスクの内、任意の2つのタスク間で通信され
るデータ量を該2つのタスクのタスク番号の組で一意と
なるマトリックスの要素として保持するタスク間通信量
テーブルを生成し、該並列に実行される複数のタスクの
それぞれについて、該タスク中にタスク間通信命令を探
し、該タスクが該タスク間通信命令によって他のタスク
との間で通信するデータ量を前記タスク間通信量テーブ
ルの対応するタスク番号の組の要素に加算するタスク間
通信量測定目的プログラムステップと、 前記並列に実行される複数のタスクの内、未だプロセッ
サを割り当てられていないタスクに対して、割り当てる
プロセッサの候補と既にいずれかのタスクに割り当てら
れているプロセッサとの間の単位データ当たりのデータ
通信時間を、任意の2つのプロセッサ間における単位デ
ータあたりのデータ通信時間を該2つのプロセッサ番号
の組で一意となるマトリックスの要素として保持するプ
ロセッサ間通信コストテーブルから求め、該タスクと既
にいずれかのプロセッサが割り当てられている他のタス
クとの間で通信を行うデータ量を前記タスク間通信量テ
ーブルから求め、該単位データ当たりのデータ通信時間
と該通信を行うデータ量とを積算してデータ通信に要す
る通信時間を求め、該データ通信に要する通信時間が最
短となるプロセッサを割り当てるとともに、該タスクの
タスク番号と割り当てた該プロセッサのプロセッサ番号
との対応を、並列に実行される複数のタスクのそれぞれ
のタスク番号と該タスクに割り当てられているプロセッ
サのプロセッサ番号との対応関係を保持するプロセッサ
管理テーブルに登録するタスクスケジュールステップと
を含む処理を行わせるプログラムを記憶する媒体。
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 true JPH0997243A (ja) | 1997-04-08 |
JP3016359B2 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009043077A (ja) * | 2007-08-09 | 2009-02-26 | Mitsubishi Electric Corp | シミュレーション装置及びシミュレーション方法 |
US8438553B2 (en) | 2008-12-03 | 2013-05-07 | International Business Machines Corporation | Paralleling processing method, system and program |
JP2014078239A (ja) * | 2012-10-11 | 2014-05-01 | Samsung Electronics Co Ltd | マルチコアプロセッサで行われるプログラムのコンパイル方法、マルチコアプロセッサのタスクマッピング方法及びタスクスケジューリング方法 |
US20220083390A1 (en) * | 2020-09-11 | 2022-03-17 | Samsung Electronics Co., Ltd | Computing device and method |
-
1996
- 1996-06-25 JP JP8164246A patent/JP3016359B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009043077A (ja) * | 2007-08-09 | 2009-02-26 | Mitsubishi Electric Corp | シミュレーション装置及びシミュレーション方法 |
US8438553B2 (en) | 2008-12-03 | 2013-05-07 | International Business Machines Corporation | Paralleling processing method, system and program |
JP2014078239A (ja) * | 2012-10-11 | 2014-05-01 | Samsung Electronics Co Ltd | マルチコアプロセッサで行われるプログラムのコンパイル方法、マルチコアプロセッサのタスクマッピング方法及びタスクスケジューリング方法 |
US20220083390A1 (en) * | 2020-09-11 | 2022-03-17 | Samsung Electronics Co., Ltd | Computing device and method |
Also Published As
Publication number | Publication date |
---|---|
JP3016359B2 (ja) | 2000-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9038088B2 (en) | Load balancing on hetrogenous processing cluster based on exceeded load imbalance factor threshold determined by total completion time of multiple processing phases | |
Ahuja et al. | Matching language and hardware for parallel computation in the Linda machine | |
Barker et al. | A load balancing framework for adaptive and asynchronous applications | |
CA2181099C (en) | Method and means for scheduling parallel processors | |
CN105843683B (zh) | 用于动态优化平台资源分配的方法、系统和设备 | |
US8214814B2 (en) | Sharing compiler optimizations in a multi-node system | |
US20150227586A1 (en) | Methods and Systems for Dynamically Allocating Resources and Tasks Among Database Work Agents in an SMP Environment | |
US8489700B2 (en) | Analysis of nodal affinity behavior | |
CN110023904A (zh) | 双模式本地数据存储 | |
Paraskevakos et al. | Task-parallel analysis of molecular dynamics trajectories | |
Lehmann et al. | How workflow engines should talk to resource managers: A proposal for a common workflow scheduling interface | |
Rafique et al. | Designing accelerator-based distributed systems for high performance | |
JP3016359B2 (ja) | マルチプロセッサシステムにおけるプロセッサ割り当て装置、プロセッサ割り当て方法、およびプロセッサ割り当てプログラムを記憶する媒体 | |
CN112860506B (zh) | 监控数据的处理方法、装置、系统和存储介质 | |
Ghandeharizadeh | Physical database design in multiprocessor database systems | |
Philippsen et al. | Compiling for massively parallel machines | |
López-Albelda et al. | FlexSched: Efficient scheduling techniques for concurrent kernel execution on GPUs | |
CN108241508B (zh) | 处理OpenCL内核的方法及用于该方法的计算设备 | |
US8276151B2 (en) | Determination of running status of logical processor | |
Geng et al. | PDAWL: profile-based iterative dynamic adaptive workload balance on heterogeneous architectures | |
Bendechache et al. | Performance evaluation of a distributed clustering approach for spatial datasets | |
Liu et al. | Rotary: A Resource Arbitration Framework for Progressive Iterative Analytics | |
Helal et al. | Commanalyzer: Automated estimation of communication cost and scalability on hpc clusters from sequential code | |
Nanda et al. | Resource contention in shared-memory multiprocessors: A parameterized performance degradation model | |
Orlando et al. | SUPPLE: an efficient run-time support for non-uniform parallel loops |
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 |