JPH10333929A - Job execution system and recording medium - Google Patents

Job execution system and recording medium

Info

Publication number
JPH10333929A
JPH10333929A JP7088298A JP7088298A JPH10333929A JP H10333929 A JPH10333929 A JP H10333929A JP 7088298 A JP7088298 A JP 7088298A JP 7088298 A JP7088298 A JP 7088298A JP H10333929 A JPH10333929 A JP H10333929A
Authority
JP
Japan
Prior art keywords
job
virtual
control table
pid control
real
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
Application number
JP7088298A
Other languages
Japanese (ja)
Other versions
JP3884762B2 (en
Inventor
Hirohiko Wakabayashi
裕彦 若林
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP07088298A priority Critical patent/JP3884762B2/en
Publication of JPH10333929A publication Critical patent/JPH10333929A/en
Application granted granted Critical
Publication of JP3884762B2 publication Critical patent/JP3884762B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To prevent the collision of processes by registering virtual processes respectively allocated to the plural processes in a virtual PID control table, allocating the empty real PID of a real PID control table, registering it in correspondence and making the respective processes communicate with each other by using the virtual process and perform processings within a job. SOLUTION: Plural processors PE1 and PE2 are constituted of the real PID control table 3 and a job execution means 7, etc. Further, the job execution means 7 provides the virtual PID control table 4 for the respective jobs and registers unique virtual process IDs respectively allocated to the plural processes for executing the jobs in the virtual PID control table 4. Then, the empty real PID of the real PID control table 3 is allocated and registered in correspondence and the respective processes communicate with each other by using the virtual process IDs and execute the processing. Thus, the collision between the process IDs is eliminated without the reservation of the process ID.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、複数プロセッサ上
で任意数のプロセスによってジョブを実行するジョブ実
行システムおよび記録媒体に関するものである。
[0001] 1. Field of the Invention [0002] The present invention relates to a job execution system and a recording medium for executing a job by an arbitrary number of processes on a plurality of processors.

【0002】[0002]

【従来の技術】従来、複数のPE(プロセッサ)間にま
たがるプロセスの集合体によって実行するいわゆる並列
ジョブを任意の時点で中断させ、その状態をファイルな
どに保存して凍結し、システムのIPLなどを経た後
に、再びファイルから凍結したジョブを読み出し、当該
ジョブの実行を継続するジョブ凍結・解凍機能がある。
2. Description of the Related Art Conventionally, a so-called parallel job executed by a group of processes spanning a plurality of PEs (processors) is interrupted at an arbitrary point, its state is stored in a file or the like, and the state is frozen. After that, there is a job freeze / thaw function that reads the frozen job from the file again and continues the execution of the job.

【0003】このジョブ凍結・解凍の際に問題となるの
は次の点である。ジョブに属するプロセス中では、その
プロセスの識別子(プロセスID)を使用して、ジョブ
内のプロセス間のデータのやりとりを行うが、ジョブ凍
結の際には、プログラム空間内にそのプロセスIDの情
報が残っているため、ジョブ解凍時には、ジョブ内のプ
ロセスについては、以前に持っていたプロセスIDを保
証した形で、ジョブを再現してプロセスIDの衝突を回
避する必要がある。
The following points are problematic when freezing and thawing a job. In a process belonging to a job, data is exchanged between processes in the job using the process identifier (process ID). When the job is frozen, information of the process ID is stored in the program space. When the job is decompressed, it is necessary to reproduce the job and avoid the collision of the process IDs in the form of the process in the job at the time of decompressing the job.

【0004】このとき、当該ジョブ外のプロセスで、そ
のプロセスIDと同一のプロセスIDが既に使用中であ
る場合には、そのプロセスの終了を待たなければ、ジョ
ブを再開できない。
At this time, if the same process ID as the process ID is already being used in a process outside the job, the job cannot be resumed without waiting for the end of the process.

【0005】これを解決するため、プロセスの凍結時に
プロセスIDに関する情報を格納しておき、システム再
起動時に格納情報をもとにプロセスIDを予約し、ジョ
ブを解凍して再現し、他のジョブが非所望に当該プロセ
スIDを使用することによる待ちを無くし、即時に予約
しておいた以前のプロセスIDを用いてプロセス間のデ
ータのやりとりを開始して処理を再開するようにしてい
た。
To solve this problem, information on a process ID is stored when a process is frozen, a process ID is reserved based on the stored information when the system is restarted, a job is decompressed and reproduced, and another job is executed. Eliminates the wait caused by using the process ID undesirably, starts data exchange between processes using the previously reserved process ID, and resumes the process.

【0006】[0006]

【発明が解決しようとする課題】上述したように、従来
のジョブ凍結・解凍機能では、解凍時のプロセスIDの
衝突を避けるために、システムの起動時にプロセスID
を予め予約しておく必要があり、このために解凍するジ
ョブに応じた予約のための格納情報を確保し、システム
起動時に予約して確保する必要が生じる。
As described above, in the conventional job freezing / thawing function, in order to avoid the collision of the process ID at the time of thawing, the process ID is set when starting the system.
Therefore, it is necessary to reserve storage information for reservation according to the job to be decompressed, and to reserve and secure it when the system is started.

【0007】このような従来のジョブ凍結・解凍機能で
は、予めプロセスIDの予約が必要であり、凍結された
任意のジョブを解凍できないという制約が生じる問題が
あった。
In such a conventional job freezing / thawing function, a process ID must be reserved in advance, and there is a problem that a frozen job cannot be thawed.

【0008】また、並列プログラムでは、ジョブを構成
するプログラムがPEの数だけ存在するため、多数のプ
ロセスIDを予約しておく必要があり、その分だけシス
テム中で常に使用できないプロセスIDが存在し、他の
プロセスのプロセスIDの採番範囲を圧迫してしまうと
いう問題も発生する。特にジョブ凍結・解凍機能が要求
される大規模なジョブ程、並列度が高く、多数のプロセ
スを必要とする傾向があり、極めて多数のプロセスID
が使用できなくなってしまうという問題がある。
In a parallel program, since the number of programs constituting a job is equal to the number of PEs, it is necessary to reserve a large number of process IDs, and there are process IDs that cannot be always used in the system. Also, there is a problem that the numbering range of the process ID of another process is pressed. In particular, a large-scale job requiring a job freezing / thawing function tends to have a high degree of parallelism and require a large number of processes.
There is a problem that can not be used.

【0009】本発明は、これらの問題を解決するため、
一意な実プロセスIDを管理する実PID制御表の他に
ジョブ内の仮想プロセスIDを一意に管理する仮想PI
D制御表を設けて実プロセスIDと仮想プロセスIDと
の対応づけを行い、ジョブ毎に任意の一意の仮想プロセ
スIDの割り当てを実現し、凍結したジョブを解凍した
ときにプロセスIDの予約なしにプロセスIDの衝突を
無くして即時にジョブ内のプロセス間でデータのやりと
りを行う処理の再開を可能にすることを目的としてい
る。
[0009] The present invention solves these problems,
A virtual PI that uniquely manages a virtual process ID in a job in addition to a real PID control table that manages a unique real process ID
A D control table is provided to correlate the real process ID with the virtual process ID, realize the assignment of any unique virtual process ID for each job, and without reserving the process ID when the frozen job is thawed. An object of the present invention is to enable a process for exchanging data between processes in a job to be immediately resumed without a process ID collision.

【0010】[0010]

【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。図1において、プロセッ
サPE1、PE2は、複数のプロセッサであって、プロ
セスを生成してジョブを実行するためのものであり、こ
こでは、実PID制御表3、およびジョブ実行手段7な
どから構成されるものである。
Means for solving the problem will be described with reference to FIG. In FIG. 1, processors PE1 and PE2 are a plurality of processors for generating a process and executing a job, and here are constituted by an actual PID control table 3, a job execution means 7, and the like. Things.

【0011】実PID制御表3は、プロセスに一意に割
り当てた実プロセスIDを登録して管理するものであ
る。ジョブ実行手段7は、複数プロセッサ上で任意個の
プロセスによってジョブを実行するものであって、図示
のように、仮想PID制御表4、仮想PID対応表5、
および複数のプロセスから構成されるものである。
The real PID control table 3 is for registering and managing a real process ID uniquely assigned to a process. The job execution means 7 executes a job by an arbitrary number of processes on a plurality of processors, and as shown in the figure, a virtual PID control table 4, a virtual PID correspondence table 5,
And a plurality of processes.

【0012】仮想PID制御表4は、ジョブ内のプロセ
スに一意に割り当てた仮想プロセスIDに対応づけて実
プロセスIDを登録して管理するものである。仮想PI
D対応表5は、仮想プロセスIDがいずれのプロセッサ
にあるかを登録したものである。
The virtual PID control table 4 registers and manages a real process ID in association with a virtual process ID uniquely assigned to a process in a job. Virtual PI
The D correspondence table 5 registers which processor has a virtual process ID.

【0013】次に、動作を説明する。ジョブ毎に仮想P
ID制御表4を設けてジョブを実行する複数のプロセス
にそれぞれ割り当てた一意の仮想プロセスIDを当該仮
想PID制御表4に登録すると共に実PID制御表3の
空の実PIDを割り当てて対応づけて登録し、ジョブ内
では各プロセスが仮想プロセスIDを用いて相互に通信
し、処理を実行するようにしている。
Next, the operation will be described. Virtual P for each job
A unique virtual process ID assigned to each of a plurality of processes that execute a job by providing an ID control table 4 is registered in the virtual PID control table 4 and an empty real PID in the real PID control table 3 is assigned and associated. After registration, each process in the job communicates with each other using the virtual process ID to execute processing.

【0014】この際、各プロセッサ内に仮想プロセスI
Dがいずれのプロセッサに存在するかを登録する仮想P
ID対応表5を設け、ジョブ内の仮想プロセスIDがい
ずれのプロセッサに存在するかを判別してそのプロセッ
サにデータを送信してジョブ内の各プロセスが相互にデ
ータの送受信を行い、処理を実行するようにしている。
At this time, the virtual process I is stored in each processor.
A virtual P that registers which processor D exists in
An ID correspondence table 5 is provided to determine which processor has a virtual process ID in a job, transmit data to that processor, and process in the job mutually transmits and receives data to execute processing. I am trying to do it.

【0015】また、ジョブの凍結指示に対応して、指示
されたジョブの仮想PID制御表4とジョブ内のプロセ
ス、あるいは更に仮想PID対応表5を退避して保存す
るようにしている。
Further, in response to the instruction to freeze the job, the virtual PID control table 4 of the designated job and the processes in the job, or the virtual PID correspondence table 5 is further saved and saved.

【0016】また、ジョブの解凍指示に対応して、保存
しておいたジョブの仮想PID制御表4とジョブ内のプ
ロセス、あるいは更に仮想PID対応表5を復元した
後、仮想PID制御表4中に登録されている仮想プロセ
スIDに対して実PID制御表3の空の実プロセスID
を割り当てて登録した後、ジョブ内の各プロセスが処理
を再開するようにしている。
In response to the job decompression instruction, the virtual PID control table 4 of the saved job and the processes in the job or the virtual PID correspondence table 5 are restored, and then the virtual PID control table 4 is restored. Empty real process ID in the real PID control table 3 for the virtual process ID registered in
After allotment and registration, each process in the job resumes processing.

【0017】従って、一意な実プロセスIDを管理する
実PID制御表3の他にジョブ内の仮想プロセスIDを
一意に管理する仮想PID制御表4を設けて実プロセス
IDと仮想プロセスIDとの対応づけを行うことによ
り、ジョブ毎に任意の一意の仮想プロセスIDの割り当
てを実現し、凍結したジョブを解凍したときにプロセス
IDの予約なしにプロセスIDの衝突を無くして即時に
ジョブ内のプロセス間でデータのやりとりを行う処理を
再開することが可能となる。
Accordingly, in addition to the real PID control table 3 for managing a unique real process ID, a virtual PID control table 4 for uniquely managing a virtual process ID in a job is provided to correspond to the real process ID and the virtual process ID. By assigning a unique virtual process ID to each job, it is possible to immediately assign a unique virtual process ID to each job. Thus, the processing for exchanging data can be restarted.

【0018】[0018]

【発明の実施の形態】次に、図1から図5を用いて本発
明の実施の形態および動作を順次詳細に説明する。ここ
で、記録媒体から読み出したプログラムあるいは外部記
憶装置であるハードディスク装置などから読み出したプ
ログラム、またはセンタの外部記憶装置から読み出して
回線を介して転送を受けたプログラムを主記憶にローデ
ィングして起動し、以下に説明する各種処理を行うよう
にしている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, an embodiment and operation of the present invention will be described in detail with reference to FIGS. Here, the program read from the recording medium or the program read from the hard disk device as the external storage device, or the program read from the external storage device of the center and transferred via the line is loaded into the main storage and activated. , The following various processes are performed.

【0019】図1は、本発明の1実施例構成図を示す。
図1において、PE1、PE2は、複数のプロセッサの
うちの2つを表したものであって、図示のように、オペ
レーティングシステム2およびユーザプログラム6の部
分から構成されるものである。
FIG. 1 is a block diagram showing one embodiment of the present invention.
In FIG. 1, PE1 and PE2 represent two of a plurality of processors, and are composed of an operating system 2 and a user program 6 as shown.

【0020】オペレーティングシステム(OS)2は、
全体を統括制御するものであって、ここでは、図示のよ
うに、実プロセスID(実PID)および仮想プロセス
ID(仮想PID)を割り当ておよび管理するための実
PID制御表3およびジョブ実行手段7を構成するうち
の仮想PID制御表4、仮想PID対応表5からなるも
のである。
The operating system (OS) 2 comprises:
As shown in the figure, a real PID control table 3 for allocating and managing a real process ID (real PID) and a virtual process ID (virtual PID) and a job execution unit 7 as shown in FIG. Are composed of a virtual PID control table 4 and a virtual PID correspondence table 5.

【0021】実PID制御表3は、ユーザプログラム6
の部分に創成したプロセスに一意に割り当て実プロセス
ID(実PID)を登録して管理するものである。仮想
PID制御表4は、ジョブ内でユーザプログラム6の部
分に創成したプロセスに一意に割り当て仮想プロセスI
D(仮想PID)を登録して管理するものである。
The actual PID control table 3 contains the user program 6
The real process ID (real PID) which is uniquely assigned to the process created in the section is registered and managed. The virtual PID control table 4 uniquely assigns a virtual process I to a process created in the user program 6 in a job.
D (virtual PID) is registered and managed.

【0022】仮想PID対応表5は、仮想プロセスID
の所定範囲がいずれのプロセッサ(PE)にあるかを登
録したものである(図5参照)。プロセスは、ユーザプ
ログラム6の部分に創成して各種処理を実行するもので
あって、相互にデータを通信などするために一意のプロ
セスID(実PIDあるいは仮想PID)を割り当てた
ものである。
The virtual PID correspondence table 5 contains a virtual process ID.
Is registered as to which processor (PE) the predetermined range is in (see FIG. 5). The process is created in the portion of the user program 6 and executes various processes, and is assigned a unique process ID (real PID or virtual PID) for mutually communicating data.

【0023】次に、図2のフローチャートに示す順序に
従い、図1の構成のもとでプロセスID(実PIDおよ
び仮想PID)を割り当てるときの手順を詳細に説明す
る。図2は、本発明の動作説明フローチャートを示す。
ここで、PE1、PE2は、図1のプロセッサであるP
E1、PE2である。
Next, a procedure for assigning process IDs (real PID and virtual PID) under the configuration of FIG. 1 will be described in detail according to the order shown in the flowchart of FIG. FIG. 2 is a flowchart illustrating the operation of the present invention.
Here, PE1 and PE2 are P, which is the processor of FIG.
E1 and PE2.

【0024】図2において、S1、S2は、PE1、P
E2がOSのIPLを行う。ここでは、OSのIPLの
過程でPE1、PE2は、プロセスの実プロセスIDを
一意に割り当てて登録して管理するための実PID制御
表#4、#5の作成を行う。
In FIG. 2, S1, S2 are PE1, P
E2 performs IPL of the OS. Here, during the IPL of the OS, the PE1 and PE2 create real PID control tables # 4 and # 5 for uniquely assigning, registering, and managing the actual process ID of the process.

【0025】S3は、PE1に並列ジョブ#10が投入
される。この延長で、PE1、PE2を使用する並列ジ
ョブ#10が実行されることとなる。S4、S5は、S
3で並列ジョブ#10が投入されると、ジョブ毎の仮想
PID制御表#6、#7の作成を行う。これにより、ジ
ョブ毎に仮想プロセスIDと実プロセスIDの対応関係
を登録して管理する仮想PID制御表#6、#7の作成
が行われたこととなる。
At S3, a parallel job # 10 is input to PE1. With this extension, the parallel job # 10 using PE1 and PE2 is executed. S4 and S5 are S
When a parallel job # 10 is submitted in step 3, virtual PID control tables # 6 and # 7 for each job are created. As a result, virtual PID control tables # 6 and # 7 for registering and managing the correspondence between the virtual process ID and the real process ID for each job have been created.

【0026】S6、S7は、マスタのプロセッサPE1
が仮想PID対応表#8を作成して各PE、ここではP
E2への配布を行い当該PE2で仮想PID対応表#9
を作成する。この仮想PID対応表#8、#9により、
各PEにおいて仮想プロセスIDとPEとの対応関係を
認識し、仮想プロセスIDをもとにいずれのPEにデー
タを送信すればよいかを判別することが可能となる。こ
こでは、仮想PID対応表#8、#9には 仮想プロセスID PE 001〜100 PE1 101〜200 PE2 と登録されているので、仮想プロセスIDが001〜1
00まではPE1に存在し、101〜200まではPE
2に存在することが判明する S8は、PE1で親プロセス#2を生成する。そして、
親プロセス#2は、S9で子プロセス#3をPE2に生
成する。
S6 and S7 correspond to the master processor PE1.
Creates a virtual PID correspondence table # 8 and assigns each PE, here P
Distribution to E2 and PE2 corresponding to virtual PID correspondence table # 9
Create According to the virtual PID correspondence tables # 8 and # 9,
In each PE, the correspondence between the virtual process ID and the PE is recognized, and it is possible to determine to which PE the data should be transmitted based on the virtual process ID. Here, the virtual process IDs 001 to 100 PE1 101 to 200 PE2 are registered in the virtual PID correspondence tables # 8 and # 9.
Up to 00 exist in PE1 and from 101 to 200
In S8, the parent process # 2 is generated in PE1. And
The parent process # 2 generates a child process # 3 in PE2 in S9.

【0027】S10は、S8で親プロセスを生成したこ
とに対応して、PE1では、実PID制御表#4の空の
実プロセスIDとして「1997」を割り当てて登録す
る。S11は、S10と同様に、S9で子プロセスを生
成したことに対応して、PE2では、実PID制御表#
5の空の実プロセスIDとして「2038」を割り当て
て登録する。
In S10, in response to the creation of the parent process in S8, PE1 assigns and registers "1997" as an empty real process ID in the real PID control table # 4. In S11, as in S10, corresponding to the generation of the child process in S9, the PE2 executes the real PID control table #
“2038” is assigned and registered as an empty real process ID of No. 5.

【0028】S12は、空き仮想プロセスID(3)の
割り当てを行うと共に、実プロセスID(1997)と
仮想プロセスID(3)を対応づけて仮想PID制御表
#6への登録を行う。これにより、仮想PID制御表#
6には、実プロセスID(3)と仮想プロセスID(1
997)との対応関係が登録されたこととなる。
In step S12, a free virtual process ID (3) is assigned, and the real process ID (1997) and the virtual process ID (3) are associated with each other and registered in the virtual PID control table # 6. Thereby, the virtual PID control table #
6 has a real process ID (3) and a virtual process ID (1
997) is registered.

【0029】S13は、S12と同様に、仮想プロセス
ID(101)の割り当てを行うと共に、実プロセスI
D(2038)と仮想プロセスID(101)を対応づ
けて仮想PID制御表#7への登録を行う。これによ
り、仮想PID制御表#7には、実プロセスID(20
38)と仮想プロセスID(101)との対応関係が登
録されたこととなる。
In step S13, as in step S12, the virtual process ID (101) is assigned and the real process ID (101) is assigned.
D (2038) is associated with the virtual process ID (101) and registered in the virtual PID control table # 7. As a result, the real process ID (20
38) and the corresponding relationship between the virtual process ID (101) are registered.

【0030】以上の手順によって、実プロセスIDと仮
想プロセスIDを制御するための内部データ構造が構築
されたこととなる。そして、ユーザプログラムへは、S
12、S13で割り当てられた仮想プロセスIDが通知
され、ユーザプログラムは自分、あるいは親プロセス#
2、子プロセス#3のプロセスIDを認識する。ここで
は、親プロセス#2は「3」(実際は実プロセスID、
1997)、子プロセス#3は「101」(実際は実プ
ロセスID、2038)と認識する。
By the above procedure, an internal data structure for controlling the real process ID and the virtual process ID has been constructed. And, to the user program, S
12, the virtual process ID assigned in S13 is notified, and the user program is notified by itself or the parent process #
2. Recognize the process ID of child process # 3. Here, the parent process # 2 is “3” (actually, the actual process ID,
1997), the child process # 3 recognizes it as “101” (actually, a real process ID, 2038).

【0031】次に、図3のフローチャートに示す順序に
従い、図1の構成のもとで、図2の手順によって実プロ
セスIDと仮想プロセスIDを制御するための内部デー
タ構造が構築された状態で、ジョブを実行するときの動
作を詳細に説明する。
Next, in accordance with the order shown in the flowchart of FIG. 3, under the configuration of FIG. 1, the internal data structure for controlling the real process ID and the virtual process ID is constructed by the procedure of FIG. The operation when executing a job will be described in detail.

【0032】図3は、本発明の動作説明フローチャート
を示す。ここで、PE1、PE2は、図1のプロセッサ
であるPE1、PE2である。図3において、S21
は、プロセス#2(親プロセス)からPID=101へ
データを送る。
FIG. 3 is a flowchart illustrating the operation of the present invention. Here, PE1 and PE2 are PE1 and PE2 which are the processors of FIG. In FIG. 3, S21
Sends data from process # 2 (parent process) to PID = 101.

【0033】S22は、PE1のオペレーティングシス
テム2が仮想PID対応表#8をみて通信先PEを決定
する。ここで、PID=101は、PE2と決定する。
S23は、S22でPE2と決定されたので、PE2へ
並列ジョブ#10のPID=101のプロセスへデータ
を送る。これは、S22で通信先PEがPE2と決定さ
れたので、PE1と同一ジョブ#10の配下の仮想プロ
セスID(101)のプロセスに対して、データを送信
する。
In S22, the operating system 2 of the PE 1 determines the communication destination PE by referring to the virtual PID correspondence table # 8. Here, PID = 101 is determined as PE2.
In step S23, since PE2 is determined in step S22, data is sent to the process of PID = 101 of the parallel job # 10 to PE2. Since the communication destination PE is determined to be PE2 in S22, the data is transmitted to the process of the virtual process ID (101) under the same job # 10 as PE1.

