JP3150114B2 - ディスパッチ装置及びcpuの割り当て方法ならびにディスパッチ・プログラムを格納した記憶媒体 - Google Patents

ディスパッチ装置及びcpuの割り当て方法ならびにディスパッチ・プログラムを格納した記憶媒体

Info

Publication number
JP3150114B2
JP3150114B2 JP32145398A JP32145398A JP3150114B2 JP 3150114 B2 JP3150114 B2 JP 3150114B2 JP 32145398 A JP32145398 A JP 32145398A JP 32145398 A JP32145398 A JP 32145398A JP 3150114 B2 JP3150114 B2 JP 3150114B2
Authority
JP
Japan
Prior art keywords
queue
cpu
execution time
job
ratio
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
JP32145398A
Other languages
English (en)
Other versions
JP2000132411A (ja
Inventor
雅弘 友野
洋 新国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP32145398A priority Critical patent/JP3150114B2/ja
Publication of JP2000132411A publication Critical patent/JP2000132411A/ja
Application granted granted Critical
Publication of JP3150114B2 publication Critical patent/JP3150114B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】複数のデータ処理装置(以
下、CPU)と該CPUによる処理を待つ複数の実行待
ち行列(以下、キュー)とを備え、ジョブを時分割で実
行するマルチプロセッサ計算機において、CPUとキュ
ーとの割り当て状態を管理してキューイングの制御を行
うディスパッチ装置及びCPUの割り当て方法ならびに
ディスパッチ・プログラムを格納した記憶媒体に関す
る。
【0002】
【従来の技術】複数のCPUと該CPUによる処理を待
つ複数のキューとを備え、ジョブを時分割で実行するマ
ルチプロセッサ計算機における一般的な構成では、各キ
ューは特定のCPUに固定的に対応づけられており、キ
ューとCPUとの対応関係が変化することはない。
【0003】このような構成を有するマルチプロセッサ
計算機において、運用中に、各キューに属しているジョ
ブの数に偏りが生じると、各CPUにおける負荷にも偏
りが発生する。
【0004】この状態になると、各キューにおいて属し
ているジョブの実行効率に差が生じるため、ジョブの処
理時間に遅延を生じたり、同一ジョブでも投入の度にタ
ーンアラウンドタイムが変わるといった事態が生じ、計
算機の性能に影響を及ぼしていた。
【0005】
【発明が解決しようとする課題】上述したように従来の
マルチプロセッサ計算機は、運用中に各キューに属して
いるジョブの数に偏りが生じる場合があり、この場合
に、ターンアラウンドタイムが変動して、計算機の性能
の低下を招くという欠点があった。
【0006】本発明は、上記従来の欠点を解決し、各キ
ューに対するCPUの割り当て状態を管理して動的に制
御し、計算機の運用中に、各キューに属するジョブの数
に偏りが生じないようにすることによって、計算機の性
能の低下を防止するディスパッチ装置及びCPUの割り
当て方法ならびにディスパッチ・プログラムを格納した
記憶媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】上記の目的を達成する本
発明は、マルチプロセッサ計算機における複数のCPU
と複数のキューとの割り当て状態を管理してキューイン
グの制御を行うディスパッチ装置において、前記CPU
がジョブを時分割で実行した実行時間を前記キューごと
累積し、所定のタイミングで、前記キューごとの実行
時間の合計値の比率を算出し、かつ前記CPUの割り当
てが行なわれる度に前記キューごとのジョブの実行時間
の合計値を初期化する実行時間管理手段と、所定のタイ
ミングで、前記実行時間管理手段により算出された前記
キューごとのジョブの実行時間の合計値の比率に応じ
て、前記キューに対して前記CPUの割り当てを行う割
り当て制御手段と、前記所定の設定時間が経過する度
前記実行時間管理手段による前記キューごとのジョ
ブの実行時間の合計値の比率の算出処理と かつ前記割
り当て制御手段による前記キューに対する前記CPUの
割り当て処理のタイミングを前記実行時間管理手段及び
前記割り当て制御手段に通知するタイミング生成手段と
を備えることを特徴とする。
【0008】請求項2の本発明のディスパッチ装置は、
前記CPUごとに設けられ、前記CPUが割り当てられ
た前記キューを示す割り当て情報を保持する割り当て情
報保持手段と、前記キューごとに設けられ、前記キュー
ごとのジョブの実行時間を累積して保持する実行時間保
持手段とをさらに備え、前記実行時間管理手段が、前記
CPUによりジョブが実行されるたびに、該ジョブの所
属する前記キューに対応する前記実行時間保持手段に該
ジョブの実行時間を加算し、前記タイミング生成手段か
らの通知に応じて、前記実行時間保持手段に保持されて
いる前記キューごとの実行時間の合計値の比率を算出
し、かつ前記CPUの割り当てが行なわれる度に前記実
行時間保持手段に保持されている前記キューごとのジョ
ブの実行時間の合計値を初期化し 前記割り当て管理手
段が、前記実行時間管理手段による前記キューごとの実
行時間の合計値の比率の算出結果に応じて決定した、前
記キューに対する前記CPUの割り当てに関する情報を
前記割り当て情報保持手段に格納し、前記CPUが、前
記割り当て情報保持手段に保持されている情報を参照し
て、割り当てられた前記キューから実行すべきジョブを
取り出すことを特徴とする。
【0009】請求項3の本発明のディスパッチ装置は、
前記割り当て制御手段が、前記実行時間管理手段により
算出された前記キューごとの実行時間の合計値の比率と
同一または近似の比率で前記CPUを前記キューに割り
当てることを特徴とする。
【0010】また、上記目的を達成する他の本発明は、
マルチプロセッサ計算機における複数のCPUと複数の
キューとの割り当て状態を管理してキューイングの制御
を行うディスパッチ装置によるCPUの割り当て方法お
いて、前記CPUが前記キューに所属するジョブを時分
割で実行した実行時間を、前記キューごとに累積して保
持する工程と、所定のタイミングで、前記保持された前
記キューごとのジョブの実行時間の合計値の比率を算出
する工程と、前記CPUの割り当てが行なわれる度に前
記キューごとのジョブの実行時間の合計値を初期化する
工程と 所定のタイミングで、前記比率計算工程におい
て算出された前記キューごとのジョブの実行時間の合計
値の比率に応じて、前記キューに対して前記CPUの割
り当てを行う工程とを含み 前記所定の設定時間が経過
する度に 前記比率計算工程による合計値の比率の算出
処理と 前記割り当て実行工程による前記キューに対す
る前記CPUの割り当て処理を実行することを特徴とす
る。
【0011】請求項5の本発明のCPUの割り当て方法
は、前記割り当て実行工程において、前記比率計算工程
において算出された前記キューごとの実行時間の合計値
の比率と同一または近似の比率で前記CPUを前記キュ
ーに割り当てることを特徴とする。
【0012】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0013】図1は、本発明の一実施形態によるディス
パッチ装置の構成を示すブロック図である。図1を参照
すると、本実施形態のディスパッチ装置は、複数のCP
Uと複数のキューとの対応関係を管理し各キューに対し
て割り当てるCPUの台数を決定する割り当て制御部1
0と、各キューにおけるジョブの実行時間を管理する実
行時間管理部20と、割り当て制御部10による動作の
時間的制御を行う減算タイマー30及びタイマー管理部
40とを備える。また、主記憶装置上に、割り当て制御
部10の管理下においてキュー50とCPUとの対応関
係を保持する担当キュー領域11と、実行時間管理部2
0の管理下においてキュー50ごとのジョブの実行時間
の合計を保持する実行時間領域21とが設定されてい
る。なお、図1には、本実施形態における特徴的な構成
のみを記載し、他の一般的な構成については記載を省略
してある。
【0014】上記構成において、割り当て制御部10、
実行時間管理部20及びタイマー管理部40は、マルチ
プロセッサ計算機を構成する複数のCPUの中から選択
された代表CPUがコンピュータプログラムによる制御
の下に実現する。代表CPUを制御するコンピュータプ
ログラム(ディスパッチャ)は、磁気ディスクや光ディ
スク、半導体メモリその他の一般的な記憶媒体に格納し
て提供され、主記憶装置にロードされて代表CPUを制
御し、各機能実行部を実現する。
【0015】時分割実行方式の計算機において、ジョブ
は次のステップを繰り返す。第1に、キュー50につな
がれ、実行の順番を待つ。第2に、実行の順番になる
と、キュー50から外され、CPUにおいて実行され
る。第3に予め決められた時間が経過すると、実行が中
断される。そして、ジョブが終了していなければ、第1
のステップに戻って再びキュー50につながれる。
【0016】本実施形態では、1回の時分割実行が完了
したジョブがキュー50につなぎ直される際の規則とし
て、ジョブ単位で与えられた独立した値(ジョブ番号な
ど)で集合を作り、各キュー50に割り当てておく。そ
して、ジョブがキュー50につなぎ直される時は、その
ジョブが該当する集合を割り当てられているキュー50
が選択される。このような規則を用い、全てのジョブが
常に特定のキュー50に固定的につなぎ直されるように
する。
【0017】割り当て制御部10は、各キュー50に属
するジョブの実行状況に応じて、後述する規則に基づ
き、各キュー50に対する各CPUの割り当てを行う。
CPUを各キュー50に割り当てた結果は、各CPUご
とに用意された担当キュー領域11に格納される。各C
PUは、担当キュー領域11に格納された情報を参照し
て、自CPUが割り当てられたキュー50を選択し、当
該キュー50につながれているジョブを実行する。
【0018】割り当て制御部10は、初期的には、各C
PUを全てのキュー50に均等に割り当てる。そして、
タイマー管理部40からの通知に応じて一定時間ごと
に、各キュー50に対するCPUの割り当てを更新す
る。このとき、後述する実行時間管理部20の処理結果
に基づいて、ジョブの実行時間の多かったキュー50ほ
ど、多くのCPUが担当するように割り当てを行う。
【0019】担当キュー領域11は、各CPUに対応し
て用意され、該当CPUの担当すべきキュー50を指定
する情報が格納される。上述したように、各CPUは、
担当キュー領域の値を参照し、該当するキュー50から
ジョブを取得する。
【0020】実行時間管理部20は、各キュー50に対
応して設定された実行時間領域21に対して、初期化及
びジョブの実行時間の加算を行なう。また、タイマー管
理部40からの通知に応じて一定時間ごとに、各実行時
間領域21に保持されているジョブの実行時間の合計を
参照し、その比率を計算して結果を割り当て制御部10
に渡す。
【0021】実行時間領域21は、各キュー50に対応
して用意され、対応するキューに属するジョブがCPU
において時分割実行されるたびに、その回の実行時間を
累積して保持する。保持された値は、割り当て制御部1
0によるCPUの割り当て計算に用いる統計値となる。
CPUの割り当てが行われた後は、実行時間管理部20
により初期化され、値が消去される。
【0022】タイマー管理部40は、減算タイマー30
に予め設定された設定値をセットする。そして、減算タ
イマー30の計時を監視し、値が「0」以下になった場
合に、割り当て制御部10及び実行管理部20に通知す
る。この通知により、上述したように、実行時間管理部
20は、実行時間領域21に保持されている実行時間の
比率を計算し、割り当て制御部10は、キュー50に対
するCPUの割当てを更新する。
【0023】キュー50は、実行を待つジョブをつない
だ実行待ち行列である。各ジョブはジョブ番号などの各
ジョブに固有な値で一定の規則にしたがって分類され
る。この分類に基づいて、各ジョブが所属すべきキュー
が決定される。すなわち、CPUによる実行の際に所定
のキュー50から外されたジョブは、CPUにて時分割
実行された後、再び同じキュー50につながれる。
【0024】なお、本実施形態は、CPU及びキュー5
0共に複数設けられたマルチプロセッサ計算機において
実現されるが、当該マルチプロセッサ計算機において、
キュー50の数はCPUの台数以下とする。各キュー5
0に必ず1台以上のCPUを割り当てられるようにする
ためである。このような構成によって、CPUによるジ
ョブの実行により全ての実行時間領域21に対して更新
が行われることとなり、実行時間管理部20による比率
計算を正しく行うことができるようになる。
【0025】次に、図2のフローチャートを参照して本
実施形態の動作について説明する。図2を参照すると、
まず、計算機立ち上げ時の初期動作において、割り当て
制御部10が、全てのキュー50に対して均等にCPU
を割り当てて、割り当て情報を担当キュー領域11に格
納する(ステップ201)。そして、実行時間管理部2
0が、実行時間領域21を初期化し、格納されている実
行時間を消去する(ステップ202)。また、タイマー
管理部40が、減算タイマー30に所定の設定時間をセ
ットする(ステップ203)。当該設定時間は、キュー
50に対するCPUの割り当てを更新する時間間隔を示
し、計算機の運用形態等に応じて適宜決定される。
【0026】次に、計算機の運用が開始されると、ジョ
ブがキュー50に蓄えられ、CPUがキュー50からジ
ョブを取り出して順次時分割実行する。また、減算タイ
マー30が動作を開始する。CPUがジョブを実行する
際、各CPUが対応する担当キュー領域11の値に基づ
いてジョブを取り出すべきキュー50を選択し、当該キ
ュー50につながれているジョブのうち先頭のジョブを
キュー50から外す(ステップ204)。キュー50か
ら外すのは、当該キュー50に複数のCPUが割り当て
られている場合に、複数のCPUが同じジョブを選択し
てしまう不整合を防ぐためである。
【0027】各CPUは、対応するキュー50から外し
た1つのジョブを、時分割方式によって実行する(ステ
ップ205)。時分割方式によって1つのジョブが実行
された後、実行時間管理部20が、当該ジョブを実行し
ていた時間を、当該ジョブが所属するキュー50に対応
した実行時間領域21に加算する(ステップ206)。
また、当該ジョブは、ジョブ番号などのジョブ単位で独
自に与えられた値に基づいて、最初につながれていたキ
ュー50に接続する(ステップ207)。
【0028】タイマー管理部40は、CPUによるジョ
ブの時分割実行が行われるたびに、減算タイマー30の
計時値をチェックする(ステップ208)、計時値が
「0」になっていなければ、引き続き上述したCPUに
よるジョブの時分割実行(ステップ204〜207)を
繰り返す。計時値が「0」以下になった場合は、実行時
間管理部20及び割り当て制御部10に通知して、キュ
ー50に対するCPUの再割り当て処理を行わせる。
【0029】タイマー管理部40から通知を受け取った
実行時間管理部20は、その時点における各実行時間領
域21に格納されている各キュー50ごとのジョブの実
行時間の合計値を比較し、比率を算出して割り当て制御
部10に送る(ステップ209)。
【0030】タイマー管理部40から通知を受け取った
割り当て制御部10は、実行時間管理部20から各キュ
ー50ごとのジョブの実行時間の合計値の比率を受け取
り、当該比率と同じ比率でCPUを各キュー50に割り
当てる(ステップ210)。この割り当て情報によっ
て、担当キュー領域11の内容が更新される。これ以
後、減算タイマー30の計時により、次のCPUの再割
り当てのタイミングとなるまで、更新された担当キュー
領域11の内容にしたがって、各CPUがキュー50か
ら実行すべきジョブを取り出す。
【0031】
【実施例】次に、本実施形態による具体的な動作例を挙
げて、本発明の実施例について説明する。
【0032】CPUを4台(CPU[0]〜CPU
[4])備え、キューが2つ(キュー[0]、キュー
[1])であるマルチプロセッサ計算機において、CP
Uの割り当ての更新間隔が3秒である場合の動作につい
て説明する。図2は、この場合の動作を示すタイミング
チャートである。
【0033】本実施例では、各ジョブに対し、ジョブ単
位の独立した値としてジョブ番号が与えられており、1
回の時分割実行が完了したジョブがキューにつなぎ直さ
れる際の規則として、2つのキューのうち、一方はジョ
ブ番号が偶数のジョブ、他方はジョブ番号が奇数のジョ
ブがつながれるように規定されているものとする。な
お、ジョブ番号とは、1つのジョブが、その発生から消
滅までの間、与えられている1個の値であり、上記規則
を用いると、全てのジョブは常に2つのキューのどちら
かに固定的につながれることとなる。
【0034】以上の構成に基づき、割り当て制御部10
は、初期的に、2つのキュー[0]、[1]に、均等に
2台ずつのCPUを割り当てる(図2、ステップ201
参照)。このときのCPUの割り当て状態を、図3のC
PU割り当て状態[A]に示す。また、実行時間管理部
20により全ての実行時間領域21が初期化され、タイ
マー管理部40により減算タイマー30に設定値の「3
秒」がセットされる(図2、ステップ202、203参
照)。
【0035】CPUによる処理の実行が始まると、各C
PUは、対応する担当キュー領域11の値にしたがっ
て、担当するキュー[0]、[1]からジョブを選択
し、当該キュー[0]、[1]から外す(図2、ステッ
プ204参照)。各CPUは、選択したジョブを時分割
によって実行する(図2、ステップ205参照)。各C
PUにおけるジョブの実行が終わると、実行時間管理部
20が、当該CPUが担当するキュー[0]、[1]に
対応する実行時間領域21に、当該ジョブの実行時間を
加算する図2、ステップ206参照)。そして、当該ジ
ョブが、ジョブ番号にしたがってキュー[0]、[1]
に再接続される(図2、ステップ207参照)。
【0036】減算タイマー30に設定された3秒が経過
するまで、上述したCPUによるジョブの時分割実行が
繰り返される。そして、減算タイマー30の計時値が
「0」以下となる3秒経過後に、タイマー管理部40が
実行時間管理部20及び割り当て制御部10にCPUの
再割り当てを開始させる通知を行う(図2、ステップ2
08参照)。
【0037】実行時間管理部20は、タイマー管理部4
0からの通知を受けて、実行時間領域21に格納されて
いる各キュー[0]、[1]ごとのジョブの実行時間の
合計値の比率を算出する(図2、ステップ209参
照)。ここでは、図3の合計実行時間[A]に示すよう
に、キュー[0]に所属するジョブの実行時間が0.7
秒、キュー[1]に所属するジョブの実行時間が2.1
秒であったものとする。したがって、実行時間の比率は
1:3と算出される。算出結果は割り当て制御部10に
送られる。
【0038】割り当て制御部10は、タイマー管理部4
0からの通知と実行時間管理部20による実行時間の比
率の算出結果とを受けて、各キュー[0]、[1]に対
するCPUの割り当てを行う(図2、ステップ210参
照)。キュー[0]とキュー[1]におけるジョブの実
行時間の合計値の比率が1:3だったので、CPUの割
り当てもキュー[0]とキュー[1]とで1:3の比率
となるように行う。本実施例のマルチプロセッサ計算機
は、4台のCPUを備えるので、割り当て制御部10に
よるCPUの割り当ては、1:3の比率にしたがい、図
3のCPU割り当て[B]に示すように、キュー[0]
に対して1台、キュー[1]に対して3台とする。これ
により、次のCPUによるジョブの時間分割実行から、
それまでキュー[0]に割り当てられていたCPU
[1]が、キュー[1]につながれているジョブを実行
するようになる。
【0039】同様にして、次の3秒経過後に、実行時間
領域21の値が、図3の合計実行時間[B]に示すよう
に、キュー[0]において1.5秒、キュー[1]にお
いて4.5秒を示していたものとする。この場合も、実
行時間の合計値の比率は1:3となり、割り当て制御部
10によるCPUの割り当ては、キュー[0]に対して
1台、キュー[1に対して3台であり、図3のCPU割
り当て[C]に示すように、前回(CPU割り当て
[B])と同様の割り当てとなる。なお、実行時間領域
21の値の最大値は、(CPU割り当て間隔)×(割り
当てられているCPU台数)である。したがって、上記
の場合のように、実行時間領域21にCPU割り当て間
隔を超える値(4.5秒)が格納されることがある。し
かし、CPU1台あたりの平均値で見た場合、割り当て
間隔を超えることはない。
【0040】以後、同様に3秒間隔で各キュー[0]、
[1]におけるジョブの実行時間の合計値の比率が計算
され、当該比率に基づいて、各キュー[0]、[1]に
対する4台のCPUの割り当てが動的に変化する。以上
が、本実施例におけるCPU割り当ての基本動作とな
る。
【0041】本実施例では、ジョブの実行時間の合計値
の比率(CPU割り当ての比率)が整数で表される場合
について説明したが、当該比率の値が小数点以下の端数
を生じる場合も考えられる。以下、そのような場合に個
別的に用いられるCPUの割り当て動作について説明す
る。
【0042】ジョブの実行時間の合計値の比率の値に端
数がある場合は、まず、比率の値において、1の桁の数
値分の台数のCPUを各キューに割り当てる。そして、
小数点以下の桁の数値について、値の大小を比較し、端
数の大きい順に残りのCPUを配分する。
【0043】例えば、上記の実施例において、ジョブの
実行時間の合計値の比率を算出したところ、キュー
[0]とキュー[1]におけるジョブの実行時間の合計
値の比率が1.2:2.8であったものとする。この場
合、まず、1の桁の数値分の台数のCPUを各キューに
割り当てるので、キュー[0]に対して1台、キュー
[1]に対して2台のCPUが割り当てられる。次に、
小数点以下の桁の数値について、値の大小を比較し、端
数の大きい方、すなわちキュー[1]に対して残りの1
台のCPUが割り当てられる。この結果、CPUの割り
当ては、キュー[0]に対して1台、キュー[1]に対
して3台となる。
【0044】別の例として、6台のCPUと4つのキュ
ーを備えるマルチプロセッサ計算機において、各キュー
におけるジョブの実行時間の合計値の比率が1.2:
1.4:1.6:1.8であった場合、同様の処理によ
り、各キューに対するCPUの配分は、順に、1台、1
台、2台、2台となる。
【0045】また、所定の期間におけるCPUによるジ
ョブの時分割実行において、所定のキューに対するジョ
ブの実行時間が他のキューに対するジョブの実行時間と
の比において、1に満たない、あるいは0という場合も
考えられる。この場合、当該キューに対しても1台のC
PUを割り当て、端数の比較対象から外す。
【0046】このような操作は、当該所定期間におい
て、たまたま当該キューに実行可能状態のジョブがな
く、実行時間が0であったとしても、ジョブ数が真に0
なのではなく、次のCPU割り当て後の時分割実行の際
に実行すべきジョブの存在が考えられるため、CPUの
割り当てを保証する目的と、実際の実行時間に関わら
ず、全てのキューに最低でも1台のCPUを割り当てる
ことで、実行時間の統計を正しく機能させる目的とがあ
る。
【0047】また、ジョブの実行時間の合計値の比率を
算出した結果、小数点以下の端数が複数のキューにおい
て一致する場合も考えられる。この場合、例えばキュー
番号の小さい順に残りのCPUを割り当てる。
【0048】例えば、4つのキューに8台のCPUを配
分する場合、ジョブの実行時間の合計値の比率の算出結
果が、キュー番号の小さい順に、1.75:2.75:
1.75:1.75であったとする。この場合、まず、
1の桁の値に応じて順に、1台、2台、1台、1台のC
PUが割り当てられる。そして、比率の端数が全てのキ
ューで同一であるため、残りのCPU2台をキュー番号
の小さい順に配分する。その結果、CPUの配分は、順
に、2台、3台、1台、1台となる。
【0049】以上の個別的な動作をも考慮して、総合的
な例として、4つのキューに8台のCPUを配分する
時、ジョブの実行時間の合計値の比率を算出した結果
が、キュー番号の小さいほうから順に、0.5:2.
8:2.8:1.9であった場合のCPUの割り当て動
作を考える。
【0050】この場合、まず、1の桁の数値に応じて、
順に、0台、2台、2台、1台のCPUを配分する。C
PUは8台であるから、残り3台のCPUをキューに割
り当てることができる。
【0051】そこで次に、比率の値が1に満たないキュ
ーに1台のCPUを配分する。これにより、CPUの割
り当ては、順に、1台、2台、2台、1台となる。これ
で6台のCPUが割り当てられたので、残り2台のCP
Uをキューに割り当てることができる。
【0052】そこでさらに、端数の比較を行って、端数
の値が大きい順に残りのCPUを配分する。この場合、
キュー番号の2番目と3番目のキューにおける比率の端
数が一致している。そこで、キュー番号の小さい2番目
のキューにCPUが配分される。
【0053】以上の結果、各キューに対するCPUの割
り当ては、キュー番号の小さい方から順に、1台、3
台、2台、2台となる。
【0054】なお、ジョブの実行時間の合計値の比率の
値は、全ての値の合計がCPUの台数以下であり、かつ
CPUの台数から当該比率の値の合計を引いた値がキュ
ーの個数以下となるように設定する。これにより、ジョ
ブの実行時間の合計値の比率が整数で表され、かつその
整数がCPUの個数またはその整数倍でない場合でも、
上述したジョブの実行時間の合計値の比率に端数がある
場合の個別の動作により、適切にCPUの割り当てを行
うことができる。
【0055】例えば、CPUの台数が5台でジョブの実
行時間の合計値の比率が1:2である場合に、ジョブの
実行時間の合計値の比率を1.5:3としたり、CPU
の台数が4台で、ジョブの実行時間の合計値の比率が
1:4である場合に、ジョブの実行時間の合計値の比率
を、0.75:3としたりすることにより、上記ジョブ
の実行時間の合計値の比率に端数がある場合の個別の動
作を適用することができる。
【0056】以上好ましい実施例をあげて本発明を説明
したが、本発明は必ずしも上記実施例に限定されるもの
ではない。
【0057】
【発明の効果】以上説明したように、本発明の及びCP
Uの割り当て方法ならびにディスパッチ・プログラムを
格納した記憶媒体によれば、計算機の運用中における各
キューに属しているジョブの数(キューの負荷)の変動
に応じて、各キューに割り当てられるCPUの配分を動
的に変化させる。これにより、ターンアラウンドタイム
を均等化し、計算機の性能の低下を防止するという効果
がある。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるディスパッチ装置
の構成を示すブロック図である。
【図2】 本実施形態の動作を示すフローチャートであ
る。
【図3】 本実施形態の具体的な動作例を示すタイムチ
ャートである。
【符号の説明】
10 割り当て制御部 11 担当キュー領域 20 実行時間管理部 21 実行時間領域 30 減算タイマー 40 タイマー管理部 50 キュー
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平9−101902(JP,A) 特開 平5−173807(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 15/00 G06F 15/16 G06F 15/177

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 マルチプロセッサ計算機における複数の
    CPUと複数のキューとの割り当て状態を管理してキュ
    ーイングの制御を行うディスパッチ装置において、 前記CPUがジョブを時分割で実行した実行時間を前記
    キューごとに累積し、所定のタイミングで、前記キュー
    ごとの実行時間の合計値の比率を算出し、かつ前記CP
    Uの割り当てが行なわれる度に前記キューごとのジョブ
    の実行時間の合計値を初期化する実行時間管理手段と、 所定のタイミングで、前記実行時間管理手段により算出
    された前記キューごとのジョブの実行時間の合計値の比
    率に応じて、前記キューに対して前記CPUの割り当て
    を行う割り当て制御手段と、前記所定の設定時間が経過する度に 前記実行時間管理
    手段による前記キューごとのジョブの実行時間の合計値
    の比率の算出処理と かつ前記割り当て制御手段による
    前記キューに対する前記CPUの割り当て処理のタイミ
    ングを前記実行時間管理手段及び前記割り当て制御手段
    に通知するタイミング生成手段とを備えることを特徴と
    するディスパッチ装置。
  2. 【請求項2】 前記CPUごとに設けられ、前記CPU
    が割り当てられた前記キューを示す割り当て情報を保持
    する割り当て情報保持手段と、 前記キューごとに設けられ、前記キューごとのジョブの
    実行時間を累積して保持する実行時間保持手段とをさら
    に備え、 前記実行時間管理手段が、 前記CPUによりジョブが実行されるたびに、該ジョブ
    の所属する前記キューに対応する前記実行時間保持手段
    に該ジョブの実行時間を加算し、 前記タイミング生成手段からの通知に応じて、前記実行
    時間保持手段に保持されている前記キューごとの実行時
    間の合計値の比率を算出し、かつ前記CPUの割り当て
    が行なわれる度に前記実行時間保持手段に保持されてい
    る前記キューごとのジョブの実行時間の合計値を初期化
    前記割り当て管理手段が、 前記実行時間管理手段による前記キューごとの実行時間
    の合計値の比率の算出結果に応じて決定した、前記キュ
    ーに対する前記CPUの割り当てに関する情報を前記割
    り当て情報保持手段に格納し、 前記CPUが、 前記割り当て情報保持手段に保持されている情報を参照
    して、割り当てられた前記キューから実行すべきジョブ
    を取り出すことを特徴とする請求項1に記載のディスパ
    ッチ装置。
  3. 【請求項3】 前記割り当て制御手段が、前記実行時間
    管理手段により算出された前記キューごとの実行時間の
    合計値の比率と同一または近似の比率で前記CPUを前
    記キューに割り当てることを特徴とする請求項1または
    請求項2に記載のディスパッチ装置。
  4. 【請求項4】 マルチプロセッサ計算機における複数の
    CPUと複数のキューとの割り当て状態を管理してキュ
    ーイングの制御を行うディスパッチ装置によるCPUの
    割り当て方法おいて、 前記CPUが前記キューに所属するジョブを時分割で実
    行した実行時間を、前記キューごとに累積して保持する
    工程と、 所定のタイミングで、前記保持された前記キューごとの
    ジョブの実行時間の合計値の比率を算出する工程と、前記CPUの割り当てが行なわれる度に前記キューごと
    のジョブの実行時間の合計値を初期化する工程と 所定のタイミングで、前記比率計算工程において算出さ
    れた前記キューごとのジョブの実行時間の合計値の比率
    に応じて、前記キューに対して前記CPUの割り当てを
    行う工程とを含み 前記所定の設定時間が経過する度に 前記比率計算工程
    による合計値の比率の算出処理と 前記割り当て実行工
    程による前記キューに対する前記CPUの割り当て処理
    を実行する ことを特徴とするCPUの割り当て方法。
  5. 【請求項5】 前記割り当て実行工程において、前記比
    率計算工程において算出された前記キューごとの実行時
    間の合計値の比率と同一または近似の比率で前記CPU
    を前記キューに割り当てることを特徴とする請求項4に
    記載のCPUの割り当て方法。
  6. 【請求項6】 複数のCPUと複数のキューとを有する
    マルチプロセッサ計算機を制御し、複数のCPUと複数
    のキューとの割り当て状態を管理してキューイングの制
    御を行うディスパッチ・プログラムを格納した記憶媒体
    において、前記ディスパッチ・プログラムは 前記CPUが前記キューに所属するジョブを時分割で実
    行した実行時間を、前記キューごとに累積して保持する
    工程と、 所定のタイミングで、前記保持された前記キューごとの
    ジョブの実行時間の合計値の比率を算出する工程と、前記CPUの割り当てが行なわれる度に前記キューごと
    のジョブの実行時間の合計値を初期化する工程と 所定のタイミングで、前記比率計算工程において算出さ
    れた前記キューごとのジョブの実行時間の合計値の比率
    に応じて、前記キューに対して前記CPUの割り当てを
    行う工程とを含み 前記所定の設定時間が経過する度に 前記比率計算工程
    による合計値の比率の算出処理と 前記割り当て実行工
    程による前記キューに対する前記CPUの割り当て処理
    を実行する ことを特徴とするディスパッチ・プログラム
    を格納した記憶媒体。
  7. 【請求項7】 前記割り当て実行工程において、前記比
    率計算工程において算出された前記キューごとの実行時
    間の合計値の比率と同一または近似の比率で前記CPU
    を前記キューに割り当てることを特徴とする請求項6に
    記載のディスパッチ・プログラムを格納した記憶媒体。
JP32145398A 1998-10-27 1998-10-27 ディスパッチ装置及びcpuの割り当て方法ならびにディスパッチ・プログラムを格納した記憶媒体 Expired - Fee Related JP3150114B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32145398A JP3150114B2 (ja) 1998-10-27 1998-10-27 ディスパッチ装置及びcpuの割り当て方法ならびにディスパッチ・プログラムを格納した記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32145398A JP3150114B2 (ja) 1998-10-27 1998-10-27 ディスパッチ装置及びcpuの割り当て方法ならびにディスパッチ・プログラムを格納した記憶媒体

Publications (2)

Publication Number Publication Date
JP2000132411A JP2000132411A (ja) 2000-05-12
JP3150114B2 true JP3150114B2 (ja) 2001-03-26

Family

ID=18132740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32145398A Expired - Fee Related JP3150114B2 (ja) 1998-10-27 1998-10-27 ディスパッチ装置及びcpuの割り当て方法ならびにディスパッチ・プログラムを格納した記憶媒体

Country Status (1)

Country Link
JP (1) JP3150114B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242509A (ja) * 1999-02-18 2000-09-08 Nec Corp ディスパッチ装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009093299A1 (ja) * 2008-01-21 2009-07-30 Fujitsu Limited パケット処理装置およびパケット処理プログラム
CN113448705B (zh) * 2021-06-25 2023-03-28 皖西学院 一种不平衡作业调度算法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242509A (ja) * 1999-02-18 2000-09-08 Nec Corp ディスパッチ装置

Also Published As

Publication number Publication date
JP2000132411A (ja) 2000-05-12

Similar Documents

Publication Publication Date Title
JP5068099B2 (ja) 個々のユーザの資源使用量およびその使用量の追跡に基づいた公平な共用分のスケジューリングを行う方法およびシステム
US7140020B2 (en) Dynamic management of virtual partition computer workloads through service level optimization
US5784698A (en) Dynamic memory allocation that enalbes efficient use of buffer pool memory segments
US5530860A (en) Virtual computer control system effectively using a CPU with predetermined assignment ratios of resources based on a first and second priority mechanism
JP5744909B2 (ja) アクセラレータ・リソースを動的に管理するための方法、情報処理システム、およびコンピュータ・プログラム
Coffman Jr et al. Computer scheduling methods and their countermeasures
KR20000036178A (ko) 금전비용을 최적화하는 로드 분산 제어기
US20070226743A1 (en) Parallel-distributed-processing program and parallel-distributed-processing system
JPH07281908A (ja) 目標制御データを生成する作業負荷を管理する方法及び装置
JPH07281982A (ja) クライアント/サーバ・データ処理システム
JPH02249055A (ja) マルチプロセッサ・システムのジョブの割当方法
US20080109817A1 (en) Schedule control program and schedule control method
US20030028581A1 (en) Method for resource management in a real-time embedded system
US7225223B1 (en) Method and system for scaling of resource allocation subject to maximum limits
JPH09218858A (ja) 分散型データベース管理システム
US7096471B2 (en) Apparatus for resource management in a real-time embedded system
CN110413393B (zh) 集群资源管理方法、装置、计算机集群及可读存储介质
JP3150114B2 (ja) ディスパッチ装置及びcpuの割り当て方法ならびにディスパッチ・プログラムを格納した記憶媒体
JP2638065B2 (ja) 計算機システム
JPH05158744A (ja) 計算機システムにおける装置管理方式及びメモリ管理方式
JPH09265459A (ja) データ処理装置の制御方法
Hacker Toward a reliable cloud computing service
JP2002244869A (ja) メモリ管理装置
JPH0830558A (ja) 計算機システムにおける負荷分散方法及びそれを利用した計算機システム
JP7355456B2 (ja) Cpuリソース管理装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees