JP2853654B2 - Alternative processing method in tightly coupled multiprocessor system - Google Patents

Alternative processing method in tightly coupled multiprocessor system

Info

Publication number
JP2853654B2
JP2853654B2 JP8119654A JP11965496A JP2853654B2 JP 2853654 B2 JP2853654 B2 JP 2853654B2 JP 8119654 A JP8119654 A JP 8119654A JP 11965496 A JP11965496 A JP 11965496A JP 2853654 B2 JP2853654 B2 JP 2853654B2
Authority
JP
Japan
Prior art keywords
processor
group
processor group
storage area
job
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP8119654A
Other languages
Japanese (ja)
Other versions
JPH09282294A (en
Inventor
正純 川名部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP8119654A priority Critical patent/JP2853654B2/en
Publication of JPH09282294A publication Critical patent/JPH09282294A/en
Application granted granted Critical
Publication of JP2853654B2 publication Critical patent/JP2853654B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は複数のプロセッサか
ら構成される密結合マルチプロセッサシステムに関し、
より詳細には、プロセッサ群を幾つかのプロセッサグル
ープに分けてそれぞれのプロセッサグループ指定でジョ
ブを実行するシステムにおいて、グループ内の全プロセ
ッサの障害によりジョブを実行できなくなったプロセッ
サグループを指定したジョブを、他のプロセッサグルー
プに代替させる場合に、代替先プロセッサグループの負
荷を分散させる技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a tightly coupled multiprocessor system comprising a plurality of processors.
More specifically, in a system in which a processor group is divided into several processor groups and a job is executed by specifying each processor group, a job in which a processor group in which a job cannot be executed due to a failure of all processors in the group is specified. The present invention relates to a technique for distributing the load of a replacement destination processor group when another processor group is substituted.

【0002】[0002]

【従来の技術】従来、密結合マルチプロセッサシステム
におけるプロセッサ障害時の負荷分散は、システムを構
成する個々のプロセッサを単位として行われていた。例
えば、特開平3−219360号公報では、複数のプロ
セッサを具備するマルチプロセッサシステムにおいて、
プロセッサ単位に代替処理能力テーブルを用意して各プ
ロセッサの負荷を求め、これを基に或るプロセッサの障
害時に代替情報テーブルを作成し、各プロセッサの負荷
の偏差が最も小さくなるような組み合わせでプロセッサ
単位の代替を行うことより、プロセッサの障害発生時の
システムのスループットの低下を抑えている。また、代
替先のプロセッサを一旦決定した後の代替先プロセッサ
の見直しについては特に考慮されていない。
2. Description of the Related Art Conventionally, load distribution in the case of a processor failure in a tightly coupled multiprocessor system has been performed for each processor constituting the system. For example, Japanese Patent Application Laid-Open No. 3-219360 discloses a multi-processor system having a plurality of processors.
An alternative processing capacity table is prepared for each processor to determine the load of each processor, and based on this, an alternative information table is created in the event of a failure of a certain processor. By performing the unit substitution, a decrease in the throughput of the system when a processor failure occurs is suppressed. In addition, no special consideration is given to reviewing the alternative processor once the alternative processor has been determined.

【0003】[0003]

【発明が解決しようとする課題】ところで、近年、密結
合マルチプロセッサシステムの処理能力を向上させるた
めに、接続するプロセッサの台数を従来より多くするこ
とが行われている。但し、このようなシステムでは主記
憶やバスの競合がネックとなって性能が低下するのを防
止するため、システム内のプロセッサ群を少数のプロセ
ッサごとにグループ分けし、それぞれのプロセッサグル
ープ毎に比較的大容量のキャッシュメモリを置くと共に
プログラムの実行単位であるタスクを割り振るディスパ
ッチャーもグループ毎に置いて多重動作を可能とし、各
プロセッサグループを極力従来の密結合マルチプロセッ
サシステムに近づけるようにしている(例えば、NEC
製のパラレルACOSPX7800におけるメモリ共有
型並列システム)。そして、このようなシステムでは、
システムへのジョブの投入時にユーザからそのジョブの
実行先となるプロセッサグループが指定され、この指定
されたプロセッサグループでジョブが実行されるように
なっている。
By the way, in recent years, in order to improve the processing capability of a tightly coupled multiprocessor system, the number of connected processors has been increased from the conventional one. However, in such a system, in order to prevent performance degradation due to contention between main memory and buses, the processors in the system are grouped into a small number of processors and compared for each processor group. A large-capacity cache memory and a dispatcher for allocating tasks, which are the execution units of the program, are placed in groups so that multiple operations can be performed, and each processor group is made as close as possible to a conventional tightly coupled multiprocessor system ( For example, NEC
Memory-shared parallel system in a parallel ACOSPX7800 manufactured by FUJITSU LIMITED. And in such a system,
When a job is input to the system, a user specifies a processor group to be executed by the job, and the job is executed in the specified processor group.

【0004】上述のようなプロセッサグループ指定でジ
ョブを実行する密結合マルチプロセッサシステムにおい
て、プロセッサ障害が発生した場合、障害となったプロ
セッサの属するプロセッサグループ中に他にジョブの実
行が可能なプロセッサがあるときは、そのプロセッサで
処理を代替するが、同一プロセッサグループの全てのプ
ロセッサが障害によりジョブの実行ができなくなったと
きは、そのプロセッサグループの処理を他のプロセッサ
グループで代替する必要があり、このときプロセッサグ
ループ間の負荷の不均衡が問題となる。
In a tightly coupled multiprocessor system that executes a job by specifying a processor group as described above, when a processor failure occurs, another processor capable of executing a job is included in the processor group to which the failed processor belongs. In some cases, the processing is substituted by that processor, but when all the processors in the same processor group cannot execute the job due to a failure, it is necessary to substitute the processing of that processor group with another processor group, At this time, load imbalance between processor groups becomes a problem.

【0005】前述したように従来の密結合マルチプロセ
ッサシステムにおけるプロセッサ障害時の負荷分散は、
システムを構成する個々のプロセッサを単位として行わ
れており、この技術は、前述した密結合マルチプロセッ
サシステムにおいて、プロセッサ障害が発生した場合に
その障害となったプロセッサの属するプロセッサグルー
プ中に他にジョブの実行が可能なプロセッサが存在する
場合の当該プロセッサグループ内での負荷分散に適用で
きる。しかしながら、プロセッサ毎の負荷情報と代替情
報とを管理する構成である為、同一プロセッサグループ
の全てのプロセッサが障害によりジョブの実行ができな
くなったときに、そのプロセッサグループの処理を他の
プロセッサグループで代替する場合の負荷分散には適用
できず、そのための特別な機構が必要となる。
As described above, load distribution at the time of a processor failure in a conventional tightly coupled multiprocessor system is as follows.
This technique is performed in units of individual processors constituting the system. In the tightly coupled multiprocessor system described above, when a processor failure occurs, another job is added to a processor group to which the failed processor belongs. Can be applied to the load distribution in the processor group when there is a processor capable of executing the process. However, since the configuration manages load information and alternative information for each processor, when all processors in the same processor group cannot execute a job due to a failure, the processing of that processor group is performed by another processor group. It cannot be applied to load balancing in the case of substitution, and a special mechanism for that is required.

【0006】そこで本発明の目的は、1つ以上のプロセ
ッサグループでジョブの実行ができなくなった場合に残
りのプロセッサグループでその処理を代替する際、それ
ら残りのプロセッサグループの負荷ができるだけ均等に
なるようにしてシステム全体のスループットが低下する
のを防止することができる密結合マルチプロセッサシス
テムにおける代替処理方式を提供することにある。
[0006] Therefore, an object of the present invention is to make the load of the remaining processor groups as equal as possible when the processing cannot be executed by one or more processor groups and the processing is replaced by the remaining processor groups. An object of the present invention is to provide an alternative processing method in a tightly coupled multiprocessor system that can prevent the throughput of the entire system from being reduced.

【0007】また、本発明の別の目的は、本発明が対象
とするプロセッサグループ指定でジョブを実行する密結
合マルチプロセッサシステムにあっては、一般にユーザ
から投入されるジョブの各プロセッサグループに対する
負荷はシステム内の全てのプロセッサが使用可能である
ことを念頭に与えられるという事情を考慮して、各プロ
セッサグループに属するプロセッサ台数とその内のジョ
ブ実行可能なプロセッサ台数(つまり、使用可能なプロ
セッサ台数)といった簡単な情報だけで代替先プロセッ
サグループを決定することにある。
Another object of the present invention is to provide a tightly coupled multiprocessor system which executes a job by designating a processor group to which the present invention is applied. Is the number of processors belonging to each processor group and the number of processors that can execute jobs (that is, the number of available processors) in consideration of the fact that it is given that all processors in the system are available. ) Is to determine an alternative processor group based only on simple information such as).

【0008】更に、本発明の他の目的は、代替先プロセ
ッサグループ等における任意のプロセッサ状態の変更
(使用可能から使用不可能への変更とその逆の変更)時
に、代替先プロセッサグループを見直すことにより、そ
の時々の状況に応じた代替処理を可能とする密結合マル
チプロセッサシステムにおける代替処理方式を提供する
ことにある。
Still another object of the present invention is to review an alternative processor group when an arbitrary processor state changes in an alternative processor group or the like (change from available to unavailable and vice versa). Accordingly, an object of the present invention is to provide an alternative processing method in a tightly-coupled multiprocessor system that enables an alternative processing according to the situation at each time.

【0009】[0009]

