JPH11154143A - 並列プロセッサにおけるプロセス間のスケジューリング方式 - Google Patents

並列プロセッサにおけるプロセス間のスケジューリング方式

Info

Publication number
JPH11154143A
JPH11154143A JP32078597A JP32078597A JPH11154143A JP H11154143 A JPH11154143 A JP H11154143A JP 32078597 A JP32078597 A JP 32078597A JP 32078597 A JP32078597 A JP 32078597A JP H11154143 A JPH11154143 A JP H11154143A
Authority
JP
Japan
Prior art keywords
processor
communication
function
transmission
processor number
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.)
Pending
Application number
JP32078597A
Other languages
English (en)
Inventor
Toshiaki Sunago
俊明 砂子
Kazuya Higuchi
和也 樋口
Hiroyuki Sakuraba
博之 櫻庭
Tetsuo Ota
哲郎 太田
Tamotsu Sato
保 佐藤
Kenichi Takahashi
憲一 高橋
Takeo Minami
建夫 南
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.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
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 Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP32078597A priority Critical patent/JPH11154143A/ja
Publication of JPH11154143A publication Critical patent/JPH11154143A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【課題】実行中のプロセスからのダイナミックな通信要
求に対して最適な通信経路の確保を行うプロセスのスケ
ジュール方式を提供する。 【解決手段】システム管理プロセッサ1と、n個の計算
プロセッサ2が高速のネットワーク4により接続され、
各プロセッサはお互いに通信出来る並列計算機システム
において、システム管理プロセッサ1で各計算プロセッ
サ2の相互の通信使用状況を一括監視しておき、プロセ
スを新たに生成する場合には、プロセスを生成するのに
送信使用率が最も低いプロセッサを選択しプロセスを生
成する。実行中のプロセス15から送信要求がある場合
には、通信経路確保のため最適なプロセッサを選択し、
通信のための最適なプロセッサが選択された場合には、
プロセス移動機能13を用いて、最適なプロセッサにプ
ロセスを移動した後に、プロセス関連情報の復元を行
う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は数十から数万のプロ
セッサが2次元あるいは3次元の高速なネットワークで
結合して動作する並列計算機システムにおけるプロセス
のスケジューリング方式に関する。
【0002】
【従来の技術】並列計算機システム上で動作する並列計
算プロセスに対するプロセス生成は、各プロセッサ部分
の送受信状況に関わらずプロセスの生成を行っている。
また、一旦プロセスを実行するプロセッサが決定される
と、プロセスを他のプロセッサへ移動することがないた
め、実行中のそれぞれのプロセスからの送受信要求にお
いては、各プロセッサ部分の通信経路の使用状況に関わ
らず、要求したプロセッサ上に送受信を行っている。ま
たプロセッサ間通信制御方式として特開平5−3245
92号公報に記載されたものがあるがメッセージ通信回
数削減に関する技術である。
【0003】
【発明が解決しようとする課題】上述した従来の方式で
は、プロセッサ間の通信の負荷にかかわらずプロセスの
割り当てを行うため、ある特定のプロセッサ間で通信の
負荷がかかっている場合、当該プロセッサ部分のスルー
プットの低下が避けられない。一般に並列計算プロセス
は、複数のプロセッサに割り当てられたプロセスを同期
させて処理するが、プロセッサ内で複数のプロセスによ
り特定のプロセッサ間での広域的な通信の負荷がかかる
と、システム全体のスループットの低下を招いている。
【0004】本発明の目的は、各プロセッサ間の通信使
用状況をあらかじめ監視しておき、プロセスの生成時、
および、送受信要求時にシステム全体の通信使用効率が
適正になるようにプロセスの生成を行い、システム全体
のスループットの向上を図るものである。
【0005】
【課題を解決するための手段】図1は、本発明のブロッ
ク図である。前提として、n個の計算プロセッサ2と1
個のシステム管理用プロセッサ1が各プロセッサ間の通
信を行うための高速なネットワーク機構4で接続され、
各プロセッサ毎に独立したメモリを有する並列計算機の
下で、計算プロセッサ2上で動作するプロセス15を管
理するための制御プログラム(以下プロセッサ管理11
と称する)が各計算プロセッサ2上で動作し、システム
管理プロセッサ1には、システム全体を管理するための
制御プログラム(以下システム管理5と称する)が動作
している。プロセス15の生成は、システム管理5がプ
ロセッサ管理11に対しプロセス生成要求することで行
う。動作中のプロセス15からの送信要求が発生した場
合には、プロセッサ管理11により他計算プロセッサ2
に送信を行う。各プロセス15は、システム内でユニー
クなプロセス番号16を持っている。また、各プロセッ
サもシステム内で高速ネットワークの交点を2次元なら
ばx座標、y座標、3次元ならばx座標、y座標、z座
標のユニークなプロセッサ番号3を持っている。どのプ
ロセスがどの計算プロセッサで実行されているかは、プ
ロセス番号16とプロセッサ番号3との対応テーブル
(以下プロセス管理テーブル9と称する)をシステム管
理5で管理している。
【0006】各プロセス間で通信する場合には送信元の
プロセッサが送信先のプロセッサ番号、プロセスの送信
使用量と送信先のプロセッサ番号と送信を行ったプロセ
ッサまでの送信経路をプロセッサ管理11に報告を行
い、送信が完了すると、送信先のプロセッサ番号、プロ
セスの送信使用量と送信を行ったプロセッサまでの送信
経路と送信の完了を報告するものとする。
【0007】本発明を実現するために、各プロセッサ管
理11には、該当プロセッサの送信使用量と送信元から
送信先のプロセッサ番号の経路を監視し、送信を行うと
きのプロセス番号、プロセスの実メモリ使用量、プロセ
ス送信使用量と通信経路をシステム管理5へ通知し、送
信が完了すると送信を行ったプロセス番号、プロセスの
実メモリ使用量、プロセス送信使用量と通信経路と送信
が完了したというフラグの通知を受け、システム管理に
報告する「通信報告機能14」と他のプロセッサへプロ
セスを移動する「プロセス移動機能13」を設ける。シ
ステム管理5には、各プロセッサ管理11から通知され
た送信使用量を通信使用状況管理テーブル10、通信負
荷管理テーブル19を管理する「通信負荷管理機能7」
を設ける。通信負荷管理機能7は、通信テーブル更新機
能7aと通信負荷監視機能7bから構成されている。通
信テーブル更新機能7aは、計算プロセッサ2の通信報
告機能14より通知されたプロセス番号、プロセスの実
メモリ使用量、プロセス送信使用量と通信経路、送信先
のプロセッサ、送信完了したかのフラグを通信使用状況
管理テーブル10に追加する機能である。通信負荷監視
機能7bは通信負荷を一定時間監視し、ある通信経路に
て通信の負荷集中が発生した場合、新たに設けた「プロ
セッサ選択機能8」をコールし、通信負荷に関してプロ
セス割り当てに関する最適な計算プロセッサ2を選択さ
せる。ただし、再度同一プロセス番号が「プロセッサ選
択機能8」をコールしたとき割り当てられないようにプ
ロセス番号を記憶しておくためのプロセス選択テーブル
7cを設定しておき、選択したプロセス番号をプロセッ
サ選択機能8で選択された順番に格納する。さらに送信
完了したデータを通信使用状況管理テーブル10から削
除のおよび通信負荷管理テーブル19の更新を行う機能
である。
【0008】新規にプロセス生成が要求されると、シス
テム管理5が、通信負荷管理機能7を用いて、通信負荷
管理テーブル19内の全計算プロセッサ中で、通信使用
量が最少であるプロセッサ2を選択しプロセスの生成要
求を行う。動作中のプロセス15からの他の計算プロセ
ッサ2への通信要求の場合には、送信要求機能17で送
信を行うが通信使用量が通信量のしきい値を超える場合
にはシステム管理5のプロセッサ選択機能8を利用し、
受信側の近傍の計算プロセッサ2で最少の通信使用量で
ある計算プロセッサ2を選択し、該当プロセッサへ実行
中のプロセス15そのものを移動し、移動先の計算プロ
セッサでプロセス確保する。これにより、特定プロセス
による計算プロセッサの局所的な通信の負荷に抑えるこ
とによりスループットの低下を防止することが可能とな
る。
【0009】
【発明の実施の形態】次に、本発明の実施例について図
面を参照して説明する。図1は、本発明の一実施例のブ
ロック図である。図1においてシステム管理プロセッサ
1と各計算プロセッサ2は高速のネットワーク4で接続
され、接続されたすべてのプロセッサはお互いに通信し
情報の交換が可能である。
【0010】システム管理5には、プロセス管理機能6
と送信負荷管理機能7とプロセッサ選択機能8を新たに
設ける。プロセス管理機能6は、生成したプロセス番号
とプロセッサ番号を対応させる機能でありプロセスの生
成・終了が発生するとプロセス管理テーブル9に情報を
格納する。
【0011】通信負荷管理機能7は、通信テーブル更新
機能7aと通信負荷監視機能7bで構成されている。通
信テーブル更新機能7aは各プロセッサ管理11の通信
報告機能14から報告された各計算プロセッサ2のプロ
セス単位の送信使用量、実メモリ使用量、送信先プロセ
ッサ番号、送信先の計算プロセッサ2までの送信経路を
通信使用状況管理テーブル10へレコードを追加し、プ
ロセッサ番号とその近傍との負荷状況を監視するための
通信負荷管理テーブル19に通信報告機能14の通信経
路から該当方向の通信方向に送信先プロセッサまで通信
量を加算する機能である。通信負荷監視機能7bは、一
定時間通信負荷を監視しプロセッサ選択機能8およびプ
ロセス移動機能13をコールする。また、送信が完了し
たプロセスに関しては通信使用状況管理テーブル10か
らの削除、および通信負荷管理テーブル10から送信量
についての一定量の減算を行うことによって単位時間あ
たりの通信量の過負荷を監視する機能である。
【0012】プロセッサ選択機能8は、通信使用状況管
理テーブル10と通信負荷管理テーブル19を参照し最
適な計算プロセッサ2を選択し要求元へ応答する機能を
持つ。各プロセッサ管理11は、プロセス生成/終了機
能12を持っている。プロセス生成/終了機能12は、
自プロセッサにプロセスの生成、終了を行う機能であ
る。
【0013】通信報告機能14は、プロセス間で通信す
る場合、送信元のプロセッサが送信先のプロセッサ番
号、プロセスの送信使用量、送信時のプロセッサの実メ
モリ使用量と送信先のプロセッサまでの送信経路、およ
び送信完了報告を受け取りこの情報をプロセッサ内プロ
セス管理機能18で監視を行っているプロセスの実メモ
リ使用状況を参照し、通信負荷管理機能7に報告する機
能である。
【0014】送信要求機能17は、他プロセッサのプロ
セスに送信を行う機能である。
【0015】プロセッサ内プロセス管理機能18は、自
計算プロセッサ2のプロセス15のメモリ使用状況など
を監視しプロセス管理機能6へ報告する。
【0016】プロセス移動機能13は、自計算プロセッ
サ2で実行中の任意のプロセス15を任意の計算プロセ
ッサ2へ移動する機能である。
【0017】図2は、プロセス管理テーブル9の構成例
を示したものである。
【0018】プロセス番号20、当該プロセスが存在す
るプロセッサ番号21とプロセスの動作状況を示すプロ
セスの状態22から構成されている。図3は、プロセッ
サ番号21の詳細を示した図で、x座標21x、y座標
21y、z座標21zで構成されている。
【0019】図4は、各プロセス15の通信量を管理す
る通信使用状況管理テーブル10の構成例を示したもの
である。プロセス番号30、そのプロセスの実メモリ使
用量31、プロセスの送信使用量32、そのプロセス番
号の送信が完了すると送信完了を通知する領域として送
信完了フラグ33、プロセッサ番号34、送信先のプロ
セッサ番号35プロセッサ番号34から送信先のプロセ
ッサ番号35までのプロセッサ番号の配列した通信経路
36で構成されている。図5はプロセッサ番号34のx
座標34x、y座標34y、z座標34zで構成されて
いる。図6は送信先のプロセッサ番号35のx座標35
x、y座標35y、z座標を35zで構成されている。
図7は通信経路36の詳細である。通信報告機能14か
ら報告された送信経路の順に格納され、通信負荷管理機
能7の通信テーブル更新機能7bが送信元プロセッサ番
号360のx座標360x、y座標360y、z座標3
60z、経路1プロセッサ番号361のx座標361
x、y座標361y、z座標361z、経路2プロセッ
サ番号362のx座標362x、y座標362y、z座
標362z、と逐次経路とテーブルに書き込み経路mの
プロセッサ番号36mのx座標36mx、y座標36m
y、z座標36mz、送信先プロセッサ番号36nのx
座標36nx、y座標36ny、z座標36nzまで登
録可能な構成である。
【0020】図8は、各計算プロセッサ2の通信量を管
理する通信負荷管理テーブル19の構成例を示したもの
である。プロセッサ番号40、そのプロセッサ番号40
のx+1方向の通信量41、プロセッサ番号40のx-1方向
の通信量42、プロセッサ番号40のy+1方向の通信量
43、プロセッサ番号40のy-1方向の通信量44、プ
ロセッサ番号40のz+1方向の通信量45、プロセッサ
番号40のz-1方向の通信量46、および通信量のしき
い値47、メモリ使用量の許容量48で構成されてい
る。図9はプロセッサ番号40の詳細を示した図で、x
座標40x、y座標40y、z座標を40zで構成され
ている。テーブルは全プロセッサ分の領域があらかじめ
確保されており各レコードはプロセッサ番号40におけ
る近傍の通信量を表している。
【0021】図10は、プロセス選択テーブルの構成例
を示したものである。プロセス番号のみの構成である。
【0022】次に、プロセスを生成する場合について、
図1、図4を用いて説明する。プロセス生成要求が発生
するとシステム管理5のプロセス管理機能6がプロセス
選択機能8をコールする。プロセッサ選択機能8は、通
信負荷管理テーブル19の中で、通信量の最も少ない計
算プロセッサ2を選択しコール元へリターンする。プロ
セス管理機能6は選択されたプロセッサのプロセッサ管
理11のプロセス生成/終了機能12へプロセスの生成
要求を行い、その結果をプロセス管理機能6でプロセス
管理テーブル9に反映する。動作中のプロセスが送信要
求をする場合について、図1、図4、図8、図10を用
いて説明する。
【0023】動作中のプロセスから送信要求があると、
送信要求機能17により送信先に送信要求を行い、送信
情報が、通信報告機能14に報告される。通信報告機能
14は送信が発生および送信が完了する毎に通信負荷管
理機能7に報告する。通信負荷管理機能7の通信テーブ
ル更新機能7aは送信発生の場合、通信報告機能14か
ら受け取ったプロセス番号、プロセスの実メモリ使用
量、プロセスの送信使用量、プロセッサ番号、送信先プ
ロセッサ番号、および送信経路の情報を送信使用状況管
理テーブル10にレコードとして追加する。また送信使
用状況管理テーブル10の送信経路を基にして各計算プ
ロセッサ2の近傍の通信量を通信負荷管理テーブル19
のプロセッサ番号40の x+1方向の通信量41、プロセ
ッサ番号40のx-1方向の通信量42、プロセッサ番号
40のy+1方向の通信量43、プロセッサ番号40のy-1
方向の通信量44、プロセッサ番号40のz+1方向の通
信量45、プロセッサ番号40のz-1方向の通信量46
にすべて送信量を加算更新する。送信が完了の報告を受
けると通信負荷管理機能7の通信テーブル更新機能7a
は送信使用状況管理テーブル10を通信報告機能14か
ら受け取ったプロセス番号、プロセスの送信使用量、プ
ロセッサ番号、送信先のプロセッサ番号、および送信経
路の情報をキーにレコードを検索を行い同一すべて一致
した場合当該レコードの送信完了フラグ33をONにし
実メモリ使用量を更新する。通信負荷管理機能7の通信
負荷監視機能は7bは一定間隔で通信負荷管理テーブル
19の、プロセッサ番号40のx+1方向の通信量41、
プロセッサ番号40のx-1方向の通信量42、プロセッ
サ番号40のy+1方向の通信量43、プロセッサ番号4
0のy-1方向の通信量44、プロセッサ番号40のz+1方
向の通信量45、プロセッサ番号40のz-1方向の通信
量46と送信量のしきい値47の監視を行っている。一
定間隔内で通信量41〜通信量46のいずれかが通信量
のしきい値を超えた場合、プロセッサ選択機能8を用い
て、通信使用状況管理テーブル10のプロセス番号30
とプロセスの通信使用量32とプロセッサ番号33と送
信先プロセッサ番号35と通信経路36から同一の通信
経路を使用するプロセスの中で通信量の最も多く、この
一定間隔内でプロセス移動テーブル7cに登録されてい
ないプロセスを検索し、検索されたプロセスの送信先の
プロセッサ番号35の近傍で送信使用量が最も少ない経
路を持つ計算プロセッサ2へプロセス移動機能13を用
いてプロセスの移動処理を実行しプロセス移動テーブル
7cに移動したプロセス番号を登録する。ただし当該プ
ロセスが送信先のプロセッサ番号の実メモリの許容量4
8を超えている場合には、プロセスの移動は行わない。
【0024】図11は通信負荷管理機能7の通信テーブ
ル更新機能7aが通信使用状況管理テーブル10の更新
と通信負荷管理テーブル19を更新する処理を説明した
フローチャートである。
【0025】通信報告機能14からの通信状態が報告さ
れると、プロセス管理機能6は、プロセス番号、プロセ
スの実メモリ使用量、プロセスの通信使用量、プロセッ
サ番号、送信先プロセッサ番号、送信元から送信先まで
のプロセッサ番号の通信経路、送信完了フラグを入力値
として通信負荷管理機能7の通信テーブル更新機能7a
をコールする50。通信テーブル更新機能7aは入力さ
れた送信完了フラグをチェックし50a、OFFならば
プロセス番号、プロセスの実メモリ使用量、プロセスの
通信使用量、プロセッサ番号、送信先のプロセッサ番号
と通信経路をレコードとして通信使用状況管理テーブル
10をそれぞれプロセス番号30、プロセスの実メモリ
使用量31、プロセスの送信使用量32、プロセッサ番
号34のx座標34x、y座標34y、z座標34y、
送信先のプロセッサ番号35のx座標35x、y座標3
5y、z座標35z、送信元から送信先までの通信経路
36をレコードとして登録する51。通信経路36に従
い、送信元360から送信先36nまでの36xが対応
するプロセッサ番号40の通信量41〜46の該当する
方向にプロセスの送信使用量32をそれぞれ加算し5
2、コール元へリターンする。送信完了フラグがONの
場合、入力値である、プロセッサ番号、プロセスの通信
使用量、送信先のプロセッサ番号、通信経路をキーとし
て通信使用管理テーブル10から該当のレコードを検索
し送信完了フラグ33をON、プロセスの実メモリ使用
量31を更新し53、コール元へリターンする。
【0026】図12は、通信負荷管理機能7の通信負荷
監視機能7bにおいて、一定時間で通信負荷管理テーブ
ル19を監視し、プロセッサ番号40の各方向の通信量
41〜46の通信量のしきい値47を超えたとき、プロ
セッサ選択機能8、プロセス移動機能13をコールし、
プロセス移動テーブル7cの更新・削除処理、通信使用
状況管理テーブル19の各プロセッサ40の通信量41
〜46の更新処理、および通信使用状況管理テーブル1
0のレコードの削除処理を説明したフローチャートであ
る。通信負荷管理機能7の通信負荷監視機能7bは、一
定時間毎に通信負荷管理テーブル19のすべてのプロセ
ッサ番号40に対する全方向の通信量41〜46を検索
し次の処理を行う。通信負荷管理テーブル19の先頭レ
コードをポイントする54。通信量のしきい値47と通
信量41〜46を比較する54a。比較の結果、通信量
の方が値が大きいか、等しい場合、該当するプロセッサ
番号40、およびしきい値を超えた方向のプロセッサ番
号、プロセス選択テーブル7cの先頭ポインタを入力値
としてプロセッサ選択機能8をコールする55。比較の
結果、通信量の方が値が小さい場合、次の通信量につい
ての比較を行う。通信量41〜46の検索が終了する
と、通信負荷管理テーブル19の次のレコードをポイン
トする54b。通信負荷管理テーブル19の次のレコー
ドが存在する場合、54aから同様に繰り返し処理を行
う。通信負荷管理テーブル19のすべてのレコードの検
索が終了するとへ進む。プロセッサ選択機能8の戻り
値55aが未選択の場合は54aから処理を続行する。
戻り値55aが選択されている場合は、プロセッサ選択
機能8の戻り値である移動先するプロセス番号と移動先
のプロセッサ番号を入力としてプロセス移動機能13を
コールする56。プロセス移動機能13の処理を終了す
ると、プロセス選択テーブル7cに移動したプロセス番
号をレコードとして登録する56a。登録が終了すると
54aから処理を続行する。からの処理を次に説明す
る。通信負荷管理テーブル19のすべてのレコードの処
理を終了すると、プロセス選択テーブル7cのレコード
をすべて削除し56c、通信負荷管理テーブル19の先
頭レコードをポイントする57。通信量41〜46に対
し通信量のしきい値と通信負荷監視機能7bによる一定
時間の割合から算出した値を減算する57a。減算行っ
た結果、通信量が負値になる場合は57b、通信量を0
とする57c。通信量41〜46に対する処理が終了す
ると、通信負荷管理テーブル19の次のレコードをポイ
ントする57d。通信負荷管理テーブル19の次のレコ
ードが存在する場合、57aから同様に繰り返し処理を
行う。通信負荷管理テーブル19のすべてのレコードの
検索が終了すると、通信使用状況管理テーブル10の先
頭レコードをポイントする58。送信完了フラグ33が
ONになっている場合58a、通信使用状況管理テーブ
ル10から当該レコードを削除する59。通信使用状況
管理テーブル10の次のレコードをポイントする58
b。通信使用状況管理テーブル10の次のレコードが存
在する場合58c、58aから同様に繰り返し処理を行
う。通信負荷管理機能7の通信負荷監視機能7bの処理
を終了する。
【0027】図15及び図16は通信負荷監視機能7b
からコールされたプロセッサ選択機能8が、移動すべき
プロセス15と移動先の計算プロセッサ2を選択する処
理を説明するフローチャートである。図13は図8の処
理で使用する移動先のプロセッサキュー600の詳細を
示したもので、プロセス番号601、プロセスの実メモ
リ使用量602、プロセスの送信使用量603、プロセ
ッサ番号604、送信先プロセッサ番号605から構成
されている。図14は、図15の処理で使用するプロセ
ッサキュー400の詳細を示したもので、プロセッサ番
号401、メモリ量の許容量402から構成されてい
る。プロセッサ選択機能8は、通信負荷監視機能7bか
ら通信使用量のしきい値を超えたとき該当するプロセッ
サ番号40(プロセッサ番号P)、およびしきい値を超
えた方向のプロセッサ番号(プロセッサ番号Q)、プロ
セス選択テーブル7cの先頭ポインタを入力値としてコ
ールされる60。通信使用状況管理テーブル10の先頭
レコードをポイントする61。プロセッサ番号P、プロ
セッサ番号Qをキーとして通信使用管理テーブル10の
通信経路36について送信元プロセッサ番号360、経
路1プロセッサ番号361から順に経路mプロセッサ番
号36m、送信先プロセッサ番号36nまで検索し、該
当する通信経路を使用している場合61a次の処理を行
う。プロセス選択テーブル7cの先頭レコードをプロセ
ス番号Rとする62。プロセス番号Rとプロセス番号3
0を比較し62a、等しい場合にはから処理を行う。
等しくない場合には、プロセス選択テーブル7cの次の
レコードをプロセス番号Rとする63。プロセス選択テ
ーブル7cの次のレコードが存在する場合、62aから
同様に繰り返し処理を行う。次のレコードが存在しない
場合には以下の処理を行う。は、送信先選択キュー
600の作成を行う処理である。送信先選択キューの先
頭レコードをポイントする64。送信先選択キュー60
0の有無をチェックし64a、存在しない場合は、プロ
セス番号30、プロセスの実メモリ使用量31、プロセ
スの送信使用量32、プロセッサ番号34、送信先プロ
セッサ番号35を送信先選択キュー600に登録し65
a、以下の処理を実行する。送信先選択キュー600
が存在する場合、送信先選択キュー600のプロセス番
号601とプロセス番号30、送信先プロセッサ番号6
05と送信先プロセッサ番号35をそれぞれ比較し64
b、各々が等しく無い場合は、送信先選択キュー600
の次のレコードをポイントし64c、64aの処理から
繰り返す。各々が等しい場合は、送信先選択キュー60
0のプロセスの実メモリ使用量602にプロセスの実メ
モリ使用量31を格納し、プロセスの送信使用量603
にプロセスの送信使用量32を加算する65。その後、
以降の処理を実行する。以降の処理では、通信使用
状況管理テーブル10の次のレコードをポイントする6
1b。通信使用状況管理テーブル10のレコードが存在
する場合には、61aの処理から繰り返す。レコードが
存在しない場合には、図16の以降の処理を実行す
る。
【0028】図16の以降の処理では、移動先のプロ
セッサキュー600の作成を行い、移動すべきプロセス
と移動先プロセッサーの選択処理を行う。送信先選択キ
ュー600をプロセスの送信使用量603をキーとして
降順にソートする66。送信先選択キュー600の先頭
レコードをポイントする60a。プロセッサ番号604
をキーに通信負荷管理テーブル19のプロセッサ番号4
0検索し、該当するレコードの通信量41〜46を昇順
にソートし、その各フィールドに対応するプロセッサ番
号401とメモリ量の許容量402から構成されたプロ
セッサキュー400を作成する67。プロセッサキュー
400の先頭レコードをポイントする67a。メモリ量
の許容量402とプロセスの実メモリ使用量602を比
較し67b、プロセスの実メモリ使用量602がメモリ
量の許容量402以下の場合は、プロセス番号601と
プロセッサ番号401を選択値としてコール元へリター
ンする68。プロセスの実メモリ使用量602がメモリ
量の許容量402よりも大きい場合は、次の処理を行
う。プロセッサキュー400の次のレコードをポイント
する67c。レコードが存在する場合には67bから処
理を繰り返す。レコードが存在しない場合には、送信先
選択キュー600の次のレコードをポイントする66
c。レコードが存在する場合には67から処理を繰り返
す。レコードが存在しない場合には、未選択のままコー
ル元へリターンする。
【0029】各々が等しいプロセス30のプロセス通信
負荷管理テーブル19のすべてのレコードの検索が終了
するとへ進む。先頭か0ら検索を行い62同一プロセ
スが存在した場合何もしない。プロセス選択テーブル7
cのレコードのプロセス番号を全件検索し63、プロセ
ス番号がすべて異なっている場合、プロセス番号30を
キーに送信先選択キューの先頭から同一プロセス番号を
検索する64。同一プロセス番号が検索できた場合送信
先のプロセッサ番号を比較し同一の送信先のプロセッサ
番号ならば当該プロセス番号の送信先選択キューに実メ
モリ使用量を更新とプロセスの送信使用量の加算を行う
65。送信先プロセッサ番号が同一でない場合、次の送
信先選択キューの検索を行い、最後まで存在する送信先
選択キューの検索を行い64a、該当する送信先プロセ
ッサ番号が検索できなかった場合、プロセスの送信使用
量、プロセッサ番号、送信先プロセッサ番号をレコード
として送信先選択キューに登録する65a。順次通信使
用テーブル10のレコードを検索し61a、検索を終了
すると、プロセスの送信使用量の大きいプロセス番号順
に送信先選択キューをソートし送信先選択キューの先頭
のプロセス番号を選択する66。送信先のプロセッサ番
号をキーに通信負荷管理テーブル19のプロセッサ番号
40の各方向41〜46を参照し最も通信量の少ない順
にプロセッサ選択キューを作成し、プロセッサ選択キュ
ーの先頭のプロセッサ番号を選択する67。選択された
プロセッサ番号のメモリ量の許容量48が送信先選択キ
ューに登録されている実メモリ使用量より大きい場合、
選択したプロセッサ番号、プロセス番号をリターン情報
として返す68。選択されたプロセッサ番号のメモリ量
の許容量48が送信先選択キューに登録されている実メ
モリ使用量より小さい場合、次のプロセッサ選択キュー
67aから次のプロセッサ番号を選択する。プロセッサ
選択キューより選択する情報がなくなった場合、次の送
信先選択キュー68aからプロセス番号を選択し67へ
戻る。次の送信先選択キューの情報がなくなった場合、
未選択としてリターン情報を返す69。
【0030】図17はプロセス移動機能13が自プロセ
ッサで実行中のプロセスを他のプロセッサへ移動させる
動作を説明するものである。図1と図2と図4におい
て、移動元プロセッサを「プロセッサ番号111」、移
動先プロセッサを「プロセッサ番号222」、受信元プ
ロセッサを「プロセッサ番号333」として説明する。
【0031】移動元である「プロセッサ番号111」の
プロセス移動機能13は、送信先に要求どおり送信を行
った後aプロセスの移動処理を開始するとb,システム
管理5に対してプロセスの移動を開始する旨を報告する
c。その報告を受けてシステム管理5は、プロセス管理
機能6でプロセス管理テーブル9にある移動するプロセ
スのプロセス状態22を「保留状態」にしd、移動元
「プロセッサ番号111」のプロセス移動機能13に対
し、プロセスの保留状態への移行が完了したことを返答
するe。それを受けて、移動元「プロセッサ番号11
1」のプロセス移動機能13は移動させるプロセスを静
止状態にした後にf、移動先「プロセッサ番号222」
のプロセス移動機能13に対しプロセス15、プロセス
関連情報25を送信するg。これらの情報を受け取った
プロセス移動機能13は転送されてきたプロセス15を
移動前の状態に復元しh、プロセスの静止状態を解除し
た後にi、システム管理5に対してプロセスの移動が完
了したことを報告するj。その報告を受けてシステム管
理5は、プロセス管理機能6で、プロセス管理テーブル
9のプロセスの状態22の「保留状態」を解除し、プロ
セッサ番号21を移動先である「プロセッサ番号22
2」へ変更しk、プロセスの保留状態の解除が完了した
ことを返答するl。これを受けて、移動先「プロセッサ
番号222」のプロセス移動機能13は、移動元「プロ
セッサ番号111」のプロセス移動機能13に対しプロ
セスの移動が完了したことを報告するm。これを受け
て、移動元「プロセッサ番号111」のプロセス移動機
能13は、プロセス関連情報25、プロセス15を消去
するn。
【0032】ただし、各プロセッサへの各要求に対し
て、何等かの要因により要求が受け入れられない場合
は、プロセスの移動を中止し、当該プロセッサ上でその
後の処理を続行する。
【0033】本実施例によれば、送信要求時に、システ
ム全体の送信使用量を考慮するため各プロセッサ部分の
ネットワーク負荷の偏りを局所化し、システム全体のス
ループットが向上する。
【0034】
【発明の効果】以上説明したように、本発明のプロセス
のスケジュール方式は、各プロセッサが独立したメモリ
だけで、共用のメモリを持たない並列計算機システムに
おいて、各プロセッサの通信の負荷の局所化や他のプロ
セスの通信ネックを解消し、実行する並列プロセスのト
ータル実行性能の低下を防止できる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図を示したもので
ある。
【図2】本実施例のプロセス管理テーブル9の構成の一
例を示す図である。
【図3】プロセッサ番号21の3次元の構成の一例を示
す図である。
【図4】本実施例のシステム管理プロセッサ1の通信使
用状況管理テーブル10の構成の一例を示す図である。
【図5】プロセッサ番号34の3次元の構成の一例を示
す図である。
【図6】送信先プロセッサ番号35の3次元の構成の一
例を示す図である。
【図7】通信経路36の一例を示す図である。
【図8】本実施例のシステム管理プロセッサ1の通信負
荷管理テーブル19の一例を示す図である。
【図9】プロセッサ番号40の3次元の構成の一例を示
す図である。
【図10】プロセス移動テーブル7cの構成の一例を示
す図である。
【図11】通信テーブル更新機能7aが通信使用状況管
理テーブル10および通信負荷管理テーブル19を更新
する処理を説明するフローチャートである。
【図12】通信負荷監視機能7bが一定時間で通信負荷
管理テーブル19を監視し、プロセッサ番号40の各方
向の通信量41〜46の通信量のしきい値47を超えた
とき、プロセッサ選択機能8、プロセス移動機能13を
コールし、プロセス移動テーブル7cの更新・削除処
理、通信使用状況管理テーブル19の各プロセッサ40
の通信量41〜46の更新処理、および通信使用状況管
理テーブル10の不要なレコードの削除処理を説明する
フローチャートである。
【図13】プロセッサ選択機能8がプロセスを移動すべ
き計算プロセッサを選択する動作を説明するフローチャ
ート。
【図14】プロセッサ選択機能8がプロセスを移動すべ
き計算プロセッサを選択する動作を説明するフローチャ
ート。
【図15】送信先選択キュー600の構成の一例を示す
図である。
【図16】プロセッサキュー400の構成の一例を示す
図である。
【図17】本実施例のプロセス移動機能13が自プロセ
ッサで実行中のプロセスを他のプロセッサへ移動させる
動作を説明するための図である。
【符号の説明】
1…システム管理プロセッサ、2…計算プロセッサ、3
…プロセッサ番号、4…ネットワーク機構、 5…
システム管理、 6…プロセス管理機能、7…通信負荷
管理機能、 7a…通信テーブル更新機能、7b…通信
負荷監視機能、 7c…プロセス移動テーブル、8…
プロセッサ選択機能、 9…プロセス管理テーブル、
10…通信使用状況管理テーブル、11…プロセッサ管理、
12…プロセス生成/終了機能、 13…プロセス移動機
能、14…通信報告機能、 15…プロセス、16
20 30 601…プロセス番号、 17…送信要求機能、18…
計算プロセッサ内プロセス管理機能、 19…通信負荷
管理テーブル、21 34 40 401 604…プロセッサ番号、21
x 34x 40…プロセッサ番号のx座標、21y 34y 40…プロ
セッサ番号のy座標、21z 34z 40…プロセッサ番号のz
座標、22…プロセスの状態、 25…プロセス関
連情報、31 602…プロセスの実メモリ使用量、
32 603…プロセスの送信使用量、33…送信完了フラグ、
35 605…送信先プロセッサ番号、35x…送信
先プロセッサ番号のx座標、35y…送信先プロセッサ番号
のy座標、35z…送信先プロセッサ番号のz座標、
36…通信経路、360…送信元プロセッサ番号、360x…
送信元プロセッサ番号x、 360y…送信元プ
ロセッサ番号y、360z…送信元プロセッサ番号z、
361…経路1プロセッサ番号、361x…経路1プロ
セッサ番号x、 361y…経路1プロセッサ番号y、361z…
経路1プロセッサ番号z、 362…経路2プロセッサ番号、
362x…経路2プロセッサ番号x、 362y…経路2プロセッ
サ番号y、362z…経路2プロセッサ番号z、 36m…経路m
プロセッサ番号、36mx…経路mプロセッサ番号x、 36my
…経路mプロセッサ番号y、36mz…経路mプロセッサ番号
z、 36n…送信先プロセッサ番号、36nx…送信元プロセ
ッサ番号x 36ny…送信元プロセッサ番号y、36nz…送
信元プロセッサ番号z 402…メモリ量の許容量、41…プ
ロセッサ番号40のx+1方向の通信量、42…プロセッサ番
号40のx-1方向の通信量、43…プロセッサ番号40のy+1方
向の通信量、44…プロセッサ番号40のy-1方向の通信
量、45…プロセッサ番号40のz+1方向の通信量、46…プ
ロセッサ番号40のz-1方向の通信量、 47…通信量のしき
い値、48…実メモリ量の許容量。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 樋口 和也 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 櫻庭 博之 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 太田 哲郎 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 佐藤 保 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 高橋 憲一 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 南 建夫 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサからなる並列計算機シス
    テムにおけるプロセス生成時のスケジューリングにおい
    て、各プロセッサ毎の一定時間の送受信状況をシステム
    全体として一括監視し、プロセス生成時に最適なプロセ
    ッサを決定することを特徴とするプロセスのスケジュー
    リング方式。
  2. 【請求項2】請求項1記載のプロセスのスケジューリン
    グ方式において、システム全体の通信効率が最適になる
    ように実行中のプロセスを別プロセッサで実行させるた
    めのプロセスのスケジューリング方式。
