JPH11167495A - 情報処理装置および分散情報処理装置の優先順位処理方法、並びに情報処理装置および分散情報処理装置 - Google Patents

情報処理装置および分散情報処理装置の優先順位処理方法、並びに情報処理装置および分散情報処理装置

Info

Publication number
JPH11167495A
JPH11167495A JP9332192A JP33219297A JPH11167495A JP H11167495 A JPH11167495 A JP H11167495A JP 9332192 A JP9332192 A JP 9332192A JP 33219297 A JP33219297 A JP 33219297A JP H11167495 A JPH11167495 A JP H11167495A
Authority
JP
Japan
Prior art keywords
priority
processing
change
exclusive control
information processing
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
JP9332192A
Other languages
English (en)
Inventor
Masahito Shimoda
雅人 下田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9332192A priority Critical patent/JPH11167495A/ja
Publication of JPH11167495A publication Critical patent/JPH11167495A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 優先順位の変化を関連するサブシステムまで
波及するように考慮されていないために、優先順位の高
い処理がロックの開放を待ち続けてしまう。 【解決手段】 優先順位が変更された場合に、その処理
に関連するサブシステムに変更後の優先順位を通知し、
その通知に応じて、優先順位が変更された処理に関連す
るサブシステムの処理順序を変更する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、排他制御を行う
計算機システム、情報通信システム、機器制御システム
等の情報処理装置および分散情報処理装置の優先順位処
理方法、並びに情報処理装置および分散情報処理装置に
関するものである。
【0002】
【従来の技術】従来の情報処理装置の優先順位処理方法
として、ある処理が排他制御処理により排他制御(以
下、ロックと言う)を取得している状態を考える。この
場合、ある処理が一度ロックを取得してしまうと、後か
ら別の処理が同じロックを取得しようとしても、そのロ
ックを取得することができず、そのロックが開放される
まで処理を止められることになる。優先順位を考慮しな
い方法では、先にロックを取得した処理の優先順位が低
く、後からロックを取得しようとした処理の優先順位が
高い場合でも、優先順位の低い処理が終わるまでの間、
優先順位の高い処理が待たされてしまうという課題が発
生する。
【0003】この課題に対して、いくつかの対応方法が
知られている。一つは、優先順位の低い処理を中断さ
せ、ロックを強制的に開放させる方法である。この方法
はハードウェアでのデータ転送処理等でよく用いられて
いる。しかし、ロックを取得している間の処理内容によ
っては処理を中断することができないために、この方法
を適用できない場合がある。もう一つの方法は、より一
般的な方法で、ロックを取得した処理の優先順位を一時
的に上げて処理を早く終わらせ、ロックが開放されるま
での時間を短縮する方法である。この方法は一般的には
優先順位継承の技法と呼ばれており、ソフトウェアでの
排他制御によく用いられている。
【0004】また、これに類似した方法として、特開平
7−230387号公報等に示されるように、ロックの
処理時間に応じて優先順位を決定する方法が知られてい
る。しかし、これらのいずれの方法でも、優先順位の変
化は単一システム内部での処理順序に影響を与えるだけ
で、関連するサブシステムに対して影響を与える方法が
用意されていなかった。
【0005】
【発明が解決しようとする課題】従来の情報処理装置は
以上のように構成されているので、単一システム内部で
のロック待ちの課題を解決しているが、システムが関連
する複数のサブシステムに分かれている場合には、優先
順位の変化を関連するサブシステムまで波及するように
考慮されていないために、優先順位の高い処理がロック
の開放を待ち続けてしまうという課題があった。
【0006】優先順位の低い処理が、ロックを取得した
後で必要なデータを取り出すために、サブシステムに対
してデータを要求した場合について考える。サブシステ
ムはデータの要求を受け取った場合に、優先順位を考慮
してその処理順序を計算し、優先順位の高い要求から処
理をする。そのため、優先順位の低い要求は待ち行列の
中に格納され、処理の順番が回ってくるまで待たされる
ことになる。この時、別の処理から中間程度の優先順位
の要求が継続して発行され続けた場合、優先順位が低い
処理からの要求は、たとえ先に発行されたものであって
も、待ち行列の中でずっと待たされたままになってしま
うことがある。
【0007】サブシステムに対する要求が待ち行列の中
で止められている間、そのサブシステムに対する要求を
発行した元の処理はロックを取得したままの状態にな
る。そのため、優先順位の高い処理が同じロックを取得
しようとした時に課題が発生する。優先順位の継承の技
法を用いるシステムの場合は、ロックを取得した処理の
優先順位を、後からロックを取得しようとした処理と同
じレベルにまで一時的に上げることによって課題を解決
しようとするが、システムが複数のサブシステムに分離
している場合、他のサブシステムに対して優先順位の変
化を伝えられないために、サブシステムの中での処理は
以前の優先順位のまま処理が行われ続け、その結果、ロ
ックを取得した処理の要求は後回しにされるという課題
が解消されないままになっていた。
【0008】この発明は上記のような課題を解決するた
めになされたもので、排他制御を取得した処理が、関連
するサブシステムにより要求が後回しにされ続け、処理
が遅れてしまうことを防ぐことができる情報処理装置の
優先順位処理方法および情報処理装置を得ることを目的
とする。
【0009】また、この発明は、複数の情報処理装置に
おいて優先順位の変更が行われた時における混乱を防ぐ
ことができる分散情報処理装置の優先順位処理方法およ
び分散情報処理装置を得ることを目的とする。
【0010】
【課題を解決するための手段】この発明に係る情報処理
装置の優先順位処理方法は、優先順位変更工程により優
先順位が変更された場合に、その処理に関連するサブシ
ステムに変更後の優先順位を通知する優先順位変更通知
工程と、その通知に応じて、優先順位が変更された処理
に関連するサブシステムの処理順序を変更するサブシス
テム優先順位変更工程とを備えたものである。
【0011】この発明に係る情報処理装置の優先順位処
理方法は、優先順位変更通知工程による通知に応じてサ
ブシステムを調査し、処理順序の変更による処理時間の
短縮よりも処理順序の変更にかかる時間の方が長いと判
定した場合に、サブシステム優先順位変更工程による処
理順序の変更を回避する処理順序変更回避工程を備えた
ものである。
【0012】この発明に係る情報処理装置の優先順位処
理方法は、排他制御を取得したことのある処理の優先順
位の最高値を記憶する優先順位最高値記憶工程と、処理
が排他制御を取得する場合に、優先順位最高値記憶工程
により記憶された優先順位の最高値よりも1つ低い優先
順位を与える排他制御割り当て工程とを備えたものであ
る。
【0013】この発明に係る情報処理装置の優先順位処
理方法は、排他制御の取得時にその排他制御の割り込み
を登録する割り込み登録工程と、優先順位の低い処理が
排他制御を取得した状態に優先順位の高い処理が同じ排
他制御を取得しようとした場合に、割り込み登録工程に
より登録された割り込みを発生させその優先順位の低い
処理の排他制御を開放する割り込み発生工程とを備えた
ものである。
【0014】この発明に係る分散情報処理装置の優先順
位処理方法は、各々の情報処理装置に、優先順位変更工
程によって変更された処理および優先順位を他の情報処
理装置に通知する他装置通知工程と、他装置通知工程に
よる通知および自情報処理装置の優先順位変更手段によ
って変更された処理および優先順位を記憶する処理情報
記憶工程と、処理情報記憶工程により記憶された処理の
優先順位の最高値を算出する最高値算出工程とを備え、
最高値算出工程によって算出された最高値を優先順位変
更工程における一時的変更時の処理の優先順位にするよ
うにしたものである。
【0015】この発明に係る情報処理装置は、優先順位
変更手段により優先順位が変更された場合に、その処理
に関連するサブシステムに変更後の優先順位を通知する
優先順位変更通知手段と、その通知に応じて、優先順位
が変更された処理に関連するサブシステムの処理順序を
変更するサブシステム優先順位変更手段とを備えたもの
である。
【0016】この発明に係る情報処理装置は、排他制御
の取得時に登録され、且つ優先順位の低い処理が排他制
御を取得した状態に優先順位の高い処理が同じ排他制御
を取得しようとした場合に、割り込みを発生させ優先順
位の低い処理の排他制御を開放する割り込みハンドラを
備えたものである。
【0017】この発明に係る分散情報処理装置は、各々
の情報処理装置に、優先順位変更手段によって変更され
た処理および優先順位を他の情報処理装置に通知する他
装置通知手段と、他装置通知手段からの通知および自情
報処理装置の優先順位変更手段によって変更された処理
および優先順位を記憶する処理情報記憶手段と、処理情
報記憶手段に記憶された処理の優先順位の最高値を算出
する最高値算出手段とを備え、最高値算出手段によって
算出された最高値を優先順位変更手段における一時的変
更時の処理の優先順位にするようにしたものである。
【0018】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1による情
報処理装置を示すブロック構成図、図2はディスク装置
を示すブロック構成図であり、図1において、1は計算
機全体を制御するオペレーティングシステム、2は高い
優先順位を持ったプロセスA、3は低い優先順位を持っ
たプロセスB、4はセマフォ等で実装された排他制御手
段、5はディスク装置全体である。
【0019】また、図2において、5はディスク装置全
体、6はディスク装置5の内部に設けられたディスク制
御装置、7はディスク装置5の内部に設けられた優先順
位付き待ち行列である。8はディスク媒体への読み書き
を行うディスク読み書き装置、9はディスク媒体、10
はプロセスBがディスク装置5に対して発行したI/O
要求、11はI/O要求が優先順位付き待ち行列7に格
納された状態を示したものである。なお、計算機オペレ
ーティングシステムでは図2に示したディスク制御装置
6と優先順位付き待ち行列7とをデバイスドライバとし
て、ソフトウェアで実現する場合がある。
【0020】次に動作について説明する。図3は優先順
位変更処理を示すフローチャート、図4は排他制御取得
処理を示すフローチャート、図5はディスク装置の処理
を示すフローチャートであり、これら図3から図5と上
記図1および図2を参照しながら動作を説明する。図1
の排他制御手段4は、排他制御(以下、ロックと言う)
の取得を要求された場合、まだ他のプロセスによってロ
ックが取得されていない時は(ステップST401)、
どのプロセスがロックを取得したのか、ロックを取得し
た時の計算プロセスの優先順位、という2つの情報を記
録し(ステップST402)、ロックをそのプロセスに
割り当てる(ステップST403)。ここで、ステップ
ST402における2つの情報の記録は、ロックが開放
された時に、プロセスの優先順位を元の値に戻すために
使用される(ステップST408)。
【0021】上記ステップST401からステップST
403により、ロックがプロセスBによって既に取得さ
れた状態で、後から別のプロセスAがロックを取得しよ
うとした場合には(ステップST401)、排他制御手
段4は、ロックを持っているプロセスBの優先順位と、
後からロックを取得しようとしたプロセスAの優先順位
の比較を行なう(ステップST404)。プロセスAの
優先順位の方が低い場合は、通常のロック処理と同じよ
うに、プロセスBのロックが開放されるまでプロセスA
を停止させておく(ステップST405)。
【0022】逆に、プロセスAの優先順位の方が高い場
合は、プロセスBの優先順位をプロセスAの優先順位と
同じ値まで一時的に上げる処理を行なう(ステップST
301,ステップST406:優先順位変更工程,優先
順位変更手段)。この処理には優先順位が変化したこと
をサブシステムに対して通知を行なう処理が含まれてお
り(ステップST302:優先順位変更通知工程,優先
順位変更通知手段)、サブシステムでは、プロセスBの
優先順位が変化したという通知を受け取ることにより、
内部の処理手順を見直す処理が行われる(ステップST
503〜ステップST507:サブシステム優先順位変
更工程,サブシステム優先順位変更手段)。また、優先
順位が一時的に上げられた状態で、さらに、優先順位が
高いプロセスがロックを取得しようとした場合も、同様
の手順によって優先順位をさらに高い値に変更する処理
を行なう。
【0023】プロセスBの優先順位変更の通知を受け取
ったサブシステムでは、プロセスBが発行したI/O要
求が待ち行列の中にあるかどうかを調査し(ステップS
T503)、もし、あった場合には(ステップST50
4)、そのI/O要求の優先順位を変更して、待ち行列
の並べ替えを行う(ステップST505〜ステップST
507)。この並べ替えの処理はサブシステムの種類に
よって異なるが、優先順位を考慮したディスク装置5で
は、優先順位毎にI/O要求を分類し、それぞれの優先
順位レベルに対してエレベータ(SCAN)アルゴリズ
ムに基づいて並べ替えを行なう。
【0024】さらに、ステップST406およびステッ
プST503〜ステップST507により、プロセスB
およびそのサブシステムの優先順位変更後に、プロセス
Bの処理が終了すればロックが開放され(ステップST
407)、プロセスBの優先順位をステップST402
において記録しておいた2つの情報により、元の優先順
位に戻す(ステップST408)。
【0025】以上のように、この実施の形態1によれ
ば、優先順位の変更が、すぐにディスク装置5の処理に
反映されることになり、プロセスBのI/O要求が、不
当に長い間後回しにされる現象が解消され、プロセスB
が取得しているロックが早く開放され、プロセスAのロ
ック待ちの課題が解消される。なお、この実施の形態1
では、ステップST406によりプロセスBの優先順
位:10をプロセスAの優先順位:100まで上げた
が、プロセスBの優先順位:10をプロセスAの優先順
位:100以上上げるものであれば同様な効果を奏す
る。
【0026】実施の形態2.図6はこの発明の実施の形
態2による情報処理装置のディスク装置の処理を示すフ
ローチャートであり、この実施の形態2に係るディスク
装置5では、並べ替えの処理を行なわない方が早く要求
が処理されると判定される場合は(ステップST60
6:処理順序変更回避工程)、並べ替えの処理を行わな
いで、そのまま処理を続けるものである。
【0027】次に動作について説明する。上記図6と図
1および図2を参照しながら動作を説明する。通常のデ
ィスク装置では、処理手順の並べ替えにかかる時間よ
り、1個のI/O要求を処理するのにかかる時間の方が
長いため、並べ替え処理を行った方が早く実行されるこ
とが多いが、いくつかの条件が満たされる場合は、並べ
替え処理を行わない方が早く処理が終わる場合がある。
それらの条件の例を以下に示す。 (条件1)待ち行列の中に溜まっている要求が1個しか
ない時。 (条件2)優先順位が変化するI/O要求よりも先に実
行される予定の要求が無い時。 (条件3)並べ替えを行っても、順番が変わらない時。 (条件4)優先順位が変化するI/O要求の数が非常に
多く(数千から数万)、且つ、先に実行される予定のI
/O要求の数が少なかった時。 (条件5)そもそも、ディスク装置のプロセッサが非常
に遅く、並べ替えに時間がかかる時。
【0028】条件3と条件4について、さらに詳しく説
明する。条件3では、ディスク装置5は優先順位変更の
通知を受け取った時に、待ち行列の中に指定されたプロ
セスのI/O要求があるかどうかを調査する(ステップ
ST603)。その際に、優先順位が同一の要求の数
と、変更前と変更後の優先順位よりも高い優先順位をも
つ要求の数を数えておく。もし、優先順位が同一な要求
が無く、且つ、より優先順位の高い要求の数が優先順位
を変更しても変わらないのであれば、並べ替えを行って
も処理の順番が早くなることはない。
【0029】条件4では、待ち行列の中を調査(ステッ
プST603)する時に、優先順位の付け替えを行わな
ければならないI/O要求の数と、それらの要求より先
に実行される予定のI/O要求の数を数えておく。非常
に大量(数千〜数万)のI/O要求の並べ替えを行わな
ければならない時は、その処理にかかる時間の方が、1
個のI/O要求を処理する時間の方より長くなることが
ある。この数はディスク装置5の性能と、ディスク装置
5のプロセッサの能力によって変化するため、予めどの
くらいの処理能力があるのかを計測しておき、そのデー
タに基づき、I/O要求の並べ替えを行うのにかかる時
間と、先に実行されるI/O要求の処理時間を計算す
る。この結果から、もし、並べ替えにかかる時間の方が
長い場合は、並べ替えを行う必要が無いことがわかる。
【0030】以上のように、この実施の形態2によれ
ば、サブシステムの並べ替えによって処理時間が短縮さ
れないと判定された場合には並べ替え処理を行わないこ
とにより、並べ替え処理を行うことによる実行の遅延を
排除することができる。なお、上記実施の形態2での条
件は、ディスク装置5の場合を例として示したが、通信
サブシステムおよび端末サブシステム等、その他の種類
のサブシステムでは異なった条件を使用する。
【0031】実施の形態3.図7はこの発明の実施の形
態3による情報処理装置の排他制御取得処理を示すフロ
ーチャート、図8は排他制御開放処理を示すフローチャ
ートであり、この実施の形態3に係るディスク装置5で
は、ロックを取得したことのあるプロセスの優先順位の
最高値を更新しておき(ステップST701:優先順位
最高値記憶工程)、プロセスがロックを取得する場合
に、更新された優先順位の最高値よりも1つ低い優先順
位を与える(ステップST704:排他制御割り当て工
程)ものである。
【0032】次に動作について説明する。上記図7およ
び図8を参照しながら動作を説明する。ロックを取得す
る場合に、取得しようとしたプロセスの優先順位が、そ
の内部に記録された優先順位よりも高い場合、その値を
保存しておく(ステップST701)。これによって過
去にそのロックを使用したプロセスの優先順位の最高値
を知ることができる。そして、プロセスにロックを与え
る前に、変更前のプロセスの優先順位を保存しておき
(ステップST703)、もし、そのプロセスの優先順
位が過去の最高値よりも低い場合は、過去の最高値より
1レベル低い順位まで、優先順位を上げておく(ステッ
プST704)。
【0033】以上のように、この実施の形態3によれ
ば、プロセスがロックを取得している間は、そのロック
を使用する可能性があるプロセスの中で最も高い優先順
位と近い優先順位を持つことになり、その優先順位より
も高い優先順位を持つプロセスがロックを取得要求する
可能性が少なくなり、優先順位の変更等の処理が不要と
なるので、その処理が短時間で終了するようになる。ま
た、最高の優先順位を持つプロセスよりも1レベル低い
優先順位を持つことになるため、その最高の優先順位を
持つ処理の動作を阻害することがない。その結果、この
ロックが取得されている時間の比率が下がり、高い優先
順位を持つプロセスがロック待ちに入る確率が低下し、
高い優先順位を持つプロセスのスループットが向上す
る。
【0034】なお、上記実施の形態3では、ロックを開
放する際に必ず優先順位を戻す処理が必要なため、ロッ
クを開放する処理が変更される。図8はそのフローチャ
ートであり、ロックを取る際に記録(ステップST70
3)しておいた値まで、優先順位を戻す処理が加えられ
ている(ステップST802)。
【0035】実施の形態4.図9はこの発明の実施の形
態4による情報処理装置の排他制御取得処理を示すフロ
ーチャート、図10は割り込みハンドラの処理を示すフ
ローチャートであり、この実施の形態4に係る割り込み
ハンドラでは、ロックの取得時に登録され(ステップS
T904,割り込み登録工程)、且つ優先順位の低い処
理がロックを取得した状態に優先順位の高い処理が同じ
ロックを取得しようとした場合に、割り込みを発生させ
(ステップST908,割り込み発生工程)、その優先
順位の低い処理のロックを開放するものである。
【0036】次に動作について説明する。上記図9およ
び図10を参照しながら動作を説明する。プロセスがロ
ックを取得する際に、ロックを持っているプロセスより
も優先順位が高いと判定(ステップST906)され、
且つ、そのプロセスがロックを取得する時に割り込みハ
ンドラを登録(ステップST903,ステップST90
4)していることがわかった(ステップST907)場
合は、割り込みを発生させ(ステップST908)、ロ
ックを持つプロセスの割り込みハンドラを起動する。こ
のハンドラ内の処理はロックを持つプロセス毎に異なっ
ているが、その代表的な処理を図10に示す。
【0037】割り込みハンドラが実行されると、プロセ
スはロックが開放可能かどうかを判定し(ステップST
1001)、可能である時はロックを開放し(ステップ
ST1002,ステップST1003)、その結果を通
知する(ステップST1004,ステップST100
5)。もし、ロックを持つプロセスがロックを開放でき
た時は、より高い優先順位を持ったプロセスがロックの
開放を待つ時間を大幅に短縮することができる。逆に、
ロックが開放されなかった場合は、実施の形態1のロッ
クの取得処理と同じように優先順位を一時的に上げる処
理を行い(ステップST910)、ロックが開放される
までの時間を短縮させる。
【0038】以上のように、この実施の形態4によれ
ば、ロックを取得している処理よりも高い優先順位を持
つ処理がロックを必要とした時、割り込みハンドラによ
りロックを持つ処理に対して割り込みを発生させること
ができ、高い優先順位を持つ処理がロックを待つ時間を
大幅に縮小することができる。
【0039】実施の形態5.図11はこの発明の実施の
形態5による複数の情報処理装置から成る分散情報処理
装置を示すブロック構成図、図12はオペレーティング
システムの中で管理されている優先順位情報を示す概念
図、図13は優先順位の変化を示す説明図である。図1
4〜図16は優先順位変更処理を示すフローチャートで
ある。図11において、12,13は計算機であり、分
散情報処理装置を構成している。14〜16はプロセス
A〜C、17,18は各々計算機12,13全体を制御
するオペレーティングシステム、19,20は各々セマ
フォ等で実装された排他制御手段である。
【0040】次に動作について説明する。複数の計算機
から成る分散システムの場合、一つのプロセスが複数の
計算機に跨って処理される場合がある。この場合、一つ
の計算機の中で発生した優先順位の変化を、別の計算機
にも伝える必要がある。しかし、計算機同士が離れて設
置されている場合、これらの間の通信には時間がかかる
ため、複数の要求がほぼ同時になされた場合、混乱を生
じる場合がある。
【0041】図11は二つの計算機12,13の上で実
行されているプロセスの状態を図示したものであり、プ
ロセスBが排他制御手段19と20のロックを取得して
いる状態を示している。この時、ほぼ同時にプロセスA
とプロセスCがロックを取得しようとした場合について
説明する。
【0042】符号体系を持たないシステムの場合は、プ
ロセスAとプロセスCの優先順位がプロセスBよりも高
い場合、実施の形態1と同じ処理によってプロセスBの
優先順位が一時的に上げられようとする。ここで、プロ
セスBの優先順位が5、プロセスAの優先順位が20、
プロセスCの優先順位が10であるとするならば、計算
機12の中で、プロセスBの優先順位は20まで上げら
れようとする。そして計算機13のプロセスBの優先順
位を同じ値にするため「プロセスBの優先順位を20に
変更せよ」という通知を送る。しかし、この時、ほぼ同
時に計算機13の中ではプロセスBの優先順位を10ま
で上げる処理が行われている場合がある。その結果、計
算機13から「プロセスBの優先順位を10に変更せ
よ」という通知が後から送られてくることになり、20
まで上げた優先順位が、すぐに10まで下がってしまう
ことになる。
【0043】このような課題を解消するため、実施の形
態5では、優先順位の変更の要求を以下の3種類の符号
体系を用いて通知する。 (通知形式1)「プロセスXの優先順位を少なくともY
まで上げよ」 (通知形式2)「プロセスXの優先順位をYまで上げる
要求を取り消せ」 (通知形式3)「プロセスXの優先順位の通常値をYに
設定せよ」
【0044】通知形式1は、実施の形態1の図4のフロ
ーチャートのステップST406で優先順位を上げる時
に使用される。この通知を受け取った場合、オペレーテ
ィングシステムは図14に示す処理で優先順位設定の処
理を行い、その要求をプロセス情報テーブルに追加す
る。通知形式2は、同じように図4のステップST40
8で優先順位を元に戻す時に使用される。この通知を受
け取った場合、オペレーティングシステムは図15に示
す処理を行い、プロセス情報テーブルから要求を取り除
く。通知形式3は、これらの優先順位の一時的変更とは
別に、プロセスが自分の優先順位を変更する時に使用さ
れるもので、オペレーティングシステムは図16に示す
処理を行い、プロセスの通常の優先順位の値、図12の
23の値を書き替える。
【0045】この実施の形態5では、通知形式1をプラ
ス記号(+)、通知形式2をマイナス記号(−)、通知
形式3をイコール記号(=)で表す。先の例をこの記法
で表すと、「+20」という要求を計算機13のプロセ
スBに送ることになる。また、同様に+20の要求を取
り消す際には−20という要求を送ることになる。
【0046】上記実施の形態1では、オペレーティング
システムは優先順位の値を単純に書き替えてしまうだけ
だが、この実施の形態5では、これらの優先順位変更要
求の情報を、取り消されるまでプロセス情報テーブルの
中に貯えておく。図12は、オペレーティングシステム
の中で変更要求が貯えられている状態を図示したもの
で、21はプロセスBに関する管理情報、22はプロセ
スBの通常の状態の時の優先順位情報、23〜25は通
知形式1の要求が貯えられている状態を示す。26は通
知形式2の要求、27はプロセスAに関する管理情報、
28はプロセスAの通常の状態の時の優先順位情報であ
る。
【0047】これらの優先順位の変更の要求が自計算機
および他自計算から通知された場合(ステップST14
02:他装置通知工程,他装置通知手段,ステップST
1502,ステップST1602)、オペレーティング
システムは、通知の種類によって、内部に貯えられた要
求の追加(ステップST1403:処理情報記憶工程,
処理情報記憶手段)、削除(ステップST1503)、
変更(ステップST1603)を行う。そして貯えられ
た要求の中で最も高い順位を求め(ステップST140
4:最高値算出工程,最高値算出手段,ステップST1
504,ステップST1604)、その値まで優先順位
を変化させる(ステップST1405,ステップST1
505,ステップST1605)。もし、この時、優先
順位の最高値が変らない時は、サブシステムに対して変
化の通知を行わない(ステップST1406,140
7,ステップST1506,1507,ステップST1
606,1607)。
【0048】図13はこのように構成された実施の形態
5での優先順位の変化を示す説明図であり、プロセスの
通常の優先順位が5である時に、29で、+10の要求
が通知され優先順位が上がり、その後、30で+20の
要求が通知され、さらに優先順位が上がる。この実施の
形態5のシステムでは、この時、+10と、+20の両
方の要求がオペレーティングシステムの中に貯えられる
ことになる。その後、31で、−20の要求により+2
0の要求が取り消され、優先順位の値が下げられる。も
し、過去に発行された優先順位変更要求を内部に記録し
ておかないシステムであれば、ここで優先順位が5まで
下げられる所であるが、この実施の形態5のシステムで
は内部のプロセス情報テーブルに+10の要求が残って
いるため、優先順位が不当に低い値まで戻ってしまうこ
とがない。
【0049】また、このように構成されたシステムで
は、先に示したプロセスA,B,Cでの課題も解決され
ている。計算機12の中でプロセスBの優先順位が20
まで上げられた時、そのプロセス情報テーブルの中には
+20の要求が貯えられている。その後、計算機13か
ら+10の要求が来ても優先順位の最高値は変化しない
ため、プロセスBの優先順位が不当に下げられてしまう
ことがない。
【0050】以上のように、この実施の形態5によれ
ば、複数のシステムで同時に発生した優先順位の変化
を、変更をどのように行うかを指示できる符号体系を用
いて通知し、複数のシステムからの優先順位の一時的変
更の要求を内部に保持するプロセス情報テーブルを持つ
ため、複数の優先順位変更要求が同時に通知された場合
でも常に適切な優先順位を保つことができる。
【0051】
【発明の効果】以上のように、この発明によれば、優先
順位の低い処理がサブシステムに対して発行した要求
が、優先順位が上昇した後においても待ち続けてしまう
現象を解消することができ、結果として、その処理が持
つ排他状態が速く開放されるため、優先順位の高い処理
が排他制御を取得できず待たされ続けるということがな
くなり、高い優先順位を持った処理の実行時間の最大値
を保証できる効果が得られる。
【0052】また、この発明によれば、処理の優先順位
が変更された場合に、処理順序変更回避工程によりサブ
システムの処理順序を変更するか否か判定するので、そ
の処理順序の変更のための処理時間を短縮できる効果が
得られる。
【0053】また、この発明によれば、処理が排他制御
を取得する場合に、優先順位の最高値よりも1つ低い優
先順位を与えるので、排他処理が取得されている時間の
比率が下がり、高い優先順位を持つ処理が待ち状態にな
る確率が低下し、高い優先順位を持つ処理のスループッ
トが向上する効果が得られる。
【0054】また、この発明によれば、排他制御を取得
した処理に対して割り込み発生工程により割り込みを発
生することが可能になり、高い優先順位を持った処理の
待ち状態の最大時間を大きく削減できる効果が得られ
る。また、排他制御を取得中だった処理は、割り込みが
掛けられることにより、排他制御が競合常態にあること
を知ることができ、それらの頻度を計測することで、シ
ステムの負荷状態等を予測することができる効果が得ら
れる。
【0055】また、この発明によれば、分散情報処理装
置の複数の情報処理装置に跨って行われる処理に対する
優先順位の変更が混乱なく行えるようになるため、分散
情報処理装置の設計が簡単になる効果が得られる。
【0056】また、この発明によれば、優先順位の低い
処理がサブシステムに対して発行した要求が、優先順位
が上昇した後においても待ち続けてしまう現象を解消す
ることができ、結果として、その処理が持つ排他状態が
速く開放されるため、優先順位の高い処理が排他制御を
取得できず待たされ続けるということがなくなり、高い
優先順位を持った処理の実行時間の最大値を保証できる
効果が得られる。
【0057】また、この発明によれば、排他制御を取得
した処理に対して割り込みハンドラにより割り込みを発
生することが可能になり、高い優先順位を持った処理の
待ち状態の最大時間を大きく削減できる効果が得られ
る。また、排他制御を取得中だった処理は、割り込みが
掛けられることにより、排他制御が競合常態にあること
を知ることができ、それらの頻度を計測することで、シ
ステムの負荷状態等を予測することができる効果が得ら
れる。
【0058】また、この発明によれば、分散情報処理装
置の複数の情報処理装置に跨って行われる処理に対する
優先順位の変更が混乱なく行えるようになるため、分散
情報処理装置の設計が簡単になる効果が得られる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による情報処理装置
を示すブロック構成図である。
【図2】 ディスク装置を示すブロック構成図である。
【図3】 優先順位変更処理を示すフローチャートであ
る。
【図4】 排他制御取得処理を示すフローチャートであ
る。
【図5】 ディスク装置の処理を示すフローチャートで
ある。
【図6】 この発明の実施の形態2による情報処理装置
のディスク装置の処理を示すフローチャートである。
【図7】 この発明の実施の形態3による情報処理装置
の排他制御取得処理を示すフローチャートである。
【図8】 排他制御開放処理を示すフローチャートであ
る。
【図9】 この発明の実施の形態4による情報処理装置
の排他制御取得処理を示すフローチャートである。
【図10】 割り込みハンドラの処理を示すフローチャ
ートである。
【図11】 この発明の実施の形態5による複数の情報
処理装置から成る分散情報処理装置を示すブロック構成
図である。
【図12】 オペレーティングシステムの中で管理され
ている優先順位情報を示す概念図である。
【図13】 優先順位の変化を示す説明図である。
【図14】 優先順位変更処理を示すフローチャートで
ある。
【図15】 優先順位変更処理を示すフローチャートで
ある。
【図16】 優先順位変更処理を示すフローチャートで
ある。
【符号の説明】
ST301,ST406 優先順位変更工程,優先順位
変更手段、ST302優先順位変更通知工程,優先順位
変更通知手段、ST503〜ST507 サブシステム
優先順位変更工程,サブシステム優先順位変更手段、S
T606 処理順序変更回避工程、ST701 優先順
位最高値記憶工程、ST704 排他制御割り当て工
程、ST904 割り込み登録工程、ST908 割り
込み発生工程、ST1402 他装置通知工程,他装置
通知手段、ST1403 処理情報記憶工程,処理情報
記憶手段、ステップST1404 最高値算出工程,最
高値算出手段。
【手続補正書】
【提出日】平成10年2月9日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0033
【補正方法】変更
【補正内容】
【0033】以上のように、この実施の形態3によれ
ば、プロセスがロックを取得している間は、そのロック
を使用する可能性があるプロセスの中で最も高い優先順
位と近い優先順位を持つことになり、CPUが割り当て
られる頻度が増加して、ロックを取得中の処理が早く終
了するようになる。また、最も高い優先順位よりも、わ
ずかに低い優先順位であるため、最も高い優先順位を持
つプロセスの動作を阻害する事がない。その結果、この
ロックが取得されている時間の比率が下がり、高い優先
順位を持つプロセスがロック待ちに入る確率が低下し、
高い優先順位を持つプロセスのスループットが向上す
る。
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図16
【補正方法】変更
【補正内容】
【図16】

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 優先順位の低い処理が排他制御を取得し
    た状態に優先順位の高い処理が同じ排他制御を取得しよ
    うとした場合に、その優先順位の低い処理の優先順位を
    一時的にその優先順位の高い処理の優先順位以上に変更
    する優先順位変更工程と、その優先順位変更工程により
    優先順位が変更された場合に、その優先順位が変更され
    た処理に関連するサブシステムにその変更後の優先順位
    を通知する優先順位変更通知工程と、その優先順位変更
    通知工程による通知に応じて、上記優先順位が変更され
    た処理に関連するサブシステムの処理順序を変更するサ
    ブシステム優先順位変更工程とを備えた情報処理装置の
    優先順位処理方法。
  2. 【請求項2】 優先順位変更通知工程による通知に応じ
    てサブシステムを調査し、処理順序の変更による処理時
    間の短縮よりもその処理順序の変更にかかる時間の方が
    長いと判定した場合に、サブシステム優先順位変更工程
    による処理順序の変更を回避する処理順序変更回避工程
    を備えたことを特徴とする請求項1記載の情報処理装置
    の優先順位処理方法。
  3. 【請求項3】 排他制御を取得したことのある処理の優
    先順位の最高値を記憶する優先順位最高値記憶工程と、
    処理が排他制御を取得する場合に、上記優先順位最高値
    記憶工程により記憶された優先順位の最高値よりも1つ
    低い優先順位を与える排他制御割り当て工程とを備えた
    ことを特徴とする請求項1または請求項2記載の情報処
    理装置の優先順位処理方法。
  4. 【請求項4】 排他制御の取得時にその排他制御の割り
    込みを登録する割り込み登録工程と、優先順位の低い処
    理が上記排他制御を取得した状態に優先順位の高い処理
    が同じ排他制御を取得しようとした場合に、上記割り込
    み登録工程により登録された割り込みを発生させその優
    先順位の低い処理の排他制御を開放する割り込み発生工
    程とを備えたことを特徴とする請求項1から請求項3の
    うちのいずれか1項記載の情報処理装置の優先順位処理
    方法。
  5. 【請求項5】 請求項1から請求項4のうちのいずれか
    1項記載の情報処理装置を複数接続した分散情報処理装
    置の優先順位処理方法において、各々の上記情報処理装
    置では、優先順位変更工程によって変更された処理およ
    び優先順位を他の情報処理装置に通知する他装置通知工
    程と、その他装置通知工程による通知および自情報処理
    装置の上記優先順位変更工程によって変更された処理お
    よび優先順位を記憶する処理情報記憶工程と、その処理
    情報記憶工程により記憶された処理の優先順位の最高値
    を算出する最高値算出工程とを備え、上記最高値算出工
    程によって算出された最高値を上記優先順位変更工程に
    おける一時的変更時の処理の優先順位とすることを特徴
    とする分散情報処理装置の優先順位処理方法。
  6. 【請求項6】 優先順位の低い処理が排他制御を取得し
    た状態に優先順位の高い処理が同じ排他制御を取得しよ
    うとした場合に、その優先順位の低い処理の優先順位を
    一時的にその優先順位の高い処理の優先順位以上に変更
    する優先順位変更手段と、その優先順位変更手段により
    優先順位が変更された場合に、その優先順位が変更され
    た処理に関連するサブシステムにその変更後の優先順位
    を通知する優先順位変更通知手段と、その優先順位変更
    通知手段からの通知に応じて、上記優先順位が変更され
    た処理に関連するサブシステムの処理順序を変更するサ
    ブシステム優先順位変更手段とを備えた情報処理装置。
  7. 【請求項7】 排他制御の取得時に登録され、且つ優先
    順位の低い処理が排他制御を取得した状態に優先順位の
    高い処理が同じ排他制御を取得しようとした場合に、割
    り込みを発生させその優先順位の低い処理の排他制御を
    開放する割り込みハンドラを備えたことを特徴とする請
    求項6記載の情報処理装置。
  8. 【請求項8】 請求項6または請求項7記載の情報処理
    装置のうちの少なくとも一方を複数接続した分散情報処
    理装置において、各々の上記情報処理装置には、優先順
    位変更手段によって変更された処理および優先順位を他
    の情報処理装置に通知する他装置通知手段と、その他装
    置通知手段からの通知および自情報処理装置の上記優先
    順位変更手段によって変更された処理および優先順位を
    記憶する処理情報記憶手段と、その処理情報記憶手段に
    記憶された処理の優先順位の最高値を算出する最高値算
    出手段とを備え、上記最高値算出手段によって算出され
    た最高値を上記優先順位変更手段における一時的変更時
    の処理の優先順位とすることを特徴とする分散情報処理
    装置。
JP9332192A 1997-12-02 1997-12-02 情報処理装置および分散情報処理装置の優先順位処理方法、並びに情報処理装置および分散情報処理装置 Pending JPH11167495A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9332192A JPH11167495A (ja) 1997-12-02 1997-12-02 情報処理装置および分散情報処理装置の優先順位処理方法、並びに情報処理装置および分散情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9332192A JPH11167495A (ja) 1997-12-02 1997-12-02 情報処理装置および分散情報処理装置の優先順位処理方法、並びに情報処理装置および分散情報処理装置

Publications (1)

Publication Number Publication Date
JPH11167495A true JPH11167495A (ja) 1999-06-22

Family

ID=18252210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9332192A Pending JPH11167495A (ja) 1997-12-02 1997-12-02 情報処理装置および分散情報処理装置の優先順位処理方法、並びに情報処理装置および分散情報処理装置

Country Status (1)

Country Link
JP (1) JPH11167495A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017188010A (ja) * 2016-04-08 2017-10-12 大日本印刷株式会社 電子情報記憶媒体、情報処理方法、及び情報処理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017188010A (ja) * 2016-04-08 2017-10-12 大日本印刷株式会社 電子情報記憶媒体、情報処理方法、及び情報処理プログラム

Similar Documents

Publication Publication Date Title
US5093912A (en) Dynamic resource pool expansion and contraction in multiprocessing environments
US8166480B2 (en) Reducing lock contention by adding a time slice to an active thread holding a lock
US6965893B1 (en) Techniques for granting shared locks more efficiently
US6633899B1 (en) Dynamic installation and configuration broker
US8429666B2 (en) Computing platform with resource constraint negotiation
US20070118838A1 (en) Task execution controller, task execution control method, and program
US6189007B1 (en) Method and apparatus for conducting a high performance locking facility in a loosely coupled environment
US20060136779A1 (en) Object-based storage device with low process load and control method thereof
JP2004127205A (ja) 不揮発性メモリへのデータ貯蔵方法及び装置
US6779180B1 (en) Apparatus and method for preventing stack overflow from synchronous completion of asynchronous functions
JP5250955B2 (ja) データ処理システムのバックアップ制御装置及びシステム
US6088757A (en) Computer program means and device for conducting high performance locking facility in a loosely coupled environment
US5222238A (en) System and method for shared latch serialization enhancement
JP2008544371A (ja) ロック関連の一貫性欠如を処理する方法
JPH11167495A (ja) 情報処理装置および分散情報処理装置の優先順位処理方法、並びに情報処理装置および分散情報処理装置
US20010011335A1 (en) Data processing system having a network and method for managing memory by storing discardable pages in a local paging device
US20020147700A1 (en) Deletions on circular singly linked lists
JP4179110B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP2008210110A (ja) 業務システム及びその実行要求管理方法
US7013463B2 (en) Latch mechanism for concurrent computing environments
JP2000003287A (ja) 共有リソースの排他制御装置、排他制御方法及び排他制御プログラムを記録した記録媒体
US6842900B2 (en) Information processing apparatus executing processing corresponding to new thread by reusing arrangement for previous thread
US6681260B1 (en) Data transfer method in function expansion system
EP1192531B1 (en) Dynamic installation and configuration broker
JP2002024035A (ja) プロセス間通信装置及び方法