【課題を解決するための手段】本発明の密結合マルチプ
ロセッサシステムにおける代替処理方式は、主記憶装置
を共有する複数のプロセッサを幾つかのプロセッサグル
ープに分け、それぞれのプロセッサグループ指定でジョ
ブを実行する密結合マルチプロセッサシステムにおい
て、以下の構成要素を備えることを特徴とする。 ○プロセッサ台数格納領域; 各プロセッサグループに
1対1に対応して設けられ、そのプロセッサグループに
属するプロセッサの台数を格納する。 ○使用可能プロセッサ台数格納領域; 各プロセッサグ
ループに1対1に対応して設けられ、そのプロセッサグ
ループに属するプロセッサのうち、ジョブを実行するこ
とが可能なプロセッサの台数を格納する。 ○実行プロセッサグループ番号格納領域; 各プロセッ
サグループに1対1に対応して設けられ、そのプロセッ
サグループ指定のジョブを代替する他のプロセッサグル
ープの番号を格納する。 ○プロセッサグループ管理テーブル初期化手段; シス
テム初期化時に、各プロセッサグループに含まれるプロ
セッサの台数およびその内の使用可能なプロセッサの台
数を、各プロセッサグループ対応のプロセッサ台数格納
領域および使用可能プロセッサ台数格納領域に格納し、
下記のプロセッサグループ最適化手段に制御を渡す。 ○テーブル更新手段; システム稼働中に、ジョブを実
行することが不可能となったプロセッサが発生した場合
にそのプロセッサが属するプロセッサグループに対応す
る使用可能プロセッサ台数格納領域の値を1減少して下
記のプロセッサグループ最適化手段に制御を渡し、ジョ
ブを実行することが可能となったプロセッサが発生した
場合にそのプロセッサが属するプロセッサグループに対
応する使用可能プロセッサ台数格納領域の値を1増加し
て下記のプロセッサグループ最適化手段に制御を渡す。 ○プロセッサグループ最適化手段; 前記プロセッサグ
ループ管理テーブル初期化手段または前記テーブル更新
手段から制御を渡される毎に、使用可能プロセッサ台数
格納領域の値が0である全てのプロセッサグループにつ
いて、当該プロセッサグループ指定のジョブを代替させ
るプロセッサグループの番号を決定して代替元プロセッ
サグループに対応する実行プロセッサグループ番号格納
領域に格納し、且つ、システムにジョブが存在するとき
は下記のジョブ実行グループ変更手段に制御を渡す。 ○ジョブ実行グループ変更手段; 全てのプロセッサグ
ループについて、使用可能プロセッサ台数格納領域の値
が0でないプロセッサグループの場合は当該プロセッサ
グループ指定のジョブのうち他のプロセッサグループに
割り当てられているジョブを当該指定のプロセッサグル
ープに割り当て、使用可能プロセッサ台数格納領域の値
が0のプロセッサグループの場合は当該プロセッサグル
ープ指定のジョブを当該プロセッサグループ対応の実行
プロセッサグループ番号格納領域に格納された番号に対
応する他のプロセッサグループに割り当てる。 ○ジョブ実行グループ選択手段; プロセッサグループ
指定のジョブの投入時、指定されたプロセッサグループ
対応の使用可能プロセッサ台数格納領域の値が0でない
場合には指定されたプロセッサグループにジョブを割り
当て、指定されたプロセッサグループ対応の使用可能プ
ロセッサ台数格納領域の値が0の場合には指定されたプ
ロセッサグループ対応の実行プロセッサグループ番号格
納領域に格納された番号のプロセッサグループにジョブ
を割り当てる。
An alternative processing method in a tightly coupled multiprocessor system according to the present invention is to divide a plurality of processors sharing a main memory into several processor groups and execute a job by designating each processor group. Is characterized by including the following components. Processor number storage area; provided for each processor group in a one-to-one correspondence, and stores the number of processors belonging to the processor group. A usable processor number storage area; provided for each processor group in a one-to-one correspondence, and stores the number of processors capable of executing a job among the processors belonging to the processor group. Executable processor group number storage area; provided for each processor group in a one-to-one correspondence, and stores the number of another processor group that replaces the job specified by that processor group. Processor group management table initialization means: At the time of system initialization, the number of processors included in each processor group and the number of available processors among them are stored in a processor number storage area and an available processor number corresponding to each processor group. Store in the area,
Control is passed to the following processor group optimization means. ○ Table updating means: If a processor that cannot execute a job occurs during system operation, the value of the available processor number storage area corresponding to the processor group to which the processor belongs is decremented by 1 and Control is passed to the processor group optimizing means, and when a processor capable of executing a job occurs, the value of the available processor number storage area corresponding to the processor group to which the processor belongs is increased by 1 and Is passed to the processor group optimizing means. Processor group optimizing means; every time control is passed from the processor group management table initializing means or the table updating means, the processor group designation is performed for all processor groups in which the value of the available processor number storage area is 0. Is determined in the execution processor group number storage area corresponding to the substitution source processor group, and when a job exists in the system, the following job execution group changing means is controlled. hand over. ○ Job execution group changing means: for all processor groups, if the value of the available processor number storage area is not 0, the job assigned to another processor group among the jobs specified by the processor group is specified. In the case of a processor group in which the value of the available processor number storage area is 0, the job designated by the processor group is assigned to another processor group corresponding to the number stored in the execution processor group number storage area corresponding to the processor group. Assign to processor groups. ○ Job execution group selection means; When a job specified by a processor group is submitted, if the value of the available processor number storage area corresponding to the specified processor group is not 0, the job is assigned to the specified processor group and the job is specified. If the value of the available processor number storage area corresponding to the processor group is 0, the job is assigned to the processor group of the number stored in the execution processor group number storage area corresponding to the specified processor group.

【0010】ここで、前記プロセッサグループ最適化手
段は、使用可能プロセッサ台数格納領域の値が0である
プロセッサグループを指定するジョブを、使用可能プロ
セッサ台数格納領域の値が0でないプロセッサグループ
にプロセッサグループ単位で代替処理させる全ての組み
合わせについて、代替後の、使用可能プロセッサ台数格
納領域の値が0でないプロセッサグループの使用可能プ
ロセッサ1台当たりの負荷を、各プロセッサグループ指
定の投入ジョブ数が前記プロセッサ台数格納領域に格納
されているプロセッサ台数にほぼ比例することを想定し
て算出し、全ての組み合わせの中で最も負荷のバラツキ
が少ない組み合わせにかかるプロセッサグループを代替
プロセッサグループとして決定する構成を有する。
Here, the processor group optimizing means assigns a job specifying a processor group having a value of the available processor number storage area of 0 to a processor group having a value of the available processor number storage area other than 0. For all combinations to be replaced in units, the load per available processor of the processor group after the replacement, in which the value of the available processor number storage area is not 0, is expressed by the number of input jobs specified by each processor group. The calculation is performed assuming that the number of processors is almost proportional to the number of processors stored in the storage area, and a processor group associated with a combination having the smallest load variation among all combinations is determined as an alternative processor group.

【0011】このような構成の密結合マルチプロセッサ
システムにおける代替処理方式にあっては、システム初
期化時にプロセッサグループ管理テーブル初期化手段
が、各プロセッサグループに含まれるプロセッサの台数
およびその内の使用可能なプロセッサの台数を、各プロ
セッサグループ対応のプロセッサ台数格納領域および使
用可能プロセッサ台数格納領域に格納して、プロセッサ
グループ最適化手段に制御を渡し、プロセッサグループ
最適化手段が、使用可能プロセッサ台数格納領域の値が
0である全てのプロセッサグループについて、当該プロ
セッサグループ指定のジョブを代替させるプロセッサグ
ループの番号を決定して当該プロセッサグループに対応
する実行プロセッサグループ番号格納領域に格納する。
In the alternative processing method in the tightly coupled multiprocessor system having such a configuration, the processor group management table initializing means at system initialization initializes the number of processors included in each processor group and the number of processors usable therein. The processor number is stored in the processor number storage area and the available processor number storage area corresponding to each processor group, and control is passed to the processor group optimizing means, and the processor group optimizing means stores the available processor number storage area. For all processor groups having a value of 0, the processor group number for substituting the job specified by the processor group is determined and stored in the execution processor group number storage area corresponding to the processor group.

【0012】このときプロセッサグループ最適化手段
は、使用可能プロセッサ台数格納領域の値が0である全
てのプロセッサグループを指定するジョブを、使用可能
プロセッサ台数格納領域の値が0でないプロセッサグル
ープにプロセッサグループ単位で代替処理させる全ての
組み合わせについて、代替後の、使用可能プロセッサ台
数格納領域の値が0でないプロセッサグループの使用可
能プロセッサ1台当たりの負荷を、各プロセッサグルー
プ指定の投入ジョブ数が前記プロセッサ台数格納領域に
格納されているプロセッサ台数にほぼ比例することを想
定して算出し、全ての組み合わせの中で最も負荷のバラ
ツキが少ない組み合わせにかかる代替プロセッサグルー
プを決定する。
At this time, the processor group optimizing means assigns the job designating all the processor groups whose available processor number storage area value is 0 to the processor group whose available processor number storage area value is not 0. For all combinations to be replaced in units, the load per available processor of the processor group after the replacement, in which the value of the available processor number storage area is not 0, is expressed by the number of input jobs specified by each processor group. The calculation is performed on the assumption that the number of processors is almost proportional to the number of processors stored in the storage area, and an alternative processor group for a combination having the smallest load variation among all the combinations is determined.

【0013】このシステム初期化後にプロセッサグルー
プ指定でジョブが投入されると、ジョブ実行グループ選
択手段が、指定されたプロセッサグループ対応の使用可
能プロセッサ台数格納領域の値が0でない場合には指定
されたプロセッサグループにジョブを割り当て、指定さ
れたプロセッサグループ対応の使用可能プロセッサ台数
格納領域の値が0の場合には指定されたプロセッサグル
ープ対応の実行プロセッサグループ番号格納領域に格納
された番号のプロセッサグループにジョブを割り当て
る。これによって、システム立ち上げ時点で既にグルー
プ内の全プロセッサが使用不能のプロセッサグループを
指定したジョブについては、代替先プロセッサグループ
で実行されることになる。
When a job is specified by specifying a processor group after the initialization of the system, the job execution group selecting means selects the specified processor group if the value of the available processor number storage area corresponding to the specified processor group is not 0. A job is assigned to a processor group. If the value of the available processor number storage area corresponding to the specified processor group is 0, the job is assigned to the processor group of the number stored in the execution processor group number storage area corresponding to the specified processor group. Assign a job. As a result, a job that specifies a processor group in which all processors in the group are already unusable at the time of system startup is executed in the substitute destination processor group.

【0014】次に、システム稼働中にジョブを実行する
ことができなくなったプロセッサが発生した場合、ある
いは障害中であったが回復しジョブを実行することがで
きるようになったプロセッサが発生した場合、テーブル
更新手段が、そのプロセッサが属するプロセッサグルー
プに対応する使用可能プロセッサ台数格納領域の値を1
減少し、或いは1増加してプロセッサグループ最適化手
段に制御を渡し、プロセッサグループ最適化手段が、使
用可能プロセッサ台数格納領域の値が0である全てのプ
ロセッサグループについて、当該プロセッサグループ指
定のジョブを代替させるプロセッサグループの番号を決
定して当該プロセッサグループに対応する実行プロセッ
サグループ番号格納領域に格納し、且つ、システム内に
ジョブが存在するときはジョブ実行グループ変更手段に
制御を渡す。そして、ジョブ実行グループ変更手段が、
全てのプロセッサグループについて、使用可能プロセッ
サ台数格納領域の値が0でないプロセッサグループの場
合は当該プロセッサグループ指定のジョブのうち他のプ
ロセッサグループに割り当てられているジョブを当該プ
ロセッサグループに割り当て、使用可能プロセッサ台数
格納領域の値が0のプロセッサグループの場合は当該プ
ロセッサグループ指定のジョブを当該プロセッサグルー
プ対応の実行プロセッサグループ番号格納領域に格納さ
れた番号に対応する他のプロセッサグループに割り当て
る。
Next, when a processor that cannot execute the job occurs while the system is operating, or when a processor that is in a fault but recovers and can execute the job occurs. , The table updating means sets the value of the available processor number storage area corresponding to the processor group to which the processor belongs to 1
The control is passed to the processor group optimizing means by decreasing or increasing by 1, and the processor group optimizing means deletes the job specified by the processor group for all the processor groups in which the value of the available processor number storage area is 0. The number of the processor group to be replaced is determined and stored in the execution processor group number storage area corresponding to the processor group, and when there is a job in the system, the control is passed to the job execution group changing unit. Then, the job execution group changing means,
In the case of a processor group in which the value of the available processor number storage area is not 0 for all processor groups, a job assigned to another processor group among the jobs specified by the processor group is assigned to the processor group, and the available processor In the case of a processor group whose value of the number storage area is 0, the job specified by the processor group is assigned to another processor group corresponding to the number stored in the execution processor group number storage area corresponding to the processor group.