【0034】S24は、S23で送信されたデータを受
信したPE2のオペレーティングシステム2が、並列ジ
ョブ#10の仮想PID制御表#3を見てプロセス#3
へデータを渡す。そして、ジョブを実行する。
In step S24, the operating system 2 of the PE 2, which has received the data transmitted in step S23, looks at the virtual PID control table # 3 of the parallel job # 10 and processes the process # 3.
Pass the data to Then, the job is executed.

【0035】以上によって、図1のPE1の並列ジョブ
#10内のプロセス#2からPID=101へデータ送
信したことに対応して、仮想PID対応表#8を参照し
てPE2にデータが渡され、PE2内で更に仮想PID
制御表#7を参照して並列ジョブ#11内のプロセス#
3にデータが渡されたこととなる。これらにより、仮想
PID対応表を参照して該当するPEにデータを送信
し、次に当該PE内で仮想PID制御表を参照して該当
するプロセスにデータを渡し、ジョブ内で異なるPE内
のプロセスにデータを送信できたこととなる。
As described above, in response to the data transmission from the process # 2 in the parallel job # 10 of PE1 of FIG. 1 to PID = 101, the data is passed to PE2 with reference to the virtual PID correspondence table # 8. , Further virtual PID in PE2
Process # in parallel job # 11 with reference to control table # 7
3, the data has been passed. Thus, the data is transmitted to the corresponding PE by referring to the virtual PID correspondence table, and then the data is passed to the corresponding process by referring to the virtual PID control table in the PE, and the process in the different PE in the job is executed. This means that the data has been successfully transmitted.

【0036】次に、図4のフローチャートに示す順序に
従い、図1の構成のもとで、ジョブの凍結および解凍に
ついて詳細に説明する。図4は、本発明の動作説明フロ
ーチャートを示す。
Next, in accordance with the order shown in the flowchart of FIG. 4, freezing and thawing of a job under the configuration of FIG. 1 will be described in detail. FIG. 4 is a flowchart illustrating the operation of the present invention.

【0037】図4において、S31は、ジョブ凍結指示
を受信する。これは、OSがシステム管理者あるいはユ
ーザからジョブ凍結指示を受信する。そして、ジョブ実
行中の各PEにジョブ凍結指示を通知する。
In FIG. 4, S31 receives a job freeze instruction. In this case, the OS receives a job freeze instruction from a system administrator or a user. Then, a job freeze instruction is notified to each PE that is executing the job.

【0038】S32は、PE2がS31で通知したジョ
ブ凍結指示を受信する。S33、S34は、各PE内で
並列ジョブ#10の仮想PID対応表#8、#9、仮想
PID制御表#6、#7とプロセス#2、#3をそれぞ
れファイルに退避して保存する。
At S32, the PE 2 receives the job freeze instruction notified at S31. In S33 and S34, the virtual PID correspondence tables # 8 and # 9, the virtual PID control tables # 6 and # 7, and the processes # 2 and # 3 of the parallel job # 10 are saved and saved in files in each PE.

【0039】S35は、ジョブ凍結完了する。以上によ
って、ジョブ凍結指示を受信したときに、凍結指示を受
けたジョブを実行している各PEは、当該ジョブの仮想
PID対応表、仮想PID制御表、およびプロセスをそ
れぞれファイルに退避して保存する。
In step S35, the job freeze is completed. As described above, when the job freeze instruction is received, each PE executing the job that received the freeze instruction saves the virtual PID correspondence table, the virtual PID control table, and the process of the job in a file, respectively. I do.

【0040】S40は、ジョブ解凍を開始する。S41
は、ジョブ解凍指示を受信する。これは、OSがシステ
ム管理者あるいはユーザからジョブ解凍指示を受信す
る。そして、ジョブを割り付ける各PEにジョブ解凍指
示を通知する。
In step S40, job decompression is started. S41
Receives the job decompression instruction. In this case, the OS receives a job decompression instruction from a system administrator or a user. Then, a job decompression instruction is notified to each PE to which the job is assigned.

【0041】S42は、PE2がS41で通知したジョ
ブ解凍指示を受信する。S43、S44は、各PE内で
並列ジョブ#10の仮想PID対応表#8、#9、仮想
PID制御表#6、#7の復元を行う。そして、更にプ
ロセス#2、#3の情報も合わせてPE1、PE2に復
元する。
In step S42, the job decompression instruction notified by the PE 2 in step S41 is received. In S43 and S44, the virtual PID correspondence tables # 8 and # 9 and the virtual PID control tables # 6 and # 7 of the parallel job # 10 are restored in each PE. Then, the information of the processes # 2 and # 3 is restored to PE1 and PE2 together.

【0042】S45、S46は、実PID制御表#4、
#5の空プロセスIDの再割り当てと仮想PID制御表
#6、#7への登録を行う。これにより、実PID制御
表#4、#5の空の実プロセスIDを割り当てて、仮想
PID制御表#6、#7に実プロセスIDと仮想プロセ
スIDとの対応づけが登録され、実プロセスIDと仮想
プロセスIDとの対応関係が決定されたこととなる。
S45 and S46 correspond to the actual PID control table # 4,
The reassignment of the empty process ID of # 5 and registration in the virtual PID control tables # 6 and # 7 are performed. As a result, the empty real process IDs of the real PID control tables # 4 and # 5 are assigned, and the correspondence between the real process IDs and the virtual process IDs is registered in the virtual PID control tables # 6 and # 7, and the real process IDs are registered. And the virtual process ID are determined.

【0043】S47、S48は、プロセス#2、#3の
復元を行い、ジョブの実行を再開する。以上のように、
仮想PID対応表、仮想PID制御表、プロセスの情報
を復元した後、実PID制御表から空の実プロセスID
を割り当ててこの実プロセスIDを仮想PID制御表に
登録して仮想プロセスIDとの対応関係を決定した後、
プロセスを復元してジョブの実行を再開することが可能
となる。このように、実プロセスIDの割り当てとし
て、実PID制御表を参照して空の実プロセスIDを仮
想プロセスIDに対応づけて仮想PID制御表に登録し
ているため、確実に仮想プロセスIDに実プロセスID
を割り当ることができ、従来の他のプロセスが凍結時と
同一の実プロセスIDを使用してそれの終了を待つまで
待機するという事態の発生を無くし、迅速に実プロセス
IDを仮想プロセスIDに割り当ててジョブの実行を再
開することが可能となった。
In steps S47 and S48, the processes # 2 and # 3 are restored, and the execution of the job is resumed. As mentioned above,
After restoring the virtual PID correspondence table, virtual PID control table, and process information, an empty real process ID is obtained from the real PID control table.
After the real process ID is registered in the virtual PID control table to determine the correspondence with the virtual process ID,
The process can be restored and job execution can be resumed. As described above, as the assignment of the real process ID, an empty real process ID is registered in the virtual PID control table in association with the virtual process ID with reference to the real PID control table. Process ID
Can be assigned, and the conventional process does not use the same real process ID as at the time of freezing and waits until the process terminates. This eliminates the occurrence of the situation, and quickly changes the real process ID to the virtual process ID. Job execution can be resumed by assigning.

【0044】図5は、本発明の仮想PID対応表例を示
す。この仮想PID対応表5は、仮想プロセスIDの範
囲に対応づけてプロセッサIDを登録したものである。
ここでは、仮想プロセスIDの範囲が001〜100の
場合に、プロセッサPE1と登録し、仮想プロセスID
が001〜100のプロセスは、プロセッサPE1上で
動作するものである旨が判明する。従って、仮想プロセ
スIDが001〜100の範囲内の仮想プロセスIDへ
のデータ送信依頼の場合には、データをPE1に送信す
ればよい。そして、PE1は、受信したデータについ
て、仮想PID制御表4を参照して該当する仮想プロセ
スIDのプロセスに渡す。
FIG. 5 shows an example of a virtual PID correspondence table according to the present invention. The virtual PID correspondence table 5 registers processor IDs in association with the range of the virtual process ID.
Here, when the range of the virtual process ID is 001 to 100, the virtual process ID is registered as the processor PE1 and the virtual process ID is registered.
It turns out that the processes 001 to 100 operate on the processor PE1. Therefore, in the case of a data transmission request to a virtual process ID whose virtual process ID is in the range of 001 to 100, the data may be transmitted to the PE1. Then, the PE 1 refers to the virtual PID control table 4 and passes the received data to the process of the corresponding virtual process ID.

【0045】[0045]

【発明の効果】以上説明したように、本発明によれば、
一意な実プロセスIDを管理する実PID制御表3の他
にジョブ内の仮想プロセスIDを一意に管理する仮想P
ID制御表4を設けて実プロセスIDと仮想プロセスI
Dとの対応づけを行う構成を採用しているため、ジョブ
毎に任意の一意の仮想プロセスIDの割り当てを実現
し、凍結したジョブを解凍したときに従来のプロセスI
Dの予約なしにプロセスIDの衝突を無くして即時にジ
ョブ内のプロセス間でデータのやりとりを行う処理を再
開することができる。また、ユーザプログラムの構成
(プロセスの構成)を意識することなく、解凍時にプロ
セスIDの再割り当てを行うときに自動的にプロセスI
Dの衝突を回避してジョブの再開を確実かつ迅速に行
い、処理の続行することが可能となる。
As described above, according to the present invention,
In addition to the real PID control table 3 for managing a unique real process ID, a virtual P for uniquely managing a virtual process ID in a job
By providing an ID control table 4, the real process ID and the virtual process I
D, a unique virtual process ID can be assigned to each job, and when a frozen job is thawed, the conventional process I
The process of exchanging data between the processes in the job can be restarted immediately without the process ID collision without the reservation of D. Also, the process ID is automatically assigned when the process ID is reassigned at the time of decompression, without being aware of the user program configuration (process configuration).
It is possible to reliably and quickly restart the job by avoiding the collision of D, and to continue the processing.

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

【図1】本発明の1実施例構成図である。FIG. 1 is a configuration diagram of one embodiment of the present invention.

【図2】本発明の動作説明フローチャート(プロセスI
Dの割り当て)である。
FIG. 2 is a flowchart for explaining the operation of the present invention (process I).
D).

【図3】本発明の動作説明フローチャート(仮想プロセ
スIDを使用したデータ送受信)である。
FIG. 3 is a flowchart for explaining the operation of the present invention (data transmission / reception using a virtual process ID).

【図4】本発明の動作説明フローチャート(ジョブ凍
結、ジョブ解凍時のプロセスIDの割り当て)である。
FIG. 4 is a flowchart for explaining the operation of the present invention (assignment of process IDs when a job is frozen and a job is thawed).

【図5】本発明の仮想PID対応表例である。FIG. 5 is an example of a virtual PID correspondence table according to the present invention.

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

2:オペレーティングシステム(OS) 3:実PID制御表 4:仮想PID制御表 5:仮想PID対応表 6:ユーザプログラム 7:ジョブ実行手段 PE、PE1、PE2:プロセッサ 2: Operating system (OS) 3: Real PID control table 4: Virtual PID control table 5: Virtual PID correspondence table 6: User program 7: Job execution means PE, PE1, PE2: Processor

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】複数プロセッサ上で任意数のプロセスによ
ってジョブを実行するジョブ実行システムにおいて、 複数のプロセッサ上でそれぞれ処理を実行するプロセス
にそれぞれ割り当てた一意の実プロセスIDを登録して
管理する実PID制御表と、 複数のプロセッサ上でジョブを実行する複数のプロセス
に対して当該ジョブ内でそれぞれ割り当てた一意の仮想
プロセスIDを、上記一意の実プロセスIDにそれぞれ
対応づけて登録して管理する仮想PID制御表とを各プ
ロセッサに設け、 上記ジョブ内では各プロセスが仮想プロセスIDを用い
て相互に通信し、処理を実行する手段を備えたことを特
徴とするジョブ実行システム。
1. A job execution system for executing a job by an arbitrary number of processes on a plurality of processors, wherein a unique real process ID assigned to each of the processes executing processes on the plurality of processors is registered and managed. A PID control table and a unique virtual process ID assigned to each of a plurality of processes executing a job on a plurality of processors in the job are registered and managed in association with the unique real process ID. A job execution system, comprising: a virtual PID control table provided in each processor; and in the job, each process communicates with each other using a virtual process ID to execute processing.
【請求項2】各プロセッサ内にジョブ毎に仮想プロセス
IDがいずれのプロセッサに存在するかを登録する仮想
PID対応表を設け、 ジョブ内の仮想プロセスIDがいずれのプロセッサに存
在するかを判別してそのプロセッサにデータを送信して
ジョブ内の各プロセスが相互にデータの送受信を行うこ
とを特徴とする請求項1記載のジョブ実行システム。
2. A virtual PID correspondence table for registering which processor has a virtual process ID for each job in each processor, and determines which processor has a virtual process ID in the job. 2. The job execution system according to claim 1, wherein each of the processes in the job transmits and receives data to and from the processor by transmitting data to the processor.
【請求項3】ジョブの凍結指示に対応して、指示された
ジョブの上記仮想PID制御表とジョブ内のプロセス、
あるいは更に上記仮想PID対応表を退避して保存する
ことを特徴とする請求項1あるいは請求項2記載のジョ
ブ実行システム。
3. The virtual PID control table of the designated job and a process in the job in response to the freeze instruction of the job.
3. The job execution system according to claim 1, wherein the virtual PID correspondence table is saved and saved.
【請求項4】ジョブの解凍指示に対応して、上記保存し
ておいたジョブの仮想PID制御表とジョブ内のプロセ
ス、あるいは更に上記仮想PID対応表を復元した後、
当該仮想PID制御表中に登録されている仮想プロセス
IDに対して上記実PID制御表の空の実プロセスID
を割り当てて登録した後、ジョブ内の各プロセスが処理
を再開することを特徴とする請求項1ないし請求項3記
載のいずれかのジョブ実行システム。
4. In response to a job decompression instruction, after restoring the saved virtual PID control table of the job and the process in the job, or further restoring the virtual PID correspondence table,
An empty real process ID in the real PID control table for the virtual process ID registered in the virtual PID control table
The job execution system according to any one of claims 1 to 3, wherein each process in the job resumes processing after assigning and registering the job.
【請求項5】複数のプロセッサ上でそれぞれ処理を実行
するプロセスにそれぞれ割り当てた一意の実プロセスI
Dを実PID制御表に登録して管理する手段と、 複数のプロセッサ上でジョブを実行する複数のプロセス
に対して当該ジョブ内でそれぞれ割り当てた一意の仮想
プロセスIDを、上記一意の実プロセスIDにそれぞれ
対応づけて仮想PID制御表に登録して管理する手段
と、 上記ジョブ内では各プロセスが仮想プロセスIDを用い
て相互に通信し、処理を実行する手段と、して機能させ
るプログラムを記録したコンピュータ読取可能な記録媒
体。
5. A unique real process I assigned to a process that executes a process on each of a plurality of processors.
Means for registering and managing D in the real PID control table; and a unique virtual process ID assigned to each of a plurality of processes executing a job on a plurality of processors in the job. Means for registering and managing in the virtual PID control table in association with each other, means for communicating with each other using the virtual process ID in the job and executing processing, and recording a program to function as Computer-readable recording medium.
JP07088298A 1997-03-31 1998-03-19 Job execution system and recording medium Expired - Fee Related JP3884762B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07088298A JP3884762B2 (en) 1997-03-31 1998-03-19 Job execution system and recording medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-79261 1997-03-31
JP7926197 1997-03-31
JP07088298A JP3884762B2 (en) 1997-03-31 1998-03-19 Job execution system and recording medium

Publications (2)

Publication Number Publication Date
JPH10333929A true JPH10333929A (en) 1998-12-18
JP3884762B2 JP3884762B2 (en) 2007-02-21

Family

ID=26412010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07088298A Expired - Fee Related JP3884762B2 (en) 1997-03-31 1998-03-19 Job execution system and recording medium

Country Status (1)

Country Link
JP (1) JP3884762B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024671B2 (en) 2000-06-22 2006-04-04 Fujitsu Limited Scheduling apparatus performing job scheduling of a parallel computer system
US8037359B2 (en) 2009-03-31 2011-10-11 Fujitsu Limited Operation management system having a process execution apparatus, information management apparatus, and process analyzing apparatus, process analyzing apparatus, recording medium in which process analysis program is recorded, and process analysis method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024671B2 (en) 2000-06-22 2006-04-04 Fujitsu Limited Scheduling apparatus performing job scheduling of a parallel computer system
US8037359B2 (en) 2009-03-31 2011-10-11 Fujitsu Limited Operation management system having a process execution apparatus, information management apparatus, and process analyzing apparatus, process analyzing apparatus, recording medium in which process analysis program is recorded, and process analysis method

Also Published As

Publication number Publication date
JP3884762B2 (en) 2007-02-21

Similar Documents

Publication Publication Date Title
JP2010147929A (en) Address allocation method, computer, and program
JP2001306341A (en) Computer system and computer readable recording medium
JP2000330896A (en) Service quality management device
JPH10333929A (en) Job execution system and recording medium
JP2008242766A (en) Process control system
JP2006048560A (en) Method for managing cache memory and storage device or computer system
CN112416495B (en) Unified management system and method for super-fusion cloud terminal resources
JP2006004008A (en) Processing control unit, computer system, distributed processing method, and computer program
JP3076280B2 (en) Inter-process communication method using shared memory
JP2003345614A (en) Parallel processing system by os for single processor
JPH0799674A (en) Partial file updating system for information processor
JP2004246779A (en) Multiprocessor system and method for sharing device
JP3494545B2 (en) Distributed computer system, computer and distributed processing method
JPH11338719A (en) Computer system
JPH02245864A (en) Multiprocessor system
JP2001265614A (en) Dynamic linking information takeover method, linking processing system and program recording medium therefor
JP3028544B2 (en) Load balancing method for distributed processing system
JP2000227860A (en) Parallel access control method, parallel access controller and multi-thread process method
JPH0342765A (en) Decentralized processor
JPH11184769A (en) File transfer system
JPH1027164A (en) Distributed processing method
JP2806141B2 (en) Hot standby system
JPH0756867A (en) Distributed process control method
JP3878881B2 (en) Asynchronous agent system, resource utilization method in the system, resource utilization program, and recording medium recording the program
JP3853535B2 (en) Data transfer system, apparatus and method, and recording medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060801

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061118

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131124

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees