JPH09274608A - Inter-processor load distribution control method for multiprocessor system - Google Patents

Inter-processor load distribution control method for multiprocessor system

Info

Publication number
JPH09274608A
JPH09274608A JP8227996A JP8227996A JPH09274608A JP H09274608 A JPH09274608 A JP H09274608A JP 8227996 A JP8227996 A JP 8227996A JP 8227996 A JP8227996 A JP 8227996A JP H09274608 A JPH09274608 A JP H09274608A
Authority
JP
Japan
Prior art keywords
processor
usage rate
load
migration
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8227996A
Other languages
Japanese (ja)
Inventor
Toshiaki Sunago
俊明 砂子
Kazuya Higuchi
和也 樋口
Hiroyuki Sakuraba
博之 櫻庭
Tamotsu Sato
保 佐藤
Kenichi Takahashi
憲一 高橋
Toshiro Hashiya
敏郎 橋谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP8227996A priority Critical patent/JPH09274608A/en
Publication of JPH09274608A publication Critical patent/JPH09274608A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a load distribution control method with which the throughput reduction of a system is avoided by distributing a local CPU load among plural processors in optimum manner. SOLUTION: A processor managing means 11 resident at each calculation processor 2 reports the entire CPU use rate of the present calculation processor 2 and the CPU use rate of each process to a system managing means 5 operated by a system managing processor 1. The system managing means 5, where the report is received, manages load information inside the respective calculation processors 2 through a CPU use rate managing table 10 and when such a load state exceeds the range of upper limit value, lower limit value and overload value defined by system parameters, while using a processor load managing function 7 and a processor selecting function 8, the process is dynamically moved to any processor where the CPU load is made optimum.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、複数のプロセッサ
を通信回線を介して結合したマルチプロセッサシステム
におけるプロセッサ間の負荷配分制御方法に関し、特
に、過負荷のプロセッサが管理するプロセスを他のプロ
セッサに移動することによりプロセッサ負荷を最適に配
分するようにしたマルチプロセッサシステムにおけるプ
ロセッサ間の負荷配分制御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a load distribution control method among processors in a multiprocessor system in which a plurality of processors are coupled via a communication line, and particularly to a process managed by an overloaded processor to another processor. The present invention relates to a load distribution control method among processors in a multiprocessor system in which a processor load is optimally distributed by moving.

【0002】[0002]

【従来の技術】大量のデータを高速に処理するために複
数(例えば、数十個ないし数万個)のプロセッサを相互
に接続したマルチプロセッサシステムが知られている。
しかしながら、このようなマルチプロセッサシステムに
おいては、並列に接続された多数のプロセッサに効率良
くプロセスを割当てて動作させないと、プロセッサ間で
負荷に偏りが発生してマルチプロセッサシステムを効率
的に使用できない。従来のマルチプロセッサシステムで
は、プログラムの実行者がプロセスを起動するためのプ
ロセッサを明示的に指定したり、複数プロセッサを幾つ
かのグループに分け、プログラムの実行者がプロセスを
実行するためのプロセッサグループを指定することなど
によって実現していた。
2. Description of the Related Art A multiprocessor system in which a plurality of (for example, tens to tens of thousands) processors are connected to each other in order to process a large amount of data at high speed is known.
However, in such a multiprocessor system, unless processes are efficiently allocated to a large number of processors connected in parallel to operate, the load is biased among the processors and the multiprocessor system cannot be used efficiently. In a conventional multiprocessor system, a program executer explicitly designates a processor for starting a process, or a plurality of processors are divided into groups, and a program executer executes a process in a processor group. It was realized by specifying.

【0003】また、プロセッサ負荷の配分に係る従来の
スケジューリング技術として、特開平4−342057
号公報および特開平1−214961号公報に記載され
たものがある。前者には、過負荷の発生したプロセッサ
の負荷を、他の負荷の軽いプロセッサに肩代わりさせ、
各プロセッサごとの負荷を均等化させるようにしたもの
が記載され、後者には、仕事量および通信量を静的に見
積もり、この見積もった仕事量が通信量および処理依頼
するための処理量の和より大きい場合に、空きのプロセ
ッサに動的に割り当てるようにして最適な負荷分散を行
うようにしたものが記載されている。これらはいずれも
メインメモリを共用する密結合マルチプロセッサシステ
ム内におけるプロセススケジュールに関する技術であ
る。
Further, as a conventional scheduling technique relating to the distribution of processor load, Japanese Patent Laid-Open No. 342057/1992.
Japanese Patent Laid-Open Publication No. 1-214961. In the former, the load of the overloaded processor is taken over by another lightly loaded processor,
The thing to equalize the load of each processor is described. In the latter, the workload and the communication volume are statically estimated, and this estimated workload is the sum of the communication volume and the processing volume for requesting processing. When the size is larger than that, it is described that the load is optimally distributed by dynamically allocating it to a free processor. All of these are techniques related to process scheduling in a tightly coupled multiprocessor system that shares main memory.

【0004】[0004]

【発明が解決しようとする課題】上記の従来技術では、
予めプロセスをスケジュールするプロセッサおよびプロ
セッサグループを明示的に指定する必要があり、プロセ
スをスケジュールするプロセッサおよびプロセッサグル
ープの指定が偏ると、プロセッサ単位での局所的なスル
ープットの低下を引き起こす。プロセッサ単位で局所的
なスループットの低下を引き起こした場合、並列実行し
ている他プロセッサのプロセスとの間での同期遅延が発
生し、並列コンピュータシステム全体のスループットが
低下してしまうという問題点があった。
In the above prior art,
It is necessary to explicitly specify a processor and a processor group for scheduling the process in advance, and if the specification of the processor and the processor group for scheduling the process is biased, the local throughput is lowered in the processor unit. If a local decrease in throughput occurs on a processor-by-processor basis, a synchronization delay occurs with the processes of other processors executing in parallel, and the overall throughput of the parallel computer system decreases. It was

【0005】また、上記特開平4−342057号公報
に記載されたものは、過負荷の発生したプロセッサの負
荷を他の負荷の軽いプロセッサに肩代わりさせることに
より、各プロセッサごとの負荷を均等化させているが、
プロセッサごとの負荷を均等化した場合には、新たにメ
モリ使用量の大きな負荷が発生した際にその負荷を実行
できるプロセッサがなくなってしまうという問題があ
る。また、上記特開平1−214961号公報に記載さ
れたものは、メインメモリを共用する密結合マルチプロ
セッサシステム内における命令単位のスケジューリング
に関し、特に、命令キャッシュ上の命令語を如何に効率
よくスケジューリングするか、命令キャッシュに読み込
む命令群をどのようにコントロールするかなどに関する
ものであり、実行中のプロセスをスケジューリングして
プロセッサ間の負荷の配分を最適化することについては
全く考慮されていない。本発明の目的は、上記問題点を
解消し、システム運転中に刻々と変化する各プロセッサ
のCPU負荷をシステム内で一元的に管理し、システム
を構成するプロセッサ負荷の配分の最適化を図るととも
に、新たにメモリ使用量の大きな負荷が発生した際にも
その負荷を実行できるプロセッサを確保することが可能
なマルチプロセッサシステムにおけるプロセッサ間の負
荷配分制御方法を提供することにある。
Further, in the one disclosed in Japanese Patent Laid-Open No. 342057/1992, the load of each processor is equalized by substituting the load of a processor having an overload with another processor having a light load. However,
When the loads on the processors are equalized, there is a problem that when a new load with a large memory usage occurs, no processor can execute the load. Further, the above-mentioned Japanese Patent Laid-Open No. 1-214961 relates to scheduling in units of instructions in a tightly coupled multiprocessor system sharing a main memory, and particularly, how to efficiently schedule instruction words on an instruction cache. It also relates to how to control a group of instructions to be read into the instruction cache, and does not consider scheduling the running process to optimize the load distribution among the processors. An object of the present invention is to solve the above problems, to centrally manage the CPU load of each processor that changes momentarily during system operation within the system, and to optimize the distribution of the processor loads that make up the system. An object of the present invention is to provide a load distribution control method between processors in a multiprocessor system capable of securing a processor capable of executing a new load of a large memory usage.