【0015】これによって、システム稼働中のプロセッ
サ状態の変更によって下記のような動作が行われる。
As a result, the following operation is performed by changing the processor state during the operation of the system.

【0016】(1)或るプロセッサグループの全プロセ
ッサがプロセッサ障害によりジョブを実行できない状態
になると、このプロセッサグループの代替先プロセッサ
グループおよび既に使用不能となっている他のプロセッ
サグループの代替先プロセッサグループが決定され、使
用不能となったプロセッサグループを指定したジョブが
代替先プロセッサグループで実行されるように変更され
る。
(1) When all the processors of a certain processor group cannot execute a job due to a processor failure, a replacement destination processor group of this processor group and a replacement destination processor group of another processor group that is already unavailable. Is determined, and the job specifying the disabled processor group is changed to be executed in the alternative destination processor group.

【0017】(2)使用不能となっていたプロセッサグ
ループの少なくとも1台のプロセッサが使用可能になる
と、そのプロセッサグループ指定のジョブであって代替
先プロセッサグループに割り当てられていたジョブが本
来のプロセッサグループで実行されるように変更され
る。
(2) When at least one processor of the disabled processor group becomes available, the job specified by the processor group and assigned to the alternative processor group becomes the original processor group. Is changed to be executed by

【0018】(3)使用可能プロセッサ台数の1減少時
に使用可能プロセッサ台数が0にならず、また1増加時
に使用可能プロセッサ台数が1にならない、代替先とな
っていたプロセッサグループ等の使用可能プロセッサ数
の増減時にも、全プロセッサが使用不能となっているプ
ロセッサグループが存在する場合には、その代替先プロ
セッサグループの見直しが行われる。
(3) The number of available processors does not become zero when the number of available processors decreases by one, and the number of available processors does not become one when the number of available processors decreases by one. Even when the number increases or decreases, if there is a processor group in which all processors are unusable, the replacement destination processor group is reviewed.

【0019】また本発明は上記のテーブル更新手段に代
えて、以下のテーブル更新手段を備えることを特徴とす
る。 ○テーブル更新手段; システム稼働中に、ジョブを実
行することが不可能になったプロセッサが発生した場合
にそのプロセッサが属するプロセッサグループに対応す
る使用可能プロセッサ台数格納領域の値を1減少してそ
の値が0になったら前記プロセッサグループ最適化手段
に制御を移し、ジョブを実行することが可能になったプ
ロセッサが発生した場合にそのプロセッサが属するプロ
セッサグループに対応する使用可能プロセッサ台数格納
領域の値を1増加してその値が1になったら前記プロセ
ッサグループ最適化手段に制御を渡す。このようなテー
ブル更新手段を備える構成の動作は、前記(3)の時点
での見直しが行われない他は、先の構成と同じである。
The present invention is characterized in that the following table updating means is provided in place of the above table updating means. Table updating means: When a processor that cannot execute a job occurs during the operation of the system, the value of the available processor number storage area corresponding to the processor group to which the processor belongs is decremented by one. When the value becomes 0, the control is transferred to the processor group optimizing means. If a processor capable of executing a job occurs, the value of the available processor number storage area corresponding to the processor group to which the processor belongs is generated. Is incremented by 1 and when the value becomes 1, control is passed to the processor group optimizing means. The operation of the configuration having such a table updating means is the same as the previous configuration except that the review at the time (3) is not performed.

【0020】[0020]

【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0021】図1は本発明を適用した密結合マルチプロ
セッサシステムの一例を示す概略ブロック図である。こ
の例の密結合マルチプロセッサシステムは、主記憶装置
MMを共有する複数のプロセッサP11〜P1n,…,
Pm1〜Pmnをm個のプロセッサグループPG1〜P
Gmに分け、各プロセッサグループPG1〜PGm毎に
比較的大容量なキャッシュメモリCM1〜CMmを設け
てある。なお、Bはシステムバス、IOPは入出力プロ
セッサである。
FIG. 1 is a schematic block diagram showing an example of a tightly coupled multiprocessor system to which the present invention is applied. The tightly-coupled multiprocessor system of this example includes a plurality of processors P11 to P1n,.
Pm1 to Pmn are replaced by m processor groups PG1 to P
Gm, and relatively large-capacity cache memories CM1 to CMm are provided for each of the processor groups PG1 to PGm. B is a system bus, and IOP is an input / output processor.

【0022】この密結合マルチプロセッサシステムで
は、システム全体の主たる制御は主記憶装置MM上のO
Sが司るが、プログラムの実行単位であるタスクを割り
振るディスパッチャーは各プロセッサグループ毎に設け
て多重動作を可能とし、各プロセッサグループPG1〜
PGmを極力従来の密結合マルチプロセッサシステムに
近づけるようにしている。また、システムへのジョブの
投入時には、ユーザはそのジョブの実行先となるプロセ
ッサグループを指定し、OSは、基本的にこの指定され
たプロセッサグループにジョブを割り当てる。各プロセ
ッサグループPG11〜PGmへのジョブの割り当て
は、主記憶装置MMに設けられた各プロセッサグループ
PG1〜PGm対応のキューQ1〜Qmにジョブ実行情
報を登録することで行われ、各プロセッサグループPG
1〜PGmのディスパッチャーは該当するキューQ1〜
Qmから順次ジョブ実行情報を入力して自グループ内の
プロセッサでジョブを実行する。なお、ジョブ実行中に
自グループ内の全プロセッサが障害によってジョブを実
行することができなくなった場合、ジョブ実行情報がキ
ューQ1〜Qmにデキューされる。
In this tightly coupled multiprocessor system, the main control of the whole system is O
A dispatcher for allocating a task, which is a unit of execution of a program, is provided for each processor group to enable multiplex operation.
PGm is made as close as possible to a conventional tightly coupled multiprocessor system. Further, when a job is input to the system, the user specifies a processor group to execute the job, and the OS basically assigns the job to the specified processor group. The assignment of a job to each of the processor groups PG11 to PGm is performed by registering job execution information in queues Q1 to Qm corresponding to each of the processor groups PG1 to PGm provided in the main storage device MM.
1 to PGm dispatchers Q1 to PGm
The job execution information is sequentially input from Qm, and the job is executed by the processors in the own group. If all processors in the own group cannot execute the job due to a failure during job execution, the job execution information is dequeued to the queues Q1 to Qm.

【0023】なお、本発明は図1に例示したような形式
の密結合マルチプロセッサシステムへの適用にのみ限定
されるものではなく、プロセッサグループ指定でジョブ
を実行する任意の形式の密結合マルチプロセッサシステ
ムに適用可能である。
The present invention is not limited to the application to a tightly-coupled multiprocessor system of the type illustrated in FIG. 1, but any type of tightly-coupled multiprocessor that executes a job by specifying a processor group. Applicable to the system.

【0024】図2は本発明の密結合マルチプロセッサシ
ステムにおける代替処理方式の一実施例のブロック図で
ある。この例の代替処理方式は、使用可能プロセッサ台
数格納領域群1と、プロセッサ台数格納領域群2と、実
行プロセッサグループ番号格納領域群3と、プロセッサ
グループ管理テーブル初期化手段11と、テーブル更新
手段21と、プロセッサグループ最適化手段12と、ジ
ョブ実行グループ変更手段22と、ジョブ実行グループ
選択手段31とで構成されている。これらはOSの一部
として組み込まれている。
FIG. 2 is a block diagram showing one embodiment of an alternative processing method in the tightly coupled multiprocessor system of the present invention. The alternative processing method of this example includes a usable processor number storage area group 1, a processor number storage area group 2, an execution processor group number storage area group 3, a processor group management table initializing means 11, a table updating means 21 , A processor group optimizing unit 12, a job execution group changing unit 22, and a job execution group selecting unit 31. These are incorporated as part of the OS.

【0025】プロセッサ台数格納領域群2は、各プロセ
ッサグループPG1〜PGmに1対1に対応するプロセ
ッサ台数格納領域2−1〜2−mから構成される。各プ
ロセッサ台数格納領域2−1〜2−mには、後述するよ
うにプロセッサグループ管理テーブル初期化手段11に
よって、システムの初期化時に、そのプロセッサグルー
プPG1〜PGmに属するプロセッサの台数が格納され
る。
The processor number storage area group 2 includes processor number storage areas 2-1 to 2-m corresponding to the processor groups PG1 to PGm on a one-to-one basis. In the processor number storage areas 2-1 to 2-m, the number of processors belonging to the processor groups PG1 to PGm is stored by the processor group management table initialization means 11 when the system is initialized, as described later. .

【0026】使用可能プロセッサ台数格納領域群1は、
各プロセッサグループPG1〜PGmに1対1に対応す
る使用可能プロセッサ台数格納領域1−1〜1−mから
構成される。各使用可能プロセッサ台数格納領域1−1
〜1−mには、後述するように、プロセッサグループ管
理テーブル初期化手段11によって、システムの初期化
時に、そのプロセッサグループPG1〜PGmに属する
プロセッサのうちジョブの実行が可能なプロセッサ(使
用可能なプロセッサ)の台数が格納され、またシステム
稼働中のプロセッサ状態の変更に合わせてテーブル更新
手段21によってその値が変更される。
The available processor number storage area group 1 is:
The processor groups PG1 to PGm are constituted by available processor number storage areas 1-1 to 1-m corresponding to the processor groups PG1 to PGm on a one-to-one basis. Storage area for number of usable processors 1-1
As described later, the processor group management table initializing means 11 stores, among the processors belonging to the processor groups PG1 to PGm, processors (executable processors) which can execute a job when the system is initialized. The number of processors (processors) is stored, and the value is changed by the table updating means 21 in accordance with a change in the processor state during system operation.

【0027】実行プロセッサグループ番号格納領域群3
は、各プロセッサグループPG1〜PGmに1対1に対
応する実行プロセッサグループ番号格納領域3−1〜3
−mから構成される。各実行プロセッサグループ番号格
納領域3−1〜3−mには、後述するように、プロセッ
サグループ最適化手段12によってそのプロセッサグル
ープ指定のジョブを代替する他のプロセッサグループの
番号が格納される。
Execution processor group number storage area group 3
Are the execution processor group number storage areas 3-1 to 3 corresponding to the processor groups PG1 to PGm on a one-to-one basis.
-M. In each of the execution processor group number storage areas 3-1 to 3-m, as described later, the numbers of other processor groups which substitute the job specified by the processor group by the processor group optimizing means 12 are stored.

【0028】プロセッサグループ管理テーブル初期化手
段11は、システム初期化時にプロセッサ台数格納領域
群2および使用可能プロセッサ台数格納領域群1に初期
情報を格納する手段である。このプロセッサグループ管
理テーブル初期化手段11は、例えば各プロセッサグル
ープPG1〜PGmに属するプロセッサ台数を記述して
ある構成情報テーブル(図示せず)を参照して、各プロ
セッサグループPG1〜PGmに含まれるプロセッサの
台数を各プロセッサグループ対応のプロセッサ台数格納
領域2−1〜2−mに格納する。また、例えばシステム
初期化時に実施されるプロセッサ診断の結果に基づき、
各プロセッサグループPG1〜PGmに含まれるプロセ
ッサのうち、ジョブの実行が可能なプロセッサの台数
を、各プロセッサグループ対応の使用可能プロセッサ台
数格納領域1−1〜1−mに格納する。プロセッサグル
ープ管理テーブル初期化手段11は上述した処理を終え
ると、プロセッサグループ最適化手段12に制御を渡
す。
The processor group management table initialization means 11 is a means for storing initial information in the processor number storage area group 2 and the available processor number storage area group 1 at the time of system initialization. The processor group management table initialization means 11 refers to, for example, a configuration information table (not shown) describing the number of processors belonging to each of the processor groups PG1 to PGm and refers to a processor included in each of the processor groups PG1 to PGm. Are stored in the processor number storage areas 2-1 to 2-m corresponding to each processor group. Also, for example, based on the results of processor diagnosis performed at system initialization,
The number of processors that can execute a job among the processors included in each of the processor groups PG1 to PGm is stored in the available processor number storage areas 1-1 to 1-m corresponding to each processor group. After completing the above-described processing, the processor group management table initialization means 11 passes control to the processor group optimization means 12.

【0029】テーブル更新手段21は、システム初期化
後のシステム稼働中に、何れかのプロセッサの状態がジ
ョブ実行可能状態から障害によって実行不可能状態へ変
わったことが例えばプロセッサのファームウエアから通
知された場合、またはその逆に障害の回復によって実行
不可能状態から実行可能状態に変わったことが例えばプ
ロセッサのファームウエアから通知された場合に、それ
に応じて使用可能プロセッサ台数格納領域群1を更新す
る手段であり、図3に示すような処理を行う。即ち、テ
ーブル更新手段21は、システム稼働中に、何れかのプ
ロセッサの状態が変化した場合、その変化が使用可能か
ら使用不可への変化か、或いはその逆の変化を判別し
(ステップ301)、使用可能から使用不可への変化の
場合には、使用可能プロセッサ台数格納領域群1におけ
るそのプロセッサが属するプロセッサグループに対応す
る使用可能プロセッサ台数格納領域の値を1減少し(ス
テップ302)、プロセッサグループ最適化手段12に
制御を渡す(ステップ304)。その反対に、使用不可
から使用可能への変化の場合は、使用可能プロセッサ台
数格納領域群1におけるそのプロセッサが属するプロセ
ッサグループに対応する使用可能プロセッサ台数格納領
域の値を1増加し(ステップ303)、制御をプロセッ
サグループ最適化手段12に渡す(ステップ304)。
The table updating means 21 is notified from the firmware of the processor, for example, that the state of any of the processors has changed from the job executable state to the non-executable state due to a fault during the system operation after the system initialization. If, for example, the processor firmware notifies that the state has changed from the unexecutable state to the executable state due to the recovery of the failure, the available processor number storage area group 1 is updated accordingly. It performs a process as shown in FIG. That is, when the state of any of the processors changes during the operation of the system, the table updating unit 21 determines whether the change is from available to unusable or vice versa (step 301). In the case of a change from available to unavailable, the value of the available processor number storage area corresponding to the processor group to which the processor belongs in the available processor number storage area group 1 is decreased by 1 (step 302), and the processor group Control is passed to the optimization means 12 (step 304). Conversely, if the change is from unusable to usable, the value of the available processor number storage area corresponding to the processor group to which the processor belongs in the available processor number storage area group 1 is increased by 1 (step 303). Is passed to the processor group optimizing means 12 (step 304).

【0030】プロセッサグループ最適化手段12は、グ
ループ内の全プロセッサが使用不可となったプロセッサ
グループについて、そのプロセッサグループ指定のジョ
ブの実行を代替させるプロセッサグループを決定する手
段であり、図4に示すような処理を行う。先ず、プロセ
ッサグループ管理テーブル初期化手段11またはテーブ
ル更新手段21から制御が渡されると、使用可能プロセ
ッサ台数格納領域群1を参照し、全てのプロセッサグル
ープの使用可能プロセッサグループ格納領域の値が1以
上か否かを調べ(ステップ401)、全ての使用可能プ
ロセッサ台数格納領域の値が1以上でなければ、即ち少
なくとも1つの使用可能プロセッサグループ格納領域の
値が0であれば、そのプロセッサグループを代替するプ
ロセッサグループを決定するためにステップ402へ進
み、それ以外はステップ402をスキップしてステップ
403へ進む。ステップ402では、使用可能プロセッ
サ台数格納領域の値が0の全てのプロセッサグループに
ついて、そのプロセッサグループ指定のジョブをそのプ
ロセッサグループに代わって実行するプロセッサグルー
プを決定し、この決定したプロセッサグループの番号
を、実行プロセッサグループ番号格納領域群3における
代替元プロセッサグループに対応する実行プロセッサグ
ループ番号格納領域に格納する。そして、ステップ40
3へ進む。ステップ403では、当該密結合マルチプロ
セッサシステム内にジョブが少なくとも1つ存在するか
否かを調べ、存在していればステップ404に進んでジ
ョブ実行グループ変更手段22に制御を渡し、存在して
いなければステップ404をスキップして処理を終了す
る。
The processor group optimizing means 12 is a means for determining, for a processor group in which all processors in the group have become unusable, a processor group to substitute for execution of a job specified by the processor group, as shown in FIG. Such processing is performed. First, when control is passed from the processor group management table initialization means 11 or the table updating means 21, the available processor number storage area group 1 is referred to and the value of the available processor group storage area of all processor groups is 1 or more. It is checked (step 401) whether or not the value of all available processor number storage areas is not 1 or more, that is, if the value of at least one available processor group storage area is 0, the processor group is replaced. The process proceeds to step 402 to determine a processor group to be executed. Otherwise, the process skips step 402 and proceeds to step 403. In step 402, a processor group for executing the job specified by the processor group in place of the processor group is determined for all the processor groups for which the value of the available processor number storage area is 0, and the determined processor group number is set. Are stored in the execution processor group number storage area corresponding to the replacement source processor group in the execution processor group number storage area group 3. And step 40
Proceed to 3. At step 403, it is checked whether or not at least one job exists in the tightly coupled multiprocessor system. If there is, the process proceeds to step 404, where the control is passed to the job execution group changing unit 22, and the job execution group changing unit 22 does not exist. If it is, step 404 is skipped and the process ends.

【0031】プロセッサグループ最適化手段12のステ
ップ402における代替プロセッサグループの決定で
は、使用可能プロセッサ台数格納領域の値が0であるプ
ロセッサグループを指定するジョブを、使用可能プロセ
ッサ台数格納領域の値が0でないプロセッサグループに
プロセッサグループ単位で代替処理させる全ての組み合
わせについて、代替後の、使用可能プロセッサ台数格納
領域の値が0でないプロセッサグループの使用可能プロ
セッサ1台当たりの負荷を、各プロセッサグループ指定
の投入ジョブ数がプロセッサ台数格納領域に格納されて
いるプロセッサ台数にほぼ比例することを想定して算出
し、全ての組み合わせの中で最も負荷のバラツキが少な
い組み合わせにかかるプロセッサグループを代替プロセ
ッサグループとする。この具体的な決定例については後
述する。
In the determination of the alternative processor group in step 402 of the processor group optimizing means 12, the job designating the processor group having the available processor number storage area value of 0 is replaced with the job specifying the available processor number storage area value of 0. For all combinations in which processor groups that are not replaced are processed in units of processor groups, the load per usable processor of the processor group after the replacement, in which the value of the available processor number storage area is not 0, is entered by designating each processor group. The calculation is performed assuming that the number of jobs is substantially proportional to the number of processors stored in the number-of-processors storage area, and a processor group of the combination having the smallest load variation among all combinations is set as an alternative processor group. A specific example of this determination will be described later.

【0032】次に、ジョブ実行グループ変更手段22
は、システム内に存在するジョブの実行先となるプロセ
ッサグループを変更する手段であり、図5に示すような
処理を行う。プロセッサグループ最適化手段12から制
御を渡されると、ジョブ実行グループ変更手段22は、
使用可能プロセッサ台数格納領域群1から1つの使用可
能プロセッサ台数格納領域の値を入力してその値が0か
否かを調べ(ステップ501,502)、値が0の場
合、つまりそのプロセッサグループに1台も使用可能プ
ロセッサが存在しない場合には、システムに存在する、
そのプロセッサグループ指定のジョブを、そのプロセッ
サグループに対応する実行プロセッサグループ番号格納
領域に格納された番号のプロセッサグループに対応する
キューに移して、実行先を変更する(ステップ50
3)。他方、値が0でない場合、つまりそのプロセッサ
グループに少なくとも1台の使用可能プロセッサが存在
する場合には、そのプロセッサグループ指定のジョブで
あって代替先プロセッサグループに割り当てられている
全てのジョブを、その指定通りのプロセッサグループに
対応するキューに移して、実行先を本来のプロセッサグ
ループに変更する(504)。ジョブ実行グループ変更
手段22は以上の処理(501〜504)を全てのプロ
セッサグループについて繰り返す(ステップ505)。
Next, the job execution group changing means 22
Is a means for changing a processor group to which a job existing in the system is to be executed, and performs processing as shown in FIG. When the control is passed from the processor group optimizing unit 12, the job execution group changing unit 22
A value of one available processor number storage area is input from the available processor number storage area group 1 to check whether the value is 0 (steps 501 and 502). If the value is 0, that is, If no processor is available, it is present in the system,
The job specified by the processor group is moved to the queue corresponding to the processor group of the number stored in the execution processor group number storage area corresponding to the processor group, and the execution destination is changed (step 50).
3). On the other hand, if the value is not 0, that is, if there is at least one available processor in the processor group, all the jobs specified by the processor group and assigned to the alternative processor group are deleted. The queue is moved to the queue corresponding to the specified processor group, and the execution destination is changed to the original processor group (504). The job execution group changing unit 22 repeats the above processing (501 to 504) for all processor groups (Step 505).

【0033】なお、システムに存在するジョブが何れの
プロセッサグループ指定のジョブであるかは、キューQ
1〜Qmに格納するジョブ実行情報中にプロセッサグル
ープ指定を含めておくことで管理しても良く、またジョ
ブ毎にそのプロセッサグループ指定と実際の割り当て先
プロセッサグループとをテーブルに保持して管理するよ
うにしても良い。
It is to be noted that the queue in the queue Q
The management may be performed by including the processor group designation in the job execution information stored in 1 to Qm, and the processor group designation and the actual assignment destination processor group are stored and managed in a table for each job. You may do it.

