JPH09269903A - プロセス管理方式 - Google Patents

プロセス管理方式

Info

Publication number
JPH09269903A
JPH09269903A JP8079826A JP7982696A JPH09269903A JP H09269903 A JPH09269903 A JP H09269903A JP 8079826 A JP8079826 A JP 8079826A JP 7982696 A JP7982696 A JP 7982696A JP H09269903 A JPH09269903 A JP H09269903A
Authority
JP
Japan
Prior art keywords
processor
run queue
processors
management method
selects
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
JP8079826A
Other languages
English (en)
Inventor
Yutaka Enko
豊 円光
Toshiaki Arai
利明 新井
Hiroki Yamamoto
礼己 山本
Tadashi Shoji
直史 庄司
Tomonori Sekiguchi
知紀 関口
Tsutomu Noda
努 野田
Takeshi Watanabe
毅 渡辺
Tetsuya Mochida
哲也 持田
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 Ltd
Original Assignee
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 Ltd filed Critical Hitachi Ltd
Priority to JP8079826A priority Critical patent/JPH09269903A/ja
Priority to US08/831,303 priority patent/US6078944A/en
Publication of JPH09269903A publication Critical patent/JPH09269903A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【課題】共有メモリ型マルチプロセッサにおけるプロセ
スの実行並列度を向上させる。 【解決手段】プロセッサ101〜104毎に実行可能状
態のプロセスを保持するランキュー111〜114を備
え、各々のプロセッサが自分自身の実行状況を監視して
ランキュー111〜114の再構成を他のプロセッサに
通知する監視ステップ120と、通知を受けた時にラン
キューを再構成する再構成ステップ130を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッサ
が主記憶を共有し、各々のプロセッサは実行可能な状態
のプロセスを保持するランキューからプロセスを取り出
して実行する共有メモリ型マルチプロセッサ計算機のプ
ロセス管理方式に関する。
【0002】
【従来の技術】複数のプロセッサ(Processor Element:
演算処理装置)が互いに接続され、各プロセッサが演算
処理を並列に行なう計算機システムはマルチプロセッサ
(MultiProcessor)システムとよばれる。 その中で、各
プロセッサが共通のバスを介してメモリ(情報記憶手
段)を共有するものは、メモリ共有型あるいは密結合型
マルチプロセッサ( TCMP = Tightly Coupled Multi Pro
cessor)システムとよばれる。(Computer Architecture
: Design and Performance, Barry Wilkinson,1991,Pr
enticeHall) 以下では、メモリ共有型マルチプロセッサシステムを、
単にマルチプロセッサシステムとよぶ。
【0003】プロセスはプログラムに基づく計算実行の
論理的な単位であり、プログラムカウンタ、スタック、
外部変数、ファイル記述子、シグナル等をプロセス毎に
独立して管理する。
【0004】スレッドはプロセッサによるプロセスの実
行単位である。スレッドはいずれかのプロセスに含ま
れ、プロセスは一つあるいは複数のスレッドを含む。
【0005】各スレッドはプログラムカウンタ、スタッ
クおよびスレッド管理テーブルをスレッド毎に管理し、
プログラム、外部変数、ファイル記述子その他の情報を
プロセス内の他のスレッドと共有する。(シグナルをプ
ロセス単位で扱うか、スレッド単位で扱うかについては
実装例により異なる。) 通常、マルチプロセッサシステムでは、複数のプロセス
あるいはスレッドを各プロセッサ毎に並列に実行する、
マルチプロセスあるいはマルチスレッド制御をおこな
う。
【0006】マルチプロセス方式のマルチプロセッサ計
算機の各プロセッサは、各々並列に自分自身に割り当て
られたプロセスを切り替えながら実行する。
【0007】各プロセッサが実行するプロセスの管理に
は、ランキューと呼ばれるデータ構造を用いる。
【0008】ランキューは実行可能な状態のプロセス
(何らかの事象を待って休眠しているプロセスおよび、
プロセッサによって実行中のプロセスではない)を管理
する。
【0009】通常、プロセス切替および各ランキューへ
のプロセスの出し入れはシステム中で動作するOS(オペ
レーティングシステム)がおこなう。マルチプロセッサ
システム上でマルチプロセス制御を行なうOSについて
は、Modern Operationg Systems,Andrew S.Tanenbaum,P
renticeHall,1992に記述がある。
【0010】システムでは、マルチプロセッサの並列度
を高め、システムのスループットを向上するため、プロ
セッサ間での負荷をなるべく均一に保つための技術が存
在する。その一つに、プロセスのプロセッサ間マイグレ
ーション(移送)の技術がある。
【0011】マイグレーションを行なわない場合、プロ
セスが生成されてから消滅するまでの間、プロセスを実
行するプロセッサは、そのプロセスを生成したプロセッ
サに固定されるが、プロセスマイグレーションを行なう
場合、プロセス生成後から消滅するまでの間に実行する
プロセッサを変更する、すなわちプロセスをプロセッサ
間で移動する。
【0012】プロセスマイグレーションを使えば、負荷
の高いプロセッサから低いプロセッサへプロセスを移送
(マイグレート)することによって、プロセッサ間でプ
ロセス負荷の偏りを緩和し、負荷バランスを調節するこ
とが可能である。
【0013】(プロセスマイグレーションには、コンパ
イラにより静的に行われるものと、システムがプロセス
実行時にマイグレーションを判断し行なうものがある
が、ここでは特に、コンパイラ等に依らず、実行時にマ
イグレーションを決定する、動的な負荷分散を行なうシ
ステムについて述べる。) ネットワークを介して相互に接続されたプロセッサ間に
於けるマイグレーションの例としては、Mach Operating
System文献[ Load Distribution on Microkernels; D.
Milojicic,P.Giese,W.Zint; IEEE Workshop on Future
Trend in Distributed Computing; Lisbon,Portugul,Se
ptember 1993 ]および、[ Experienceswith load distr
ibution on top of the mach microkernel; D.S.Miloji
cic,P.Giese,and W.Zint; 4th Symposium on Experienc
es with Distributed and Multiprocessor Systems; Sa
n Diego, September 1993 ] では、負荷の低いプロセッ
サ(受け側)が負荷の高いプロセッサ(送出側)に対し
てプロセスのマイグレーションを要求するReceiver Ini
tiate方式のプロセス・マイグレーションが述べられて
いる。また同例では、負荷の送り手/受け手となるプロ
セッサの選択基準にプロセス数およびプロセス間通信の
頻度を用いた実装例が示されている。
【0014】
【発明が解決しようとする課題】公知例に於けるプロセ
スマイグレーションでは、主にネットワークを介して相
互に接続された計算機のマイグレーションについて述べ
られている。これに対して密結合マルチプロセッサのよ
うに、プロセッサ間のデータ転送が共有メモリを介して
行なわれるモデルでは、ネットワークを介して行われる
それと条件が異なる。
【0015】例えば、ネットワークを介した計算機の場
合、計算機の負荷バランスの情報を収集し、特定のノー
ド間でマイグレーションを行なうことを決定しても、マ
イグレーションが完了するまでの間に比較的長い時間を
要するため、その間にシステムの負荷バランスが変動
し、効果の小さいあるいは不必要なマイグレーションを
実行してしまう可能性がある。このため、長時間継続し
た負荷の偏りに対してのみマイグレーションを行なう必
要がある。また、マイグレーションあたりのオーバヘッ
ドが大きいため、システム全体のスループットに与える
影響を考慮しなければならない。
【0016】密結合マルチプロセッサの場合、ネットワ
ークに比べノード間でプロセスをマイグレートするため
のオーバーヘッド(コスト)が小さい。また、マイグレ
ーションを完了するまでの時間が短い。このため、スト
ラテジも負荷の変動に対してより頻繁にマイグレーショ
ンを行なう方法が採用できる。
【0017】
【課題を解決するための手段】本発明のプロセス制御シ
ステムを備えたマルチプロセス方式の共有メモリ型マル
チプロセッサ計算機は、図1に示すように複数のプロセ
ッサ101,102,103,104が主記憶140を共有し、各々のプロ
セッサは、実行可能な状態のプロセスを保持するデータ
構造(ランキュー)140を備え、さらに上記の課題を解
決するため、各々のプロセッサに対して、プロセッサの
実行状況を監視し、ランキューの再構成を通知する監視
手段120と、通知を受けた時に、ランキューを再構成す
る再構成手段130とを備える。
【0018】上記手段を備えた計算機で、監視手段は、
複数のプロセッサのいずれかのプロセッサで実行するプ
ロセスが無くなった場合に、プロセッサをプロセス移送
先プロセッサとして、再構成手段に対し、再構成の通知
を実施する。(図3) または監視手段は、複数のプロセッサのいずれかのプロ
セッサで実行するプロセスが無くなり、かつその状態が
あらかじめ決められた時間以上続いた場合に、プロセッ
サをプロセス移送先プロセッサとして、再構成手段に対
し、再構成の通知を実施する。(図4) または監視手段は、あらかじめ決められたインタバル毎
に複数のプロセッサの利用率を計算し、いずれかのプロ
セッサの利用率が閾値以下の場合に、前記プロセッサを
プロセス移送先プロセッサとして、再構成手段に対し、
再構成の通知を実施する。(図5) または監視手段は、あらかじめ決められたインタバル毎
に複数のプロセッサの利用率を計算し、いずれかのプロ
セッサの利用率が第一の閾値以下であり、かつ、いずれ
かのプロセッサの利用率が第二の閾値以上である場合
に、利用率が第一の閾値以下の前記プロセッサをプロセ
ス移送先プロセッサとして、再構成手段に対し、再構成
の通知を実施する。(図6) さらに、監視手段からの通知を受けた時に、手段に於け
る再構成手段は、最大の長さの専用ランキューに含まれ
るプロセスの中から、最も長い間プロセッサで実行され
ていないプロセスを選択して、プロセス移送プロセッサ
のランキューに移す。(図7) または再構成手段は、複数のプロセッサの中で最大の利
用率のプロセッサの専用ランキューに含まれるプロセス
の中から、最も長い間プロセッサで実行されていないプ
ロセスを選択して、プロセス移送プロセッサのランキュ
ーに移す。(図8) または再構成手段は、複数のプロセッサの中で最大の利
用率のプロセッサの専用ランキューに含まれるプロセス
の中から、プロセスが生成された後、計算機内で発生す
る事象を待って休眠した回数が最小のプロセスを選択し
て、プロセス移送プロセッサのランキューに移す。(図
9) または再構成手段は、複数のプロセッサの中で最大の利
用率のプロセッサの専用ランキューに含まれるプロセス
の中から、プロセッサ占有率の最も高いプロセスを選択
して、プロセス移送プロセッサのランキューに移す。
(図10) または再構成手段は、複数のプロセッサの中で最大の利
用率のプロセッサの専用ランキューに含まれるプロセス
の中から、プロセッサ占有率の最も低いプロセスを選択
して、プロセス移送プロセッサのランキューに移す。
(図11) または再構成手段は、複数のプロセッサの中で最大の利
用率のプロセッサの専用ランキューに含まれるプロセス
の中から、ワーキングセットサイズの最も小さいプロセ
スを選択して、プロセス移送プロセッサのランキューに
移す。(図12) または再構成手段は、複数のプロセッサの中で最大の利
用率のプロセッサの専用ランキューに含まれるプロセス
の中から、ワーキングセットサイズの最も大きいプロセ
スを選択して、プロセス移送プロセッサのランキューに
移す。(図13)
【0019】
【発明の実施の形態】図1に本発明の方法によりプロセ
スを管理する計算機システムの全体の構成図を示す。本
計算機は複数のプロセッサ101,102,103,104を備え、各
プロセッサは主記憶140を共有しており、各プロセッサ
毎に専用のランキュー111,112,113,114を主記憶中に備
えている。
【0020】各プロセッサは実行可能な状態のプロセス
を保持するランキューからプロセスを取り出して実行す
る。
【0021】本発明によるプロセス管理方法は、主記憶
上のプログラムとして実装されており、監視手段120と
ランキュー再構成手段130がプロセスを管理する。
【0022】図1中の実線は動作実行の流れの向きを示
し、破線はデータ構造の制御の向きを示す。
【0023】図1の監視手段が実行するステップの例を
図3に示す。
【0024】本監視ステップは、各プロセッサが、実行
するプロセスがなくなった場合に起動する。監視ステッ
プは本来アイドル状態となったプロセッサが実行するた
め、同ステップの実行はシステム本来の性能を低下させ
ない。
【0025】本監視ステップ図3で、監視手段は本ステ
ップを呼出したプロセッサを移送先プロセッサとし(30
1)、再構成手段を呼び出す302。
【0026】次に、再構成手段の実行するステップを図
7に示す。本例の再構成手段は、システム中最大の長さ
のランキューを選択し(701)、同ランキューの中から最
も長い間プロセッサで実行されていないプロセスを選択
し(702)、同プロセスを移送先プロセッサ(監視手段に
より指定)のランキューへ移送する(703)。
【0027】なお、プロセスをランキュー間で移動させ
る間、再構成ステップは、移送元および移送先のランキ
ューをロックし、他のステップが同データ構造(ランキ
ュー)をアクセスしないよう排他制御しなければならな
い。
【0028】ステップ中、ランキューの中から最も長い
間プロセッサで実行されていないプロセスを選択するス
テップ(702)がプロセスを選択するために、本実施例の
計算機が備える手段を図2に示す。
【0029】図2のプロセス選択手段はランキューの中
から最も長い間プロセッサで実行されていないプロセス
を選択するため、ヒストリキューヘッダ220を先頭とし
たヒストリキュー(図中破線によるリスト201,204,205,2
03,202)を各ランキュー210に対応して備える。
【0030】図2に示すプロセス選択手段は、システム
中の1プロセッサに対応するものであり、システム全体
には、これがプロセッサ毎に備わる。
【0031】各プロセッサは、プロセスをディスパッチ
する毎に、ディスパッチ先プロセスを自分自身に対応す
るヒストリキューの先頭に追加する。これによりヒスト
リキューは、対応する各プロセッサのディスパッチ・プ
ロセスをリスト構造によりディスパッチ順に保持する。
再構成ステップは、ランキュー中の各プロセスについ
て、ヒストリキューの先頭からのエントリ位置(先頭か
ら数えて何番めに保持されているか)を比較することに
よって、各プロセスがプロセッサにより最後にディスパ
ッチされてからの経過時間の長さを比較することができ
る。すなわち、ランキュー上のプロセスの中から、ヒス
トリキューの先頭からの位置が最も後方のプロセス(図
中では202)を選択することにより、最も長い間プロセ
ッサで実行されていないプロセスを選択することができ
る。
【0032】さらに、監視ステップの別の実施例を図4
に示す。本ステップは、各プロセッサが、実行するプロ
セスがなくなった場合に起動する。プロセッサはプロセ
スなしの状態を一定時間ウェイトして待つ(401)。待ち
状態の間に実行可能なプロセスが出現すると、プロセッ
サは監視ステップを終了する。プロセスなしの状態が一
定時間継続した場合、プロセッサを移送先プロセッサと
して再構成ステップを呼び出す(402)。
【0033】さらに、監視ステップの別の実施例を図5
に示す。本例では、各プロセッサがインタバル毎(一定
時間毎)に起動される。プロセッサは、利用率が閾値以
下の場合(501)、プロセッサを移送先プロセッサとし(50
2)、再構成ステップを呼び出す(503)。
【0034】さらに、監視ステップの第四の実施例を図
6に示す。本例では、各プロセッサがインタバル毎(一
定時間毎)に起動される。プロセッサはプロセッサ利用
率が第1の閾値以下であるか判定する(601)。同判定が
偽(No)である場合、監視ステップを終了する。同判定が
真(Yes)である場合、次に、プロセッサ利用率が弟2の
閾値以下のプロセッサがあるか判定する(602)。同判定
が偽(No)である場合、監視ステップを終了する。同判定
が真(Yes)である場合、利用率が第1の閾値以下のプロ
セッサを移送先プロセッサとし(603)、利用率が第2の
閾値以上のプロセッサを移送元プロセッサとし(604)、
再構成ステップを呼び出す(605)。
【0035】次に、各監視手段を備えたプロセス管理方
法で、再構成ステップの別の実施例を図8に示す。本再
構成ステップは本再構成ステップは監視ステップから呼
び出され、システム中の利用率が最大のプロセッサのラ
ンキューを選択し(801)、同ランキューの中から最も長
い間プロセッサで実行されていないプロセスを選択し(8
02)、同プロセスを移送先ランキューへ移送する(803)。
【0036】さらに、再構成ステップの第三の実施例を
図9に示す。本再構成ステップは監視ステップから呼び
出され、システム中の利用率が最大のプロセッサのラン
キューを選択し(901)、同ランキューの中から最も休眠
回数が最小のプロセスを選択し(902)、同プロセスを移
送先ランキューへ移送する(903)。
【0037】さらに、再構成ステップの第四の実施例を
図10に示す。本再構成ステップは監視ステップから呼
び出され、システム中の利用率が最大のプロセッサのラ
ンキューを選択し(1001)、同ランキューの中からプロセ
ッサ占有率が最も高いプロセスを選択し(1002)、同プロ
セスを移送先ランキューへ移送する(1003)。
【0038】さらに、再構成ステップの第五の実施例を
図11に示す。本再構成ステップは監視ステップから呼
び出され、システム中の利用率が最大のプロセッサのラ
ンキューを選択し(1101)、同ランキューの中からプロセ
ッサ占有率が最も低いプロセスを選択し(1102)、同プロ
セスを移送先ランキューへ移送する(1103)。
【0039】さらに、再構成ステップの第六の実施例を
図12に示す。本再構成ステップは監視ステップから呼
び出され、システム中の利用率が最大のプロセッサのラ
ンキューを選択し(1201)、同ランキューの中からワーキ
ングセットが最小のプロセスを選択し(1202)、同プロセ
スを移送先ランキューへ移送する(1203)。
【0040】さらに、再構成ステップの第七の実施例を
図13に示す。本再構成ステップは監視ステップから呼
び出され、システム中の利用率が最大のプロセッサのラ
ンキューを選択し(1301)、同ランキューの中からワーキ
ングセットが最大のプロセスを選択し(1302)、同プロセ
スを移送先ランキューへ移送する(1303)。
【0041】
【発明の効果】各々のプロセッサが実行可能な状態のプ
ロセスを保持するランキューを備えることにより、再構
成ステップがランキューをアクセスする間を除けば、各
プロセッサは並列に実行プロセスを各ランキューから取
り出すことができる。このためシステム実行の並列度は
向上する。
【0042】さらに、監視ステップが、プロセッサが実
行するプロセスがなくなった場合に再構成ステップを呼
び出す場合、マイグレーションは本来アイドル状態のプ
ロセッサで実行され、このためマイグレーションを行な
わない時に比べてシステムのスループットを低下させな
い。
【0043】さらに、監視ステップが、プロセッサが実
行するプロセスがなくなり、かつその状態があらかじめ
決められた時間以上続いた場合に再構成ステップを呼び
出す場合、上記効果に加え、無駄なマイグレーションが
生じる可能性が低くなる。
【0044】また、監視ステップがあらかじめ決められ
たインタバル毎にプロセッサの利用率を計算し、プロセ
ッサの利用率を閾値と比較し、再構成ステップに通知す
る場合、マイグレーションコストが時間軸に対して均一
化され、システム内の負荷が急激に変動するのを避ける
ことができる。
【0045】また、再構成ステップが最も長い間プロセ
ッサで実行されていないプロセス、あるいは、プロセッ
サ占有率の低いプロセス、あるいは、ワーキングセット
の小さいプロセスをマイグレートした場合、プロセッサ
毎のプライベートキャッシュ内の残情報の少ないプロセ
スを選択し、キャッシュのコヒーレンシ制御に伴うオー
バーヘッドを軽減する。
【0046】また、再構成ステップが休眠回数の少ない
プロセス、あるいは、プロセッサ占有率の高いプロセ
ス、あるいは、ワーキングセットの大きなプロセスを選
択した場合、マイグレーションの回数あたりの効果を大
きくすることができ、少ないマイグレーション回数で負
荷バランスをとることができる。
【図面の簡単な説明】
【図1】本発明による計算機システムのブロック図。
【図2】本発明による計算機システムのプロセスキュー
およびヒストリキューの実施例の説明図。
【図3】監視ステップの一実施例のフローチャート。
【図4】監視ステップの第二実施例のフローチャート。
【図5】監視ステップの第三実施例のフローチャート。
【図6】監視ステップの第四実施例のフローチャート。
【図7】再構成ステップの一実施例のフローチャート。
【図8】再構成ステップの第二実施例のフローチャー
ト。
【図9】再構成ステップの第三実施例のフローチャー
ト。
【図10】再構成ステップの第四実施例のフローチャー
ト。
【図11】再構成ステップの第五実施例のフローチャー
ト。
【図12】再構成ステップの第六実施例のフローチャー
ト。
【図13】再構成ステップの第七実施例のフローチャー
ト。
【符号の説明】
101,102,103,104…プロセッサ、 111,112,113,114…ランキュー、 120…監視手段、 130…ランキュー再構成ステップ、 140…共有メモリ。
フロントページの続き (72)発明者 庄司 直史 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内 (72)発明者 関口 知紀 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内 (72)発明者 野田 努 神奈川県横浜市戸塚区戸塚町5030番地株式 会社日立製作所ソフトウェア開発本部内 (72)発明者 渡辺 毅 神奈川県海老名市下今泉810番地株式会社 日立製作所オフィスシステム事業部内 (72)発明者 持田 哲也 神奈川県海老名市下今泉810番地株式会社 日立製作所オフィスシステム事業部内

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサが主記憶を共有し、各々
    の前記プロセッサは実行可能な状態のプロセスを保持す
    るランキューからプロセスを取り出して実行する共有メ
    モリ型マルチプロセッサ計算機のプロセス管理方式にお
    いて、前記各プロセッサ毎に専用のランキューを設け、
    前記各プロセッサは前記各々のランキューからプロセス
    を取り出して実行することを特徴とするプロセス管理方
    式。
  2. 【請求項2】請求項1において、前記各々のプロセッサ
    が自分自身の実行状況および前記ランキューを監視して
    前記専用のランキューの再構成を通知する監視ステップ
    と、前記通知を受けた時に他のプロセッサのランキュー
    および前記専用ランキューを再構成する再構成ステップ
    を有するプロセス管理方式。
  3. 【請求項3】請求項2において、前記監視ステップは、
    前記プロセッサで実行するプロセスがなくなった場合
    に、前記プロセッサをプロセス移送先プロセッサとして
    再構成の通知を実施するプロセス管理方式。
  4. 【請求項4】請求項2において、前記監視ステップは、
    前記プロセッサで実行するプロセスがなくなり、その状
    態があらかじめ決められた時間以上続いた場合に、前記
    プロセッサをプロセス移送先プロセッサとして前記再構
    成の通知を実施するプロセス管理方式。
  5. 【請求項5】請求項2において、前記監視ステップは、
    あらかじめ決められたインタバル毎に前記プロセッサの
    利用率を計算し、前記プロセッサの利用率が閾値以下の
    場合に、前記プロセッサをプロセス移送先プロセッサと
    して前記再構成の通知を実施するプロセス管理方式。
  6. 【請求項6】請求項2において、前記監視ステップは、
    あらかじめ決められたインタバル毎に前記プロセッサの
    利用率を計算し、前記プロセッサの利用率が第一の閾値
    以下であり、いずれかの前記プロセッサの利用率が第二
    の閾値以上である場合に、利用率が第一の閾値以下のプ
    ロセッサをプロセス移送先プロセッサとして前記再構成
    の通知を実施するプロセス管理方式。
  7. 【請求項7】請求項3、4、5または6において、前記
    再構成ステップは、最大の長さの専用ランキューに含ま
    れるプロセスの中から、最も長い間プロセッサで実行さ
    れていないプロセスを選択して、プロセス移送プロセッ
    サのランキューに移すプロセス管理方式。
  8. 【請求項8】請求項3、4、5または6において、前記
    再構成ステップは、前記複数のプロセッサの中で最大の
    利用率のプロセッサの専用ランキューに含まれるプロセ
    スの中から、最も長い間プロセッサで実行されていない
    プロセスを選択して、プロセス移送プロセッサのランキ
    ューに移すプロセス管理方式。
  9. 【請求項9】請求項3、4、5または6において、前記
    再構成ステップは、前記複数のプロセッサの中で最大の
    利用率のプロセッサの専用ランキューに含まれるプロセ
    スの中から、プロセスが生成された後、計算機内で発生
    する事象を待って休眠した回数が最小のプロセスを選択
    して、プロセス移送プロセッサのランキューに移すプロ
    セス管理方式。
  10. 【請求項10】請求項3、4、5または6において、前
    記再構成ステップは、前記複数のプロセッサの中で最大
    の利用率のプロセッサの専用ランキューに含まれるプロ
    セスの中から、プロセッサ占有率の最も高いプロセスを
    選択して、プロセス移送プロセッサのランキューに移す
    プロセス管理方式。
  11. 【請求項11】請求項3、4、5または6において、前
    記再構成ステップは、前記複数のプロセッサの中で最大
    の利用率のプロセッサの専用ランキューに含まれるプロ
    セスの中から、プロセッサ占有率の最も低いプロセスを
    選択して、プロセス移送プロセッサのランキューに移す
    プロセス管理方式。
  12. 【請求項12】請求項3、4、5または6において、前
    記再構成ステップは、前記複数のプロセッサの中で最大
    の利用率のプロセッサの専用ランキューに含まれるプロ
    セスの中から、ワーキングセットサイズの最も小さいプ
    ロセスを選択して、プロセス移送プロセッサのランキュ
    ーに移すプロセス管理方式。
  13. 【請求項13】請求項3、4、5または6において、再
    構成ステップは、前記複数のプロセッサの中で最大の利
    用率のプロセッサの専用ランキューに含まれるプロセス
    の中から、ワーキングセットサイズの最も大きいプロセ
    スを選択して、プロセス移送プロセッサのランキューに
    移すプロセス管理方式。
JP8079826A 1996-04-02 1996-04-02 プロセス管理方式 Pending JPH09269903A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8079826A JPH09269903A (ja) 1996-04-02 1996-04-02 プロセス管理方式
US08/831,303 US6078944A (en) 1996-04-02 1997-04-01 Process management method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8079826A JPH09269903A (ja) 1996-04-02 1996-04-02 プロセス管理方式

Publications (1)

Publication Number Publication Date
JPH09269903A true JPH09269903A (ja) 1997-10-14

Family

ID=13701025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8079826A Pending JPH09269903A (ja) 1996-04-02 1996-04-02 プロセス管理方式

Country Status (2)

Country Link
US (1) US6078944A (ja)
JP (1) JPH09269903A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007502468A (ja) * 2003-08-14 2007-02-08 オラクル・インターナショナル・コーポレイション オンデマンドノードならびにサーバインスタンス割当および割当解除
JP2008234632A (ja) * 2007-03-16 2008-10-02 Sap Ag クライアント・サーバ又はホスティング環境における計算ジョブの多目的配分
JP2009116380A (ja) * 2007-11-01 2009-05-28 Nec Corp 仮想サーバ移動制御装置、仮想サーバ移動制御方法およびプログラム
JP2009211620A (ja) * 2008-03-06 2009-09-17 Hitachi Information Systems Ltd 仮想環境複製方法とシステムおよびプログラム
WO2010093003A1 (ja) * 2009-02-13 2010-08-19 日本電気株式会社 演算資源割当装置、演算資源割当方法、及び、演算資源割当プログラム
US9176772B2 (en) 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167430A (en) * 1998-05-12 2000-12-26 Unisys Corporation Multicomputer with distributed directory and operating system
JP3224782B2 (ja) * 1998-08-03 2001-11-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 処理分担動的変更方法及びコンピュータ
US6324600B1 (en) * 1999-02-19 2001-11-27 International Business Machines Corporation System for controlling movement of data in virtual environment using queued direct input/output device and utilizing finite state machine in main memory with two disjoint sets of states representing host and adapter states
GB2348985A (en) * 1999-04-15 2000-10-18 Ibm Centralized affinity maintenance in a workload managed client/server system
US7996843B2 (en) 1999-08-25 2011-08-09 Qnx Software Systems Gmbh & Co. Kg Symmetric multi-processor system
US7661107B1 (en) * 2000-01-18 2010-02-09 Advanced Micro Devices, Inc. Method and apparatus for dynamic allocation of processing resources
US7398282B2 (en) * 2000-06-16 2008-07-08 Fujitsu Limited System for recording process information of a plurality of systems
US20020099759A1 (en) * 2001-01-24 2002-07-25 Gootherts Paul David Load balancer with starvation avoidance
US7089564B2 (en) * 2001-02-22 2006-08-08 International Business Machines Corporation High-performance memory queue
US7068604B2 (en) * 2001-08-23 2006-06-27 International Business Machines Corporation Managing memory resident queues to control resources of the systems using the queues
US6901533B2 (en) * 2001-08-23 2005-05-31 International Business Machines Corporation Reconstructing memory residents queues of an inactive processor
US7020657B2 (en) * 2001-09-27 2006-03-28 International Business Machines Corporation Scalable hardware scheduler time based calendar search algorithm
JP3683211B2 (ja) * 2001-12-10 2005-08-17 エヌイーシーコンピュータテクノ株式会社 ノード間データ転送方法及びノード間データ転送装置
US7086058B2 (en) * 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots
JP3749208B2 (ja) * 2002-08-14 2006-02-22 株式会社東芝 プロセスマイグレーション方法、計算機
JP2004192052A (ja) 2002-12-06 2004-07-08 Matsushita Electric Ind Co Ltd ソフトウェア処理方法およびソフトウェア処理システム
JP4462479B2 (ja) * 2003-11-27 2010-05-12 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 情報処理装置及び携帯電話端末
US20060037017A1 (en) * 2004-08-12 2006-02-16 International Business Machines Corporation System, apparatus and method of reducing adverse performance impact due to migration of processes from one CPU to another
US8756605B2 (en) * 2004-12-17 2014-06-17 Oracle America, Inc. Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline
US8522194B2 (en) 2005-12-30 2013-08-27 Sap Ag Software modeling
US8095929B1 (en) * 2007-04-16 2012-01-10 Vmware, Inc. Method and system for determining a cost-benefit metric for potential virtual machine migrations
US8447657B2 (en) 2007-12-31 2013-05-21 Sap Ag Architectural design for service procurement application software
US8374896B2 (en) * 2008-09-18 2013-02-12 Sap Ag Architectural design for opportunity management application software
JP5570775B2 (ja) 2008-09-26 2014-08-13 株式会社日立国際電気 基板処理装置のセットアップ方法、基板処理装置により実施される半導体装置の製造方法及び基板処理装置
US8046468B2 (en) * 2009-01-26 2011-10-25 Vmware, Inc. Process demand prediction for distributed power and resource management
US8595731B2 (en) * 2010-02-02 2013-11-26 International Business Machines Corporation Low overhead dynamic thermal management in many-core cluster architecture
US9754056B2 (en) * 2010-06-29 2017-09-05 Exxonmobil Upstream Research Company Method and system for parallel simulation models
US8782645B2 (en) 2011-05-11 2014-07-15 Advanced Micro Devices, Inc. Automatic load balancing for heterogeneous cores
US8683468B2 (en) 2011-05-16 2014-03-25 Advanced Micro Devices, Inc. Automatic kernel migration for heterogeneous cores
CN104239134B (zh) * 2013-06-21 2018-03-09 华为技术有限公司 一种众核系统的任务管理方法和装置
US20150355620A1 (en) * 2014-06-04 2015-12-10 Kinsus Interconnect Technology Corp. Management system for process recipe
US10491524B2 (en) 2017-11-07 2019-11-26 Advanced Micro Devices, Inc. Load balancing scheme
US10740155B1 (en) * 2018-09-28 2020-08-11 Cavium, Llc Methods and systems for load balancing in network devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506987A (en) * 1991-02-01 1996-04-09 Digital Equipment Corporation Affinity scheduling of processes on symmetric multiprocessing systems
US5261053A (en) * 1991-08-19 1993-11-09 Sequent Computer Systems, Inc. Cache affinity scheduler
JP2809962B2 (ja) * 1993-03-02 1998-10-15 株式会社東芝 資源管理方式
US5745778A (en) * 1994-01-26 1998-04-28 Data General Corporation Apparatus and method for improved CPU affinity in a multiprocessor system
US5832262A (en) * 1995-09-14 1998-11-03 Lockheed Martin Corporation Realtime hardware scheduler utilizing processor message passing and queue management cells
US5872972A (en) * 1996-07-05 1999-02-16 Ncr Corporation Method for load balancing a per processor affinity scheduler wherein processes are strictly affinitized to processors and the migration of a process from an affinitized processor to another available processor is limited
US5924097A (en) * 1997-12-23 1999-07-13 Unisys Corporation Balanced input/output task management for use in multiprocessor transaction processing system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007502468A (ja) * 2003-08-14 2007-02-08 オラクル・インターナショナル・コーポレイション オンデマンドノードならびにサーバインスタンス割当および割当解除
US9176772B2 (en) 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions
JP2008234632A (ja) * 2007-03-16 2008-10-02 Sap Ag クライアント・サーバ又はホスティング環境における計算ジョブの多目的配分
JP2009116380A (ja) * 2007-11-01 2009-05-28 Nec Corp 仮想サーバ移動制御装置、仮想サーバ移動制御方法およびプログラム
JP2009211620A (ja) * 2008-03-06 2009-09-17 Hitachi Information Systems Ltd 仮想環境複製方法とシステムおよびプログラム
WO2010093003A1 (ja) * 2009-02-13 2010-08-19 日本電気株式会社 演算資源割当装置、演算資源割当方法、及び、演算資源割当プログラム
JP5322038B2 (ja) * 2009-02-13 2013-10-23 日本電気株式会社 演算資源割当装置、演算資源割当方法、及び、演算資源割当プログラム
US8635405B2 (en) 2009-02-13 2014-01-21 Nec Corporation Computational resource assignment device, computational resource assignment method and computational resource assignment program

Also Published As

Publication number Publication date
US6078944A (en) 2000-06-20

Similar Documents

Publication Publication Date Title
JPH09269903A (ja) プロセス管理方式
US11782870B2 (en) Configurable heterogeneous AI processor with distributed task queues allowing parallel task execution
US11789895B2 (en) On-chip heterogeneous AI processor with distributed tasks queues allowing for parallel task execution
US7159216B2 (en) Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
Zhang et al. Improving distributed workload performance by sharing both CPU and memory resources
US7020879B1 (en) Interrupt and exception handling for multi-streaming digital processors
US6633897B1 (en) Method and system for scheduling threads within a multiprocessor data processing system using an affinity scheduler
US7689996B2 (en) Method to distribute programs using remote Java objects
JP5040773B2 (ja) メモリバッファ割当装置およびプログラム
WO2019223596A1 (zh) 事件处理方法、装置、设备及存储介质
Hac A distributed algorithm for performance improvement through file replication, file migration, and process migration
US5291599A (en) Dispatcher switch for a partitioner
US20120297216A1 (en) Dynamically selecting active polling or timed waits
CN107977271B (zh) 一种数据中心综合管理系统负载均衡方法
CN102081554A (zh) 云计算操作系统及其内核控制系统及方法
Setia et al. Processor scheduling on multiprogrammed, distributed memory parallel computers
US20240152395A1 (en) Resource scheduling method and apparatus, and computing node
JPH06243112A (ja) マルチプロセッサ装置
WO2000070482A1 (en) Interrupt and exception handling for multi-streaming digital processors
JPH05108380A (ja) データ処理システム
JPH0120462B2 (ja)
JPH11102349A (ja) メモリ共有型マルチプロセッサシステムの負荷制御方式
CN111767129B (zh) 数据流任务处理装置及方法
JPH04283849A (ja) マルチプロセッサシステム
WO1992003783A1 (en) Method of implementing kernel functions