【0006】[0006]

【課題を解決するための手段】本発明は、上記目的を達
成するために、一つのシステム管理プロセッサ(1)と
複数の計算プロセッサ(2)が通信手段(ネットワーク
4)を介して接続されたマルチプロセッサシステムにお
けるプロセッサ間の負荷配分制御方法であって、各計算
プロセッサ(2)におけるCPU負荷をシステム管理プ
ロセッサ(1)で一元的に管理するとともに、計算プロ
セッサ(2)におけるCPU使用率の上限値および下限
値を予め設定しておき、CPU使用率が上限値を超えた
状態または下限値未満の状態が一定期間継続した計算プ
ロセッサを移動元プロセッサとし、前記システム管理プ
ロセッサ(1)で管理している各計算プロセッサ(2)
におけるCPU負荷(図4のCPU使用率管理テーブル
10)を参照して、前記移動元プロセッサが管理するプ
ロセス(15)のうちの一つを移動プロセスとして選択
するとともに、該移動プロセスを受け入れた場合のCP
U使用率が前記CPU使用率の上限値以下でかつ該上限
値にできるだけ近いという条件を満たす計算プロセッサ
を移動先プロセッサとして選択し、前記選択された移動
プロセスを前記移動元プロセッサから移動先プロセッサ
に移動するようにしたことを特徴としている。
According to the present invention, in order to achieve the above object, one system management processor (1) and a plurality of calculation processors (2) are connected via a communication means (network 4). A method for controlling load distribution between processors in a multiprocessor system, wherein the system management processor (1) centrally manages the CPU load of each calculation processor (2) and the upper limit of the CPU usage rate of the calculation processor (2). A value and a lower limit value are set in advance, and a calculation processor in which the CPU usage rate exceeds the upper limit value or is less than the lower limit value continues for a certain period is set as a migration source processor, and is managed by the system management processor (1). Each calculation processor (2)
In the case where one of the processes (15) managed by the migration source processor is selected as a migration process with reference to the CPU load (CPU usage rate management table 10 in FIG. 4) in step S4 and the migration process is accepted. CP
A calculation processor that satisfies the condition that the U usage rate is equal to or less than the upper limit value of the CPU usage rate and is as close as possible to the upper limit value is selected as a migration destination processor, and the selected migration process is transferred from the migration source processor to the migration destination processor. The feature is that they are moved.

【0007】また、移動がし易いプロセスを選択するた
めに前記移動プロセスの選択を使用する実メモリ量が少
ない順に行うことを特徴としている。さらに、移動プロ
セスを受け入れた場合のCPU使用率がCPU使用率の
上限値以下でかつ該上限値にできるだけ近くするために
(これによりCPU使用率の低いプロセッサを残して以
降の負荷に備えさせることが可能になる)、前記移動先
プロセッサの選択をCPU使用率の大きい順に行うこと
を特徴としている(図5,6のフローチャート参照)。
In addition, in order to select a process that is easy to move, the selection of the move process is performed in the order of increasing the actual memory amount to be used. Further, in order that the CPU usage rate when the migration process is accepted is equal to or less than the upper limit value of the CPU usage rate and is as close as possible to the upper limit value (this allows a processor with a low CPU usage rate to be left for the subsequent load). The destination processor is selected in descending order of CPU utilization (see flowcharts in FIGS. 5 and 6).

【0008】[0008]

【発明の実施の形態】本発明は、システム全体を管理す
る1個のシステム管理プロセッサとそれぞれが複数のプ
ロセスを実行,管理するn個の計算プロセッサとを高速
なネットワーク機構を介して接続するとともに、このよ
うに接続された全てのプロセッサ間で通信可能な疎結合
マルチプロセッサシステムを前提としている。システム
管理プロセッサは、当該システム管理プロセッサ上で動
作する制御プログラム(以下、システム管理手段とい
う)を有し、これによってシステム全体を管理してい
る。また、各計算プロセッサは、当該計算プロセッサ上
で動作する制御プログラム(以下、プロセッサ管理手段
という)を有し、これによって、当該計算プロセッサ上
で動作する複数のプロセスを管理している。
BEST MODE FOR CARRYING OUT THE INVENTION According to the present invention, one system management processor that manages the entire system and n calculation processors that respectively execute and manage a plurality of processes are connected via a high-speed network mechanism. , It is premised on a loosely coupled multiprocessor system capable of communicating between all the processors thus connected. The system management processor has a control program (hereinafter referred to as system management means) that operates on the system management processor, and manages the entire system by this. Further, each calculation processor has a control program (hereinafter, referred to as processor management means) that operates on the calculation processor, and thereby manages a plurality of processes that operate on the calculation processor.

【0009】各計算プロセッサで動作するプロセスに
は、それぞれ、システム内でユニークなプロセス番号が
与えられている。また、各計算プロセッサ自体にも、そ
れぞれ、システム内でユニークなプロセッサ番号が与え
られている。どのプロセスがどの計算プロセッサで実行
されているかは、プロセス番号とプロセッサ番号との対
応テーブル(以下、プロセス管理テーブルという)によ
ってシステム管理手段が管理している。そして、各プロ
セス間で通信する場合には、このプロセス管理テーブル
を検索し送信先のプロセスが実行されている計算プロセ
ッサを求め、当該プロセッサに対して通信を行う。
A process number that is unique in the system is given to each process running on each computing processor. Each computing processor itself is also given a unique processor number in the system. Which process is executed by which calculation processor is managed by the system management means by a correspondence table between process numbers and processor numbers (hereinafter referred to as process management table). Then, when communicating between the processes, the process management table is searched to obtain the calculation processor in which the process of the transmission destination is executed, and the communication is performed to the processor.

【0010】本発明を実現するために、各計算プロセッ
サのプロセッサ管理手段には、当該プロセッサのCPU
使用率を監視し、システム管理プロセッサのシステム管
理手段へ該CPU使用率を通知するための「CPU使用
率報告機能」と他のプロセッサへプロセスを移動するた
めの「プロセス移動機能」が設けられている。また、シ
ステム管理プロセッサのシステム管理手段には、各CP
Uの使用率を管理する「CPU使用率管理テーブル」と
各計算プロセッサのプロセッサ管理手段から通知された
CPU使用率を該CPU使用率管理テーブルへ蓄積する
ための「プロセッサ負荷管理機能」と、CPU使用に関
する最適な計算プロセッサを選択するための「プロセッ
サ選択機能」とが設けられている。
In order to implement the present invention, the processor management means of each calculation processor includes a CPU of the processor.
A "CPU usage rate reporting function" for monitoring the usage rate and notifying the CPU usage rate to the system management means of the system management processor and a "process migration function" for migrating a process to another processor are provided. There is. Further, the system management means of the system management processor includes the CPs.
A "CPU usage rate management table" for managing the usage rate of U, a "processor load management function" for accumulating the CPU usage rate notified from the processor management means of each calculation processor in the CPU usage rate management table, and a CPU A "processor selection function" is provided for selecting the optimum calculation processor for use.

【0011】各計算プロセッサのプロセッサ管理手段の
CPU使用率報告機能によりCPU使用率が通知され、
該CPU使用率がシステムパラメタ(システムパラメタ
はシステム管理プロセッサ内の記憶手段に格納されてい
る)のCPU使用率の上限と下限の範囲を超えている計
算プロセッサを検出した場合、システム管理手段のプロ
セッサ選択機能を利用し、計算プロセッサ内の各プロセ
スのCPU使用率と資源使用量に基づいて、計算プロセ
ッサ内のCPU使用率が最適となる別計算プロセッサを
選択し、当該計算プロセッサへ実行中のプロセスそのも
のを移動し、移動先の計算プロセッサでプロセスを続行
するようにする。これにより、計算プロセッサの局所的
なCPU負荷による並列コンピュータシステムのスルー
プットの低下を回避することが可能となる。
The CPU usage rate is notified by the CPU usage rate reporting function of the processor management means of each calculation processor,
If a computing processor whose CPU usage rate exceeds the upper and lower limits of the CPU usage rate of the system parameter (the system parameter is stored in the storage means in the system management processor) is detected, the processor of the system management means The selection function is used to select another calculation processor that has the optimum CPU usage rate in the calculation processor based on the CPU usage rate and resource usage of each process in the calculation processor, and the process being executed by that calculation processor. Moves itself to continue the process on the destination compute processor. This makes it possible to avoid a decrease in throughput of the parallel computer system due to a local CPU load of the calculation processor.

【0012】次に、本発明の実施例を図面を用いて詳細
に説明する。図1は、本発明の一実施例のシステムブロ
ック図である。同図において、1はシステム全体を管理
するシステム管理プロセッサ(1個)、2は複数のプロ
セスを実行管理する計算プロセッサ(複数個)であり、
これらのプロセッサはシステム内でユニークに定義され
たプロセッサ番号3によって識別可能になっている(図
1の例は、システム管理プロセッサ1にプロセッサ番号
0が付与され、図示されている3つの計算プロセッサ2
にプロセッサ番号1〜3が付与された場合を示してい
る)。また、これらのプロセッサは通信手段である高速
のネットワーク4を介して接続されており、接続された
全てのプロセッサは相互に通信し情報を交換することが
可能になっている。プロセッサ間の接続はハードウェア
で接続されたものであれば接続手段は問わず、バス型・
スター型どちらでもよい。
Next, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a system block diagram of an embodiment of the present invention. In the figure, 1 is a system management processor (1) for managing the entire system, 2 is a calculation processor (a plurality of) for executing and managing a plurality of processes,
These processors can be identified by a processor number 3 uniquely defined in the system (in the example of FIG. 1, the system management processor 1 is given a processor number 0, and the three calculation processors 2 shown in the figure are provided.
The processor numbers 1 to 3 are assigned to the above). Further, these processors are connected via a high-speed network 4, which is a communication means, and all the connected processors can communicate with each other and exchange information. The connection between processors is not limited as long as they are connected by hardware, and the bus type
Either star type is acceptable.

【0013】システム管理プロセッサ1のシステム管理
手段5には、プロセス管理機能6とプロセッサ負荷管理
機能7とプロセッサ選択機能8とが設けられる。プロセ
ス管理機能6は、生成されたプロセス番号とプロセッサ
番号とを対応させているプロセス管理テーブル9を参照
/更新し管理する機能であり、複数のプロセス間で通信
を行う場合に、本機能を用いることによって通信相手の
プロセスが存在するプロセッサを意識せずにプロセス番
号だけを用いて通信することが可能となる。
The system management means 5 of the system management processor 1 is provided with a process management function 6, a processor load management function 7 and a processor selection function 8. The process management function 6 is a function for referring to / updating and managing a process management table 9 in which generated process numbers correspond to processor numbers, and this function is used when communication is performed between a plurality of processes. This makes it possible to communicate using only the process number without being aware of the processor in which the process of the communication partner exists.

【0014】プロセッサ負荷管理機能7は、各計算プロ
セッサ2のプロセッサ管理手段11から報告された計算
プロセッサ2のCPU使用率をCPU使用率管理テーブ
ル10へ格納し管理するための機能である。プロセッサ
選択機能8は、CPU使用率管理テーブル10を参照し
最適な計算プロセッサを選択して要求元の計算プロセッ
サへ応答するための機能である。
The processor load management function 7 is a function for storing and managing the CPU usage rate of the calculation processor 2 reported from the processor management means 11 of each calculation processor 2 in the CPU usage rate management table 10. The processor selection function 8 is a function for referring to the CPU usage rate management table 10 to select an optimum calculation processor and responding to the requesting calculation processor.

【0015】各計算プロセッサ2のプロセッサ管理手段
11には、プロセス生成/終了機能12と、プロセス移
動機能13と、CPU使用率報告機能14とが設けられ
ている。プロセス生成/終了機能12は、自計算プロセ
ッサのプロセス情報を管理するための機能である。プロ
セス移動機能13は、自計算プロセッサで実行中のプロ
セス15を他の計算プロセッサ2へ移動するための機能
である。
The processor management means 11 of each calculation processor 2 is provided with a process generation / termination function 12, a process migration function 13, and a CPU usage rate reporting function 14. The process generation / termination function 12 is a function for managing the process information of the own calculation processor. The process moving function 13 is a function for moving the process 15 being executed by the own calculation processor to another calculation processor 2.

【0016】CPU使用率報告機能14は、当該計算プ
ロセッサ2が実行管理する各プロセスをサンプリングし
て求めたCPU使用率を、システム管理プロセッサ1の
システム管理手段5に設けられた前記プロセッサ負荷管
理機能7へ報告するための機能である。図2はシステム
パラメタ18を示す図であり、通常、これはシステム管
理プロセッサ1内の記憶手段(磁気ディスクなど)に格
納されていて、システム管理手段5およびプロセッサ管
理手段11の両方から参照される。システムパラメタ1
8は、例えば、同図に示すようにCPU使用率上限値,
CPU使用率下限値,サンプリング間隔値,過負荷値な
どからなっている。なお、上記システム管理手段5やプ
ロセッサ管理手段11,および上記各機能は全てソフト
ウェア(プログラム)で構成されている。
The CPU usage rate reporting function 14 is a processor load management function provided in the system management means 5 of the system management processor 1 for calculating the CPU usage rate obtained by sampling each process executed and managed by the calculation processor 2. This is a function for reporting to 7. FIG. 2 is a diagram showing the system parameter 18, which is usually stored in a storage means (such as a magnetic disk) in the system management processor 1 and is referred to by both the system management means 5 and the processor management means 11. . System parameter 1
8 is, for example, as shown in FIG.
It consists of the CPU utilization lower limit value, sampling interval value, overload value, and the like. The system management unit 5, the processor management unit 11, and the above functions are all configured by software (program).

【0017】図3は、システム管理手段5で利用するプ
ロセス管理テーブル9の構成例を示したものである。同
図に示すように、プロセス管理テーブル9は、プロセス
番号欄21と、当該プロセスが存在するプロセッサ番号
欄22と、プロセスの動作状況を示すプロセスの状態
(動作状態)欄23から構成されている。
FIG. 3 shows an example of the structure of the process management table 9 used by the system management means 5. As shown in the figure, the process management table 9 is composed of a process number column 21, a processor number column 22 in which the process exists, and a process state (operating state) column 23 indicating the operating state of the process. .

【0018】図4は、システム管理手段5が参照するC
PU使用率管理テーブル10の構成例を示したものであ
る。各計算プロセッサのCPU使用率を管理している。
CPU使用率管理テーブル10は、各計算プロセッサの
CPU使用率を管理するものであり、プロセス番号欄3
1と、プロセス単位のCPU使用率欄32と、プロセス
で使用している実メモリ使用量欄33と、プロセッサ番
号欄34と、プロセッサ単位のCPU使用率欄35と、
プロセッサ内での過負荷状態の経過時間を表す過負荷値
欄36とからなるレコードで構成される。なお、プロセ
スの存在しないプロセッサについては、プロセッサ番号
欄34とプロセッサ単位のCPU使用率欄35とプロセ
ッサ内での過負荷状態の経過時間を表す過負荷値欄36
のみを有するレコードから構成される。
FIG. 4 shows C referred to by the system management means 5.
3 is a diagram showing a configuration example of a PU usage rate management table 10. It manages the CPU usage rate of each calculation processor.
The CPU usage rate management table 10 manages the CPU usage rate of each calculation processor, and the process number column 3
1, a CPU usage rate column 32 for each process, an actual memory usage amount column 33 used in a process, a processor number column 34, a CPU usage rate column 35 for each processor,
It is composed of a record including an overload value column 36 indicating the elapsed time of the overload state in the processor. For a processor having no process, a processor number column 34, a CPU usage rate column 35 for each processor, and an overload value column 36 that indicates the elapsed time of an overload state in the processor.
It consists of records with only

【0019】次に、本実施例の動作を図面を用いて説明
する。ある計算プロセッサのCPU使用率が高くなった
場合にその計算プロセッサが管理している1つのプロセ
スを他の計算プロセッサに移動する動作を図1を参照し
ながら説明する。各計算プロセッサ2のプロセッサ管理
手段11におけるCPU使用率報告機能14は、システ
ムパラメタ18で定義されるサンプリング間隔値で当該
計算プロセッサ2内の各プロセス15のCPU使用状況
をサンプリングし、各プロセス単位のCPU使用率と計
算プロセッサ2のCPU使用率を求め(例えば、m回の
サンプリングのうちn回使用状態であった場合のCPU
使用率を(n/m)×100%とする)、システム管理
プロセッサ1のシステム管理手段5におけるプロセッサ
負荷管理機能7に報告する。
Next, the operation of this embodiment will be described with reference to the drawings. An operation of moving one process managed by a calculation processor to another calculation processor when the CPU usage rate of the calculation processor becomes high will be described with reference to FIG. The CPU usage rate reporting function 14 in the processor management means 11 of each computing processor 2 samples the CPU usage status of each process 15 in the computing processor 2 at the sampling interval value defined by the system parameter 18, and for each process unit. The CPU usage rate and the CPU usage rate of the calculation processor 2 are calculated (for example, the CPU in the case of being used n times out of m times of sampling).
The usage rate is set to (n / m) × 100%) and is reported to the processor load management function 7 in the system management means 5 of the system management processor 1.

【0020】プロセッサ負荷管理機能7は、各計算プロ
セッサ2から報告された内容をCPU使用率管理テーブ
ル10内のプロセス単位のCPU使用率欄32,プロセ
ッサ単位のCPU使用率欄35に記憶する。このとき、
システムパラメタ18で定義されている「CPU使用率
上限値」を上回るものおよび「CPU使用率下限値」を
下回るものについては、CPU使用率管理テーブル10
内の過負荷値欄36の値を+1する。この過負荷値欄3
6の値が、システムパラメタ18で定義されている「過
負荷値」の値を超えたプロセッサを移動元プロセッサと
し、この移動元プロセッサを通知してプロセッサ選択機
能8に移動すべきプロセスと移動先となる計算プロセッ
サの選択を要求する。
The processor load management function 7 stores the contents reported from each computing processor 2 in the CPU usage rate column 32 for each process and the CPU usage rate column 35 for each processor in the CPU usage rate management table 10. At this time,
For those exceeding the “CPU usage rate upper limit value” and below the “CPU usage rate lower limit value” defined in the system parameter 18, the CPU usage rate management table 10
The value in the overload value column 36 is incremented by one. This overload value column 3
The processor whose value of 6 exceeds the value of the "overload value" defined in the system parameter 18 is set as the migration source processor, and this migration source processor is notified and the process and migration destination to be migrated to the processor selection function 8 Request the selection of the calculation processor that becomes.

【0021】プロセッサ選択機能8は、過負荷状態のプ
ロセッサ(「プロセッサCPU使用率<CPU使用率の
下限値,またはプロセッサCPU使用率>CPU使用率
の上限値」の状態がシステムパラメタ18の過負荷値の
許容範囲を継続して超えているプロセッサ)が管理して
いるプロセスのうち実メモリ使用量が少ないプロセス
(つまり移動しやすいプロセス)を選択するとともに、
この選択したプロセスを取り入れた場合「CPU使用率
の下限値≦プロセッサCPU使用率≦CPU使用率の上
限値」の条件を満足し、かつ、できるだけCPU使用率
の上限に近くなる移動先プロセッサを選択する機能であ
る。この機能は、実メモリ使用量の少ないプロセスを過
負荷状態のプロセッサから別のプロセッサへ移動するこ
とによって、稼働プロセッサをCPU使用率の上限に近
いところで負荷を平衡させ、CPU使用率の低いプロセ
ッサは次の負荷に備えるようにする。
The processor selection function 8 indicates that the processor in the overloaded state (“processor CPU usage rate <lower limit value of CPU usage rate or processor CPU usage rate> upper limit value of CPU usage rate” is an overload of the system parameter 18). Of the processes managed by the processor that continues to exceed the allowable value range), select the process that uses a small amount of real memory (that is, the process that is easy to move), and
When this selected process is adopted, the destination processor that satisfies the condition of "lower limit of CPU usage rate ≤ processor CPU usage rate ≤ upper limit value of CPU usage rate" and is as close as possible to the upper limit of CPU usage rate is selected. It is a function to do. This function balances the load on the working processor near the upper CPU utilization limit by moving the process that uses less real memory from the overloaded processor to another processor. Be prepared for the next load.

【0022】図5および図6は、プロセッサ負荷管理機
能7から移動すべきプロセスと移動先となる計算プロセ
ッサの選択を要求された場合に、プロセッサ選択機能8
が行う移動プロセスと移動先計算プロセッサを選択する
動作を説明するフローチャートである。以下、図1〜4
を参照しながら図5および図6のフローチャートを説明
する。プロセッサ負荷管理機能7で検出した過負荷状態
のプロセッサを移動元のプロセッサとし、そのプロセッ
サ番号(後述する図7の例ではプロセッサ番号1)を入
力する(ステップ41)。プロセッサ選択機能8は、C
PU使用率管理テーブル10を入力にプロセッサ番号3
4と実メモリ使用量33をキーにして、大型汎用計算機
などが具備しているソート機能の一種であるセレクトS
ORTを行い移動元選択キューを作成する(ステップ4
2)。すなわち、入力されたプロセッサ番号をプロセッ
サ番号欄34に持つレコードをまずセレクトし、該セレ
クトしたレコードを実メモリ使用量欄33をキーにして
昇順にSORTを行い、移動元選択キューを作成する。
この結果作成された移動元選択キューは、移動元の過負
荷状態のプロセッサが管理しているプロセスを実メモリ
使用量の少ない順(つまり移動させ易い順)に並べたキ
ューになる。
5 and 6 show the processor selection function 8 when the processor load management function 7 requests the selection of the process to be moved and the calculation processor to be the movement destination.
6 is a flowchart illustrating an operation of selecting a migration process and a migration destination calculation processor performed by the above. Hereinafter, FIGS.
The flowcharts of FIGS. 5 and 6 will be described with reference to FIG. The processor in the overload state detected by the processor load management function 7 is set as the migration source processor, and the processor number (processor number 1 in the example of FIG. 7 described later) is input (step 41). The processor selection function 8 is C
Input the PU usage rate management table 10 to processor number 3
4 and the actual memory usage 33 are used as keys to select S, which is one of the sort functions provided in large-scale general-purpose computers.
ORT is performed to create a move source selection queue (step 4)
2). That is, a record having the input processor number in the processor number column 34 is first selected, and SORT is performed in ascending order with the selected record using the actual memory usage column 33 as a key to create a migration source selection queue.
The migration source selection queue created as a result of this is a queue in which the processes managed by the overloaded processor of the migration source are arranged in the order in which the actual memory usage is small (that is, in the order in which they are easy to move).

【0023】次に、プロセッサ選択機能8は、CPU使
用率管理テーブル10から、プロセッサ単位のCPU使
用率欄35をキーにして降順にSORTを行い、移動先
選択キューを作成する(ステップ43)。この結果、移
動先選択キューは、各プロセッサをCPU使用率の高い
順(つまり移動先プロセッサとしてはできるだけCPU
使用率の高いプロセッサを選択し、CPU使用率を上限
に近いところに平衡させ、CPU使用率の低いプロセッ
サはできるだけ移動先プロセッサにならないようにして
次の負荷に備えさせる)に並べたキューになる。
Next, the processor selection function 8 performs SORT in descending order from the CPU usage rate management table 10 using the CPU usage rate column 35 for each processor as a key to create a destination selection queue (step 43). As a result, in the destination selection queue, the processors are arranged in descending order of CPU usage (that is, as the destination processor, CPU
Select a processor with a high usage rate, balance the CPU usage rate close to the upper limit, and keep the processor with a low CPU usage as a destination processor to prepare for the next load). .

【0024】次に、プロセッサ選択機能8は、ステップ
42で作成した移動元選択キューとステップ43で作成
した移動先選択キューとを用いて移動元プロセスと移動
先プロセッサを選択する。この選択手順を以下に詳細に
説明する。まず、i=1とする(ステップ44)。次
に、移動元選択キューからi番目のレコードを取り出
し、一時的に元レコードとする(ステップ45)。移動
先選択キューのキューポインタをリセット(j=1)し
て移動先選択キューの先頭を指示するようにする(ステ
ップ46)。次に、移動先選択キューからj番目のレコ
ードを取り出し、一時的に先レコードとする(ステップ
47)。
Next, the processor selection function 8 selects the source process and the destination processor using the source selection queue created in step 42 and the destination selection queue created in step 43. This selection procedure will be described in detail below. First, i = 1 is set (step 44). Next, the i-th record is taken out from the transfer source selection queue and temporarily set as the original record (step 45). The queue pointer of the destination selection queue is reset (j = 1) to indicate the head of the destination selection queue (step 46). Next, the j-th record is taken out from the destination selection queue and temporarily set as the destination record (step 47).

【0025】次に、『元レコードのプロセスCPU使用
率+先レコードのプロセッサCPU使用率≦システムパ
ラメタ18のCPU使用率上限値』が成立するか否かを
判定し(ステップ48)、成立する場合はステップ54
へ、成立しない場合はステップ49へ進む。ステップ4
8の条件は、、元レコードのプロセスを先レコードのプ
ロセッサに移動した場合に先レコードのプロセッサが過
負荷状態にならない条件である。
Next, it is judged whether or not "the process CPU usage rate of the original record + the processor CPU usage rate of the destination record.ltoreq.the CPU usage rate upper limit value of the system parameter 18" is satisfied (step 48). Is step 54
If not, go to step 49. Step 4
The condition 8 is a condition in which the processor of the preceding record is not overloaded when the process of the original record is moved to the processor of the preceding record.

【0026】ステップ48の条件が成立しない場合は、
ステップ49においてjを更新し(j=j+1)、ステ
ップ50において、更新したjが移動先選択キューの大
きさを超えたか否かを判定し、超えていない場合はステ
ップ47に戻り、移動先選択キューから次のレコード
(すなわちj番目のレコード)を取り出して先レコード
とし、上述したステップ48以降の処理を繰り返す。
If the condition of step 48 is not satisfied,
In step 49, j is updated (j = j + 1), and in step 50, it is judged whether or not the updated j exceeds the size of the destination selection queue. If not, the process returns to step 47 to select the destination. The next record (that is, the j-th record) is taken out from the queue, is set as the previous record, and the above-described processing from step 48 is repeated.

【0027】ステップ50でjが移動先選択キューの大
きさを超えた場合はステップ51に進み、iを更新する
(i=i+1)。次に、更新したiが移動元選択キュー
の大きさを超えたか否かを判定し、超えていなければス
テップ45に戻り、移動元選択キューから次のレコード
(すなわちi番目のレコード)を取り出して元レコード
とし、上述したステップ46以降の処理を繰り返す。ス
テップ52において、iが移動元選択キューの大きさを
超えてしまった場合は条件にあう移動元レコードが存在
しないものとし、移動先プロセッサを選択しない(ステ
ップ53)。
When j exceeds the size of the destination selection queue in step 50, the process proceeds to step 51 and i is updated (i = i + 1). Next, it is determined whether or not the updated i exceeds the size of the source selection queue. If not, the process returns to step 45, and the next record (that is, the i-th record) is extracted from the source selection queue. The original record is set, and the processing from step 46 onward is repeated. If i exceeds the size of the migration source selection queue in step 52, it is assumed that there is no migration source record that meets the conditions, and the migration destination processor is not selected (step 53).

【0028】ステップ48において、『元レコードのプ
ロセスCPU使用率+先レコードのプロセッサCPU使
用率≦システムパラメタ18のCPU使用率上限値』の
条件が成立する場合は、ステップ54(図6)に進み、
元レコードを移動元レコードとし、先レコードを移動先
レコードとする。次のステップ55において、移動元プ
ロセッサと移動元プロセス、および移動先プロセッサを
特定する。すなわち、移動元レコードのプロセス番号と
プロセッサ負荷管理機能7から受け取った過負荷状態の
プロセッサ番号によって移動元プロセスと移動元プロセ
ッサを特定し、移動先レコードのプロセッサ番号によっ
て移動先プロセッサを特定する。このようにして特定さ
れた移動元プロセスを移動すべきプロセス15とし、移
動元プロセッサを移動元の計算プロセッサ2,移動先プ
ロセッサを移動先の計算プロセッサ2として当該計算プ
ロセッサ2のプロセス移動機能に報告する。
If the condition of "process CPU usage rate of original record + processor CPU usage rate of destination record≤CPU usage rate upper limit value of system parameter 18" is satisfied in step 48, the process proceeds to step 54 (FIG. 6). ,
The source record is the source record and the destination record is the destination record. In the next step 55, the source processor, source process, and destination processor are specified. That is, the process number of the migration source record and the processor number in the overloaded state received from the processor load management function 7 identify the migration source process and the migration source processor, and the processor number of the migration destination record identifies the migration destination processor. The migration source process thus identified is set as the process 15 to be migrated, the migration source processor is designated as the migration source calculation processor 2, and the migration destination processor is designated as the migration destination calculation processor 2 and is reported to the process migration function of the calculation processor 2. To do.

【0029】図7は、プロセス移動機能13が自プロセ
ッサで実行中のプロセスを他のプロセッサへ移動させる
動作を説明するための概念図である。図7では、システ
ム管理プロセッサ1を「プロセッサ番号0」、移動元プ
ロセッサとなる過負荷状態の計算プロセッサ2を「プロ
セッサ番号1」、移動先プロセッサとなる計算プロセッ
サ2を「プロセッサ番号2」として説明する。移動元プ
ロセッサであるプロセッサ番号1の計算プロセッサ2の
プロセス移動機能13は、プロセスの移動処理を開始す
ると(処理a)、システム管理プロセッサ1のシステム
管理手段5に対してプロセスの移動を開始する旨を報告
する(処理b)。この報告を受けたシステム管理手段5
は、プロセス管理機能6でプロセス管理テーブル9にあ
る移動するプロセス(図6のステップ55で選択された
プロセス)のプロセスの状態欄23(図3参照)を「保
留状態」にし(処理c)、プロセッサ番号1を有する移
動元の計算プロセッサ2のプロセス移動機能13に対
し、プロセスの保留状態への移行が完了したことを返答
する(処理d)。
FIG. 7 is a conceptual diagram for explaining the operation of the process moving function 13 to move the process being executed by its own processor to another processor. In FIG. 7, the system management processor 1 is described as “processor number 0”, the overloaded calculation processor 2 that is the migration source processor is “processor number 1”, and the calculation processor 2 that is the migration destination processor is “processor number 2”. To do. When the process migration function 13 of the calculation processor 2 having the processor number 1 which is the migration source processor starts the process migration process (process a), it starts the process migration to the system management means 5 of the system management processor 1. Is reported (processing b). System management means 5 that received this report
Sets the process status column 23 (see FIG. 3) of the process to be moved (the process selected in step 55 of FIG. 6) in the process management table 9 by the process management function 6 to “pending state” (process c), The process migration function 13 of the migration source calculation processor 2 having the processor number 1 is informed of the completion of the process transition to the pending state (process d).

【0030】この返答を受けて、プロセッサ番号1を有
する移動元の計算プロセッサ2のプロセス移動機能13
は、移動させるプロセス15を静止状態にした後に(処
理e)、プロセッサ番号2を有する移動先の計算プロセ
ッサ2のプロセス移動機能13に対しプロセス情報17
と移動させるプロセス15が現在使用している実メモリ
領域情報を転送する(処理f)。
In response to this response, the process migration function 13 of the migration source calculation processor 2 having the processor number 1
Processes the process 15 to be moved to the quiescent state (processing e), and then sends the process information 17 to the process migration function 13 of the migration destination calculation processor 2 having the processor number 2.
The real memory area information currently used by the moving process 15 is transferred (process f).

【0031】プロセッサ番号2を有する移動先の計算プ
ロセッサ2のプロセス移動機能13は、転送されてきた
プロセス情報17と移動させるプロセス15の実メモリ
領域情報を移動前の状態に復元する(処理g)。ここ
で、「移動前の状態に復元」とは、転送されたプロセス
15の実メモリ領域と、同じく転送したプロセス情報1
7の仮想空間と実記憶装置の関連を回復することと、プ
ロセス情報17の中で記憶している各計算プロセッサ固
有の情報を移動先の計算プロセッサの情報に置き換え、
プロセスとして動作できるようにする操作を含む。移動
先の計算プロセッサ2のプロセス移動機能13は、次
に、プロセスの静止状態を解除(処理h)した後に、シ
ステム管理プロセッサ1のシステム管理手段5に対して
プロセスの移動が完了したことを報告する(処理i)。
The process migration function 13 of the migration-destination computing processor 2 having the processor number 2 restores the transferred process information 17 and the real memory area information of the process 15 to be migrated to the state before the migration (process g). . Here, “restore to the state before the movement” means that the real memory area of the transferred process 15 and the process information 1 that is also transferred.
7 to restore the relationship between the virtual space and the real storage device, and replace the information unique to each calculation processor stored in the process information 17 with the information of the migration destination calculation processor,
It includes operations that enable it to operate as a process. The process migration function 13 of the migration destination calculation processor 2 then releases the process quiescent state (processing h) and then reports the completion of the process migration to the system management means 5 of the system management processor 1. Yes (process i).

【0032】プロセス移動の完了の報告を受けたシステ
ム管理手段5は、プロセス管理機能6で、プロセス管理
テーブル9のプロセスの状態欄23を「保留状態」から
解除し(処理j)、プロセッサ番号欄22のプロセッサ
番号を移動先であるプロセッサ番号2に変更し(処理
k)、プロセスの保留状態の解除が完了したことを移動
先の計算プロセッサ(プロセッサ番号2)のプロセス移
動機能13に返答する(処理l)。
Upon receiving the report of the completion of the process migration, the system management means 5 causes the process management function 6 to release the process status column 23 of the process management table 9 from the "pending state" (process j), and the processor number column. The processor number 22 is changed to the processor number 2 which is the move destination (process k), and the completion of the release of the process pending state is returned to the process move function 13 of the move destination calculation processor (processor number 2) ( Treatment l).

【0033】この返答を受けて、プロセッサ番号2を有
する移動先の計算プロセッサ2のプロセス移動機能13
は、プロセッサ番号1を有する移動元の計算プロセッサ
のプロセス移動機能13に対しプロセスの移動が完了し
たことを報告する(処理m)。この報告を受けて、プロ
セッサ番号1を有する移動元の計算プロセッサのプロセ
ス移動機能13は、プロセス情報17などを消去し(処
理n)、移動したプロセス15が使用していた実メモリ
を解放する(処理o)。ただし、各プロセッサへの各要
求に対して、何等かの要因により要求が受け入れられな
い場合は、プロセスの移動を中止し、当該プロセッサ上
でその後の処理を続行する。
In response to this reply, the process migration function 13 of the migration destination computing processor 2 having the processor number 2
Reports the completion of the process migration to the process migration function 13 of the migration source computer having the processor number 1 (process m). In response to this report, the process migration function 13 of the migration source computer having the processor number 1 erases the process information 17 and the like (process n), and releases the real memory used by the migrated process 15 ( Process o). However, if the request cannot be accepted for each request to each processor due to some reason, the process movement is stopped and the subsequent processing is continued on the processor.

【0034】本実施例によれば、CPU負荷の高いプロ
セッサのプロセスをCPU負荷の低いプロセッサに移動
することによって、局所的なCPU負荷による並列コン
ピュータシステムのスループットの低下を回避すること
ができる。また、その際、移動するプロセスはできるだ
け実メモリ使用量が少ないものを選択し、移動先プロセ
ッサは移動するプロセスを受け入れた場合に過負荷にな
らない範囲内でできるだけCPU使用率の上限に近くな
るものを選択するようにしているため、CPU使用率の
高いプロセッサはCPU使用率の上限により近いところ
で負荷が平衡するようになり、逆に、CPU使用率の低
いプロセッサはできるだけ移動先のプロセッサにしない
ようにして低負荷状態を保って以降の負荷に備えさせる
ようにできる。なお、上記実施例では疎結合のマルチプ
ロセッサシステム(並列コンピュータシステム)を例に
して説明したが、本技術は密結合マルチプロセッサシス
テムに適用することも可能である。
According to the present embodiment, by moving the process of the processor having a high CPU load to the processor having a low CPU load, it is possible to avoid the decrease in the throughput of the parallel computer system due to the local CPU load. Also, at that time, select a process that uses as little real memory as possible, and set the destination processor as close to the upper limit of CPU usage as possible without overloading when the process is accepted. Since a processor with a high CPU usage rate is balanced near the upper limit of the CPU usage rate, a processor with a low CPU usage rate should not be the destination processor as much as possible. Thus, the low load state can be maintained to prepare for the subsequent load. Although the loosely coupled multiprocessor system (parallel computer system) has been described as an example in the above embodiment, the present technology can be applied to a tightly coupled multiprocessor system.

【0035】[0035]

【発明の効果】本発明によれば、マルチプロセッサシス
テム運転中にプロセッサ負荷の偏りが発生し、システム
効率が低下した場合でも、オペレータが介入の必要な
く、プロセッサ負荷を最適に配分できるため、自動的に
システムのスループットを高めることができる。
According to the present invention, even if the processor load is biased during the operation of the multiprocessor system and the system efficiency is reduced, the operator load can be optimally distributed without the intervention of the operator. System throughput can be improved.

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

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

【図2】本発明におけるシステムパラメータを示す図で
ある。
FIG. 2 is a diagram showing system parameters in the present invention.

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

【図4】本実施例の各計算プロセッサのCPU使用率管
理テーブル10の構成情報の一例を示す図である。
FIG. 4 is a diagram showing an example of configuration information of a CPU usage rate management table 10 of each calculation processor of the present embodiment.

【図5】本実施例のプロセッサ選択機能8の動作を説明
するためのフローチャート(その1)である。
FIG. 5 is a flow chart (No. 1) for explaining the operation of the processor selection function 8 of the present embodiment.

【図6】本実施例のプロセッサ選択機能8の動作を説明
するためのフローチャート(その2)である。
FIG. 6 is a flowchart (part 2) for explaining the operation of the processor selection function 8 of the present embodiment.

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

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

1:システム管理プロセッサ、2:計算プロセッサ、
3:プロセッサ番号、5:システム管理手段、6:プロ
セス管理機能、7:プロセッサ負荷管理機能、8:プロ
セッサ選択機能、9:プロセス管理テーブル、10:C
PU使用率管理テーブル、11:プロセッサ管理手段、
12:プロセス生成/終了機能、13:プロセス移動機
能、14:CPU使用率報告機能、15:プロセス、1
6:プロセス番号、17:プロセス情報、18:システ
ムパラメタ、21:プロセス番号、22:プロセッサ番
号、23:プロセスの状態、31:プロセス番号、3
2:プロセス単位のCPU使用率、33:プロセス単位
の実メモリ使用量、34:プロセッサ番号、35:プロ
セッサ単位のCPU使用率、36:過負荷値
1: system management processor, 2: calculation processor,
3: processor number, 5: system management means, 6: process management function, 7: processor load management function, 8: processor selection function, 9: process management table, 10: C
PU usage rate management table, 11: processor management means,
12: Process creation / termination function, 13: Process migration function, 14: CPU usage rate reporting function, 15: Process, 1
6: process number, 17: process information, 18: system parameter, 21: process number, 22: processor number, 23: process state, 31: process number, 3
2: CPU usage rate per process, 33: Actual memory usage per process, 34: Processor number, 35: CPU usage rate per processor, 36: Overload value

───────────────────────────────────────────────────── フロントページの続き (72)発明者 樋口 和也 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 櫻庭 博之 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 佐藤 保 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 高橋 憲一 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 橋谷 敏郎 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Kazuya Higuchi, Kazuya Higuchi, 5030 Totsuka-cho, Totsuka-ku, Yokohama, Kanagawa Prefecture Software Development Division, Hitachi, Ltd. (72) Hiroyuki Sakuraba, Totsuka-cho, Totsuka-ku, Yokohama, Kanagawa 5030 Incorporated company Hitachi Ltd. Software Development Division (72) Inventor Ho Sato 6-81 Onoue-cho, Naka-ku, Yokohama-shi Kanagawa Hitachi Software Engineering Co., Ltd. (72) Inventor Kenichi Takahashi Onoue, Naka-ku, Yokohama-shi, Kanagawa 6-81, Machi Hitachi Software Engineering Co., Ltd. In-house (72) Inventor Toshiro Hashiya 5030 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa Within the Hitachi, Ltd. Software Development Division

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 一つのシステム管理プロセッサと複数の
計算プロセッサが通信手段を介して接続されたマルチプ
ロセッサシステムにおけるプロセッサ間の負荷配分制御
方法であって、 前記各計算プロセッサにおけるCPU負荷をシステム管
理プロセッサで一元的に管理するとともに、計算プロセ
ッサにおけるCPU使用率の上限値および下限値を予め
設定しておき、 CPU使用率が前記上限値を超えた状態または前記下限
値未満の状態が一定期間継続した計算プロセッサを移動
元プロセッサとし、 前記システム管理プロセッサで管理している各計算プロ
セッサにおけるCPU負荷を参照して、前記移動元プロ
セッサが管理するプロセスのうちの一つを移動プロセス
として選択するとともに、該移動プロセスを受け入れた
場合のCPU使用率が前記CPU使用率の上限値以下で
かつ該上限値にできるだけ近いという条件を満たす計算
プロセッサを移動先プロセッサとして選択し、前記選択
された移動プロセスを前記移動元プロセッサから移動先
プロセッサに移動するようにしたことを特徴とするマル
チプロセッサシステムにおけるプロセッサ間の負荷配分
制御方法。
1. A load distribution control method between processors in a multiprocessor system in which one system management processor and a plurality of calculation processors are connected via communication means, wherein the CPU load in each calculation processor is controlled by the system management processor. In addition to centrally managing it, the upper and lower limits of the CPU usage rate of the calculation processor are preset, and the state where the CPU usage rate exceeds the upper limit value or is less than the lower limit value continues for a certain period. The calculation processor is used as a migration source processor, one of the processes managed by the migration source processor is selected as a migration process by referring to the CPU load of each computation processor managed by the system management processor, and CPU utilization when accepting move process A computing processor that satisfies the condition of being less than or equal to the upper limit value of the CPU usage rate and as close as possible to the upper limit value is selected as a migration destination processor, and the selected migration process is migrated from the migration source processor to the migration destination processor. A load distribution control method between processors in a multiprocessor system characterized by the above.
【請求項2】 前記移動プロセスの選択は、使用する実
メモリ量が少ない順に行われることを特徴とする請求項
1記載のマルチプロセッサシステムにおけるプロセッサ
間の負荷配分制御方法。
2. The load distribution control method between processors in a multiprocessor system according to claim 1, wherein the selection of the migration process is performed in an ascending order of the amount of real memory used.
【請求項3】 前記移動先プロセッサの選択は、CPU
使用率の大きい順に行われることを特徴とする請求項1
または2記載のマルチプロセッサシステムにおけるプロ
セッサ間の負荷配分制御方法。
3. The destination processor is selected by a CPU.
The method according to claim 1, wherein the steps are performed in descending order of usage rate.
Alternatively, a load distribution control method between processors in the multiprocessor system according to the second aspect.
JP8227996A 1996-04-04 1996-04-04 Inter-processor load distribution control method for multiprocessor system Pending JPH09274608A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8227996A JPH09274608A (en) 1996-04-04 1996-04-04 Inter-processor load distribution control method for multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8227996A JPH09274608A (en) 1996-04-04 1996-04-04 Inter-processor load distribution control method for multiprocessor system

Publications (1)

Publication Number Publication Date
JPH09274608A true JPH09274608A (en) 1997-10-21

Family

ID=13770077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8227996A Pending JPH09274608A (en) 1996-04-04 1996-04-04 Inter-processor load distribution control method for multiprocessor system

Country Status (1)

Country Link
JP (1) JPH09274608A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000298637A (en) * 1999-04-15 2000-10-24 Nec Software Kyushu Ltd System and method for load distribution and recording medium
WO2006059543A1 (en) * 2004-12-01 2006-06-08 Sony Computer Entertainment Inc. Scheduling method, scheduling device, and multiprocessor system
JP2006277487A (en) * 2005-03-30 2006-10-12 Hitachi Ltd Disk array unit and its control method
JP2008165301A (en) * 2006-12-27 2008-07-17 Fujitsu Ltd Load aggregation program, recording medium storing it, load aggregation device, and load aggregation method
JP2008269250A (en) * 2007-04-19 2008-11-06 Ffc Ltd Load balancing device, virtual server management system, load balancing method, and load balancing program
WO2010093003A1 (en) * 2009-02-13 2010-08-19 日本電気株式会社 Calculation resource allocation device, calculation resource allocation method, and calculation resource allocation program
JP2010204962A (en) * 2009-03-03 2010-09-16 Sony Corp Information-processing system
US9037888B2 (en) 2010-03-31 2015-05-19 Fujitsu Limited Multi-core processor system, electrical power control method, and computer product for migrating process from one core to another

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000298637A (en) * 1999-04-15 2000-10-24 Nec Software Kyushu Ltd System and method for load distribution and recording medium
US7913257B2 (en) 2004-12-01 2011-03-22 Sony Computer Entertainment Inc. Scheduling method, scheduling apparatus and multiprocessor system
WO2006059543A1 (en) * 2004-12-01 2006-06-08 Sony Computer Entertainment Inc. Scheduling method, scheduling device, and multiprocessor system
US8166482B2 (en) 2004-12-01 2012-04-24 Sony Computer Entertainment Inc. Scheduling method, scheduling apparatus and multiprocessor system
JP2006277487A (en) * 2005-03-30 2006-10-12 Hitachi Ltd Disk array unit and its control method
JP2008165301A (en) * 2006-12-27 2008-07-17 Fujitsu Ltd Load aggregation program, recording medium storing it, load aggregation device, and load aggregation method
JP2008269250A (en) * 2007-04-19 2008-11-06 Ffc Ltd Load balancing device, virtual server management system, load balancing method, and load balancing program
JP5322038B2 (en) * 2009-02-13 2013-10-23 日本電気株式会社 Computing resource allocation device, computing resource allocation method, and computing resource allocation program
WO2010093003A1 (en) * 2009-02-13 2010-08-19 日本電気株式会社 Calculation resource allocation device, calculation resource allocation method, and calculation resource allocation program
US8635405B2 (en) 2009-02-13 2014-01-21 Nec Corporation Computational resource assignment device, computational resource assignment method and computational resource assignment program
JP2010204962A (en) * 2009-03-03 2010-09-16 Sony Corp Information-processing system
US9672055B2 (en) 2009-03-03 2017-06-06 Sony Corporation Information processing system having two sub-systems with different hardware configurations which enable switching therebetween
US9037888B2 (en) 2010-03-31 2015-05-19 Fujitsu Limited Multi-core processor system, electrical power control method, and computer product for migrating process from one core to another

Similar Documents

Publication Publication Date Title
US20190324819A1 (en) Distributed-system task assignment method and apparatus
US7406689B2 (en) Jobstream planner considering network contention &amp; resource availability
Cui et al. A reinforcement learning-based mixed job scheduler scheme for grid or IaaS cloud
US7051188B1 (en) Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment
US6587938B1 (en) Method, system and program products for managing central processing unit resources of a computing environment
US6519660B1 (en) Method, system and program products for determining I/O configuration entropy
US6986137B1 (en) Method, system and program products for managing logical processors of a computing environment
CN109324875B (en) Data center server power consumption management and optimization method based on reinforcement learning
KR100420419B1 (en) Method, system and program products for managing groups of partitions of a computing environment
US6651125B2 (en) Processing channel subsystem pending I/O work queues based on priorities
US20080229320A1 (en) Method, an apparatus and a system for controlling of parallel execution of services
JPH07282013A (en) Distributed processing system
CN110058932A (en) A kind of storage method and storage system calculated for data flow driven
JP2010287255A (en) Information processor and information processing system
Li An adaptive overload threshold selection process using Markov decision processes of virtual machine in cloud data center
Selvi et al. Resource allocation issues and challenges in cloud computing
US7568052B1 (en) Method, system and program products for managing I/O configurations of a computing environment
Hamdi et al. Dynamic load balancing of data parallel applications on a distributed network
Peng et al. A reinforcement learning-based mixed job scheduler scheme for cloud computing under SLA constraint
Rolik et al. Dynamie management of data center resources using reinforcement learning
Jalaei et al. VCSP: virtual CPU scheduling for post-copy live migration of virtual machines
JPH09274608A (en) Inter-processor load distribution control method for multiprocessor system
Anan et al. SLA-based optimization of energy efficiency for green cloud computing
Hamdi et al. Dynamic load-balancing of image processing applications on clusters of workstations
Jiang et al. AMS: Adaptive multiget scheduling algorithm for distributed key-value stores