Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3394437B2 - Processor Decision Method by Load Balancing Multiprocessor Method - Google Patents
[go: Go Back, main page]

JP3394437B2 - Processor Decision Method by Load Balancing Multiprocessor Method - Google Patents

Processor Decision Method by Load Balancing Multiprocessor Method

Info

Publication number
JP3394437B2
JP3394437B2 JP01430098A JP1430098A JP3394437B2 JP 3394437 B2 JP3394437 B2 JP 3394437B2 JP 01430098 A JP01430098 A JP 01430098A JP 1430098 A JP1430098 A JP 1430098A JP 3394437 B2 JP3394437 B2 JP 3394437B2
Authority
JP
Japan
Prior art keywords
processor
processing
processors
load
determination
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
JP01430098A
Other languages
Japanese (ja)
Other versions
JPH11212929A (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 Communication Systems Ltd
Original Assignee
NEC Communication Systems 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 NEC Communication Systems Ltd filed Critical NEC Communication Systems Ltd
Priority to JP01430098A priority Critical patent/JP3394437B2/en
Publication of JPH11212929A publication Critical patent/JPH11212929A/en
Application granted granted Critical
Publication of JP3394437B2 publication Critical patent/JP3394437B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • 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 method for activating a load-balanced multiprocessor, and more particularly to a processor determination method based on a load-balanced multiprocessor method when overloaded.

【0002】[0002]

【従来の技術】従来、この種の負荷分散マルチプロセッ
サ方式によるプロセッサ決定方式は、例えば、特開平4
−235662号公報に開示されている。この従来の方
式は負荷分散されたマルチプロセッサ方式のシステムに
於いては、処理を実行するプロセッサを何らかの方法で
決定する必要があり、更に各プロセッサには均等に処理
の要求が加えられることが求められる。しかし各プロセ
ッサに要求される処理の内容は同一の物ではなく各プロ
セッサにかかる負荷には差が生じてくる。この結果特定
のプロセッサの負荷が高くなることがある。負荷が高く
なったプロセッサに対して更に処理を実行させるプロセ
ッサの持つ処理能力を超えた負荷がかかり、プロセッサ
がデットロックする事がある。これを防止するためにあ
る一定以上の負荷がかかっているプロセッサには処理を
起動せず、他のプロセッサへ処理を移す制御を行ってい
る。
2. Description of the Related Art Conventionally, a processor determination method based on this type of load balancing multiprocessor method is disclosed in, for example, Japanese Patent Laid-Open No.
It is disclosed in Japanese Patent Publication No. 235662. In this conventional system, in a load-distributed multiprocessor system, it is necessary to determine the processor that executes the process by some method, and it is required that each processor be evenly requested to perform the process. To be However, the contents of processing required for each processor are not the same, and the load on each processor differs. As a result, the load on a particular processor may be high. There is a case where the processor is deadlocked due to a load that exceeds the processing capability of the processor that causes the processor with the higher load to execute further processing. In order to prevent this, the processing is not activated for the processor under a certain load, but the processing is controlled to be transferred to another processor.

【0003】[0003]

【発明が解決しようとする課題】上述のように、従来技
術の方式では、一定以上の負荷がかかったプロセッサを
検出すると該当プロセッサに対して一定時間処理を起動
しなくなるため、処理要求を受けなくなったプロセッサ
の処理能力は急激に回復していた。更に、各プロセッサ
に対してかかる負荷の検出は、常時行われてはおらず、
周期的な検出にとどまっていた。この両者の処理の結
果、一度負荷が上昇し起動がかからなくなったプロセッ
サは、高負荷状態から正常負荷状態へ移行し処理を実行
できるレベルになっても負荷の状態を見に行くまでの
間、実際には処理が可能であるにもかかわらず、処理の
要求を受けないと言う現象が発生するという問題点があ
る。
As described above, in the method of the prior art, when a processor having a load higher than a certain level is detected, the corresponding processor is not started for a certain period of time, so that the processing request is not received. The processing power of the processor was rapidly recovering. Furthermore, the load on each processor is not always detected,
It was limited to periodic detection. As a result of the processing of both of these, the processor whose load once rises and is not started up continues from the high load state to the normal load state until it can see the load state even if it reaches a level at which processing can be executed. However, there is a problem that a phenomenon occurs in which a request for processing is not received even though processing is actually possible.

【0004】また、システムにかかる処理量が進むと、
処理可能な能力の限界を越え起動を受けなくなるプロセ
ッサの数が増加し、処理要求を受け付ける事ができるプ
ロセッサの数が減少していく。この後更に負荷が上がる
と、少ない数のプロセッサに処理要求が集中し、一気に
処理不可能な状態に陥ってしまい処理を受け付けるプロ
セッサが無くなってしまう。更にこの現象は周期的な負
荷の検出によってのみ発見可能であるため、検出のタイ
ミングが遅れると、全プロセッサがデットロックとなる
可能性があるという問題点がある。
Further, as the processing load on the system increases,
The number of processors that exceed the limit of processable capacity and cannot be activated increases, and the number of processors that can accept a processing request decreases. If the load further increases after this, the processing requests concentrate on a small number of processors, and the processor suddenly falls into an unprocessable state, and no processor accepts the processing. Further, since this phenomenon can be detected only by periodically detecting the load, there is a problem that if the detection timing is delayed, all the processors may be deadlocked.

【0005】本発明の目的は、負荷分散されたプロセッ
サの有効利用を提供することにある。
An object of the present invention is to provide effective use of load-balanced processors.

【0006】更に、本発明の目的は、プロセッサに対し
て処理限界を超えた処理要求が加わることにより発生す
るプロセッサのデッドロックを防止することにある。
A further object of the present invention is to prevent a processor deadlock caused by a processing request exceeding the processing limit of the processor.

【0007】[0007]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、負荷分散された複数の第1のプロセッサ
と、負荷分散された前記第1のプロセッサの1つを選択
する第2のプロセッサとを有する負荷分散マルチプロセ
ッサ方式によるプロセッサ決定方式において、前記第2
のプロセッサは、一定間隔毎に前記第1のプロセッサの
CPU使用率と予め設定された輻輳判断数とを読み出し
比較する比較手段と、前記比較手段による前記CPU使
用率が前記輻輳判断数以上であれば前記第1のプロセッ
サのタスクの処理できる制限数を示す処理実行可能数を
段階的に減少させる減少手段と、前記比較手段による前
記CPU使用率が前記判断数未満であれば前記第1のプ
ロセッサのタスクの前記処理実行可能数を正常負荷状態
で最大の処理できる数になるまで段階的に復帰させる復
帰手段と、タスク処理の要求があった場合に、タスク処
理を行う前記第1のプロセッサの前記処理実行可能数の
残り回数が許容範囲であるかを判断する判断手段と、前
記判断手段により前記処理実行可能数の残り回数が許容
範囲内であると判断した場合に前記タスク処理を行うプ
ロセッサとして前記第1のプロセッサを決定する決定手
段とを有することを特徴としている。
In order to achieve the above object, the present invention provides a plurality of load-balanced first processors, and a second processor for selecting one of the load-balanced first processors. A processor determination method based on a load balancing multiprocessor method including
The processor of (1) reads out and compares the CPU usage rate of the first processor and a preset congestion determination number at regular intervals, and the CPU usage rate of the comparison means is equal to or greater than the congestion determination number. For example, if the CPU utilization rate by the comparing means is less than the determination number, the first processor reduces the number of process executions that can be processed by the task of the first processor in a stepwise manner. a return means for stepwise return until the said processing executable number of tasks on the number that can be maximum processing in normal load conditions, when requested task processing, the task processing
Of the process executable number of the first processor
A determining means for determining whether the remaining number is within an allowable range , and the remaining number of the process executable number is allowable by the determining means.
And determining means for determining the first processor as a processor for performing the task processing when it is determined to be within the range .

【0008】更に、前記判断手段により前記処理実行可
能数の残り回数が許容範囲内でないと判断した場合に正
常運転中の前記第1のプロセッサの数が予め決められた
数よりも下回った場合に、前記タスク処理の要求を廃棄
する廃棄手段とを有することを特徴としている。
Further, the processing can be executed by the judging means.
A discarding means for discarding the request for the task processing when the number of the first processors in normal operation falls below a predetermined number when it is determined that the remaining number of active numbers is not within the allowable range; It is characterized by having.

【0009】[0009]

【0010】更に、前記第2のプロセッサは、前記第1
のプロセッサ毎に前記輻輳判断数と、前記処理実行可能
数と、前記最大の処理できる数とを含む管理テーブルを
備えることを特徴としている。
Further, the second processor is the first processor.
It said congestion determining the number of each processor, and the processing executable <br/> number, is characterized in that it comprises a management table including a number that can be the maximum processing.

【0011】[0011]

【発明の実施の形態】図1は本発明の実施の形態におけ
るブロック構成図を示す。
1 is a block diagram of an embodiment of the present invention.

【0012】図1を参照すると、プログラム制御により
動作する決定プロセッサ10は、プログラム制御により
動作する複数の処理プロセッサ20,30,40とバス
80で接続されている。
Referring to FIG. 1, the decision processor 10 operating under program control is connected to a plurality of processing processors 20, 30, 40 operating under program control by a bus 80.

【0013】決定プロセッサ10は負荷分散された処理
プロセッサ20,30,40を選択および起動する為の
プロセッサである。処理プロセッサ20,30,40は
実際の処理を行うプロセッサで、前述の決定プロセッサ
10から起動命令を受け付ける。ここでの処理プロセッ
サ20,30,40は負荷分散されていることを示すた
めに複数記述してあるものであり、各プロセッサの処理
内容は全て同一である。
The decision processor 10 is a processor for selecting and activating the load-balanced processing processors 20, 30, 40. The processing processors 20, 30 and 40 are processors that perform actual processing, and receive a start instruction from the above-mentioned decision processor 10. A plurality of processing processors 20, 30, 40 are described here to show that the load is distributed, and the processing contents of all the processors are the same.

【0014】決定プロセッサ10は、処理を実行させる
プッサを決定する決定部101と、判定を行う際に判断
材料として使用する各処理プロセッサのCPU使用率を
収集する状態収部102と、状態収集部102で収集し
たプロセッサのCPU使用率が許容範囲を超えていた場
合の処理プロセッサ起動回数の増減を決定する処理規制
レベル表103とから構成される。それぞれの処理プロ
セッサ20,30,40は、決定プロセッサ10内の状
態収集部102が収集する処理プロセッサ20,30,
40のCPU使用率を判断する状態判断部202,30
2,402と、システムの本来の目的のための処理を行
う処理実行部201,301,401とから構成され
る。
The decision processor 10 includes a decision unit 101 that decides a pusher to execute a process, a state collection unit 102 that collects the CPU usage rate of each processing processor that is used as a decision material when making a decision, and a state collection unit. And a processing regulation level table 103 for determining increase / decrease in the number of processing processor activations when the CPU usage rate of the processor collected in step 102 exceeds an allowable range. The respective processing processors 20, 30, 40 are processing processors 20, 30, which are collected by the state collecting unit 102 in the decision processor 10.
State determination units 202 and 30 for determining the CPU usage rate of 40
2, 402, and processing execution units 201, 301, 401 that perform processing for the original purpose of the system.

【0015】処理規制レベル表103のフォーマット
は、各処理プロセッサ毎に輻輳状態(後述説明)のレベ
ルの変数を示す「n」と、輻輳状態から段階的に最大処
理できる状態に戻すための変数を示す「m」、処理プロ
セッサの処理できる最大の数を示す「処理実行最大数」
と、処理プロセッサが処理できる実行の数量を示す「処
理実行可能数」と、輻輳状態と判断するCPUの使用率
を示す「輻輳判断数」とを含んでいる。「n」はシステ
ム立ち上げ時には値「0」が設定される。「処理実行最
大数」、「処理実行可能数」、「輻輳判断数」、および
「m」はシステムの立ち上げ時に各プロセッサの能力に
応じて初期値が設定される。
The format of the processing regulation level table 103 has a variable "n" indicating a level variable of a congestion state (described later) for each processing processor and a variable for gradually returning from the congestion state to a state where maximum processing is possible. "M" indicates "maximum number of processing executions" indicating the maximum number that can be processed by the processing processor
And "the number of executable processes" indicating the number of executions that can be processed by the processing processor, and "the number of congestion determinations" indicating the usage rate of the CPU that is determined to be in the congestion state. "N" is set to a value "0" at system startup. The "maximum number of process executions", "number of process executions", "number of congestion judgments", and "m" are set to initial values according to the capability of each processor when the system is started up.

【0016】次に、図1のブロック構成図、および図2
のプロセッサ決定時のフローチャートを用いて実施の形
態の一例の動作の説明を行う。
Next, the block diagram of FIG. 1 and FIG.
The operation of an example of the embodiment will be described with reference to the flowchart for determining the processor.

【0017】図1において、処理プロセッサ20,3
0,40は負荷分散されたプロセッサで同一目的の処理
を行うために設置される。この場合、処理の要求が発生
した時点でどの処理プロセッサに処理を実行させるかを
決定する必要があるが、この判断を行うのがプロセッサ
決定部101である。プロセッサ決定部101は基本的
には各処理プロセッサを同じ割合で起動するが、特定の
処理プロセッサのCPU使用率が何らかの要因で上昇
(以下輻輳状態と言う)しこれ以上起動をかける事が出
来なくなった場合選択の対象から除外する必要がある。
この時、処理プロセッサのCPU使用率の監視は状態収
集部102が周期的に状態判定部202,302,40
2に問い合わせることで実現する。
In FIG. 1, processing processors 20, 3
The processors 0 and 40 are load-balanced processors and are installed to perform the same processing. In this case, it is necessary to determine which processing processor should execute the processing when the processing request is issued, and the processor determining unit 101 makes this determination. The processor determining unit 101 basically activates each processing processor at the same rate, but the CPU usage rate of a specific processing processor rises for some reason (hereinafter, referred to as a congestion state) and cannot be activated any more. It is necessary to exclude from the selection target.
At this time, the state collection unit 102 periodically monitors the CPU usage rate of the processing processor by the state determination units 202, 302, 40.
It is realized by inquiring to 2.

【0018】状態収集部102は全処理プロセッサの輻
輳状態を周期的に把握し、輻輳状態と判断されると、該
当プロセッサの前状態から規制のレベルを判断し処理規
制レベル表103に記憶させる。このときのCPU使用
率の収集は以下の通りである。
The state collection unit 102 periodically grasps the congestion state of all the processing processors, and when it is judged as the congestion state, it judges the regulation level from the previous state of the relevant processor and stores it in the processing regulation level table 103. The collection of the CPU usage rate at this time is as follows.

【0019】各処理プロセッサにおいて、CPUに対し
ての随時発生する処理要求は周期(例えば8ms)毎に
割込をかけ、ドライバ(制御プログラム)によって待ち
行列(処理を行うために待っているタスク)から取り出
す。個々での処理要求を全て処理終了するのに要した時
間の8msに占める割合が瞬間的なCPU使用率とな
る。状態判定部202,302,402は、この8ms
単位のCPU使用率を随時測定および加算している。こ
のとき、周期的(例えば20秒間隔)な状態収集部10
2からの要求によりそれまでの20秒間の平均を算出
(20秒間に占める割合)し収集した値をCPU使用率
として状態収集部102に転送する。
In each processing processor, a processing request generated from time to time to the CPU is interrupted every cycle (for example, 8 ms), and the driver (control program) waits in a queue (task waiting for processing). Take out from. The ratio of 8 ms of the time required to complete all the individual processing requests is the instantaneous CPU usage rate. The state determination units 202, 302, and 402 use the 8 ms
The CPU usage rate of the unit is measured and added as needed. At this time, the state collecting unit 10 is periodic (for example, every 20 seconds).
According to the request from 2, the average for 20 seconds until then is calculated (ratio to 20 seconds), and the collected value is transferred to the state collection unit 102 as the CPU usage rate.

【0020】決定プロセッサ10の状態収集部102が
動作する場合の処理フローを図2に示す。
FIG. 2 shows a processing flow when the state collection unit 102 of the decision processor 10 operates.

【0021】図2において、20ms毎に割込がかかる
と、状態収集部102は、最初の処理プロセッサを選択
する。更に、処理プロセッサの状態判定部からCPU使
用率を読み出すと共に、処理規制レベル表103の「輻
輳判断数」を読み出し、CPU使用率と「輻輳判断数」
との比較を行う(ステップS1,S2)。
In FIG. 2, when an interrupt is taken every 20 ms, the state collection unit 102 selects the first processing processor. Further, the CPU usage rate is read from the state determination unit of the processing processor, the “congestion determination number” in the processing regulation level table 103 is read, and the CPU usage rate and the “congestion determination number” are read.
Is compared (steps S1 and S2).

【0022】CPU使用率が「輻輳判断数」以上であれ
ば、輻輳状態と判断し「処理実行可能数」(yとする)
を処理規制レベル表103から読み出し、値が「0」で
あるかどうかチェックする。値が「0」でなければステ
ップS5のような計算を行う。なお、式y=z*(0.
6−0.1*n+0.2*m)は、タスクの処理できる
実行数を輻輳状態に応じて段階的に決めるための一例と
なる式であって、必ずしもこの式にする必要がない。式
中のzは処理規制レベル表103の「処理実行最大数」
を示す。例の処理では、「処理実行可能数」は最初「処
理実行最大数」の50%にし、それ以降は徐々に10%
ずつ下げるようにしている(ステップS4,S5)。
If the CPU usage rate is equal to or higher than the "congestion determination number", it is determined to be in a congestion state and "process executable number" (y).
Is read from the processing regulation level table 103, and it is checked whether the value is “0”. If the value is not "0", the calculation in step S5 is performed. Note that the expression y = z * (0.
6-0.1 * n + 0.2 * m) is an example of an expression for deciding the number of executions of a task that can be processed step by step according to the congestion state, and does not necessarily have to be this expression. Z in the formula is “maximum number of processing executions” in the processing regulation level table 103.
Indicates. In the processing of the example, the "process executable number" is first set to 50% of the "process execution maximum number", and then gradually increased to 10%.
It is set to be lowered by steps (steps S4 and S5).

【0023】CPU使用率が「輻輳判断数」未満であれ
ば、正常負荷状態と判断し処理規制レベル表103の
「m」を読み出し、値が「0」かどうかをチェックす
る。m=0であればステップS7のような処理を行う。
なお、式y=z*(0.6−0.1*n+0.2*m)
は、輻輳状態から最大処理できる状態に戻すためのにタ
スクの処理できる実行数を段階的に決めるための一例と
なる式であって、必ずしもこの式にする必要がない。例
の処理では、最大処理できる状態に戻すために、「処理
実行可能数」を「処理実行最大数」の20%ずつ上げる
ようにしている(ステップS6,S7)。なお、最大処
理できる状態とは、処理規制レベル表103の「処理実
行可能数」が「処理実行最大数」の値になったことをい
う、すなわち各処理プロセッサのタスクの処理が最大数
まで処理できる状態をいう。
If the CPU usage rate is less than the "congestion judgment number", it is judged to be a normal load state, "m" of the processing regulation level table 103 is read, and it is checked whether the value is "0". If m = 0, a process like step S7 is performed.
The formula y = z * (0.6-0.1 * n + 0.2 * m)
Is an example of an expression for stepwise determining the number of executions that can be processed by a task in order to return the congestion state to the maximum processing state, and it is not always necessary to use this expression. In the process of the example, in order to return to the maximum processable state, the "process executable number" is increased by 20% of the "process executable maximum number" (steps S6 and S7). Note that the maximum processable state means that the “process executable number” in the process restriction level table 103 has reached the value of the “process executable maximum number”, that is, the processing of the tasks of each processing processor is processed up to the maximum number. The state that can be done.

【0024】m=0でなければ、処理実行可能数と処理
実行最大数(完全に復帰したかどうかの確認)とを比較
し、一致したらステップS7に進む(ステップS8,S
9)。
If m = 0 is not satisfied, the maximum number of process executions and the maximum number of process executions (confirmation of complete restoration) are compared, and if they match, the process proceeds to step S7 (steps S8, S8).
9).

【0025】処理プロセッサの指定はローテーションし
ながら順番(処理プロセッサ20→30→40)に行っ
ていくが、次のプロセッサがまだ存在すればステップS
2に飛ぶ。なければ終了する(ステップS10)。
The designation of the processing processor is performed in rotation (processing processor 20 → 30 → 40) in order, but if the next processor still exists, step S
Fly to 2 If not, the process ends (step S10).

【0026】なお、20ms毎に1ローテーションの処
理を行う。
It should be noted that one rotation process is performed every 20 ms.

【0027】図4において、輻輳状態となった処理プロ
セッサ20に対する処理要求の規制レベルの管理方法例
を示す。縦軸は単位時間当たりに処理要求を規制するレ
ベルを示す。横軸に時間の経過を示す。このときの「処
理実行最大数」は100,「輻輳判断数」は50%にシ
ステム立ち上げ時に設定されている。
FIG. 4 shows an example of a method of managing the restriction level of processing requests to the processing processor 20 in the congestion state. The vertical axis represents the level that regulates the processing request per unit time. The horizontal axis shows the passage of time. At this time, the "maximum number of processing executions" is set to 100, and the "congestion determination number" is set to 50% at system startup.

【0028】状態収集部102は周期的に各処理プロセ
ッサの状態判定部202,302,402よりCPU使
用率を収集する。
The state collection unit 102 periodically collects the CPU usage rate from the state determination units 202, 302, 402 of each processor.

【0029】このとき処理プロセッサ20の状態判定部
202からCPU使用率を収集した状態収集部102は
基準値を超えたCPU使用率を検出した場合、該当プロ
セッサを輻輳状態と判断し処理実行可能数の規制を実施
する。処理実行可能数の規制は、それまでのCPU使用
率が正常であった場合、処理実行可能数を大幅に減少さ
せ(図2のステップS5によれば50%ダウン)、1度
輻輳状態となった処理プロセッサが次の収集周期におい
ても輻輳状態が復旧していない場合、処理実行可能数を
小幅(図2のステップS5によれば10%ずつダウン)
に減少させる。この小幅な処理実行可能数の減少処理
は、輻輳状態となった処理プロセッサが最大処理できる
状態になるまで続けられる(図2のステップS7によれ
ば、正常負荷状態であると20%ずつ回復させる)。こ
のようにして、プロセッサ決定部101は処理を実行さ
せるプロセッサを決定する際に処理規制レベル表103
を参照し処理実行可能状態かの判断を実行する。
At this time, when the state collection unit 102 which collects the CPU usage rate from the state determination unit 202 of the processing processor 20 detects the CPU usage rate that exceeds the reference value, it judges that the processor is in a congestion state and the number of process executable Enforce regulations. The restriction on the number of process executables is to reduce the number of process executables significantly (down by 50% according to step S5 in FIG. 2) when the CPU usage rate up to that time is normal, and once the congestion state occurs. If the processing processor has not recovered from the congestion state even in the next collection cycle, the number of processes that can be executed is narrowed (10% is reduced according to step S5 of FIG. 2).
Reduce to. This small reduction of the process executable number is continued until the processing processor in the congested state is in the maximum processable state (according to step S7 of FIG. 2, it is recovered by 20% in the normal load state). ). In this way, the processor determining unit 101 determines the processor to execute the process when the process restriction level table 103 is used.
Is executed to determine whether the process is executable.

【0030】次に、タスク処理の要求があった場合、プ
ロセッサ決定部101が処理プロセッサを決定する動作
例を図3に示す。
Next, FIG. 3 shows an operation example in which the processor determining unit 101 determines a processing processor when a task processing request is made.

【0031】図3において、処理プロセッサを順番に処
理実行候補プロセッサとして選択する(ステップA
1)。候補として選択した処理プロセッサが輻輳状態に
あるかを規制レベル表103から判断する(ステップA
3)。ここで選択した処理プロセッサが輻輳状態でなけ
ればこの処理プロセッサを処理実行対象プロセッサとし
て決定する。(ステップA3)。輻輳中であれば処理実
行可能数の残り回数を判断し(ステップ4)、処理要求
実施可能範囲内(処理プロセッサの許容範囲内)であれ
ば処理実行プロセッサとして選択する(ステップA
5)。更に、その場合規制レベルデータの処理実行可能
数を1減算する。処理実行可能数が0になっていた場
合、他の処理プロセッサを処理実行候補プロセッサとし
て選択し(ステップA6)、ステップA2へ戻り処理可
能かの判断を行う。
In FIG. 3, processing processors are sequentially selected as processing execution candidate processors (step A).
1). It is judged from the regulation level table 103 whether the processing processor selected as a candidate is in the congestion state (step A
3). If the processing processor selected here is not in the congestion state, this processing processor is determined as the processing execution target processor. (Step A3). If it is during congestion, the remaining number of process executables is determined (step 4), and if it is within the process request practicable range (within the process processor allowable range), it is selected as the process execution processor (step A).
5). Further, in that case, the process executable number of the regulation level data is subtracted by one. When the process executable number is 0, another process processor is selected as a process execution candidate processor (step A6), and the process returns to step A2 to determine whether the process is possible.

【0032】以上説明したように、各処理プロセッサの
処理実行可能数の制限をCPU使用率に基づいて決めて
いるため、処理プロセッサの処理能力を無駄にすること
なく運用できる。
As described above, since the limit of the number of process executables of each processor is determined based on the CPU usage rate, it is possible to operate without wasting the processing capacity of the processor.

【0033】上述した実施の形態の一例に於いては、複
数のプロセッサが輻輳状態となり処理対象から除外され
てしまった場合、残った少数のプロセッサへ急激に処理
が集中してしまい、集中したプロセッサが前述した発明
の効果を得る時間の余裕をなくし要求された処理量が処
理能力を一気にオーバしてしまうため、最悪処理プロセ
ッサがデットロックの状態になる可能性がある。このた
め、輻輳中プロセッサ及び、正常運転中プロセッサの数
を管理し、正常運転中のプロセッサの数が一定数を下回
った場合、要求のあった処理の実行を行わないようにす
る。このとき処理規制制御レベル表103に「処理可能
プロセッサ数」を設定すればよい。この「処理可能プロ
セッサ数」はシステム立ち上げ時に初期設定され、処理
不可能(「処理実行可能数」=0)になったプロセッサ
が生じた場合は「1」減らすようにする。この場合の決
定プロセッサ10が処理プロセッサを決定する場合の動
作例を図5に示す。
In the above-described example of the embodiment, when a plurality of processors are congested and are excluded from the processing targets, the processing is rapidly concentrated on the remaining few processors, and the concentrated processors are concentrated. However, there is a possibility that the worst processing processor may be in a deadlock state because the required processing amount exceeds the processing capacity at once by eliminating the time margin for obtaining the effects of the invention described above. Therefore, the number of processors in congestion and the number of processors in normal operation are managed, and when the number of processors in normal operation falls below a certain number, the requested processing is not executed. At this time, the “number of processors that can be processed” may be set in the processing regulation control level table 103. This "processable processor number" is initialized when the system is started up, and is decreased by "1" when there is a processor that cannot be processed ("process executable number" = 0). FIG. 5 shows an operation example when the decision processor 10 in this case decides the processing processor.

【0034】図5において、ステップA1〜A7につい
ては図3での説明と同じなので説明を省略する。図5の
ステップ5において、受付許容数が範囲外であれば「処
理可能プロセッサ数」の値をチェックし、値が「0」で
あれば処理要求を破棄する(ステップA11,A1
2)。「処理可能プロセッサ数」の値が「0」より大き
い場合は、次の処理プロセッサを処理候補プロセッサと
する(ステップA6)。
In FIG. 5, steps A1 to A7 are the same as those described in FIG. In step 5 of FIG. 5, if the allowable number of receptions is out of the range, the value of “the number of processable processors” is checked, and if the value is “0”, the processing request is discarded (steps A11, A1).
2). When the value of “the number of processable processors” is larger than “0”, the next processing processor is set as the processing candidate processor (step A6).

【0035】上記説明したように、負荷状態に応じて処
理可能プロセッサの数に制限を加えることで、急激な負
荷にも耐えることができ、システムの安定運用ができ
る。
As described above, by limiting the number of processors that can be processed according to the load condition, it is possible to withstand a sudden load and to operate the system stably.

【0036】[0036]

【発明の効果】以上説明したように、負荷状態に応じて
プロセッサの処理の実行できる数の制限を行っているた
め、負荷分散されたプロセッサの内いずれかが輻輳状態
となっても、該当するプロセッサの処理能力を無駄にす
ることなく運用することが出来るという効果がある。
As described above, since the number of processes that can be executed by the processor is limited according to the load state, even if one of the load-balanced processors is in the congestion state, it is applicable. There is an effect that it can be operated without wasting the processing capacity of the processor.

【0037】更に、負荷状態に応じて処理可能プロセッ
サの数に制限を加えるようにしているため、プロセッサ
が負荷分散されたシステムに対して、急激な負荷の上昇
があった場合でも、システムの安定状態を保つことが出
来るという効果がある。
Further, since the number of processors that can be processed is limited according to the load state, even if a sudden load increase occurs in a system in which the load is distributed among the processors, the system can be stabilized. There is an effect that the state can be maintained.

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

【図1】本発明の実施の形態の一例に於ける、プロセッ
サが負荷分散されたシステムのブロック構成を示す図で
ある。
FIG. 1 is a diagram showing a block configuration of a system in which processors are load-balanced according to an example of an embodiment of the present invention.

【図2】図1の各処理プロセッサの状態収集部に於け
る、タスクの処理のできる制限数の設定に関するフロー
チャートである。
FIG. 2 is a flowchart relating to setting of a limit number of tasks that can be processed in the status collecting unit of each processor of FIG.

【図3】図1の決定プロセッサ10の状態収集部に於け
る、タスクの処理のできるプロセッサの決定に関するフ
ローチャートである。
FIG. 3 is a flowchart regarding determination of a processor that can process a task in a state collection unit of the decision processor 10 of FIG.

【図4】本発明の実施の形態の一例に於ける、ある特定
の処理プロセッサに対する処理要求の段階的規制状況を
表す図である。
FIG. 4 is a diagram showing a stepwise restriction situation of processing requests to a specific processing processor in an example of an embodiment of the present invention.

【図5】本発明の実施の形態の一例における、負荷分散
されたプロセッサの選択決定に関するフローチャートで
ある。
FIG. 5 is a flowchart relating to determination of load-balanced processor selection in an example of an embodiment of the present invention.

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

10 決定プロセッサ 20,30,40 処理プロセッサ 101 プロセッサ決定部 102 状態収集部 103 規制レベル表 201,301,401 処理実行部 202,302,402 状態判定部 10 decision processor 20, 30, 40 Processor 101 processor determination unit 102 status collection unit 103 Regulation level table 201, 301, 401 Process execution unit 202, 302, 402 status determination unit

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 - 15/177 G06F 9/46 - 9/54 ─────────────────────────────────────────────────── ─── Continuation of front page (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 15/16-15/177 G06F 9/46-9/54

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 負荷分散された複数の第1のプロセッサ
と、負荷分散された前記第1のプロセッサの1つを選択
する第2のプロセッサとを有する負荷分散マルチプロセ
ッサ方式によるプロセッサ決定方式において、前記第2
のプロセッサは、一定間隔毎に前記第1のプロセッサの
CPU使用率と予め設定された輻輳判断数とを読み出し
比較する比較手段と、前記比較手段による前記CPU使
用率が前記輻輳判断数以上であれば前記第1のプロセッ
サのタスクの処理できる制限数を示す処理実行可能数を
段階的に減少させる減少手段と、前記比較手段による前
記CPU使用率が前記判断数未満であれば前記第1のプ
ロセッサのタスクの前記処理実行可能数を正常負荷状態
で最大の処理できる数になるまで段階的に復帰させる復
帰手段と、タスク処理の要求があった場合に、タスク処
理を行う前記第1のプロセッサの前記処理実行可能数の
残り回数が許容範囲であるかを判断する判断手段と、前
記判断手段により前記処理実行可能数の残り回数が許容
範囲内であると判断した場合に前記タスク処理を行うプ
ロセッサとして前記第1のプロセッサを決定する決定手
段とを有することを特徴とする負荷分散マルチプロセッ
サ方式によるプロセッサ決定方式。
1. A processor determination method according to a load balancing multiprocessor method, comprising: a plurality of load-balanced first processors; and a second processor that selects one of the load-balanced first processors, The second
The processor of (1) reads out and compares the CPU usage rate of the first processor and a preset congestion determination number at regular intervals, and the CPU usage rate of the comparison means is equal to or greater than the congestion determination number. For example, if the CPU utilization rate by the comparing means is less than the determination number, the first processor reduces the number of process executions that can be processed by the task of the first processor in a stepwise manner. Means for gradually returning the process executable number of the tasks until reaching the maximum processable number under the normal load condition, and the first processor for performing the task processing when the task processing is requested. A determining unit that determines whether the remaining number of process executable numbers is within an allowable range; and the determining unit determines that the remaining number of process executable numbers is within an allowable range. Processor decision method according to the load distribution multiprocessor system, characterized in that the processor for performing the task processing when having determining means for determining said first processor.
【請求項2】 前記判断手段により前記処理実行可能数
の残り回数が許容範囲内でないと判断した場合に正常運
転中の前記第1のプロセッサの数が予め決められた数よ
りも下回った場合に、前記タスク処理の要求を廃棄する
廃棄手段とを有することを特徴とする請求項1記載の負
荷分散マルチプロセッサ方式によるプロセッサ決定方
式。
2. When the number of the first processors in normal operation falls below a predetermined number when the judgment means judges that the remaining number of the process executable numbers is not within an allowable range. 2. The processor determination method according to claim 1, further comprising: a discarding unit that discards the task processing request.
【請求項3】 前記第2のプロセッサは、前記第1のプ
ロセッサ毎に前記輻輳判断数と、前記処理実行可能数
と、前記最大の処理できる数とを含む管理テーブルを備
えることを特徴とする請求項記載の負荷分散マルチプ
ロセッサ方式によるプロセッサ決定方式。
3. The second processor comprises a management table including the congestion determination number, the process executable number, and the maximum processable number for each of the first processors. The processor determination method according to the load balancing multiprocessor method according to claim 1 .
JP01430098A 1998-01-27 1998-01-27 Processor Decision Method by Load Balancing Multiprocessor Method Expired - Fee Related JP3394437B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01430098A JP3394437B2 (en) 1998-01-27 1998-01-27 Processor Decision Method by Load Balancing Multiprocessor Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01430098A JP3394437B2 (en) 1998-01-27 1998-01-27 Processor Decision Method by Load Balancing Multiprocessor Method

Publications (2)

Publication Number Publication Date
JPH11212929A JPH11212929A (en) 1999-08-06
JP3394437B2 true JP3394437B2 (en) 2003-04-07

Family

ID=11857257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01430098A Expired - Fee Related JP3394437B2 (en) 1998-01-27 1998-01-27 Processor Decision Method by Load Balancing Multiprocessor Method

Country Status (1)

Country Link
JP (1) JP3394437B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487504B2 (en) 2002-02-06 2009-02-03 International Business Machines Corporation Thread dispatch for multiprocessor computer systems
JP2007249445A (en) * 2006-03-15 2007-09-27 Hitachi Ltd Method and apparatus for controlling load distribution in cluster system
JP5428416B2 (en) * 2009-03-13 2014-02-26 日本電気株式会社 Multitask processing apparatus and method, and program

Also Published As

Publication number Publication date
JPH11212929A (en) 1999-08-06

Similar Documents

Publication Publication Date Title
US5903757A (en) Monitoring and handling of exception conditions in computer system
US7917905B2 (en) Process control system and control method therefor
US7565652B2 (en) Method of setting priority level in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program thereof
JP3008896B2 (en) Interrupt Load Balancing System for Shared Bus Multiprocessor System
JP2940450B2 (en) Job scheduling method and apparatus for cluster type computer
US7882230B2 (en) Method and system for dynamically allocating servers to compute-resources using capacity thresholds
EP1196848B1 (en) Method and system for regulating background tasks using performance measurements
US6477561B1 (en) Thread optimization
USRE44686E1 (en) Dynamically modifying the resources of a virtual server
US20060206887A1 (en) Adaptive partitioning for operating system
EP2089799A1 (en) Load balanced profiling
AU2002230272A1 (en) Method of setting priority levels in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program therefor
CN113391910A (en) Task processing method and device, computer equipment and storage medium
CN120469786B (en) Big Data Task Scheduling Methods and Systems
JP3394437B2 (en) Processor Decision Method by Load Balancing Multiprocessor Method
US7275122B2 (en) Method and system for maintaining a desired service level for a processor receiving excessive interrupts
CN116821910B (en) Safety protection system
US7444450B2 (en) Method and system for detecting excessive interrupt processing for a processor
JP3722422B2 (en) Dynamic scaling back of latch requests for computer system resources
CN120353591A (en) Elastic thread pool management method and device based on load prediction and electronic equipment
Jiang et al. TPF: a dynamic system thrashing protection facility
JP3859564B2 (en) Event notification task control processing method and method, and program
JPH06266669A (en) Automatic control method for transaction quantity
JP2004164253A (en) Queue controller and registration suppression method used therefor
CN115955407B (en) Instance management method, device, equipment and storage medium

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030107

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

Free format text: PAYMENT UNTIL: 20080131

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090131

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100131

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110131

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110131

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120131

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130131

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees