JPH05151180A - 並列計算機のスケジユーリング方法 - Google Patents

並列計算機のスケジユーリング方法

Info

Publication number
JPH05151180A
JPH05151180A JP31714191A JP31714191A JPH05151180A JP H05151180 A JPH05151180 A JP H05151180A JP 31714191 A JP31714191 A JP 31714191A JP 31714191 A JP31714191 A JP 31714191A JP H05151180 A JPH05151180 A JP H05151180A
Authority
JP
Japan
Prior art keywords
queue
program
scheduling method
processor
priority
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
JP31714191A
Other languages
English (en)
Inventor
Nobuhiko Wakayama
順彦 若山
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 Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP31714191A priority Critical patent/JPH05151180A/ja
Publication of JPH05151180A publication Critical patent/JPH05151180A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 複数のプロセッサに効率良くプログラムを割
り付けることが可能な並列計算機のスケジューリング方
法を提供する。 【構成】 あるプロセッサ11で実行していたプログラ
ム13が終了、または中断した場合、プロセッサ11で新た
にプログラム13を実行するが、このとき待ち行列12の中
から優先度の一番高いプログラム13を取ってきて実行す
る際に、まず実行させるプロセッサ11で実行可能なプロ
グラム13を格納している待ち行列12のロック装置14に対
してロックを掛ける。次に各々の待ち行列12から一番優
先度の高いプログラム13の優先度の情報を取ってくる。
そして、その優先度のうちで一番優先度の高い情報を与
えた待ち行列12から、一番優先度の高いプログラム13を
取ってくる。そして、待ち行列12のロック装置14に対し
て掛けてあるロックを外し、プログラム13をプロセッサ
11で実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセッサを有
する並列計算機のスケジューリング方法に関する。
【0002】
【従来の技術】近年、電子計算機による情報処理の問題
規模の大型化、より速い処理速度を求め、複数のプロセ
ッサによって並列に問題を解き、大規模化、高速化に対
応する時の、複数プロセッサへのプログラムの効率的な
割当のためにスケジューラが用いられてきている。
【0003】以下、図面を参照しながら、上述した従来
のスケジューリング方法の一例について説明する。図1
1は一般的な並列計算機の構成のうち、プログラム割り
付けに関するブロック図であり、また、図12はスケジ
ューリング方法の手順を述べたものである。
【0004】図11において、プロセッサ101は、実
際にプログラムを実行する演算処理装置であり、複数個
継っている。実行待ち行列102は、即時実行可能でプ
ロセッサ101の空きを待っているプログラム103
を、そのプログラムの優先度と、入力順に従って蓄えて
おく。
【0005】また、プログラム103は、プロセッサ1
01が空き次第実行可能でその優先度と入力順にしたが
って実行待ち行列102に蓄えられている。ロック装置
104は、二つ以上のプロセッサが同時に実行待ち行列
102を操作しないように排他処理を行なうためのもの
である。
【0006】次に、従来のスケジューリング方法の手順
を、図12の流れ図に従って説明する。プロセッサ10
1のうちの一つがプログラム103を終了し、新しいプ
ログラム103を割り付ける時、まず実行待ち行列10
2のロック装置104に対してロックを行なう。このと
き、ロックができなければできるまで待つ。ロックがさ
れると、実行待ち行列102から一番優先順位の高いプ
ログラム103を取ってきて、ロック装置104のロッ
クを解除し、そしてプログラムを実行する。
【0007】
【発明が解決しようとする課題】しかしながら、上記の
従来のスケジューリング方法では、プロセッサが多数設
けられている場合、プログラムの割当がしばしば起こ
り、実行待ち行列のロック装置でのブロッキングが頻発
し、遊んでいるプロセッサが増えていくという問題があ
った。
【0008】また、あるプログラムをある特定のプロセ
ッサでだけ実行させたい場合、その指定方法が複雑にな
ってしまうという問題があった。そこで、本発明は上記
の点に鑑み、スケジューリングの際に二つ以上のプロセ
ッサが同時にスケジューリングを行なう場合でも、相互
に干渉が少ないスケジューリング方法の提供を目的とし
ている。
【0009】また、本発明はプログラムを特定のプロセ
ッサで実行する際に、複雑な指示方式をせずに、かつ相
互干渉を少なく割り付けることができるスケジューリン
グ方法の提供を目的としている。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、並列計算機のスケジューリング方法にお
いて、プログラムの実行処理を行なう複数のプロセッサ
と、これら各プロセッサで実行可能なプログラムを蓄え
るとともに、同時に2つ以上のプロセッサにプログラム
を割り付けないようにする排他処理のためのロック装置
を持った複数の待ち行列とを備え、プログラムをプロセ
ッサに割り付ける際に、待ち行列で必要なものをロック
し、各々の待ち行列中で最優先度のプログラムの優先度
情報を集めるとともに各々の優先度の比較を行ない、最
高優先度を持った待ち行列中のプログラムを選んだ後、
待ち行列のロックを解除し、プログラムをプロセッサに
割り付けるようにしたものである。
【0011】また、待ち行列は、持っているプログラム
が実行できるプロセッサの一覧を記述した実行可能プロ
セッサ表を備え、プログラムを割り付ける際に、実行可
能プロセッサ表に基づき、実行可能なプロセッサだけに
割り付けるようにしたものである。
【0012】また、プロセッサは、実行可能なプログラ
ムが蓄えられている待ち行列の一覧を記述した待ち行列
表を備え、プログラムを割り付ける際に、待ち行列表に
基づき、実行可能なプログラムだけを割り付けるように
したものである。
【0013】また、最初に各々の待ち行列から、待機し
ているプログラム中で最も優先度の高いプログラムの優
先度情報だけを調べ、その中で一番優先度の高いプログ
ラムが待機している待ち行列に対してロックを掛けて、
このロックを掛けた待ち行列からプログラムを取ってき
てプロセッサに割り付け、そしてロックを掛けた待ち行
列に対してのロックを解除するようにしたものである。
【0014】また、優先度情報を高い順に並べた優先度
順位表をつくり、一番優先度の高いプログラムが待機し
ている待ち行列に対してロックを掛けて、再度、最高優
先度を調べ、ロックを掛けた待ち行列の最高優先度が優
先度順位表の二番目の優先度より低くなければ、ロック
を掛けた待ち行列からプログラムを取ってきてプロセッ
サに割り付け、そして待ち行列に対してのロックを解除
するようにしたものである。
【0015】また、再度、最高優先度を調べた際、ロッ
クを掛けた待ち行列の最高優先度が優先度順位表の二番
目の優先度より低ければ、ロックを掛けた待ち行列のロ
ック装置のロックを外し、次に前記優先度順位表を、調
べた優先度を基に修正した後、この修正した優先度順位
表に基づき最高優先度を調べ直し、プログラムの割り付
けを行なうようにしたものである。
【0016】
【作用】上記並列計算機のスケジューリング方法におい
ては、複数の待ち行列によってプログラムをプロセッサ
に割り付ける際に、待ち行列で必要なものだけをロック
し、各々の待ち行列中で最優先度のプログラムの優先度
情報を集めるとともに各々の優先度の比較を行ない、最
高優先度を持った待ち行列中のプログラムを選んだ後、
待ち行列のロックを解除し、プログラムをプロセッサに
割り付けるようにしている。このように、待ち行列を複
数設けて、必要な待ち行列にだけロックを掛けることに
よって、待ち行列が一つの時に比べ、他のプロセッサに
対する影響を少なくすることができる。
【0017】また、待ち行列は、持っているプログラム
が実行できるプロセッサの一覧を記述した実行可能プロ
セッサ表を備え、プログラムを割り付ける際に、実行可
能プロセッサ表に基づき、実行可能なプロセッサだけに
割り付けるようにしている。このように、実行可能プロ
セッサ表を用いることによって、待ち行列ごとに実行可
能なプロセッサを選択でき、あるプロセッサだけで実行
させたいプログラムの管理を簡単に行なうことができ
る。
【0018】また、プロセッサは、実行可能なプログラ
ムが蓄えられている待ち行列の一覧を記述した待ち行列
表を備え、プログラムを割り付ける際に、待ち行列表に
基づき、実行可能な待ち行列からのプログラムだけを割
り付けるようにしている。このように、待ち行列表を用
いることによって、プロセッサごとに実行可能なプログ
ラムが存在する待ち行列表を選択でき、あるプロセッサ
だけで実行させたいプログラムの管理を簡単に行なうこ
とができる。
【0019】また、最初に各々の待ち行列から、待機し
ているプログラム中で最も優先度の高いプログラムの優
先度情報だけを調べ、その中で一番優先度の高いプログ
ラムが待機している待ち行列に対してロックを掛けて、
このロックを掛けた待ち行列からプログラムを取ってき
てプロセッサに割り付け、そしてロックを掛けた待ち行
列に対してのロックを解除するようにしている。このよ
うに、ロックを、割り付け対象のプログラムを所持して
いる待ち行列のロック装置にだけ掛けることによって、
ロックが掛かる待ち行列がただ一つだけとなり、しかも
プログラムを割り付ける直前にだけロックを掛けること
ができるので、排他している時間が短くて済む。
【0020】また、優先度情報を高い順に並べた優先度
順位表をつくり、一番優先度の高いプログラムが待機し
ている待ち行列に対してロックを掛けて、再度、最高優
先度を調べ、ロックを掛けた待ち行列の最高優先度が優
先度順位表の二番目の優先度より低くなければ、ロック
を掛けた待ち行列からプログラムを取ってきてプロセッ
サに割り付け、待ち行列に対してのロックを解除する。
このように、優先度順位表作成の時に最高の優先度を持
ったプログラムを所持している待ち行列の割り付ける時
点での優先度と、優先度順位表の最高優先度を比べるこ
とで、すでに最高優先度のプログラムが割り付けられて
いた時の不具合を回避することができる。
【0021】さらに、再度、最高優先度を調べた際、ロ
ックを掛けた待ち行列の最高優先度が優先度順位表の二
番目の優先度より低い場合、すなわちプログラムの割り
付けに失敗した場合、その待ち行列の最高優先度に則し
た順番で、優先度順位表を修正し、プログラムの割り付
けを行なう。このように、最高優先度のプログラムが存
在すると期待した待ち行列中に、期待したものが存在し
なかった場合、また一からスケジューリングを始めるの
ではなく、次善に優先度の高いプログラムを割り付ける
ことによって、スケジューリング時間を短縮することが
でき、全体の処理能力を高めることができる。
【0022】
【実施例】以下、本発明の第1の実施例を図1および図
2に基づき説明する。図1は本発明のスケジューリング
方法に適用する並列計算機の概略構成を示すブロック図
である。
【0023】図1に示すように、この並列計算機1は、
プログラム13を実行処理する複数個のプロセッサ11
と、このプログラム13を蓄えておく複数の待ち行列1
2と、これら各待ち行列12に備えられて同時に2つ以
上のプロセッサ11にプログラム12を割り付けないよ
うにするロック装置14とを有している。
【0024】前記待ち行列12は、プロセッサ11が空
き次第、即時実行可能なプログラム13を、その優先度
と、入力順によって格納しているものである。前記プロ
グラム13は、その重要性によって優先度が付けられて
待ち行列12に格納されている。ここでは、優先度0が
一番優先度が高く、数字が増えるほど、優先度が低くな
るようになっている。
【0025】前記ロック装置14は、同じプログラム1
3を複数のプロセッサ11に割り付けないようにするた
めのものであり、実際には、一ビットの記憶装置であ
り、その待ち行列12が使われている時には、1が立っ
ている。
【0026】上記構成の並列計算機1において、プログ
ラムを割り付けるスケジューリング方法を、図2に示す
流れ図を参照しながら説明する。この並列計算機1の定
常状態においては、全てのプロセッサ11で何らかのプ
ログラム13が処理されている。そして、あるプロセッ
サ11で行なっていたプログラム13が終了、または中
断した場合、そのプロセッサ11で新たにプログラム1
3が実行される。このとき、待ち行列12の中から優先
度の一番高いプログラム13を取ってきて実行するが、
まず、実行させるプロセッサ11で実行可能なプログラ
ム13を格納している待ち行列12のロック装置14に
対してロックを掛ける。次に、ロックが掛けられた各待
ち行列12から一番優先度の高いプログラム13の優先
度の情報を取ってくる。そして、その優先度のうちで一
番優先度の高い情報を与えた待ち行列12から、一番優
先度の高いプログラム13を取ってくる。
【0027】次に、待ち行列12のロック装置14に対
して掛けてあるロックを外し、そのプログラム13をプ
ロセッサ11で実行する。このように、待ち行列12を
複数設けて、必要な待ち行列12にだけロックを掛ける
ことによって、待ち行列12が一つの時に比べ、他のプ
ロセッサ11に対する影響を少なくすることができる。
【0028】次に、本発明の第2の実施例を図3および
図4に基づき説明する。なお、本第2の実施例において
は、前記第1の実施例と同様の機能を有する構成部分に
ついては同一の番号を付してその説明を省略する。
【0029】図3は本実施例のスケジューリング方法に
使用する並列計算機の構成を示すブロック図である。図
3に示すように、第1の実施例における各待ち行列12
に、実行可能プロセッサ表21を備えたものである。
【0030】すなわち、この実行可能プロセッサ表21
は、ある待ち行列12において実行させても良いプロセ
ッサ11の一覧を記述したものであって、プログラム1
3をプロセッサ11に割り当てる際に、実行可能プロセ
ッサ表21を参照してプログラム13が割り付けられ
る。
【0031】上記構成の並列計算機において、プログラ
ムを割り付けるスケジューリング方法を、図4に示す流
れ図を参照しながら説明する。この並列計算機1の定常
状態においては、全てのプロセッサ11で何らかのプロ
グラム13が処理されている。そして、あるプロセッサ
11で行なっていたプログラム13が終了、または中断
した場合、プロセッサ11で新たにプログラム13が実
行される。このとき、待ち行列12の中から優先度の一
番高いプログラム13を取ってきて実行するが、まず、
待ち行列12のロック装置14に対してロックを掛け
る。このとき、待ち行列12のロック装置14は、実行
可能プロセッサ表51を参照して、プロセッサ11がこ
の待ち行列12のプログラム13を実行可能かどうかチ
ェックし、実行可能な場合だけロックを行なう。
【0032】次に、ロックの掛かった各待ち行列12か
ら、一番優先度の高いプログラム13の優先度の情報を
取ってくるとともにこれらの優先度情報を比較して、そ
の優先度情報のうちで一番優先度の高い情報を与えた待
ち行列12から、一番優先度の高いプログラム13を取
ってくる。そして、待ち行列12のロック装置14に対
して掛けてあるロックを外し、プログラム13をプロセ
ッサ11で実行する。
【0033】このように、実行可能プロセッサ表21を
用いることによって、待ち行列12ごとに実行可能なプ
ロセッサ11を選択でき、あるプロセッサ11だけで実
行させたいプログラム13の管理を簡単に行なうことが
できる。
【0034】次に、本発明の第3の実施例を図5および
図6に基づき説明する。なお、本第3の実施例におい
て、前記第1の実施例と同様の機能を有する構成部分に
ついては、同一の番号を付してその説明を省略する。
【0035】図5は本実施例のスケジューリング方法を
適用する並列計算機の構成を示すブロック図である。図
5に示すように、第1の実施例に示したプロセッサに待
ち行列表31を備えたものである。この待ち行列表31
は、あるプロセッサ11において、実行しても良いプロ
グラム11を格納してある待ち行列12の全てを記述し
てある表であって、プログラム13をプロセッサ11に
割り当てる際に、待ち行列表31を参照してプログラム
11が割り付けられる。
【0036】上記構成の並列計算機において、プログラ
ムを割り付けるスケジューリング方法を、図6に示す流
れ図を参照しながら説明する。この計算機の定常状態に
おいては、全てのプロセッサ11で何らかのプログラム
13が処理されている。そして、あるプロセッサ11で
行なっていたプログラム13が終了、または中断した場
合、プロセッサ11で新たにプログラム13が実行され
る。このとき、待ち行列12の中から優先度の一番高い
プログラム13を取ってきて実行するが、まず、待ち行
列12のロック装置14に対してロックを掛ける。そし
て、この場合、プロセッサ11は、待ち行列表31を参
照して、実行可能なプログラム13が存在している待ち
行列12のロック装置14にだけロックを行なう。
【0037】次に、ロックの掛かった各待ち行列12か
ら、一番優先度が高いプログラム13の優先度の情報を
取ってくるとともにこれらの優先度の情報を比較して、
その優先度のうちで一番優先度の高い情報を与えた待ち
行列12から、一番優先度の高いプログラム13を取っ
てくる。そして、待ち行列12のロック装置14に対し
て掛けてあるロックを外し、プログラム13をプロセッ
サ11で実行する。
【0038】このように、待ち行列表31を用いること
によって、プロセッサ11ごとに実行可能なプログラム
13が存在する待ち行列表12を選択でき、あるプロセ
ッサ11だけで実行させたいプログラム13の管理を簡
単に行なうことができる。
【0039】次に、本発明の第4の実施例を図1および
図7に基づいて説明する。なお、本第4の実施例におい
て、スケジューリング方法に適応する並列計算機の構成
を示すブロック図は第1の実施例のものと同様である。
【0040】図1に示す構成の並列計算機において、プ
ログラムを割り付けるスケジューリング方法を、図7に
示す流れ図を参照しながら説明する。この並列計算機の
定常状態においては、全てのプロセッサ11で何らかの
プログラム13が処理されている。そして、あるプロセ
ッサ11で行なっていたプログラム13が終了、または
中断した場合、プロセッサ11で新たにプログラム13
が実行される。このとき、待ち行列12の中から優先度
の一番高いプログラム13を取ってきて実行するが、各
待ち行列12から各々の待ち行列12の中で一番優先度
の高いプログラム13の優先度情報を取ってくる。
【0041】次に、その優先度情報のうちで一番高い優
先度のプログラム13を持っている待ち行列12のロッ
ク装置14に対してロックを掛け、そしてロックを掛け
た待ち行列12からプログラム13をプロセッサ11に
割り付ける。そして、待ち行列12のロック装置14に
対して掛けてあるロックを外し、プログラム13をプロ
セッサ11で実行する。
【0042】このように、ロックを、割り付け対象のプ
ログラム13を所持している待ち行列12のロック装置
14にだけ掛けることによって、ロックが掛かる待ち行
列12がただ一つだけとなる。また、プログラム13を
割り付ける直前にだけロックを掛けるので、排他してい
る時間が短くて済む。
【0043】次に、本発明の第5の実施例を図8および
図9に基づき説明する。なお、本第5の実施例におい
て、前記第1の実施例と同様の機能を有する構成部分に
ついては同一の番号を付してその説明を省略する。
【0044】図8はスケジューリング方法に適用する並
列計算機の構成を示すブロック図である。図8に示すよ
うに、各プロセッサ11に優先度順位表41を備えたも
のである。
【0045】この優先度順位表41は、待ち行列12中
に存在するプログラム13の最高優先度とそれがどの待
ち行列12のものかという情報を、優先度の順に並べた
ものである。
【0046】上記構成の並列計算機において、プログラ
ムを割り付けるスケジューリング方法を、図9に示す流
れ図を参照しながら説明する。この計算機の定常状態に
おいては、全てのプロセッサ11で何らかのプログラム
13が処理されている。そして、あるプロセッサ11で
行なっていたプログラム13が終了、または中断した場
合、プロセッサ11で新たにプログラム13が実行され
る。このとき、待ち行列12の中から優先度の一番高い
プログラム13を取ってきて実行するが、各待ち行列1
2から各々の待ち行列12の中で一番優先度の高いプロ
グラム13の優先度情報を取ってくる。
【0047】次に、プロセッサ11側において、優先度
の順に待ち行列12の番号を並べた優先度順位表41を
作成する。そして、一番高い優先度のプログラム13を
持っている待ち行列12のロック装置14に対してロッ
クを掛ける。ロックを掛けた待ち行列12からその待ち
行列12の最高優先度と、優先度順位表41の二番目の
優先度の値とを比べ、待ち行列12の優先度の方が低く
なければ、待ち行列12のプログラム13をプロセッサ
11に割り付ける。そして、待ち行列12のロック装置
14に対して掛けてあるロックを外し、プログラム13
をプロセッサ11で実行する。
【0048】このように、優先度順位表41作成の時に
最高の優先度を持ったプログラム13を所持している待
ち行列12の割り付ける時点での優先度と、優先度順位
表41の最高優先度を比べることで、すでに最高優先度
のプログラム13が割り付けられていた時の不具合を回
避することができる。
【0049】次に、本発明の第6の実施例を図8および
図10に基づき説明する。なお、本第6の実施例におい
ては、そのスケジューリング方法に使用される並列計算
機の構成を示すブロック図は、第5の実施例において示
したものと同一のものである。
【0050】この構成の並列計算機において、プログラ
ムを割り付けるスケジューリング方法を、図10の流れ
図を参照しながら説明する。この並列計算機の定常状態
においては、全てのプロセッサ11で何らかのプログラ
ム13が処理されている。そして、あるプロセッサ11
で行なっていたプログラム13が終了、または中断した
場合、プロセッサ11で新たにプログラム13が実行さ
れる。そして、待ち行列12の中から優先度の一番高い
プログラム13を取ってきて実行するが、このとき、各
待ち行列12から各々の待ち行列12の中で一番優先度
の高いプログラム13の優先度情報を取ってくる。
【0051】次に、優先度の順に待ち行列12の番号を
並べた優先度順位表41を作成する。そして、優先度順
位表41中で一番高い優先度のプログラム13を持って
いる待ち行列12のロック装置14に対してロックを掛
け、ロックを掛けた待ち行列12から、その待ち行列1
2の最高優先度と、優先度順位表41の二番目の優先度
の値とを比べ、待ち行列12の優先度の方が低くけれ
ば、ロック装置14に対するロックを外し、そして優先
度順位表41において、現在ロックを掛けている待ち行
列12の項目を削除し、新たにその待ち行列12の優先
度情報を優先度順位表41の然るべきところに付け加え
て修正し、この作業を繰り返す。
【0052】しかし、待ち行列12の優先度の方が低く
ないようになれば、待ち行列12から最高優先度のプロ
グラム13をプロセッサ11に割り付け、ロックを解除
する。
【0053】このように、最高優先度のプログラム13
が存在すると期待した待ち行列12中に、期待したもの
が存在しなかった場合、また一からスケジューリングを
始めるのではなく、次善に優先度の高いプログラム13
を割り付けることによって、スケジューリング時間を短
縮することができ、全体の処理能力を高めることができ
る。
【0054】次に、本発明の第7の実施例について説明
する(なお、部品番号は各実施例で付したものと同一の
番号を付している。以下、同じ。)。本第7の実施例の
スケジューリング方法は、第4の実施例におけるスケジ
ューリング方法において、第2の実施例で説明したプロ
セッサ表を用いた方法である。すなわち、プロセッサ1
1で新たにプログラムを実行させる際に、各待ち行列1
2の中で、一番優先度の高いプログラム13の優先度情
報を取ってきて割り付けるが、このとき、第2の実施例
で説明したプロセッサ11側に設けられた実行可能プロ
セッサ表21を用いて、実行可能なプロセッサ11だけ
にプログラム13を割り付けるようにしたものである。
【0055】次に、本発明の第8の実施例について説明
する。本第8の実施例のスケジューリング方法は、第4
の実施例におけるスケジューリング方法において、第3
の実施例で説明した待ち行列表を用いた方法である。す
なわち、プロセッサ11で新たにプログラムを実行させ
る際に、各待ち行列12の中で、一番優先度の高いプロ
グラム13の優先度情報を取ってきて割り付けるが、こ
のとき、第3の実施例で説明したプロセッサ11側に設
けられた待ち行列表31に基づき、実行可能な待ち行列
表31からのプログラム13だけを割り付けるようにし
たものである。
【0056】次に、本発明の第9の実施例について説明
する。本第9の実施例のスケジューリング方法は、第5
の実施例におけるスケジューリング方法において、第2
の実施例で説明したプロセッサ表を用いる方法である。
すなわち、優先度順位表に基づき一番優先度の高いプロ
グラム13をプロセッサ11に割り付けるが、このと
き、第2の実施例で説明した実行可能プロセッサ表に基
づき、実行可能なプロセッサ11だけにプログラム13
を割り付けるようにしたものである。
【0057】次に、本発明の第10の実施例について説
明する。本第10の実施例のスケジューリング方法は、
第5の実施例におけるスケジューリング方法において、
第3の実施例で説明した待ち行列表を用いる方法であ
る。すなわち、優先度順位表に基づき一番優先度の高い
プログラム13をプロセッサ11に割り付けるが、この
とき、第3の実施例で説明した待ち行列表31に基づ
き、実行可能な待ち行列表31からのプログラム13だ
けを割り付けるようにしたものである。
【0058】次に、本発明の第11の実施例について説
明する。本第11の実施例のスケジューリング方法は、
第6の実施例におけるスケジューリング方法において、
第2の実施例で説明したプロセッサ表を用いる方法であ
る。すなわち、最高優先度のプログラム13が存在する
と期待した待ち行列12中に、期待したものが存在しな
かった場合、また一からスケジューリングを始めるので
はなく、次善に優先度の高いプログラム13を割り付け
る際に、第2の実施例で説明した実行可能プロセッサ表
21に基づき、実行可能なプロセッサ11だけにプログ
ラムを割り付けるようにしたものである。
【0059】次に、本発明の第12の実施例について説
明する。本第12の実施例のスケジューリング方法は、
第6の実施例におけるスケジューリング方法において、
第3の実施例で説明した待ち行列表を用いる方法であ
る。すなわち、最高優先度のプログラム13が存在する
と期待した待ち行列12中に、期待したものが存在しな
かった場合、また一からスケジューリングを始めるので
はなく、次善に優先度の高いプログラム13を割り付け
る際に、第2の実施例で説明した待ち行列表31に基づ
き、実行可能な待ち行列表31からのプログラム13だ
けを割り付けるようにしたものである。
【0060】
【発明の効果】以上説明したように、本発明の並列計算
機のスケジューリング方法によれば、複数の待ち行列に
よってプログラムをプロセッサに割り付ける際に、待ち
行列で必要なものだけをロックし、各々の待ち行列中で
最優先度のプログラムの優先度情報を集めるとともに各
々の優先度の比較を行ない、最高優先度を持った待ち行
列中のプログラムを選んだ後、待ち行列のロックを解除
し、プログラムをプロセッサに割り付けることによっ
て、必要でない待ち行列に対してロックを掛けることな
くプログラムの割当を行なうことができ、他のプロセッ
サに対する影響を少なくすることができる。すなわち、
従来のように、プロセッサを遊ばすのを防止することが
できる。
【0061】また、待ち行列は、持っているプログラム
が実行できるプロセッサの一覧を記述した実行可能プロ
セッサ表を備え、プログラムを割り付ける際に、実行可
能プロセッサ表に基づき、実行可能なプロセッサにだけ
割り付けることによって、あるプログラムをあるプロセ
ッサに、簡単に割り当てるといったことができるように
なる。
【0062】また、プロセッサは、実行可能なプログラ
ムが蓄えられている待ち行列の一覧を記述した待ち行列
表を備え、プログラムを割り付ける際に、待ち行列表に
基づき、実行可能な待ち行列からのプログラムだけを割
り付けることによって、所定のプロセッサには所定のプ
ログラムを割り当てることができる。
【0063】また、最初に各々の待ち行列から、待機し
ているプログラム中で最も優先度の高いプログラムの優
先度情報だけを調べ、その中で一番優先度の高いプログ
ラムが待機している待ち行列に対してロックを掛けて、
このロックを掛けた待ち行列からプログラムを取ってき
てプロセッサに割り付け、そしてロックを掛けた待ち行
列に対してのロックを解除するようにしているので、待
ち行列に対するロックの時間を最小限にすることができ
る。
【0064】また、優先度情報を高い順に並べた優先度
順位表をつくり、一番優先度の高いプログラムが待機し
ている待ち行列に対してロックを掛けて、再度、最高優
先度を調べ、ロックを掛けた待ち行列の最高優先度が優
先度順位表の二番目の優先度より低くなければ、ロック
を掛けた待ち行列からプログラムを取ってきてプロセッ
サに割り付け、そして待ち行列に対してのロックを解除
することによって、最高優先度のプログラムがすでに他
のプロセッサに割り当てられたとしても、次善のプログ
ラムを割り当てることができる。
【0065】さらに、取ってきたプログラムの優先度が
期待した優先度のものでなかった場合、その待ち行列の
優先度に則した順番で優先度順位表を修正して、プログ
ラムの割り付けを行なうことにより、再度優先度順位表
を作ることなく、素早くプログラムを割り付けることが
できる。
【図面の簡単な説明】
【図1】本発明の第1の実施例におけるスケジューリン
グ方法を適用する並列計算機の構成を示すブロック図で
ある。
【図2】同第1の実施例におけるスケジューリング方法
を説明する流れ図である。
【図3】本発明の第2の実施例におけるスケジューリン
グ方法を適応する並列計算機の構成を示すブロック図で
ある。
【図4】同第2の実施例におけるスケジューリング方法
を説明する流れ図である。
【図5】本発明の第3の実施例におけるスケジューリン
グ方法を適応する並列計算機の構成を示すブロック図で
ある。
【図6】同第3の実施例におけるスケジューリング方法
を説明する流れ図である。
【図7】本発明の第4の実施例におけるスケジューリン
グ方法を説明する流れ図である。
【図8】本発明の第5の実施例におけるスケジューリン
グ方法を適応する並列計算機の構成を示すブロック図で
ある。
【図9】同第5の実施例におけるスケジューリング方法
を説明する流れ図である。
【図10】同第6の実施例におけるスケジューリング方
法を説明する流れ図である。
【図11】従来のスケジューリング方法を適応する並列
計算機の構成を示すブロック図である。
【図12】従来のスケジューリング方法を説明する流れ
図である。
【符号の説明】
1 並列計算機 11 プロセッサ 12 待ち行列 13 プログラム 14 ロック装置 21 実行可能プロセッサ表 31 待ち行列表 41 優先度順位表

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】プログラムの実行を行なう複数のプロセッ
    サと、このプロセッサで実行可能なプログラムと、この
    プログラムを蓄えておく複数の待ち行列と、この待ち行
    列に備えられて同時に2つ以上の前記プロセッサにプロ
    グラムを割り付けないようにするロック装置とを有する
    並列計算機のスケジューリング方法であって、前記待ち
    行列に蓄えられたプログラムを前記プロセッサに割り付
    ける際に、前記待ち行列のうち必要なもの全てに対し、
    ロック装置によりロックを掛け、前記待ち行列中におけ
    るプログラムの優先度情報を集めるとともに各々の優先
    度の比較を行ない、最も優先度が高い待ち行列中のプロ
    グラムを選んだ後、前記待ち行列のロック装置のロック
    を解除してそのプログラムを前記プロセッサに割り付け
    るようにした並列計算機のスケジューリング方法。
  2. 【請求項2】請求項1記載の並列計算機のスケジューリ
    ング方法において、待ち行列は、持っているプログラム
    が実行できるプロセッサの一覧を記述した実行可能プロ
    セッサ表を備え、プログラムを割り付ける際に、前記実
    行可能プロセッサ表に基づき、実行可能なプロセッサだ
    けに割り付けるようにした並列計算機のスケジューリン
    グ方法。
  3. 【請求項3】請求項1記載の並列計算機のスケジューリ
    ング方法において、プロセッサは、実行可能なプログラ
    ムが蓄えられている待ち行列の一覧を記述した待ち行列
    表を備え、プログラムを割り付ける際に、前記待ち行列
    表に基づき、実行可能な待ち行列からのプログラムだけ
    を割り付けるようにした並列計算機のスケジューリング
    方法。
  4. 【請求項4】請求項1記載の並列計算機のスケジューリ
    ング方法において、各待ち行列から、それぞれ格納して
    いるプログラム中で最も優先度の高いプログラムの優先
    度情報だけを調べ、その中で一番優先度の高いプログラ
    ムを格納している前記待ち行列のロック装置に対してロ
    ックを掛け、そのプログラムを前記プロセッサに割り付
    けた後、ロックを掛けた前記待ち行列に対してのロック
    を解除するようにした並列計算機のスケジューリング方
    法。
  5. 【請求項5】請求項4記載の並列計算機のスケジューリ
    ング方法において、各待ち行列における優先度の高いプ
    ログラムの優先度情報を高い順に並べた優先度順位表を
    つくり、一番優先度の高いプログラムが格納している待
    ち行列のロック装置に対してロックを掛けた後、再度、
    最高優先度を調べ、前記ロックを掛けた待ち行列の最高
    優先度が前記優先度順位表の二番目の優先度より低くな
    ければ、ロックを掛けた前記待ち行列からプログラムを
    取ってきてプロセッサに割り付け、前記待ち行列に対し
    てのロックを解除するようにした並列計算機のスケジュ
    ーリング方法。
  6. 【請求項6】請求項5記載の並列計算機のスケジューリ
    ング方法において、再度、最高優先度を調べた際、ロッ
    クを掛けた待ち行列の最高優先度が優先度順位表の二番
    目の優先度より低ければ、ロックを掛けた待ち行列のロ
    ック装置のロックを外し、次に前記優先度順位表を、調
    べた優先度を基に修正した後、この修正した優先度順位
    表に基づき、最高優先度を調べ直すようにした並列計算
    機のスケジューリング方法。
  7. 【請求項7】請求項4記載の並列計算機のスケジューリ
    ング方法において、プログラムの割り付けに際し、請求
    項2に記載の実行可能プロセッサ表を用いて、実行可能
    なプロセッサだけに優先度の一番高いプログラムを割り
    付けるようにした並列計算機のスケジューリング方法。
  8. 【請求項8】請求項4記載の並列計算機のスケジューリ
    ング方法において、プログラムの割り付けに際し、請求
    項3に記載の待ち行列表に基づき、実行可能な待ち行列
    表からのプログラムだけを割り付けるようにした並列計
    算機のスケジューリング方法。
  9. 【請求項9】請求項5記載の並列計算機のスケジューリ
    ング方法において、プログラムの割り付けに際し、請求
    項2に記載の実行可能プロセッサ表に基づき、実行可能
    なプロセッサだけに優先度の一番高いプログラムを割り
    付けるようにした並列計算機のスケジューリング方法。
  10. 【請求項10】請求項5記載の並列計算機のスケジューリ
    ング方法において、プログラムの割り付けに際し、請求
    項3に記載の待ち行列表を基づき、実行可能な待ち行列
    表からのプログラムだけを割り付けるようにした並列計
    算機のスケジューリング方法。
  11. 【請求項11】請求項6記載の並列計算機のスケジューリ
    ング方法において、プログラムの割り付けに際し、請求
    項2に記載の実行可能プロセッサ表に基づき、実行可能
    なプロセッサだけに優先度の一番高いプログラムを割り
    付けるようにした並列計算機のスケジューリング方法。
  12. 【請求項12】請求項6記載の並列計算機のスケジューリ
    ング方法において、プログラムの割り付けに際し、請求
    項3に記載の待ち行列表を基づき、実行可能な待ち行列
    表からのプログラムだけを割り付けるようにした並列計
    算機のスケジューリング方法。
JP31714191A 1991-11-30 1991-11-30 並列計算機のスケジユーリング方法 Pending JPH05151180A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31714191A JPH05151180A (ja) 1991-11-30 1991-11-30 並列計算機のスケジユーリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31714191A JPH05151180A (ja) 1991-11-30 1991-11-30 並列計算機のスケジユーリング方法

Publications (1)

Publication Number Publication Date
JPH05151180A true JPH05151180A (ja) 1993-06-18

Family

ID=18084906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31714191A Pending JPH05151180A (ja) 1991-11-30 1991-11-30 並列計算機のスケジユーリング方法

Country Status (1)

Country Link
JP (1) JPH05151180A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075808A (ja) * 2007-09-20 2009-04-09 Kddi Corp オペレーティングシステムに基づくイベント処理機能搭載装置及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075808A (ja) * 2007-09-20 2009-04-09 Kddi Corp オペレーティングシステムに基づくイベント処理機能搭載装置及びプログラム
US8356301B2 (en) 2007-09-20 2013-01-15 Kddi Corporation Optimization of queued events by deletion/integration based on CPU load calculation

Similar Documents

Publication Publication Date Title
US5325526A (en) Task scheduling in a multicomputer system
JP2866241B2 (ja) コンピュータシステムおよびスケジューリング方法
JP3678414B2 (ja) 多重プロセッサ・システム
US5333319A (en) Virtual storage data processor with enhanced dispatching priority allocation of CPU resources
US6658448B1 (en) System and method for assigning processes to specific CPU's to increase scalability and performance of operating systems
US7650601B2 (en) Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment
EP2300910B1 (en) Scheduler instances in a process
CN101727357B (zh) 用于分配计算中心中资源的方法和装置
US8375390B2 (en) Scheduling method and scheduling apparatus
US7559062B2 (en) Intelligent scheduler for multi-level exhaustive scheduling
US5257375A (en) Method and apparatus for dispatching tasks requiring short-duration processor affinity
US20040221285A1 (en) Management of dispatch functions in a virtual machine environment
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
US7920282B2 (en) Job preempt set generation for resource management
US20070044104A1 (en) Adaptive scheduling and management of work processing in a target context in resource contention
CN113051049A (zh) 任务调度系统、方法、电子设备及可读存储介质
Horowitz A run-time execution model for referential integrity maintenance
JPH03154125A (ja) 命令割り当て装置及び命令割り当て方法
JPH05151180A (ja) 並列計算機のスケジユーリング方法
JPH05108380A (ja) データ処理システム
JPH03116334A (ja) タスクディスパッチ方式
JP2692647B2 (ja) マルチタスク制御方法および制御システム
JP6445876B2 (ja) リソース割当装置、リソース割当システム、および、リソース割当方法
US11789773B2 (en) Computing device for handling tasks in a multi-core processor, and method for operating computing device
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体