JPH11353287A - Scheduling system for process of parallel system - Google Patents

Scheduling system for process of parallel system

Info

Publication number
JPH11353287A
JPH11353287A JP10158820A JP15882098A JPH11353287A JP H11353287 A JPH11353287 A JP H11353287A JP 10158820 A JP10158820 A JP 10158820A JP 15882098 A JP15882098 A JP 15882098A JP H11353287 A JPH11353287 A JP H11353287A
Authority
JP
Japan
Prior art keywords
processor
function
request
dedicated
processing
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
JP10158820A
Other languages
Japanese (ja)
Inventor
Hiroyuki Sakuraba
博之 櫻庭
Kazuya Higuchi
和也 樋口
Toshiaki Sunago
俊明 砂子
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 JP10158820A priority Critical patent/JPH11353287A/en
Publication of JPH11353287A publication Critical patent/JPH11353287A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the throughput of the whole system by determining an optimum processor at an I/O request from a process as for the scheduling of processes which are being executed in a parallel computer system consisting of plural processors. SOLUTION: A process generating/ending function 12 allows its processor to generate and end a process. An I/O load monitor function 14 monitors the quantity of I/O requests from processes operating on the processor. A processor selecting function 8 selects an optimum computing processor from an I/O load state management table 10 and sends an answer to the request source. A process moving function 13 moves an arbitrary process 17 which is being executed by the processor to an arbitrary processor 2. In this constitution, the switching overhead of a network at I/O requests of respective parallel processes can be considered, so the network use efficiency can be improved and the throughput of the whole system can be improved.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は数十から数万のプロ
セッサが結合して動作する並列計算機システムにおける
プロセスのスケジューリング方式に関する。
The present invention relates to a process scheduling method in a parallel computer system in which tens to tens of thousands of processors operate in combination.

【0002】[0002]

【従来の技術】複数のI/O処理専用のプロセッサと複数
の計算処理専用のプロセッサで構成され、各々が独立し
たメモリを持ち三次元のネットワークで接続された並列
計算機システムでは、入出力装置を接続できるプロセッ
サはI/O処理専用プロセッサだけである。計算処理専用
のプロセッサ上で動作中のプロセスからのI/O要求は、
三次元のネットワークを介して目的の入出力装置が接続
されているI/O処理専用プロセッサへI/O要求すること
により実現される。
2. Description of the Related Art In a parallel computer system comprising a plurality of processors dedicated to I / O processing and a plurality of processors dedicated to calculation processing, each having an independent memory and connected by a three-dimensional network, an input / output device is used. The only processors that can be connected are processors dedicated to I / O processing. I / O requests from processes running on processors dedicated to computational processing are
This is realized by making an I / O request to an I / O processing dedicated processor to which a target input / output device is connected via a three-dimensional network.

【0003】三次元のネットワークはX軸,Y軸,Z軸
を格子状に接続され、それぞれの交点に各軸をつなぐス
イッチが取り付けられておりこのスイッチのスイッチン
グ動作によりネットワークの通信経路が決定される。X
軸方向、Y軸方向、Z軸方向それぞれ1回づつ(合計3
回)スイッチング動作を行えば目的のプロセッサへ通信
することが可能となっている。
In a three-dimensional network, an X-axis, a Y-axis, and a Z-axis are connected in a grid pattern, and a switch connecting each axis is attached to each intersection, and a communication path of the network is determined by a switching operation of the switch. You. X
Once each in the axial, Y-, and Z-axis directions (total of 3
If the switching operation is performed, it is possible to communicate with the target processor.

【0004】I/O要求を行う計算処理専用プロセッサと
I/O処理専用プロセッサの相対的な位置により、X軸の
みでI/O要求可能な場合と、X軸−Y軸でI/O要求可能
な場合と、X軸−Y軸−Z軸全てを使用してI/O要求可
能な場合の三種類がある。このときのネットワークのス
イッチングオーバーヘッドは(X軸)<(X軸−Y軸)<
(X軸−Y軸−Z軸)であり、単一の軸方向(この場合は
X軸)だけでI/O要求を行った場合が最も効率がよくな
る。
[0004] A processor dedicated to calculation processing for making I / O requests and
Depending on the relative position of the processor dedicated to I / O processing, the case where I / O requests can be made only on the X axis, the case where I / O requests can be made on the X axis-Y axis, and the X axis-Y axis-Z axis There are three types where I / O requests can be made using The switching overhead of the network at this time is (X axis) <(X axis−Y axis) <
(X axis-Y axis-Z axis), and the efficiency is highest when an I / O request is made only in a single axis direction (X axis in this case).

【0005】ところが、複数のI/O処理専用のプロセッ
サに複数の入出力装置が接続されており、動作動中の並
列計算プロセスがどのI/O処理専用プロセッサに接続さ
れている入出力装置に対してI/O要求するかは、実際に
プロセスを実行しI/O要求するまでは判断できない。こ
のため、動作する並列計算プロセスに対するプロセス生
成は、三次元のネットワークのスイッチングオーバーヘ
ッドとは無関係に、プロセスを生成するプロセッサを決
定している。また、一旦プロセスが実行を開始すると、
実行中のプロセスを他のプロセッサへ移動することがな
いため、実行中のプロセスからの特定の装置に対するI
/O要求については、三次元のネットワークのスイッチ
ングオーバヘッドとは無関係に実行中のプロセッサから
I/O要求を行っている。
However, a plurality of input / output devices are connected to a plurality of processors dedicated to I / O processing, and a running parallel computing process is connected to any input / output device connected to any I / O processing dedicated processor. It cannot be determined whether an I / O request is made until an actual process is executed and an I / O request is made. For this reason, process creation for an operating parallel computing process determines the processor that creates the process, independent of the switching overhead of the three-dimensional network. Also, once the process starts running,
Since the running process is not moved to another processor, the I
/ O requests from the running processor independent of the 3D network switching overhead
An I / O request has been made.

【0006】なお、本発明の目的であるプロセスのスケ
ジューリングに関する技術として、特開平5−1217
3号公報があるが、CPU負荷に関しての技術である。
As a technique relating to process scheduling which is an object of the present invention, Japanese Patent Laid-Open No. 5-1217 is disclosed.
Although there is Japanese Patent Publication No. 3 (Japanese Patent Application Publication No. HEI 9-209), this is a technique relating to CPU load.

【0007】[0007]

【発明が解決しようとする課題】上述した従来の方式で
は、計算処理専用のプロセッサ上で動作する並列計算プ
ロセスからの特定の入出力装置へのI/O要求は、特定の
入出力装置が接続されているI/O処理専用のプロセッサ
へI/O要求するまでのネットワークのスイッチングオー
バーヘッドとは無関係にプロセスの割り当てを行い、一
旦プロセスを実行するプロセッサを決定すると、実行中
のプロセスを他のプロセッサへ移動することがないた
め、ネットワークのスイッチングオーバーヘッドが大き
いと、当該プロセッサ部分における処理効率が低下しス
ループットの低下が避けられない。
In the above-described conventional method, an I / O request from a parallel computing process operating on a processor dedicated to computation processing to a specific input / output device is connected to the specific input / output device. Process allocation is performed irrespective of the switching overhead of the network until an I / O request is made to a processor dedicated to I / O processing, and once a processor to execute a process is determined, the running process is assigned to another processor. Therefore, if the switching overhead of the network is large, the processing efficiency in the processor part is reduced, and a reduction in throughput is inevitable.

【0008】一般に並列計算プロセスは、複数のプロセ
ッサに割り当てられたプロセスを同期させて処理するの
で、プロセッサ単位での局所的なスループット低下が発
生すると、他のプロセッサ部分の処理の待ちが増加し、
システム全体のスループットの低下を招いている。
In general, a parallel calculation process synchronizes processes assigned to a plurality of processors and processes them. Therefore, when a local decrease in the throughput occurs on a processor basis, the waiting time for the processing of other processors increases.
This causes a decrease in the throughput of the entire system.

【0009】本発明の目的は、各計算専用プロセッサ上
で実行するプロセスからのI/O要求をモニタしておき、
しきい値以上のI/O要求に対しては、当該プロセスのI
/O要求の通信におけるネットワークのスイッチングオ
ーバーヘッドが適正となるようにプロセスの再配置を行
いシステム全体のスループットの向上を図るものであ
る。
An object of the present invention is to monitor I / O requests from a process executed on each processor dedicated to calculation,
For I / O requests above the threshold, the I / O
The process is rearranged so that the switching overhead of the network in the communication of the / O request becomes appropriate, thereby improving the throughput of the entire system.

【0010】[0010]

【課題を解決するための手段】図1はシステム全体の構
成図であり、図2は図1の詳細を示した本発明のブロッ
ク図である。前提として、n個の計算専用プロセッサ2
と1個のシステム管理用プロセッサ1と入出力装置15
が接続されたm個のI/O処理専用プロセッサ3が各プロ
セッサ間の通信を行うための高速な三次元ネットワーク
4の交点で接続されており、各プロセッサは(X軸,Y軸,
Z軸)の座標をプロセッサ番号7として割当てられてい
る。また、プロセッサ番号7はシステム内でユニークな
番号となっており、ここではX軸上にI/O処理専用プロ
セッサ3が1個づつ配置されている場合について説明す
る。各プロセッサ毎に独立したメモリを有する並列計算
機の下で、計算プロセッサ2上で動作するプロセス17
を管理するための制御プログラム(以下プロセッサ管理
11と称する)が各計算専用プロセッサ2上で動作し、
システム管理プロセッサ1には、システム全体を管理す
るための制御プログラム(以下システム管理5と称す
る)が動作している。
FIG. 1 is a block diagram of the entire system, and FIG. 2 is a block diagram of the present invention showing details of FIG. It is assumed that n dedicated processors 2
And one system management processor 1 and input / output device 15
Are connected at the intersection of a high-speed three-dimensional network 4 for performing communication between the processors, and each processor is connected to the (X-axis, Y-axis,
The coordinates of the (Z axis) are assigned as the processor number 7. Further, the processor number 7 is a unique number in the system. Here, a case where one processor 3 dedicated to I / O processing is arranged on the X axis will be described. A process 17 operating on the computing processor 2 under a parallel computer having an independent memory for each processor
(Hereinafter referred to as “processor management 11”) operates on each calculation-dedicated processor 2;
In the system management processor 1, a control program (hereinafter, referred to as system management 5) for managing the entire system operates.

【0011】プロセス17の生成は、システム管理5が
プロセッサ管理11に対しプロセス生成要求することで
行う。動作中のプロセス17からのI/O要求が発生した
場合には、プロセッサ管理11がI/O処理専用プロセッ
サ3に対してI/O要求の通信を行い、I/O処理専用プロ
セッサ3の入出力装置制御機能18で実際のI/Oを処理
する。各プロセスは、システム内でユニークなプロセス
番号20を持っている。どのプロセスがどの計算専用プ
ロセッサで実行されているかは、プロセス番号20とプ
ロセッサ番号3との対応テーブル(以下プロセス管理テ
ーブル9と称する)をシステム管理5で管理している。
各プロセス間で通信する場合にはプロセス管理テーブル
9を検索し送信先のプロセスが実行されている計算専用
プロセッサ2を求め当該プロセッサに対して通信を行う
ものとする。
The process 17 is generated by the system management 5 requesting the processor management 11 to generate a process. When an I / O request is issued from the running process 17, the processor management 11 communicates the I / O request to the I / O processing dedicated processor 3 and enters the I / O processing dedicated processor 3. The output device control function 18 processes the actual I / O. Each process has a unique process number 20 in the system. Which process is executed by which calculation processor is managed by the system management 5 in a correspondence table between the process number 20 and the processor number 3 (hereinafter referred to as a process management table 9).
When communicating between the processes, it is assumed that the process management table 9 is searched to find the dedicated processor 2 on which the process of the transmission destination is being executed, and communicate with the processor.

【0012】本発明を実現するために、各プロセッサ管
理11には、該当プロセッサのI/O要求量を監視する
「I/O負荷監視機能14」と他のプロセッサへプロセス
を移動する「プロセス移動機能13」と、I/O要求に関
する最適な計算専用プロセッサ2を選択する「プロセッ
サ選択機能8」を設ける。
In order to realize the present invention, each processor management 11 includes an "I / O load monitoring function 14" for monitoring an I / O request amount of a corresponding processor and a "process migration" for migrating a process to another processor. A function 13 "and a" processor selection function 8 "for selecting an optimal processor 2 dedicated to calculation relating to I / O requests are provided.

【0013】動作中のプロセス17からのI/O要求の場
合には、プロセッサ管理11が入出力装置が接続されて
いるI/O処理専用のプロセッサ3に対してI/O要求の通
信を行い、I/O処理専用のプロセッサ3が入出力装置に
I/Oを行う。
In the case of an I / O request from the running process 17, the processor management 11 communicates the I / O request to the processor 3 dedicated to I / O processing to which the input / output device is connected. , A processor 3 dedicated to I / O processing becomes an input / output device
Perform I / O.

【0014】しきい値を超えるI/O要求が行われた場合
には、プロセッサ管理11のプロセッサ選択機能8を利
用し、I/O要求を行った際にネットワークのスイッチン
グオーバーヘッドが最少となるプロセッサを選択し、該
当プロセッサへ実行中のプロセス17そのものを移動
し、移動先の計算専用プロセッサで処理を続行する。
When an I / O request exceeding the threshold is made, the processor selection function 8 of the processor management 11 is used to minimize the switching overhead of the network when the I / O request is made. Is selected, the process 17 being executed is moved to the corresponding processor, and the processing is continued by the destination dedicated processor for calculation.

【0015】これにより、計算専用プロセッサからのI
/O要求の通信におけるネットワークのスイッチングオ
ーバーヘッドによる局所的なスループットの低下を防止
することが可能となる。
[0015] Thus, I
It is possible to prevent a local decrease in throughput due to the switching overhead of the network in the communication of the / O request.

【0016】[0016]

【発明の実施の形態】次に、本発明の実施例について図
面を参照して詳細に説明する。図2は、本発明の一実施
例のブロック図である。図2においてシステム管理プロ
セッサ1と各計算プロセッサ2とI/O処理専用プロセッ
サ3は、高速な三次元ネットワーク4で接続され、接続
されたすべてのプロセッサはお互いに通信し情報の交換
が可能である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 2 is a block diagram of one embodiment of the present invention. In FIG. 2, a system management processor 1, each processor 2 and an I / O processing dedicated processor 3 are connected by a high-speed three-dimensional network 4, and all the connected processors can communicate with each other and exchange information. .

【0017】システム管理プロセッサ1のシステム管理
5には、プロセス管理機能6が設けられている。プロセ
ス管理機能6は、生成したプロセス番号とプロセッサ番
号を対応させるプロセス理テーブル9を管理する機能で
あり、プロセス間で通信を行う場合に、本機能を経由す
ることで通信相手のプロセスが存在するプロセッサを意
識せずにプロセス番号だけで通信することが可能とな
る。
The system management 5 of the system management processor 1 has a process management function 6. The process management function 6 is a function for managing a process management table 9 for associating a generated process number with a processor number. When communicating between processes, a process of a communication partner exists through this function. It is possible to communicate only with the process number without being aware of the processor.

【0018】各計算専用プロセッサのプロセッサ管理1
1は、プロセス生成/終了機能12と、プロセッサ選択
機能8とプロセス移動機能13と該当計算専用プロセッ
サ2のI/O負荷状況を監視するためのI/O負荷監視機能
14が設けられている。
Processor management 1 for each dedicated processor
1 is provided with a process generation / termination function 12, a processor selection function 8, a process migration function 13, and an I / O load monitoring function 14 for monitoring the I / O load status of the corresponding dedicated processor 2.

【0019】プロセス生成/終了機能12は、自プロセ
ッサにプロセスの生成、終了を行う機能である。I/O負
荷監視機能14は、自プロセッサで動作するプロセスか
らのI/O要求量を監視する機能である。プロセッサ選択
機能8は、I/O負荷状況管理テーブル10から最適な計
算プロセッサを選択し要求元へ応答する機能を持つ。プ
ロセス移動機能13は、自プロセッサで実行中の任意の
プロセス17を任意のプロセッサ2へ移動する機能であ
る。
The process generation / termination function 12 is a function for generating and ending a process in its own processor. The I / O load monitoring function 14 is a function of monitoring an I / O request amount from a process running on the own processor. The processor selection function 8 has a function of selecting an optimum calculation processor from the I / O load status management table 10 and responding to the request source. The process migration function 13 is a function for migrating an arbitrary process 17 running on its own processor to an arbitrary processor 2.

【0020】図3は、プロセス管理テーブル9の構成例
を示したものである。プロセス番号21と、当該プロセ
スが存在するプロセッサ番号22と、プロセスの動作状
況を示すプロセスの状態23から構成されている。さら
にプロセッサ番号22はX座標24、Y座標25、Z座
標26から構成されている。
FIG. 3 shows a configuration example of the process management table 9. It comprises a process number 21, a processor number 22 in which the process exists, and a process state 23 indicating the operation status of the process. Further, the processor number 22 includes an X coordinate 24, a Y coordinate 25, and a Z coordinate 26.

【0021】図4は、各計算専用プロセッサのI/O負荷
状況管理テーブル10の構成例を示したものである。I
/O要求もとのプロセス番号31とI/O要求先のI/O処
理専用プロセッサ番号32と、当該I/O処理専用プロセ
ッサへのI/O量の合計値33から構成されている。
FIG. 4 shows an example of the configuration of the I / O load status management table 10 of each processor dedicated to calculation. I
It is composed of a process number 31 of the I / O request source, an I / O processing dedicated processor number 32 of the I / O request destination, and a total value 33 of the I / O amount to the I / O processing dedicated processor.

【0022】さらにI/O処理専用プロセッサ番号32は
X座標34、Y座標35、Z座標36から構成されてい
る。
The I / O processing dedicated processor number 32 is composed of an X coordinate 34, a Y coordinate 35, and a Z coordinate 36.

【0023】図5は、システムパラメタテーブル16の
構成例を示したものである。プロセスを移動させる条件
となるI/O量のしきい値41と、しきい値を超えた場合
にプロセスを実行させるプロセッサを移動するか否かの
判定を行なうプロセッサ選択処理8の起動時間間隔42
からなり、システム起動時にシステムパラメタとして与
えられシステム管理プロセッサ1から各プロセッサに配
信される。
FIG. 5 shows an example of the configuration of the system parameter table 16. An I / O amount threshold value 41 serving as a condition for moving a process, and an activation time interval 42 of a processor selection process 8 for determining whether to move a processor for executing a process when the threshold value is exceeded.
Are given as system parameters at the time of system startup and distributed from the system management processor 1 to each processor.

【0024】次に、本実施例の動作を図面を用いて説明
する。
Next, the operation of this embodiment will be described with reference to the drawings.

【0025】ある計算専用プロセッサで動作中のプロセ
スからI/O要求がしきい値を超えて発生した場合にその
計算専用プロセッサが管理している1つのプロセスを他
の計算専用プロセッサに移動する動作について図2、図
4、図5を参照しながら説明する。
When an I / O request exceeds a threshold value from a process running on a certain processor, a process managed by that processor is moved to another processor. Will be described with reference to FIGS. 2, 4, and 5. FIG.

【0026】実行中のプロセスからI/O要求が発生する
と、計算専用プロセッサ2のプロセッサ管理11におけ
るI/O負荷監視機能14は当該計算専用プロセッサのI
/O負荷状況管理テーブル10のI/O要求先であるI/O
処理専用プロセッサのプロセッサ番号32とI/O要求元
のプロセス番号31とI/O要求量の合計値34を更新す
る。
When an I / O request is issued from a running process, the I / O load monitoring function 14 in the processor management 11 of the dedicated processor 2 causes the I / O load
The I / O request destination of the I / O load status management table 10
The processor number 32 of the processing dedicated processor, the process number 31 of the I / O request source, and the total value 34 of the I / O request amount are updated.

【0027】また、プロセッサ管理11はシステムパラ
メタテーブル16で定義されるプロセッサ選択処理8の
起動時間間隔42毎に、実行中の各プロセスに対して次
の処理を行なう。
Further, the processor management 11 performs the following processing for each process being executed at every activation time interval 42 of the processor selection processing 8 defined in the system parameter table 16.

【0028】プロセス番号単位にプロセッサ選択機能8
を起動する。
Processor selection function 8 for each process number
Start

【0029】プロセッサ選択機能8は、I/O負荷状況監
視テーブル10の中でシステムパラメタで指定されたI
/O量のしきい値を超えてI/Oを要求しているプロセス
に対して次の処理を行う。当該プロセスのI/O要求先で
あるI/O処理専用プロセッサとプロセスを実行する計算
専用プロセッサの三次元ネットワーク4の通信が(X
軸)だけで通信を行うことができる、計算専用プロセッ
サのプロセッサ番号を選択しプロセス移動機能13をコ
ールする。プロセス移動機能13は実行中プロセスを一
時的に中断させ、プロセッサ選択機能8により選択され
た計算専用プロセッサ2へ、実行中プロセスの移動処理
を実行する。その後、移動先の計算専用プロセッサ2の
プロセッサ管理11が、中断した処理を再開する。
The processor selection function 8 executes the I / O load status monitoring
The following processing is performed for a process that requests I / O beyond the threshold value of the / O amount. Communication between the I / O processing dedicated processor, which is the I / O request destination of the process, and the three-dimensional network 4 of the computation dedicated processor that executes the process is (X
The processor number of the processor dedicated to calculation, which can be communicated only by the axis), is selected, and the process movement function 13 is called. The process moving function 13 temporarily suspends the running process, and executes the moving process of the running process to the dedicated processor 2 selected by the processor selecting function 8. Thereafter, the processor management 11 of the migration-dedicated computation processor 2 resumes the interrupted processing.

【0030】図6はプロセッサ選択機能8がプロセスを
移動すべき計算専用プロセッサを選択する動作を説明す
るフローチャートである。以下、図2と図4を参照しな
がら図6のフローチャートを説明する。プロセッサ選択
機能8が起動されるとI/O負荷状況管理テーブル10の
参照ポインタnを先頭のレコードに位置付けるためにn
=1とする(ステップ51)次にI/O負荷状況管理テー
ブル10のI/O要求量の合計値33とシステムパラメタ
テーブル16のI/O量のしきい値41とを比較(ステッ
プ52)してI/O要求量の合計値33>I/O量のしきい
値41の場合には、自プロセッサ番号(X,Y,Z)を
選択プロセッサ番号(X,Y,Z)とする(ステップ5
4)。次に選択プロセッサ番号のY座標をI/O処理専用
プロセッサ番号のY座標35と、選択プロセッサ番号の
Z座標をI/O処理専用プロセッサ番号のZ座標36と置
き換える(ステップ55)。
FIG. 6 is a flow chart for explaining the operation of the processor selecting function 8 for selecting a dedicated processor for which a process is to be moved. Hereinafter, the flowchart of FIG. 6 will be described with reference to FIG. 2 and FIG. When the processor selection function 8 is activated, n is used to position the reference pointer n of the I / O load status management table 10 at the first record.
= 1 (step 51) Next, the total value 33 of the I / O request amount in the I / O load status management table 10 is compared with the threshold value 41 of the I / O amount in the system parameter table 16 (step 52). When the total value 33 of the I / O request amount> the threshold value 41 of the I / O amount, the own processor number (X, Y, Z) is set as the selected processor number (X, Y, Z) ( Step 5
4). Next, the Y coordinate of the selected processor number is replaced with the Y coordinate 35 of the I / O processing dedicated processor number, and the Z coordinate of the selected processor number is replaced with the Z coordinate 36 of the I / O processing dedicated processor number (step 55).

【0031】選択プロセッサ番号(X,Y,Z)と自プロ
セッサ番号(X,Y,Z)を比較して(ステップ56)等
しくない場合には、プロセッサ移動機能13をコールし
選択プロセッサ番号(X,Y,Z)へプロセスを移動させ
る(ステップ57)。プロセッサ移動機能8からリター
ンした後I/O負荷状況管理テーブル10の次のレコード
について同様の処理を行うために参照ポインタnを次の
レコードへ位置付ける(ステップ58)。次のレコード
があるか否かをチェックし(ステップ59)次のレコー
ドがあれば同じ処理を繰り返す。
The selected processor number (X, Y, Z) is compared with its own processor number (X, Y, Z) (step 56). If they are not equal, the processor transfer function 13 is called to select the selected processor number (X , Y, Z) (step 57). After returning from the processor migration function 8, the reference pointer n is positioned to the next record in order to perform the same processing for the next record in the I / O load status management table 10 (step 58). It is checked whether there is a next record (step 59), and if there is a next record, the same processing is repeated.

【0032】次のレコードがなければプロセッサ選択機
能8は終了する。また、ステップ52でI/O要求量の合
計値33<I/O量のしきい値41の場合と、ステップ5
6で選択プロセッサ番号(X,Y,Z)と自プロセッサ番
号(X,Y,Z)を比較して等しい場合についても当該レ
コードの処理は中止し次のレコードを処理するためにス
テップ58を行う。
If there is no next record, the processor selection function 8 ends. Also, in step 52, when the total value of the I / O request amount 33 <the threshold value 41 of the I / O amount,
If the selected processor number (X, Y, Z) is equal to the own processor number (X, Y, Z) in step 6, the processing of the record is stopped, and step 58 is performed to process the next record. .

【0033】図7はプロセス移動機能13が自プロセッ
サで実行中のプロセスを他のプロセッサへ移動させる動
作を説明する概念図である。図7では、システム管理プ
ロセッサを「プロセッサ番号000」移動元プロセッサ
を「プロセッサ番号111」、移動先プロセッサを「プ
ロセッサ番号122」として説明する。
FIG. 7 is a conceptual diagram illustrating the operation of the process moving function 13 for moving a process being executed by its own processor to another processor. In FIG. 7, the system management processor will be described as “processor number 000”, the source processor as “processor number 111”, and the destination processor as “processor number 122”.

【0034】移動元プロセッサであるプロセッサ番号1
のプロセス移動機能13は、プロセスの移動処理を開始
するとa、システム管理プロセッサ1のシステム管理5
に対してプロセスの移動を開始する旨を報告するb。そ
の報告を受けてシステム管理5は、プロセス管理機能6
でプロセス管理テーブル9にある移動するプロセスのプ
ロセス状態23を「保留状態」にしc、移動元「プロセ
ッサ番号111」のプロセス移動機能13に対し、プロ
セスの保留状態への移行が完了したことを返答するd。
Processor number 1, which is the source processor
When the process migration function 13 starts the process migration process, a, the system management 5 of the system management processor 1
B to start moving the process. Upon receiving the report, the system management 5 sets the process management function 6
Sets the process state 23 of the process to be moved in the process management table 9 to "pending state", and responds to the process moving function 13 of the source "processor number 111" that the transition of the process to the pending state has been completed. D.

【0035】それを受けて、移動元「プロセッサ番号0
01」のプロセス移動機能13は移動させるプロセスを
静止状態にした後にe、移動先「プロセッサ番号12
2」のプロセス移動機能13に対しプロセス情報19、
プロセス17を転送するf。これらの情報を受け取った
プロセス移動機能13は転送されてきたプロセス情報1
9、プロセス17、メモリ領域18を移動前の状態に復
元しg、プロセスの静止状態を解除した後にh、システ
ム管理5に対してプロセスの移動が完了したことを報告
するi。
In response, the transfer source “processor number 0
After the process to be moved is stopped, the process movement function 13 of “01” moves to the destination “processor number 12”.
2) process information 19 for the process movement function 13;
Forward process 17 f. The process migration function 13 which has received these information sets the transferred process information 1
9, the process 17, the memory area 18 is restored to the state before the migration, g is released after the process is released from the halt state, and the system management 5 is notified that the migration of the process is completed i.

【0036】その報告を受けてシステム管理5は、プロ
セス管理機能6で、プロセス管理テーブル9のプロセス
の状態23の「保留状態」を解除しj、プロセッサ番号
22を移動先である「プロセッサ番号122」へ変更し
k、プロセスの保留状態の解除が完了したことを返答す
るl。これを受けて、移動先「プロセッサ番号122」
のプロセス移動機能13は、移動元「プロセッサ番号1
11」のプロセス移動機能13に対しプロセスの移動が
完了したことを報告するm。これを受けて、移動元「プ
ロセッサ番号111」のプロセス移動機能13は、プロ
セス情報19、プロセス17を消去nする。ただし、各
プロセッサへの各要求に対して、何等かの要因により要
求が受け入れられない場合は、プロセスの移動を中止
し、当該プロセッサ上でその後の処理を続行する。
In response to the report, the system management 5 uses the process management function 6 to release the “pending state” of the process state 23 in the process management table 9 and to change the processor number 22 to the “processor number 122” as the transfer destination. , And reply that the release of the suspended state of the process has been completed. In response to this, the destination “processor number 122”
The process migration function 13 of the migration source “processor number 1”
11 ”that reports the completion of the process migration to the process migration function 13 of m. In response to this, the process migration function 13 of the migration source “processor number 111” erases the process information 19 and the process 17. However, if the request cannot be accepted for each request to each processor due to some reason, the movement of the process is stopped and the subsequent processing is continued on the processor.

【0037】本実施例によれば、各並列プロセスのI/O
要求におけるネットワークのスイッチングオーバーヘッ
ドを考慮するため各プロセッサ部分のネットワーク使用
効率を向上させることが可能となり、システム全体のス
ループットが向上する。
According to this embodiment, the I / O of each parallel process
Considering the switching overhead of the network in the request, it is possible to improve the network use efficiency of each processor part, and the throughput of the entire system is improved.

【0038】[0038]

【発明の効果】以上説明したように、本発明のプロセス
のスケジュール方式は、各プロセッサが独立したメモリ
だけで、共用のメモリを持たない並列計算機システムに
おいて、各プロセッサのI/O要求によるネットワークの
スイッチングオーバーヘッドの増加を防止することがで
き、特定プロセスの局所的なネックを解消し、実行する
並列プロセスの実行性能の低下を防止できる効果があ
る。
As described above, according to the process scheduling method of the present invention, in a parallel computer system in which each processor has only an independent memory and does not have a shared memory, the network is controlled by the I / O request of each processor. It is possible to prevent an increase in switching overhead, eliminate a local bottleneck of a specific process, and prevent a decrease in execution performance of a parallel process to be executed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のシステム全体の構成の一例を示す図で
ある。
FIG. 1 is a diagram showing an example of the configuration of the entire system of the present invention.

【図2】本発明の一実施例のブロック図を示したもので
ある。
FIG. 2 is a block diagram showing one embodiment of the present invention.

【図3】本実施例のプロセス管理テーブル9の構成情報
の一例を示す図である。
FIG. 3 is a diagram illustrating an example of configuration information of a process management table 9 according to the embodiment.

【図4】本実施例の各計算専用プロセッサ2のI/O負荷
状況管理テーブル10の構成情報の一例を示す図であ
る。
FIG. 4 is a diagram illustrating an example of configuration information of an I / O load status management table 10 of each dedicated processor 2 of the present embodiment.

【図5】本実施例のシステム管理用プロセッサ1のシス
テムパラメタテーブル16の構成情報の一例を示す図で
ある。
FIG. 5 is a diagram illustrating an example of configuration information of a system parameter table 16 of the system management processor 1 according to the present embodiment.

【図6】本実施例のプロセッサ選択処理8の動作を説明
するためのフローチャートである。
FIG. 6 is a flowchart illustrating an operation of a processor selection process 8 according to the embodiment.

【図7】本実施例のプロセス移動機能13が自プロセッ
サで実行中のプロセスを他のプロセッサへ移動させる動
作を説明するための図である。
FIG. 7 is a diagram for explaining an operation in which the process moving function 13 of the present embodiment moves a process being executed by its own processor to another processor.

【符号の説明】[Explanation of symbols]

1…システム管理用プロセッサ、 2…計算専用プロ
セッサ、3…I/O処理専用のプロセッサ、 4…三次
元ネットワーク、5…システム管理、
6…プロセス管理機能、7…プロセッサ番号、
8…プロセッサ選択機能、9…プロセス管理テー
ブル 10…I/O負荷状況管理テーブル、11…
プロセッサ管理、 12…プロセス生成/終
了機能、13…プロセス移動機能、 14…I
/O負荷監視機能、15…入出力装置、
16…システムパラメタテーブル、17…プロセス、
18…入出力装置制御機能、19…
プロセス情報、 20…プロセス番号、2
1,31…プロセス番号、 22…プロセッサ番
号、23…プロセスの状態、 24…プロセ
ッサ番号(X座標)、25…プロセッサ番号(Y座
標)、 26…プロセッサ番号(Z座標)、32…I/O
処理専用プロセッサ番号、33…I/O要求量の合計値、
34…I/O処理専用プロセッサ番号(X座標)、35…
I/O処理専用プロセッサ番号(Y座標)、36…I/O処
理専用プロセッサ番号(Z座標)、41…I/O量のしき
い値、 42…プロセッサ選択機能の起動間隔。
DESCRIPTION OF SYMBOLS 1 ... Processor for system management, 2 ... Processor for calculation only, 3 ... Processor for exclusive use of I / O processing, 4 ... 3D network, 5 ... System management,
6: Process management function, 7: Processor number,
8 Processor selection function 9 Process management table 10 I / O load status management table 11
Processor management, 12: Process creation / termination function, 13: Process movement function, 14: I
/ O load monitoring function, 15 ... I / O device,
16: System parameter table, 17: Process,
18 ... I / O device control function, 19 ...
Process information, 20 ... process number, 2
1, 31: Process number, 22: Processor number, 23: Process state, 24: Processor number (X coordinate), 25: Processor number (Y coordinate), 26: Processor number (Z coordinate), 32: I / O
Processing-dedicated processor number, 33 ... total value of I / O request amount,
34 ... I / O processing dedicated processor number (X coordinate), 35 ...
I / O processing dedicated processor number (Y coordinate), 36 ... I / O processing dedicated processor number (Z coordinate), 41 ... I / O amount threshold, 42 ... Processor selection function activation interval.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 樋口 和也 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 砂子 俊明 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 太田 哲郎 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 佐藤 保 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 高橋 憲一 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 南 建夫 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Kazuya Higuchi 5030 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Inside Software Development Division, Hitachi, Ltd. (72) Inventor Toshiaki Sunako 5030 Totsukacho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Address: Hitachi, Ltd. Software Development Division (72) Inventor Tetsuro Ota 5030 Totsukacho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Hitachi, Ltd. Software Development Division (72) Inventor: Tamotsu Sato Onoe, Naka-ku, Yokohama-shi, Kanagawa 6-81-cho, Hitachi Software Engineering Co., Ltd. In-house (72) Inventor Kenichi Takahashi 6-81 Onoe-cho, Naka-ku, Yokohama-shi, Kanagawa Prefecture In-house Hitachi Software Engineering Co., Ltd. (72) Inventor Tateo Minami Totsuka-ku, Totsuka-ku, Yokohama, Kanagawa 5030-cho Hitachi, Ltd. Inside the Office Software Development Division

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】複数のプロセッサからなる並列計算機シス
テムにおける実行中のプロセスのスケジューリングにお
いて、プロセスからのI/O要求時に最適なプロセッサを
決定することを特徴とする並列システムにおけるプロセ
スのスケジューリング方式。
1. A process scheduling method in a parallel system, wherein an optimal processor is determined at the time of an I / O request from a process in scheduling a running process in a parallel computer system including a plurality of processors.
JP10158820A 1998-06-08 1998-06-08 Scheduling system for process of parallel system Pending JPH11353287A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10158820A JPH11353287A (en) 1998-06-08 1998-06-08 Scheduling system for process of parallel system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10158820A JPH11353287A (en) 1998-06-08 1998-06-08 Scheduling system for process of parallel system

Publications (1)

Publication Number Publication Date
JPH11353287A true JPH11353287A (en) 1999-12-24

Family

ID=15680097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10158820A Pending JPH11353287A (en) 1998-06-08 1998-06-08 Scheduling system for process of parallel system

Country Status (1)

Country Link
JP (1) JPH11353287A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004526233A (en) * 2001-01-26 2004-08-26 デルタ サーチ ラブズ インコーポレイテッド A modular microcontroller that manages CPUs and devices without an operating system
JP2021043654A (en) * 2019-09-10 2021-03-18 富士通株式会社 Information processing device and process arrangement determination program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004526233A (en) * 2001-01-26 2004-08-26 デルタ サーチ ラブズ インコーポレイテッド A modular microcontroller that manages CPUs and devices without an operating system
JP2008181569A (en) * 2001-01-26 2008-08-07 Delta Search Labs Inc Modular microcontroller managing cpu and devices without operating system
JP2021043654A (en) * 2019-09-10 2021-03-18 富士通株式会社 Information processing device and process arrangement determination program

Similar Documents

Publication Publication Date Title
Barak et al. A distributed load‐balancing policy for a multicomputer
US8112559B2 (en) Increasing available FIFO space to prevent messaging queue deadlocks in a DMA environment
KR101400286B1 (en) Method and apparatus for migrating task in multi-processor system
RU2597556C2 (en) Computer cluster arrangement for executing computation tasks and method for operation thereof
JPH09167141A (en) Load distribution control method
JPH03147151A (en) File server sharing graftable resource using common routine
US8631086B2 (en) Preventing messaging queue deadlocks in a DMA environment
Han et al. EdgeTuner: Fast scheduling algorithm tuning for dynamic edge-cloud workloads and resources
JP3737560B2 (en) Distributed processing method and system in network
JP3429582B2 (en) Multiprocessor system
JPH11353287A (en) Scheduling system for process of parallel system
JPH07287064A (en) Radar signal processor
JPH09179834A (en) Scheduling method of parallel system for process
Melliar-Smith et al. The Realize middleware for replication and resource management
Cai et al. A simulation study of dynamic load balancing for network-based parallel processing
CN111488214B (en) Communication method between multiple tasks under real-time system
CN112597502B (en) Large-scale computing service configuration method and system based on trusted cloud
JP2004234643A (en) Process scheduling device, process scheduling method, program for process scheduling, and storage medium recorded with program for process scheduling
JPH0348937A (en) Input/output instruction executing system for virtual computer system
Lu et al. Dynamic load distribution using anti‐tasks and load state vectors
Maier et al. On the Efficiency of Job Offloading in Edge Networks
CN114217913A (en) Task dynamic allocation asynchronous management method under heterogeneous many-core architecture
KR0175534B1 (en) Data distribution and communication methods on a shared distributed memory system
Martins et al. PSCoP: planning scheduler coprocessor
CN117041058A (en) Information processing method and device based on multiple nodes, storage medium and electronic device