JP32078597A 1997-11-21 1997-11-21 並列プロセッサにおけるプロセス間のスケジューリング方式 Pending JPH11154143A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32078597A JPH11154143A (ja) 1997-11-21 1997-11-21 並列プロセッサにおけるプロセス間のスケジューリング方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32078597A JPH11154143A (ja) 1997-11-21 1997-11-21 並列プロセッサにおけるプロセス間のスケジューリング方式

Publications (1)

Publication Number Publication Date
JPH11154143A true JPH11154143A (ja) 1999-06-08

Family

ID=18125223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32078597A Pending JPH11154143A (ja) 1997-11-21 1997-11-21 並列プロセッサにおけるプロセス間のスケジューリング方式

Country Status (1)

Country Link
JP (1) JPH11154143A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243223A (ja) * 2011-05-23 2012-12-10 Fujitsu Ltd プロセス配置装置、プロセス配置方法及びプロセス配置プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243223A (ja) * 2011-05-23 2012-12-10 Fujitsu Ltd プロセス配置装置、プロセス配置方法及びプロセス配置プログラム

Similar Documents

Publication Publication Date Title
US10838777B2 (en) Distributed resource allocation method, allocation node, and access node
US7185046B2 (en) Submitting jobs in a distributed computing environment
US5414845A (en) Network-based computer system with improved network scheduling system
CN101923490B (zh) 作业调度设备和作业调度方法
CN103312624A (zh) 一种消息队列服务系统和方法
US7680797B1 (en) Methods and systems for providing a data access layer
CN113127444B (zh) 一种数据迁移方法、装置、服务器及存储介质
JPH11154143A (ja) 並列プロセッサにおけるプロセス間のスケジューリング方式
CN110362426A (zh) 一种面向突发性负载的选择性副本实现方法及系统
JP2006502651A (ja) キーイベント制御装置
GB2390776A (en) Method and apparatus for automated network polling
Bivens et al. Agent-based network monitoring
JPH0883257A (ja) 並列コンピュータシステムのプロセス実行最適化方法
JPH09274608A (ja) マルチプロセッサシステムにおけるプロセッサ間の負荷配分制御方法
US20040249942A1 (en) Mechanism for managing a distributed computing system
Manvi et al. An agent-based resource allocation model for grid computing
Towsley et al. Performance analysis of a fault tolerant mirrored disk system
JPH09179834A (ja) 並列システムにおけるプロセスのスケジューリング方法
CA2332247C (en) Remote computing
CN113965623B (zh) 基于移动代理的工业控制网络数据采集系统
Cao et al. Achieving replication consistency using cooperating mobile agents
JP2001067325A (ja) 分散オブジェクト管理方法およびシステム
JPS62233873A (ja) 並列計算機システム
JP2000122879A (ja) 計算機システムの性能モニタリング方法
Sinkovic et al. Parallelism in mobile agent network