【0034】ジョブ実行グループ選択手段31は、ユー
ザからのプロセッサグループ指定のジョブの投入時、そ
のジョブを投入するプロセッサグループを選択する手段
であり、図6に示すような処理を行う。先ず、ジョブ実
行グループ選択手段31は、使用可能プロセッサ台数格
納領域群1におけるユーザから指定されたプロセッサグ
ループに対応する使用可能プロセッサ台数格納領域の値
を参照して、その値が0でないか否かを調べる(ステッ
プ601)。値が0でない場合は少なくとも1台の使用
可能プロセッサが存在するため、ユーザから投入された
ジョブを、指定されたプロセッサグループに割り当てる
べく該当するキューに格納する(ステップ602)。他
方、値が0の場合には、指定されたプロセッサグループ
には使用可能なプロセッサが1台も存在しないため、実
行プロセッサグループ番号格納領域群3における指定さ
れたプロセッサグループに対応する実行プロセッサグル
ープ番号格納領域に格納された番号のプロセッサグルー
プに割り当てるべく、該当するキューに格納する(ステ
ップ603)。
The job execution group selection means 31 is a means for selecting a processor group to which a job is to be submitted when a user submits a job designated by a processor group, and performs processing as shown in FIG. First, the job execution group selecting unit 31 refers to the value of the available processor number storage area corresponding to the processor group specified by the user in the available processor number storage area group 1 and determines whether the value is not 0. Is checked (step 601). If the value is not 0, there is at least one available processor, and the job input by the user is stored in the corresponding queue to be assigned to the specified processor group (step 602). On the other hand, if the value is 0, there is no usable processor in the specified processor group, and therefore the execution processor group number corresponding to the specified processor group in the execution processor group number storage area group 3 The data is stored in the corresponding queue to be assigned to the processor group of the number stored in the storage area (step 603).

【0035】次に、以上のように構成された本実施例の
動作を説明する。なお、説明を判り易くするために、図
7に示すように、プロセッサグループがPG1〜PG4
の4つあり、プロセッサグループPG1,PG2,PG
3はP11とP12,P21とP22,P31とP32
のそれぞれ2台のプロセッサを含み、プロセッサグルー
プPG4は1台のプロセッサP41を含むものとする。
従って、使用可能プロセッサ台数格納領域群1,プロセ
ッサ台数格納領域群2および実行プロセッサグループ番
号格納領域群3には図3に示すように各々4つの領域が
存在するものとする。
Next, the operation of the present embodiment configured as described above will be described. In order to make the description easy to understand, as shown in FIG.
PG1, PG2, PG
3 is P11 and P12, P21 and P22, P31 and P32.
, And the processor group PG4 includes one processor P41.
Therefore, it is assumed that four areas exist in each of the available processor number storage area group 1, the processor number storage area group 2, and the execution processor group number storage area group 3 as shown in FIG.

【0036】システム初期化時、プロセッサグループ管
理テーブル初期化手段11は、全プロセッサグループP
G1〜PG4に含まれるプロセッサ台数をプロセッサ台
数格納領域2−1〜2−4に格納する。今の例では、図
7に付記するように領域2−1に「2」,領域2−2に
「2」,領域2−3に「2」,領域2−4に「1」が格
納される。次に、各プロセッサグループPG1〜PG4
に含まれるプロセッサのうちジョブの実行が可能なプロ
セッサの台数を使用可能プロセッサ台数格納領域1−1
〜1−4に格納する。今、プロセッサP11,P12,
P21,P22,P31,P32,P41の初期状態
が、図7に付記するように使用可能,使用不可能,使用
不可能,使用可能,使用可能,使用可能,使用不可能で
あったとすると、図7に付記するように領域1−1に
「1」,領域1−2に「1」,領域1−3に「2」,領
域1−4に「0」が格納される。このような処理の後、
プロセッサグループ管理テーブル初期化手段11は制御
をプロセッサグループ最適化手段12に渡す。
At the time of system initialization, the processor group management table initialization means 11 stores all processor groups P
The number of processors included in G1 to PG4 is stored in the processor number storage areas 2-1 to 2-4. In this example, as shown in FIG. 7, “2” is stored in the area 2-1, “2” is stored in the area 2-2, “2” is stored in the area 2-3, and “1” is stored in the area 2-4. You. Next, each processor group PG1 to PG4
The number of available processors that can execute a job among the processors included in the storage area 1-1 is a usable processor number storage area 1-1.
To 1-4. Now, the processors P11, P12,
Assuming that the initial states of P21, P22, P31, P32, and P41 are available, unavailable, unavailable, available, available, available, unavailable, as shown in FIG. As described in FIG. 7, “1” is stored in the area 1-1, “1” is stored in the area 1-2, “2” is stored in the area 1-3, and “0” is stored in the area 1-4. After such processing,
The processor group management table initialization means 11 transfers control to the processor group optimization means 12.

【0037】プロセッサグループ最適化手段12は、図
4のステップ401において、全てのプロセッサグルー
プの使用可能プロセッサ台数格納領域1−1〜1−4の
値が1以上か否かを調べる。今の例では、プロセッサグ
ループPG4の使用可能プロセッサグループ格納領域1
−4の値が0であるため、ステップ402に進み、以下
の処理を行う。
In step 401 of FIG. 4, the processor group optimizing means 12 checks whether the values of the available processor number storage areas 1-1 to 1-4 of all processor groups are 1 or more. In the present example, the available processor group storage area 1 of the processor group PG4
Since the value of −4 is 0, the process proceeds to step 402 and performs the following processing.

【0038】使用可能プロセッサ台数格納領域の値が0
であるプロセッサグループがプロセッサグループPG4
の1つであり、その代替先プロセッサグループの組み合
わせとしては下記の3つがある。 (1)プロセッサグループPG1でプロセッサグループ
PG4を代替する。 (2)プロセッサグループPG2でプロセッサグループ
PG4を代替する。 (3)プロセッサグループPG3でプロセッサグループ
PG4を代替する。
The value of the available processor number storage area is 0
Is the processor group PG4
And there are the following three combinations of alternative destination processor groups. (1) The processor group PG1 is substituted for the processor group PG4. (2) The processor group PG4 is substituted for the processor group PG4. (3) The processor group PG3 is substituted for the processor group PG4.

【0039】そこで、各プロセッサグループ指定の投入
ジョブ数がプロセッサ台数格納領域に格納されているプ
ロセッサ台数にほぼ比例することを前提に、上記の各組
み合わせ毎に、代替先プロセッサグループ中の使用可能
プロセッサ1台当たりの負荷を計算する。
Therefore, on the assumption that the number of submitted jobs specified by each processor group is substantially proportional to the number of processors stored in the number-of-processors storage area, the available processors in the alternative processor group are Calculate the load per unit.

【0040】(1)プロセッサグループPG1でプロセ
ッサグループPG4を代替した場合の代替後のプロセッ
サグループPG1,PG2,PG3の使用可能プロセッ
サ1台当たりの負荷を計算すると以下のようになる。 ○プロセッサグループPG1の負荷={(PG1のプロ
セッサ台数=2)+(PG4のプロセッサ台数=1)}
/(PG1の使用可能プロセッサ台数=1)=3 ○プロセッサグループPG2の負荷=(PG2のプロセ
ッサ台数=2)/(PG2の使用可能プロセッサ台数=
1)=2 ○プロセッサグループPG3の負荷=(PG3のプロセ
ッサ台数=2)/(PG2の使用可能プロセッサ台数=
2)=1
(1) When the processor group PG1 is substituted for the processor group PG4, the load per available processor of the processor groups PG1, PG2, PG3 after substitution is calculated as follows. ○ Load of processor group PG1 = {(number of processors of PG1 = 2) + (number of processors of PG4 = 1)}
/ (Number of available processors of PG1 = 1) = 3 ○ load of processor group PG2 = (number of processors of PG2 = 2) / (number of available processors of PG2 =
1) = 2 Load of processor group PG3 = (number of processors of PG3 = 2) / (number of available processors of PG2 =
2) = 1

【0041】(2)プロセッサグループPG2でプロセ
ッサグループPG4を代替した場合の代替後のプロセッ
サグループPG1,PG2,PG3の使用可能プロセッ
サ1台当たりの負荷を計算すると以下のようになる。 ○プロセッサグループPG1の負荷=(PG1のプロセ
ッサ台数=2)/(PG1の使用可能プロセッサ台数=
1)=2 ○プロセッサグループPG2の負荷={(PG2のプロ
セッサ台数=2)+(PG4のプロセッサ台数=1)}
/(PG2の使用可能プロセッサ台数=1)=3 ○プロセッサグループPG3の負荷=(PG3のプロセ
ッサ台数=2)/(PG2の使用可能プロセッサ台数=
2)=1
(2) When the processor group PG4 is replaced by the processor group PG2, the load per available processor of the replaced processor groups PG1, PG2, PG3 is calculated as follows. ○ Load of processor group PG1 = (number of processors of PG1 = 2) / (number of available processors of PG1 =
1) = 2 Load of processor group PG2 = {(number of processors of PG2 = 2) + (number of processors of PG4 = 1)}
/ (Number of available processors of PG2 = 1) = 3 ○ Load of processor group PG3 = (number of processors of PG3 = 2) / (number of available processors of PG2 =
2) = 1

【0042】(3)プロセッサグループPG3でプロセ
ッサグループPG4を代替した場合の代替後のプロセッ
サグループPG1,PG2,PG3の使用可能プロセッ
サ1台当たりの負荷を計算すると以下のようになる。 ○プロセッサグループPG1の負荷=(PG1のプロセ
ッサ台数=2)/(PG1の使用可能プロセッサ台数=
1)=2 ○プロセッサグループPG2の負荷=(PG2のプロセ
ッサ台数=2)/(PG2の使用可能プロセッサ台数=
1)=2 ○プロセッサグループPG3の負荷={(PG3のプロ
セッサ台数=2)+(PG4のプロセッサ台数=1)}
/(PG2の使用可能プロセッサ台数=2)=1.5
(3) When the processor group PG3 is substituted for the processor group PG4, the load per available processor of the processor groups PG1, PG2, PG3 after substitution is calculated as follows. ○ Load of processor group PG1 = (number of processors of PG1 = 2) / (number of available processors of PG1 =
1) = 2 Load of processor group PG2 = (number of processors of PG2 = 2) / (number of available processors of PG2 =
1) = 2 Load of processor group PG3 = {(number of processors of PG3 = 2) + (number of processors of PG4 = 1)}
/ (Number of usable processors of PG2 = 2) = 1.5

【0043】ここで、負荷の最大値が最小となる場合を
最も均等と定義すると、上記(3)のプロセッサグルー
プPG3で代替した場合が負荷の最大値が2で最も小さ
いため、プロセッサグループ最適化手段12はプロセッ
サグループPG3でプロセッサグループPG4を代替す
ると決定する。そして、この決定したプロセッサグルー
プPG3の番号を、プロセッサグループPG4に対応す
る実行プロセッサグループ番号格納領域3−4に格納す
る。その後、システム内のジョブ数を判定するが、シス
テム初期化時は0であるため、処理を終了する。
If the case where the maximum value of the load is minimum is defined as the most equal, the maximum value of the load is 2 and the minimum value is 2 when the processor group PG3 of the above (3) is substituted. Means 12 determines that processor group PG4 is substituted for processor group PG4. Then, the determined number of the processor group PG3 is stored in the execution processor group number storage area 3-4 corresponding to the processor group PG4. Thereafter, the number of jobs in the system is determined. However, since the number is zero at the time of system initialization, the process ends.

【0044】さて、この後にユーザからプロセッサグル
ープPG2を指定してジョブAが投入されたとする。ジ
ョブ実行グループ選択手段31は、図6のステップ60
1において、プロセッサグループPG2に対応する使用
可能プロセッサ台数格納領域1−2の値を参照し、その
値が1で、0でないので、指定されたプロセッサグルー
プPG2に割り当てるべく該当するキューQ2にジョブ
を格納する(ステップ602)。
Now, it is assumed that the user designates the processor group PG2 and submits the job A. The job execution group selecting means 31 determines in step 60 in FIG.
In step 1, the value of the available processor number storage area 1-2 corresponding to the processor group PG2 is referred to, and since the value is 1 and not 0, the job is assigned to the corresponding queue Q2 to be assigned to the specified processor group PG2. It is stored (step 602).

【0045】次に、この時点でプロセッサグループPG
2のプロセッサP22の状態が使用可能から使用不可能
に変更になったとすると、テーブル更新手段21は、図
3のステップ301においてプロセッサP22が使用可
能から使用不可能になったことを判別し、ステップ30
2において、プロセッサP22の属するプロセッサグル
ープPG2に対応する使用可能プロセッサ台数格納領域
1−2の値を1から0に変更する。そして、制御をプロ
セッサグループ最適化手段12に渡す。プロセッサグル
ープ最適化手段12は、図4のステップ401におい
て、全てのプロセッサグループの使用可能プロセッサグ
ループ格納領域1−1〜1−4の値が1以上か否かを調
べる。今の例では、プロセッサグループPG2,PG4
の使用可能プロセッサグループ格納領域1−2,1−4
の値が0であるため、ステップ402に進み、以下の処
理を行う。
Next, at this point, the processor group PG
If the status of the processor P22 of the second processor P22 is changed from available to unavailable, the table updating means 21 determines in step 301 in FIG. 3 that the processor P22 has been disabled from available. 30
In 2, the value of the available processor number storage area 1-2 corresponding to the processor group PG2 to which the processor P22 belongs is changed from 1 to 0. Then, the control is passed to the processor group optimizing unit 12. In step 401 of FIG. 4, the processor group optimizing unit 12 checks whether the values of the available processor group storage areas 1-1 to 1-4 of all the processor groups are 1 or more. In the present example, the processor groups PG2, PG4
Available processor group storage areas 1-2, 1-4
Is 0, the process proceeds to step 402, and the following processing is performed.

【0046】使用可能プロセッサ台数格納領域の値が0
であるプロセッサグループがプロセッサグループPG
2,PG4の2つであり、その代替先プロセッサグルー
プの組み合わせとしては下記の4つがある。 (1)プロセッサグループPG1でプロセッサグループ
PG2を、プロセッサグループPG3でプロセッサグル
ープPG4を、それぞれ代替する。 (2)プロセッサグループPG1でプロセッサグループ
PG4を、プロセッサグループPG3でプロセッサグル
ープPG1を、それぞれ代替する。 (3)プロセッサグループPG1でプロセッサグループ
PG2およびPG4を代替する。 (4)プロセッサグループPG3でプロセッサグループ
PG2およびPG4を代替する。
The value of the available processor number storage area is 0
Is the processor group PG
2 and PG4. There are the following four combinations of alternative destination processor groups. (1) The processor group PG1 replaces the processor group PG2, and the processor group PG3 replaces the processor group PG4. (2) The processor group PG1 replaces the processor group PG4, and the processor group PG3 replaces the processor group PG1. (3) The processor group PG1 is substituted for the processor groups PG2 and PG4. (4) The processor groups PG2 and PG4 are substituted for the processor group PG3.

【0047】そこで、各プロセッサグループ指定の投入
ジョブ数がプロセッサ台数格納領域に格納されているプ
ロセッサ台数にほぼ比例することを前提に、上記の各組
み合わせ毎に、代替先プロセッサグループ中の使用可能
プロセッサ1台当たりの負荷を計算する。
Therefore, on the assumption that the number of submitted jobs specified by each processor group is substantially proportional to the number of processors stored in the number-of-processors storage area, the available processors in the replacement destination processor group are Calculate the load per unit.

【0048】(1)プロセッサグループPG1でプロセ
ッサグループPG2を、プロセッサグループPG3でプ
ロセッサグループPG4を、それぞれ代替した場合の代
替後のプロセッサグループPG1,PG3の使用可能プ
ロセッサ1台当たりの負荷を計算すると以下のようにな
る。 ○プロセッサグループPG1の負荷={(PG1のプロ
セッサ台数=2)+(PG2のプロセッサ台数=2)}
/(PG1の使用可能プロセッサ台数=1)=4 ○プロセッサグループPG3の負荷={(PG3のプロ
セッサ台数=2)+(PG4のプロセッサ台数=1)}
/(PG3の使用可能プロセッサ台数=2)=1.5
(1) When the processor group PG2 is replaced by the processor group PG1 and the processor group PG4 is replaced by the processor group PG3, the load per one available processor of the replaced processor groups PG1 and PG3 is calculated as follows. become that way. ○ Load of processor group PG1 = {(number of processors of PG1 = 2) + (number of processors of PG2 = 2)}
/ (Number of available processors of PG1 = 1) = 4 ○ Load of processor group PG3 = {(number of processors of PG3 = 2) + (number of processors of PG4 = 1)}
/ (Number of usable processors of PG3 = 2) = 1.5

【0049】(2)プロセッサグループPG1でプロセ
ッサグループPG4を、プロセッサグループPG3でプ
ロセッサグループPG2を、それぞれ代替した場合の代
替後のプロセッサグループPG1,PG3の使用可能プ
ロセッサ1台当たりの負荷を計算すると以下のようにな
る。 ○プロセッサグループPG1の負荷={(PG1のプロ
セッサ台数=2)+(PG4のプロセッサ台数=1)}
/(PG1の使用可能プロセッサ台数=1)=3 ○プロセッサグループPG3の負荷={(PG3のプロ
セッサ台数=2)+(PG2のプロセッサ台数=2)}
/(PG3の使用可能プロセッサ台数=2)=2
(2) When the processor group PG1 is replaced with the processor group PG4 and the processor group PG3 is replaced with the processor group PG2, the load per one available processor of the replaced processor groups PG1 and PG3 is calculated as follows. become that way. ○ Load of processor group PG1 = {(number of processors of PG1 = 2) + (number of processors of PG4 = 1)}
/ (Number of available processors of PG1 = 1) = 3 ○ Load of processor group PG3 = {(number of processors of PG3 = 2) + (number of processors of PG2 = 2)}
/ (Number of usable processors of PG3 = 2) = 2

【0050】(3)プロセッサグループPG1でプロセ
ッサグループPG2,PG4を代替した場合の代替後の
プロセッサグループPG1,PG3の使用可能プロセッ
サ1台当たりの負荷を計算すると以下のようになる。 ○プロセッサグループPG1の負荷={(PG1のプロ
セッサ台数=2)+(PG2のプロセッサ台数=2)+
(PG4のプロセッサ台数=1)}/(PG1の使用可
能プロセッサ台数=1)=5 ○プロセッサグループPG3の負荷=(PG3のプロセ
ッサ台数=2)/(PG3の使用可能プロセッサ台数=
2)=1
(3) When the processor groups PG2 and PG4 are replaced by the processor group PG1, the load per available processor of the replaced processor groups PG1 and PG3 is calculated as follows. ○ Load of processor group PG1 = {(number of processors of PG1 = 2) + (number of processors of PG2 = 2) +
(Number of processors of PG4 = 1) 1 / (Number of available processors of PG1 = 1) = 5 ○ Load of processor group PG3 = (Number of processors of PG3 = 2) / (Number of available processors of PG3 =
2) = 1

【0051】(4)プロセッサグループPG3でプロセ
ッサグループPG2,PG4を代替した場合の代替後の
プロセッサグループPG1,PG3の使用可能プロセッ
サ1台当たりの負荷を計算すると以下のようになる。 ○プロセッサグループPG1の負荷=(PG1のプロセ
ッサ台数=2)/(PG3の使用可能プロセッサ台数=
1)=2 ○プロセッサグループPG3の負荷={(PG3のプロ
セッサ台数=2)+(PG2のプロセッサ台数=2)+
(PG4のプロセッサ台数=1)}/(PG3の使用可
能プロセッサ台数=2)=2.5
(4) When the processor group PG3 is replaced with the processor group PG2, PG4, the load per usable processor of the replaced processor group PG1, PG3 is calculated as follows. ○ Load of processor group PG1 = (number of processors of PG1 = 2) / (number of usable processors of PG3 =
1) = 2 Load of processor group PG3 = {(number of processors of PG3 = 2) + (number of processors of PG2 = 2) +
(Number of processors of PG4 = 1) / (Number of usable processors of PG3 = 2) = 2.5

【0052】ここで、負荷の最大値が最小となる場合を
最も均等と定義すると、上記(4)のプロセッサグルー
プPG3でプロセッサグループPG2,PG4を代替し
た場合が負荷の最大値が2.5で最も小さいため、プロセ
ッサグループ最適化手段12はプロセッサグループPG
3でプロセッサグループPG2,PG4を代替すると決
定する。そして、プロセッサグループPG2に対応する
実行プロセッサグループ番号格納領域3−2にプロセッ
サグループPG3の番号を、プロセッサグループPG4
に対応する実行プロセッサグループ番号格納領域3−4
にプロセッサグループPG3の番号を、それぞれ格納す
る。その後、システム内のジョブ数を判定し、0でない
ので、制御をジョブ実行グループ変更手段22に渡す。
Here, if the case where the maximum value of the load is the smallest is defined as the most equal, the maximum value of the load is 2.5 when the processor group PG2 and PG4 are replaced by the processor group PG3 of (4). Since it is the smallest, the processor group optimizing means 12 sets the processor group PG
3 is determined to replace the processor groups PG2 and PG4. The number of the processor group PG3 is stored in the execution processor group number storage area 3-2 corresponding to the processor group PG2.
Execution processor group number storage area 3-4 corresponding to
Of the processor group PG3. Thereafter, the number of jobs in the system is determined, and since it is not 0, the control is passed to the job execution group changing unit 22.

【0053】ジョブ実行グループ変更手段22は、図5
のステップ501,502において、プロセッサグルー
プPG2に対応する使用可能プロセッサ台数格納領域1
−2の値が0であることを認識し、ステップ503にお
いて、プロセッサグループPG2に対応する実行プロセ
ッサグループ番号格納領域3−2に格納されたプロセッ
サグループPG3の番号を入力し、プロセッサグループ
PG2に割り当てられているジョブAをプロセッサグル
ープPG3で実行すべく、プロセッサグループPG2に
対応するキューQ2のジョブAをプロセッサグループP
G3に対応するキューQ3に移す。これにより、使用不
能となったプロセッサグループPG2指定のジョブAが
プロセッサグループPG3で実行される。
The job execution group changing means 22 is provided in FIG.
In steps 501 and 502, the available processor number storage area 1 corresponding to the processor group PG2
Recognizing that the value of -2 is 0, in step 503, the number of the processor group PG3 stored in the execution processor group number storage area 3-2 corresponding to the processor group PG2 is input and assigned to the processor group PG2. In order to execute the executed job A in the processor group PG3, the job A in the queue Q2 corresponding to the processor group PG2 is
Move to queue Q3 corresponding to G3. As a result, the job A specified by the disabled processor group PG2 is executed in the processor group PG3.

【0054】なお、上記では具体的に例示しなかった
が、使用不能となっていたプロセッサグループPG2や
PG4の少なくとも1台のプロセッサが使用可能となっ
た場合、若し、それらプロセッサグループPG2,PG
4指定のジョブが代替先プロセッサのキューに残ってい
た場合、本来のプロセッサグループPG2,PG4で実
行されるように変更される。
Although not specifically illustrated above, if at least one processor of the unusable processor group PG2 or PG4 becomes available, the processor group PG2 or PG4
When the job designated by 4 remains in the queue of the alternative processor, the job is changed to be executed in the original processor groups PG2 and PG4.

【0055】以上の実施例におけるテーブル更新手段2
1は、図3に示したように、使用可能プロセッサ台数格
納領域1−1〜1−mの値を更新する毎にプロセッサグ
ループ最適化手段12に制御を渡したが、例えば図8に
示すようなステップ305,306を追加し、使用可能
プロセッサ台数格納領域1−1〜1−mの値を1減少し
た際に値が0になった場合に限ってプロセッサグループ
最適化手段12に制御を移し、また、使用可能プロセッ
サ台数格納領域1−1〜1−mの値を1増加した際に値
が1になった場合に限ってプロセッサグループ最適化手
段12に制御を渡すようにしても良い。この場合には、
代替先となっていたプロセッサグループ等における使用
可能プロセッサ数の増減時における代替先プロセッサグ
ループの見直しは行われない。但し、使用可能プロセッ
サ台数の増減によって、新たに全プロセッサが使用不可
能となったプロセッサグループが現れたり、その逆に全
プロセッサが使用不可能であったプロセッサグループの
1台が使用可能になった時点では、見直しは実施され
る。
Table updating means 2 in the above embodiment
1 transfers control to the processor group optimizing unit 12 every time the value of the available processor number storage area 1-1 to 1-m is updated as shown in FIG. 3, for example, as shown in FIG. Steps 305 and 306 are added, and the control is transferred to the processor group optimizing means 12 only when the value of the available processor number storage area 1-1 to 1-m becomes 0 when the value is decreased by 1. Alternatively, the control may be passed to the processor group optimizing means 12 only when the value of the available processor number storage areas 1-1 to 1-m becomes 1 when the value is increased by 1. In this case,
The replacement processor group is not reviewed when the number of available processors in the replacement processor group or the like increases or decreases. However, due to an increase or decrease in the number of available processors, a new processor group in which all processors become unusable appears, or conversely, one processor group in which all processors are unusable becomes available. At this point, the review will take place.

【0056】[0056]

【発明の効果】以上説明したように本発明によれば下記
のような効果を得ることができる。
As described above, according to the present invention, the following effects can be obtained.

【0057】複数のプロセッサを幾つかのプロセッサグ
ループに分けてプロセッサグループ指定でジョブを実行
する密結合マルチプロセッサシステムにおいて、プロセ
ッサ障害により1つ又は複数のプロセッサグループがジ
ョブの実行が不可能な状態になった場合、その時点で使
用可能なプロセッサの台数と本来のプロセッサグループ
構成に応じてジョブが分散されるため、特定のプロセッ
サグループに負荷が集中することなくスループットの高
いシステム運用が可能になる。
In a tightly-coupled multiprocessor system in which a plurality of processors are divided into several processor groups to execute a job by designating a processor group, one or more processor groups are in a state where the job cannot be executed due to a processor failure. In this case, jobs are distributed according to the number of processors available at that time and the original processor group configuration, so that a system operation with high throughput can be performed without concentrating a load on a specific processor group.

【0058】一般にユーザから投入されるジョブの各プ
ロセッサグループに対する負荷はシステム内の全てのプ
ロセッサが使用可能であることを念頭に与えられるとい
う事情を活用し、各プロセッサグループに属するプロセ
ッサ台数とその内のジョブ実行可能なプロセッサ台数と
いった簡単な情報だけで代替先プロセッサグループを決
定するため、構成が簡便になる。
In general, the load on each processor group of a job input by a user is taken into consideration in consideration of the fact that all processors in the system can be used, and the number of processors belonging to each processor group and the Since the alternative destination processor group is determined only by simple information such as the number of processors that can execute the job, the configuration is simplified.

【0059】代替先プロセッサグループの見直しが適宜
実施されるため、より適切な代替処理が可能となる。特
に、テーブル更新手段が使用可能プロセッサ台数格納領
域の更新毎にプロセッサグループ最適化手段に制御を渡
す構成では、代替先プロセッサグループ等におけるプロ
セッサ状態の変更(使用可能から使用不能へ或いはその
逆の変更)時にも代替先プロセッサグループが見直され
るため、より一層適切な代替処理が可能となる。
Since the replacement destination processor group is appropriately reviewed, more appropriate replacement processing can be performed. In particular, in a configuration in which the table updating means transfers control to the processor group optimizing means every time the available processor number storage area is updated, a change in the processor state in the alternative processor group or the like (change from available to unusable or vice versa) Since the alternative processor group is reviewed at the time of (1), more appropriate alternative processing can be performed.

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

【図1】本発明を適用した密結合マルチプロセッサシス
テムの一例を示すブロック図である。
FIG. 1 is a block diagram showing an example of a tightly coupled multiprocessor system to which the present invention is applied.

【図2】本発明の密結合マルチプロセッサシステムにお
ける代替処理方式の一実施例のブロック図である。
FIG. 2 is a block diagram of an embodiment of an alternative processing method in the tightly coupled multiprocessor system of the present invention.

【図3】テーブル更新手段の処理例を示すフローチャー
トである。
FIG. 3 is a flowchart illustrating a processing example of a table updating unit.

【図4】プロセッサグループ最適化手段の処理例を示す
フローチャートである。
FIG. 4 is a flowchart illustrating a processing example of a processor group optimizing unit;

【図5】ジョブ実行グループ変更手段の処理例を示すフ
ローチャートである。
FIG. 5 is a flowchart illustrating a processing example of a job execution group changing unit;

【図6】ジョブ実行グループ選択手段の処理例を示すフ
ローチャートである。
FIG. 6 is a flowchart illustrating a processing example of a job execution group selection unit;

【図7】プロセッサグループに含まれるプロセッサ台
数、および、使用可能プロセッサ台数格納領域群,プロ
セッサ台数格納領域群,実行プロセッサグループ番号格
納領域群に含まれる領域数の具体例を示す図である。
FIG. 7 is a diagram showing a specific example of the number of processors included in a processor group, and the number of areas included in an available processor number storage area group, a processor number storage area group, and an execution processor group number storage area group;

【図8】本発明の密結合マルチプロセッサシステムにお
ける代替処理方式の別の実施例におけるテーブル更新手
段の処理例を示すフローチャートである。
FIG. 8 is a flowchart illustrating a processing example of a table updating unit in another embodiment of the alternative processing method in the tightly-coupled multiprocessor system of the present invention.

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

1…使用可能プロセッサ台数格納領域群 1−1〜1−m…使用可能プロセッサ台数格納領域 2…プロセッサ台数格納領域群 2−1〜2−m…プロセッサ台数格納領域 3…実行プロセッサグループ番号格納領域群 3−1〜3−m…実行プロセッサグループ番号格納領域 11…プロセッサグループ管理テーブル初期化手段 12…プロセッサグループ最適化手段 21…テーブル更新手段 22…ジョブ実行グループ変更手段 31…ジョブ実行グループ選択手段 DESCRIPTION OF SYMBOLS 1 ... Available processor number storage area group 1-1-1-m ... Available processor number storage area 2 ... Processor number storage area group 2-1-2-m ... Processor number storage area 3: Execution processor group number storage area Group 3-1 to 3-m execution processor group number storage area 11 processor group management table initialization means 12 processor group optimization means 21 table update means 22 job execution group change means 31 job execution group selection means

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 主記憶装置を共有する複数のプロセッサ
を幾つかのプロセッサグループに分け、それぞれのプロ
セッサグループ指定でジョブを実行する密結合マルチプ
ロセッサシステムにおいて、 各プロセッサグループに1対1に対応して設けられ、そ
のプロセッサグループに属するプロセッサの台数を格納
するプロセッサ台数格納領域と、 各プロセッサグループに1対1に対応して設けられ、そ
のプロセッサグループに属するプロセッサのうち、ジョ
ブを実行することが可能なプロセッサの台数を格納する
使用可能プロセッサ台数格納領域と、 各プロセッサグループに1対1に対応して設けられ、そ
のプロセッサグループ指定のジョブを代替する他のプロ
セッサグループの番号を格納する実行プロセッサグルー
プ番号格納領域と、 システム初期化時に、各プロセッサグループに含まれる
プロセッサの台数およびその内の使用可能なプロセッサ
の台数を、各プロセッサグループ対応のプロセッサ台数
格納領域および使用可能プロセッサ台数格納領域に格納
し、下記のプロセッサグループ最適化手段に制御を渡す
プロセッサグループ管理テーブル初期化手段と、 システム稼働中に、ジョブを実行することが不可能とな
ったプロセッサが発生した場合にそのプロセッサが属す
るプロセッサグループに対応する使用可能プロセッサ台
数格納領域の値を1減少して下記のプロセッサグループ
最適化手段に制御を渡し、ジョブを実行することが可能
となったプロセッサが発生した場合にそのプロセッサが
属するプロセッサグループに対応する使用可能プロセッ
サ台数格納領域の値を1増加して下記のプロセッサグル
ープ最適化手段に制御を渡すテーブル更新手段と、 前記プロセッサグループ管理テーブル初期化手段または
前記テーブル更新手段から制御を渡される毎に、使用可
能プロセッサ台数格納領域の値が0である全てのプロセ
ッサグループについて、当該プロセッサグループ指定の
ジョブを代替させるプロセッサグループの番号を決定し
て代替元プロセッサグループに対応する実行プロセッサ
グループ番号格納領域に格納し、且つ、システムにジョ
ブが存在するときは下記のジョブ実行グループ変更手段
に制御を渡すプロセッサグループ最適化手段と、 全てのプロセッサグループについて、使用可能プロセッ
サ台数格納領域の値が0でないプロセッサグループの場
合は当該プロセッサグループ指定のジョブのうち他のプ
ロセッサグループに割り当てられているジョブを当該指
定のプロセッサグループに割り当て、使用可能プロセッ
サ台数格納領域の値が0のプロセッサグループの場合は
当該プロセッサグループ指定のジョブを当該プロセッサ
グループ対応の実行プロセッサグループ番号格納領域に
格納された番号に対応する他のプロセッサグループに割
り当てるジョブ実行グループ変更手段と、 プロセッサグループ指定のジョブの投入時、指定された
プロセッサグループ対応の使用可能プロセッサ台数格納
領域の値が0でない場合には指定されたプロセッサグル
ープにジョブを割り当て、指定されたプロセッサグルー
プ対応の使用可能プロセッサ台数格納領域の値が0の場
合には指定されたプロセッサグループ対応の実行プロセ
ッサグループ番号格納領域に格納された番号のプロセッ
サグループにジョブを割り当てるジョブ実行グループ選
択手段とを備え、且つ、 前記プロセッサグループ最適化手段は、使用可能プロセ
ッサ台数格納領域の値が0であるプロセッサグループを
指定するジョブを、使用可能プロセッサ台数格納領域の
値が0でないプロセッサグループにプロセッサグループ
単位で代替処理させる全ての組み合わせについて、代替
後の、使用可能プロセッサ台数格納領域の値が0でない
プロセッサグループの使用可能プロセッサ1台当たりの
負荷を、各プロセッサグループ指定の投入ジョブ数が前
記プロセッサ台数格納領域に格納されているプロセッサ
台数にほぼ比例することを想定して算出し、全ての組み
合わせの中で最も負荷のバラツキが少ない組み合わせに
かかるプロセッサグループを代替プロセッサグループと
して決定する構成を有することを特徴とする密結合マル
チプロセッサシステムにおける代替処理方式。
In a tightly coupled multiprocessor system in which a plurality of processors sharing a main storage device are divided into several processor groups and a job is executed by designating each processor group, each processor group has a one-to-one correspondence. A number-of-processors storage area for storing the number of processors belonging to the processor group, and a job execution area provided for each processor group in a one-to-one correspondence, among the processors belonging to the processor group. An available processor number storage area for storing the number of possible processors, and an execution processor provided in one-to-one correspondence with each processor group and storing the number of another processor group that substitutes for the job specified by the processor group Group number storage area and system At initialization, the number of processors included in each processor group and the number of available processors are stored in the processor number storage area and available processor number storage area corresponding to each processor group. Processor group management table initialization means for transferring control to the conversion means, and the number of available processors corresponding to the processor group to which the processor belongs when a processor that cannot execute a job occurs during system operation When the value of the storage area is decremented by 1, and control is passed to the following processor group optimizing means, and a processor capable of executing the job occurs, the number of available processors corresponding to the processor group to which the processor belongs Increase the value of the storage area by 1 A table updating unit that transfers control to the following processor group optimizing unit; and a unit for which the value of the available processor number storage area is 0 every time control is passed from the processor group management table initializing unit or the table updating unit. For the processor group of (1), the number of the processor group which substitutes the job specified by the processor group is determined and stored in the execution processor group number storage area corresponding to the substitution source processor group. A processor group optimizing means for transferring control to the job execution group changing means of the job execution group changing means; and a processor group for which the value of the available processor number storage area is not 0 for all the processor groups. In the case of a processor group in which the value of the available processor number storage area is 0, the job assigned to the subgroup is assigned to the specified processor group, and the job specified by the processor group is stored in the execution processor group number corresponding to the processor group. A job execution group changing unit to be assigned to another processor group corresponding to the number stored in the area, and when a job specified by the processor group is submitted, the value of the available processor number storage area corresponding to the specified processor group is not 0 Is assigned to the specified processor group, and if the value of the available processor number storage area corresponding to the specified processor group is 0, the job is stored in the execution processor group number storage area corresponding to the specified processor group. And a job execution group selecting unit for allocating a job to a processor group of a given number, and wherein the processor group optimizing unit can use a job specifying a processor group having a value of 0 in the number of available processors storage area. For all combinations in which a processor group having a non-zero value in the number-of-processors storage area is substituted for each processor group, the load per available processor of the processor group having a non-zero number of usable-processor-numbers storage area after the substitution is performed. Is calculated on the assumption that the number of input jobs specified by each processor group is substantially proportional to the number of processors stored in the processor number storage area, and the load is applied to the combination with the smallest load variation among all the combinations. Processor group Alternate processing method in tightly coupled multiprocessor system and having a configuration for determining a replacement processor group.
【請求項2】 請求項1記載のテーブル更新手段に代え
て、 システム稼働中に、ジョブを実行することが不可能にな
ったプロセッサが発生した場合にそのプロセッサが属す
るプロセッサグループに対応する使用可能プロセッサ台
数格納領域の値を1減少してその値が0になったら前記
プロセッサグループ最適化手段に制御を移し、ジョブを
実行することが可能になったプロセッサが発生した場合
にそのプロセッサが属するプロセッサグループに対応す
る使用可能プロセッサ台数格納領域の値を1増加してそ
の値が1になったら前記プロセッサグループ最適化手段
に制御を渡すテーブル更新手段を備えることを特徴とす
る密結合マルチプロセッサシステムにおける代替処理方
式。
2. A processor corresponding to a processor group to which a processor that cannot execute a job occurs during system operation, instead of the table updating unit according to claim 1. When the value of the processor number storage area is reduced by 1 and the value becomes 0, the control is transferred to the processor group optimizing means, and if a processor capable of executing a job occurs, the processor to which the processor belongs A tightly coupled multiprocessor system characterized by comprising a table updating means for increasing the value of the available processor number storage area corresponding to the group by 1 and transferring the control to the processor group optimizing means when the value becomes 1. Alternative processing method.
【請求項3】 前記プロセッサグループ最適化手段は、
使用可能プロセッサ台数格納領域の値が0であるプロセ
ッサグループを指定するジョブを使用可能プロセッサ台
数格納領域の値が0でないプロセッサグループに代替処
理させる全ての組み合わせについて、代替後の、使用可
能プロセッサ台数格納領域の値が0でないプロセッサグ
ループの、当該プロセッサグループに対応する使用可能
プロセッサ台数格納領域の値に対する、当該プロセッサ
グループに対応するプロセッサ台数格納領域の値と当該
プロセッサグループに代替させようとするプロセッサグ
ループに対応するプロセッサ台数格納領域の値との和の
比を算出し、全ての組み合わせの中で前記比の最大値が
最小となる組み合わせを最も負荷のバラツキが少ない組
み合わせとすることを特徴とする請求項1または2記載
の密結合マルチプロセッサシステムにおける代替処理方
式。
3. The processor group optimizing means includes:
For all combinations in which a job that specifies a processor group whose available processor number storage area value is 0 is replaced by a processor group whose available processor number storage area value is not 0, the available processor number storage after replacement is stored. For the processor group whose area value is not 0, the value of the available processor number storage area corresponding to the relevant processor group and the value of the available processor number storage area corresponding to the relevant processor group and the processor group to be substituted by the relevant processor group And calculating the ratio of the sum with the value of the number-of-processors storage area corresponding to the combination, and determining the combination having the minimum value of the ratio among all the combinations as the combination having the smallest load variation. Item 7. A tightly coupled multiplex according to item 1 or 2. Alternate processing method in processor system.
JP8119654A 1996-04-17 1996-04-17 Alternative processing method in tightly coupled multiprocessor system Expired - Fee Related JP2853654B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8119654A JP2853654B2 (en) 1996-04-17 1996-04-17 Alternative processing method in tightly coupled multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8119654A JP2853654B2 (en) 1996-04-17 1996-04-17 Alternative processing method in tightly coupled multiprocessor system

Publications (2)

Publication Number Publication Date
JPH09282294A JPH09282294A (en) 1997-10-31
JP2853654B2 true JP2853654B2 (en) 1999-02-03

Family

ID=14766788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8119654A Expired - Fee Related JP2853654B2 (en) 1996-04-17 1996-04-17 Alternative processing method in tightly coupled multiprocessor system

Country Status (1)

Country Link
JP (1) JP2853654B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941805B2 (en) * 2006-08-15 2011-05-10 International Business Machines Corporation Affinity dispatching load balancer with precise CPU consumption data
JP5056504B2 (en) * 2008-03-13 2012-10-24 富士通株式会社 Control apparatus, information processing system, control method for information processing system, and control program for information processing system
JP5757276B2 (en) * 2012-07-31 2015-07-29 日本電気株式会社 Non-stop arithmetic processing device, non-stop arithmetic processing system, non-stop arithmetic processing method, and non-stop arithmetic processing program
CN107851055B (en) 2015-07-30 2021-06-29 三菱电机株式会社 Program execution device, program execution system, and program execution method

Also Published As

Publication number Publication date
JPH09282294A (en) 1997-10-31

Similar Documents

Publication Publication Date Title
US20200409768A1 (en) Autoscaling using file access or cache usage for cluster machines
KR100419108B1 (en) Data processing system
US7281099B2 (en) Computer system and a method of replication
JP4387174B2 (en) Distributing processes associated with multiple priority groups across multiple resources
US5640584A (en) Virtual processor method and apparatus for enhancing parallelism and availability in computer systems
US6078945A (en) Operating system for use with computer networks incorporating two or more data processors linked together for parallel processing and incorporating improved dynamic load-sharing techniques
JP4185103B2 (en) System and method for scheduling executable programs
US7770173B2 (en) System for dynamic processor enablement
JPH04299440A (en) Shared register control system
US6219689B1 (en) Parallel transaction processing system
JP4091225B2 (en) Disc time sharing apparatus and method
JP3623697B2 (en) Disc time sharing apparatus and method
JP2853654B2 (en) Alternative processing method in tightly coupled multiprocessor system
US6687905B1 (en) Multiple port input/output job scheduling
CN102576294A (en) Storage system, method, and program, comprising a plurality of storage devices
JP3429582B2 (en) Multiprocessor system
JP3405244B2 (en) Data processing load distribution system
JPH04288638A (en) Computer system
JP2780662B2 (en) Multiprocessor system
JPH04364549A (en) File storing system and access system
JPH07234847A (en) Scheduling method for job
JP2535640B2 (en) Arrangement method of server space
JPH1078942A (en) Multiprocessor system
JP3084812B2 (en) Program list output efficiency method
JP3103129B2 (en) Load balancing method

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071120

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081120

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20081120

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091120

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20091120

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20101120

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees