JPH1011407A - マルチプロセッサの監視方法 - Google Patents

マルチプロセッサの監視方法

Info

Publication number
JPH1011407A
JPH1011407A JP16493796A JP16493796A JPH1011407A JP H1011407 A JPH1011407 A JP H1011407A JP 16493796 A JP16493796 A JP 16493796A JP 16493796 A JP16493796 A JP 16493796A JP H1011407 A JPH1011407 A JP H1011407A
Authority
JP
Japan
Prior art keywords
priority
load
task
cpu
monitoring
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
JP16493796A
Other languages
English (en)
Inventor
Migudoru Michael
ミグドル マイケル
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works 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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP16493796A priority Critical patent/JPH1011407A/ja
Publication of JPH1011407A publication Critical patent/JPH1011407A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】複数のプロセッサを用いて分散処理を行うシス
テムの負荷状態を各処理の優先度に基づいて監視し、複
数のプロセッサの間で効率的に処理を分配するためのマ
ルチプロセッサの監視方法を提供する。 【解決手段】複数のプロセッサを用いて分散処理を行う
システムの負荷状態を各処理の優先度に基づいて監視す
る方法において、事象に対して速やかに応答するシステ
ムの能力の予測値、又は、プロセッサを必要とするタス
ク群に十分なプロセッサの時間を割り当てるシステムの
能力の予測値、又は、より優先度の高いタスクによる現
時点でのシステムの利用状況のうち少なくとも1つ以上
に基づいて複数のプロセッサの間で効率的に処理を分配
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッサ
を用いて分散処理を行うシステムの負荷状態を各処理の
優先度に基づいて監視し、複数のプロセッサの間で効率
的に処理を分配するためのマルチプロセッサの監視方法
に関するものである。
【0002】
【従来技術】従来、優先度に基づいてオペレーティング
・システムの負荷状態をモニターするための現在の方法
は、一般的に生のCPUの利用率(%)又は待機してい
るジョブの数を用いている。ジョブの分配法を選択する
方法としては、最も負荷の軽いCPUにジョブを送る方
法や、各CPUに順番にジョブを送る方法、無負荷のC
PUにジョブを要求する一斉同報をさせる方法を含め
て、多くの方法が存在する。
【0003】これらのすべての方法の問題は、CPUの
負荷の数値に依存することである。実行中のタスクの優
先度が無視されているので、例えば、高優先度のタスク
を実行するのに、自己の時間の80%を費やしているシ
ステムと、低優先度のタスクを実行するのに自己の時間
の80%を費やしているシステムとの間に差が生じな
い。その差というのは、第1の場合では、中優先度のタ
スクにとってはCPUの負荷が重いと見えるのに対し、
第2の場合では、中優先度のタスクにとってはCPUの
負荷が軽いと見えることである。このことは、与えられ
たジョブをどちらのCPUに実行させるべきかを選択す
るときに、不適切な選択を招き、その結果、全体のシス
テムの効率が悪くなる。
【0004】そこで、タスクの優先度に基づいて複数の
プロセッサを監視する方法として、例えば、特開平7−
282013号公報に開示された方法がある。
【0005】
【発明が解決しようとする課題】本発明の目的は、複数
のプロセッサの負荷をタスクの優先度を考慮して監視す
る方法において、上述の従来技術には無かった3種類の
評価方法を提案し、これらの方法に基づいて効率的にジ
ョブの分配を可能とすることにある。
【0006】
【課題を解決するための手段】本発明のシステムでは、
実行中のタスクの優先度を考慮に入れたCPUの負荷状
態の新規な計測手段を開発することによって、従来例の
問題点を克服している。この計測手段は、潜在負荷(事
象に対して速やかに応答するシステムの能力の予測
値)、タスク負荷(CPUを必要とするタスク群に、十
分なCPUの時間を割り当てるシステムの能力の予測
値)、又は、利用率(より優先度の高いタスクによる現
時点でのシステムの利用状況)という用語で表現され得
る。各CPUは、カーネルのレベルでのタスクのステー
タスの変化をモニターすることによって、自分自身の計
測を続ける。その計測の結果は、すべてのCPUに対す
る、より効率的なジョブの分配を選択するために利用さ
れ得る。
【0007】以下、本発明のシステムの概略を説明す
る。システムの心臓部は、オペレーティング・システム
のカーネルに付加された1つのソフトウェアであり、こ
れは、タスクのステータスの変化をモニターする。次
に、この情報は、3つの異なるアルゴリズムのうちの1
つに伝達される。これらのアルゴリズムは、各優先レベ
ルにおけるタスクから見た利用状況を計測し、潜在負荷
を予測し、タスク負荷を予測する。各システムの個々の
要求に応じて、CPUの負荷を評価するために、これら
の計測手段のうちの任意の組み合わせを利用することが
できる。各行が優先度の数値とその優先度に関連した負
荷の数値を含むデータで構成された「負荷テーブル」が
出力される。
【0008】次に、CPUの情報テーブルは、CPUが
密結合(例えば、同じPC基板上でISAバスを介して
通信する複数のCPU)であるか、疎結合(例えば、E
thernetを介して通信する複数のCPU)である
かに応じて、2通りの方法のうちいずれかで処理され
る。密結合の場合、各CPUは一斉同報送信を用いた更
新により自己のステータスを他のノードに知らせる。そ
して、各CPUは自己のタスクのうちの1つ又はそれ以
上を異なるCPUに割り当てるか否かを選択することに
ついて責任を持つ。疎結合の場合には、1つのCPUが
すべての情報の管理に責任を持ち、他のCPUに対して
ジョブの分配方法を告げるマスターとして動作する。
【0009】
【発明の実施の形態】システムの動作を簡単な例により
説明する。まず、第1に、1つのCPUについての負荷
テーブルの計算について示す。図1は3つのタスクが実
行されている簡単なケースを示す。このシステムでは、
低い値の優先度は優先度の高いタスクを示している。言
い換えれば、優先度10のタスクは優先度20のタスク
よりも常に先にCPUを受け取る。最初に、各タスク
は、休止状態であって、CPUを必要としない。時間2
において、優先度20のタスクが実行可能になると、C
PUを直ちに受け取る。このタスクは4ユニットの実行
時間を必要とする。時間4において、優先度30のタス
クが実行可能になるが、優先度のより高いタスクがCP
Uを使用しているので、このタスクは待機状態に入る。
時間5において、優先度10のタスクが実行可能状態と
なる。このタスクは、優先度20のタスクよりも優先度
が高いので、直ちにCPUを受け取る。優先度20のタ
スクは、先に実行権を得ており、まだ1ユニットの実行
時間を残しているので、待機状態に入る。時間7におい
て、優先度10のタスクが終了すると、優先度20のタ
スクは実行を再開し、時間8において終了する。この時
点で、優先度30のタスクは、最後にCPUを受け取
り、1ユニットの時間後に、その仕事を終了する。
【0010】まず、タイミングデータは、表1に示され
るような単純なテーブルに変換される。このテーブル
は、3つの負荷計測/性能予測のセクションの各々で使
用される。テーブルの行方向は優先度、列方向は時間を
表わし、は実行中、×は非実行、Wは待機中を意味す
る。
【0011】
【表1】
【0012】利用率計測のセクション 利用率計測の計算をするために、優先レベルの各々に対
するCPUの利用状況が調べられる。この例では、CP
Uは時間1、2及び10の間を除いて、すなわち、70
%の時間は使用されていた。しかしながら、優先度30
のタスクにとっては、CPUは60%の時間のみ利用不
可能であった。同様に、優先度20のタスクにとって
は、20%の時間だけCPUは使用され、80%の時間
は利用可能であった。したがって、CPUの利用率計測
モジュールの出力は、表2に示されるようなテーブルと
なるであろう。優先度の値が255に対応する負荷は、
生のCPUの利用率に対応していることに注意された
い。
【0013】
【表2】
【0014】潜在負荷の予測計算のセクション 潜在負荷を予測計算するために、或る事象が異なる時点
の各々で起こったとしたときに観測されるであろう潜在
負荷が計算される。例えば、優先度30のタスクが時間
1又は2において実行を要求されると、このタスクは直
ちにCPUを受け取るであろう。反対に、このタスクが
時間5においてCPUを必要とした場合には、3ユニッ
トの時間は待たなくてはならなかったであろう。それ
故、10ユニットの時間にわたる平均的な潜在負荷は、
(0+0+6+5+4+3+2+1+0+0)/10=
2.1ユニットの時間となる。優先度20のタスクに対
する平均的な潜在負荷は、(0+0+0+0+0+2+
1+0+0+0)/10=0.3ユニットの時間とな
る。優先度10のタスクに対する平均的な潜在負荷は0
である。なぜなら、CPUを使用していた、それよりも
上位のタスクは存在しないから。潜在負荷の予測モジュ
ールの出力は、表3に示されるようになるであろう。
【0015】
【表3】
【0016】待ち時間の予測計算セクション 待ち時間の予測計算のために、或る事象が異なる時点の
各々で起こったとしたときに観測されるであろう待ち時
間が計算される。例えば、優先度20のタスクが1、2
又は7の時間でスタートすれば、待ち時間は0であろ
う。他の場合には、2ユニットの待ち時間となるであろ
う。故に、待ち時間の予測値は、(0+0+2+2+2
+2+0)/7=1.14ユニットの時間となる。時間
8以降でのスタートについては、計算できないことに注
意されたい。なぜなら、タスクが現在の時間とオーバー
ラップするであろうから。また、潜在時間は待ち時間の
計算には含まれていないことに注意されたい。最後に、
最も低い優先度の計算については、使用されたタスクの
期間は、優先度30のタスクの時間(1ユニット)と同
じであると仮定され、それ故、待ち時間は依然として0
であることに注意されたい。この例の出力テーブルは、
表4のようになるであろう。
【0017】
【表4】
【0018】各CPUは、上に説明した情報を管理して
おり、周期的にそれを更新したり、古い情報を廃棄した
りする。これらの数値は、2つの主な目的を有する。1
つは単にCPU負荷状態のモニターとしてであり、それ
は、システムのパフォーマンスの異常を検出するのに有
益であり得る。他の目的は、負荷均衡化システムの入力
としてである。
【0019】このシステムには、2つの基本的な形態が
ある。1つは、CPU間の通信が低速な状況において有
益であるが、そのスケジューリングの方針については正
確さにおいて劣る。第2のものは、高速なプロセッサ間
通信が可能なときに有益であり、プロセッサ間で交換さ
れる情報量が増加することにより、より正確なものとな
る。以下、それぞれの場合の実施例について説明する。
【0020】
【実施例】
(A)低速法の実施例 この方法では、その全体的な負荷が所定のスレショルド
よりも少ないプロセッサ群のみが、それらの負荷テーブ
ル(表2に示されるような)を他のすべてのノードに一
斉同報送信する。そのとき、負荷の重いノードは、自己
が知る無負荷のノードについての情報に従って、自己の
タスク群の1つを引き継ぐことをそのノードに要求す
る。
【0021】一例として、図2に示される簡単な例を考
える。この例は、3つのノードを有しており、負荷評価
システムは、CPU利用率のみを用いる。この例では、
ノード1は、その上で実行される3つのタスクを有して
いる。高優先度のタスクはCPUの時間の20%を取っ
ており、中優先度のタスクはCPUの時間の10%を取
っており、低優先度のタスクはCPUの時間の60%を
取っている。ノード2及び3の負荷は軽く、それ故、こ
れら両者は、現時点の自己の利用率テーブルを一斉同報
送信する。ノード1は中優先度のジョブを他のノードに
送りたい。なぜなら、その高優先度のジョブが中優先度
のジョブについて緩慢な応答を引き起こしているからで
ある。従来の負荷均衡化システムでは、全体の利用率の
値が小さい方のノード2にジョブを送る傾向があった。
このことは、実際には、中優先度のノードのパフォーマ
ンスの低下を招いている。なぜなら、ノード2の高優先
度のプロセスはCPUの時間の30%を取っているから
である。しかし、中優先度のジョブは、ノード3上で
は、もっと良い応答を得られるであろうということをノ
ード1は理解している。そして、それ故に、図3に示さ
れるように、ジョブをノード3に送る。現実の利用分布
は多く変更されていないけれども、中優先度のタスクの
パフォーマンスは、ノード3にシフトすることによっ
て、かなりの程度、改善されるに違いないことに注意さ
れたい。
【0022】(B)高速法の実施例 この方法では、各プロセッサは、自己のタイミング情報
を(負荷測定情報の代わりに)マスタープロセッサに送
る。そのタイミング情報は、(表1に示されるような)
タイミングテーブルを含み、また、将来のプロセッサの
タスク群についてのタイミング要求について既知の任意
の情報をも含んでいる。このマスタープロセッサは、送
られてきたタイミングプロフィールを検討して、自己が
受信した情報に基づいて、すべてのプロセッサのために
最適のジョブの配置を決定する。タイミング情報を送信
するのに必要な帯域幅のために、高速のプロセス間通信
が必要である。この結果、より効率的な配置を選択する
ことができ、全体的なパフォーマンスを改善できる。
【0023】この方法は、図4に示される。ノード1は
マスターのノードであり、自分自身のタイミングデータ
を処理すると共に、ノード2及び3から送られてきたタ
イミングデータも処理する。マスターが一度データを処
理すると、図5に示されるように、マスターは選択され
た配置を一斉同報送信し、そのとき、各ノードは、マス
ターのノードによって選択されたように、ジョブを引き
継ぐ。
【0024】
【発明の効果】このシステムでは、負荷計算において実
行中のタスクの優先度を用いることによって、生のCP
Uの利用と優先度に基づくCPUの利用との間に明瞭な
区別をつけることができ、より正確に各CPUの真の振
る舞いを記述できる。その結果、複数のタスクは、それ
らの優先度に基づいて、より正確に分配され、システム
のパフォーマンスと全体的なスループットを改善でき
る。
【図面の簡単な説明】
【図1】本発明の監視方法によるマルチタスクの監視状
況を示す説明図である。
【図2】本発明の監視方法を低速なプロセッサ通信によ
るマルチプロセッサシステムに適用した場合のジョブの
再分配前の状態を示す説明図である。
【図3】本発明の監視方法による低速なプロセッサ通信
によるマルチプロセッサシステムに適用した場合のジョ
ブの再分配後の状態を示す説明図である。
【図4】本発明の監視方法を高速なプロセッサ通信によ
るマルチプロセッサシステムに適用した場合のマスター
プロセッサへの情報の流れを示す説明図である。
【図5】本発明の監視方法を高速なプロセッサ通信によ
るマルチプロセッサシステムに適用した場合のマスター
プロセッサからの情報の流れを示す説明図である。
【符号の説明】
1〜3 ノード

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサを用いて分散処理を
    行うシステムの負荷状態を各処理の優先度に基づいて監
    視する方法において、事象に対して速やかに応答するシ
    ステムの能力の予測値を評価対象とすることを特徴とす
    るマルチプロセッサの監視方法。
  2. 【請求項2】 複数のプロセッサを用いて分散処理を
    行うシステムの負荷状態を各処理の優先度に基づいて監
    視する方法において、プロセッサを必要とするタスク群
    に、十分なプロセッサの時間を割り当てるシステムの能
    力の予測値を評価対象とすることを特徴とするマルチプ
    ロセッサの監視方法。
  3. 【請求項3】 複数のプロセッサを用いて分散処理を
    行うシステムの負荷状態を各処理の優先度に基づいて監
    視する方法において、より優先度の高いタスクによる現
    時点でのシステムの利用状況を評価対象とすることを特
    徴とするマルチプロセッサの監視方法。
  4. 【請求項4】 請求項1乃至3の評価対象のうち少な
    くとも1つ以上に基づいて複数のプロセッサの間で効率
    的に処理を分配することを特徴とするマルチプロセッサ
    の監視方法。
JP16493796A 1996-06-25 1996-06-25 マルチプロセッサの監視方法 Pending JPH1011407A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16493796A JPH1011407A (ja) 1996-06-25 1996-06-25 マルチプロセッサの監視方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16493796A JPH1011407A (ja) 1996-06-25 1996-06-25 マルチプロセッサの監視方法

Publications (1)

Publication Number Publication Date
JPH1011407A true JPH1011407A (ja) 1998-01-16

Family

ID=15802683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16493796A Pending JPH1011407A (ja) 1996-06-25 1996-06-25 マルチプロセッサの監視方法

Country Status (1)

Country Link
JP (1) JPH1011407A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986139B1 (en) 1999-10-06 2006-01-10 Nec Corporation Load balancing method and system based on estimated elongation rates
KR100943023B1 (ko) * 2001-07-12 2010-02-18 쌩-고벵 글래스 프랑스 가변적인 광학 특성을 갖고 투과시 작동하는 백프로젝션 스크린

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986139B1 (en) 1999-10-06 2006-01-10 Nec Corporation Load balancing method and system based on estimated elongation rates
KR100943023B1 (ko) * 2001-07-12 2010-02-18 쌩-고벵 글래스 프랑스 가변적인 광학 특성을 갖고 투과시 작동하는 백프로젝션 스크린

Similar Documents

Publication Publication Date Title
USRE44686E1 (en) Dynamically modifying the resources of a virtual server
JP2940450B2 (ja) クラスタ型コンピュータのジョブスケジュール方法及び装置
Ni et al. A distributed drafting algorithm for load balancing
US7062768B2 (en) Dynamic load-distributed computer system using estimated expansion ratios and load-distributing method therefor
US7117499B2 (en) Virtual computer systems and computer virtualization programs
JP4961833B2 (ja) クラスタシステム、負荷分散方法、最適化クライアントプログラム、及び調停サーバプログラム
US8219997B2 (en) Execution the job that is divided into job tasks based on the estimated completion time
WO2008118290A1 (en) Computing the processor desires of jobs in an adaptively parallel scheduling environment
US11438271B2 (en) Method, electronic device and computer program product of load balancing
JPWO2009150815A1 (ja) マルチプロセッサシステム
KR101694302B1 (ko) 이기종 멀티코어 프로세서 시스템의 관리 장치 및 방법
CN116010064A (zh) Dag作业调度和集群管理的方法、系统及装置
JP6477260B2 (ja) アプリケーションを実行する方法及びリソースマネジャ
JPH1011407A (ja) マルチプロセッサの監視方法
Lynch et al. The OS/VS2 release 2 system resources manager
CN113366444A (zh) 信息处理装置、信息处理系统、程序和信息处理方法
JP5045576B2 (ja) マルチプロセッサシステム及びプログラム実行方法
JP3660376B2 (ja) 分散処理システムおよび分散処理システムにおける負荷分散方法
JPH11195007A (ja) 分散処理システム及び分散処理方法
JPH09179834A (ja) 並列システムにおけるプロセスのスケジューリング方法
JPH07234847A (ja) ジョブのスケジューリング方法
JPH1124949A (ja) 並列処理制御装置
JPH07225746A (ja) 動的負荷分散方法
Qin et al. A simulator for job co-allocation in multiple HPC clusters
JPH09311795A (ja) スケジュール方法