JP2517851B2 - 並列プライオリティ制御方法 - Google Patents
並列プライオリティ制御方法Info
- Publication number
- JP2517851B2 JP2517851B2 JP3119016A JP11901691A JP2517851B2 JP 2517851 B2 JP2517851 B2 JP 2517851B2 JP 3119016 A JP3119016 A JP 3119016A JP 11901691 A JP11901691 A JP 11901691A JP 2517851 B2 JP2517851 B2 JP 2517851B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- priority
- highest priority
- highest
- pending
- 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 - Lifetime
Links
Landscapes
- Multi Processors (AREA)
Description
【0001】
【産業上の利用分野】本発明はメモリ共有型の並列計算
機システムにおける、緊急のプロセスを優先的に実行さ
せるプロセスプライオリティ制御方法に関する。緊急の
プロセスとは、例えばユーザが割り込みキーを押すこと
によりオペレーティングシステムが新たなプロセスを生
成することにより発生する、応答時間が短いことを期待
するプロセスである。
機システムにおける、緊急のプロセスを優先的に実行さ
せるプロセスプライオリティ制御方法に関する。緊急の
プロセスとは、例えばユーザが割り込みキーを押すこと
によりオペレーティングシステムが新たなプロセスを生
成することにより発生する、応答時間が短いことを期待
するプロセスである。
【0002】
【従来の技術】従来、メモリ共有型並列計算機システム
におけるプライオリティ制御方式については情報処理学
会研究報告89ーARC−77″プロセッサ間ソフトウ
ェア割込処理を高速化するスリットチェック機構″(中
川ほか、P17、1989年)において論じられてい
る。
におけるプライオリティ制御方式については情報処理学
会研究報告89ーARC−77″プロセッサ間ソフトウ
ェア割込処理を高速化するスリットチェック機構″(中
川ほか、P17、1989年)において論じられてい
る。
【0003】上記従来技術では、共有メモリを有するマ
ルチプロセッサにおいて、プロセッサ内では、実行待ち
プロセスをテーブルにプライオリティ順に格納し、プロ
セッサ間では、高プライオリティのプロセスを保有する
プロセッサがそれより低いプライオリティのプロセスし
か保有しないプロセッサにプロセス分配して、プライオ
リティ順にプロセスを実行させる。
ルチプロセッサにおいて、プロセッサ内では、実行待ち
プロセスをテーブルにプライオリティ順に格納し、プロ
セッサ間では、高プライオリティのプロセスを保有する
プロセッサがそれより低いプライオリティのプロセスし
か保有しないプロセッサにプロセス分配して、プライオ
リティ順にプロセスを実行させる。
【0004】プロセス分配処理は、プロセス分配要求、
プロセス分配、プロセス受信の3つの処理ステップから
なる。
プロセス分配、プロセス受信の3つの処理ステップから
なる。
【0005】プロセス分配要求のステップでは各プロセ
ッサが、共有メモリ上に格納されるシステム最高プライ
オリティと、プロセッサ最高プライオリティを比較し、
前者が高いなら、プロセス分配要求を発行し、後者が高
いなら、前者に後者の値を書き込むことによって、シス
テム最高プライオリティを増加させる。
ッサが、共有メモリ上に格納されるシステム最高プライ
オリティと、プロセッサ最高プライオリティを比較し、
前者が高いなら、プロセス分配要求を発行し、後者が高
いなら、前者に後者の値を書き込むことによって、シス
テム最高プライオリティを増加させる。
【0006】上記従来技術では、各プロセッサが、シス
テム内のすべてのプロセッサがプロセス分配要求を出し
ていることを検出した時にのみ、プロセッサ最高プライ
オリティ値を書き込むことによって、システム最高プラ
イオリティを減少させる。
テム内のすべてのプロセッサがプロセス分配要求を出し
ていることを検出した時にのみ、プロセッサ最高プライ
オリティ値を書き込むことによって、システム最高プラ
イオリティを減少させる。
【0007】また、上記従来技術では、全てのプロセッ
サに対して共通の要求登録領域にプロセス分配要求を登
録し、このプロセス分配要求の存在を最初に検出したプ
ロセッサが、プロセッサ最高プライオリティのプロセス
を要求元プロセッサに分配する。
サに対して共通の要求登録領域にプロセス分配要求を登
録し、このプロセス分配要求の存在を最初に検出したプ
ロセッサが、プロセッサ最高プライオリティのプロセス
を要求元プロセッサに分配する。
【0008】
【発明が解決しようとする課題】上記従来技術は、共有
メモリ上のシステム最高プライオリティ値を有する最後
の実行待ちプロセスを実行し終っても、それが最後であ
ること知りえないので、更新しない。従って、共有メモ
リ上のシステム最高プライオリティの値の更新が遅れる
問題がある。そのため、真の全プロセッサ最高プライオ
リティのプロセスの分配が遅れる。また、存在しないプ
ライオリティのプロセスに対するプロセス分配要求が無
駄に発行される。
メモリ上のシステム最高プライオリティ値を有する最後
の実行待ちプロセスを実行し終っても、それが最後であ
ること知りえないので、更新しない。従って、共有メモ
リ上のシステム最高プライオリティの値の更新が遅れる
問題がある。そのため、真の全プロセッサ最高プライオ
リティのプロセスの分配が遅れる。また、存在しないプ
ライオリティのプロセスに対するプロセス分配要求が無
駄に発行される。
【0009】さらに、システム最高プライオリティのプ
ロセスを保持するプロセッサを知りえないので、共有の
要求登録領域にプロセス分配要求を登録し、最初にその
要求の存在を検出したプロセッサが要求元プロセッサに
プロセス分配するので、システム最高プライオリティよ
りもプライオリティの低いプロセスの分配が発生すると
いう問題がある。
ロセスを保持するプロセッサを知りえないので、共有の
要求登録領域にプロセス分配要求を登録し、最初にその
要求の存在を検出したプロセッサが要求元プロセッサに
プロセス分配するので、システム最高プライオリティよ
りもプライオリティの低いプロセスの分配が発生すると
いう問題がある。
【0010】本発明の目的は、システム最高プライオリ
ティの低下を早期に検出し、システム最高プライオリテ
ィの実行待ちプロセスを有するプロセッサから、実行待
ちプロセスの分配を要求する他のプロセッサに分配する
ためのプライオリティ制御方法を提供することにある。
ティの低下を早期に検出し、システム最高プライオリテ
ィの実行待ちプロセスを有するプロセッサから、実行待
ちプロセスの分配を要求する他のプロセッサに分配する
ためのプライオリティ制御方法を提供することにある。
【0011】
【0012】
【課題を解決するための手段】上記第1の目的を達成す
るために、本発明では、共有メモリ上にシステム最高プ
ライオリティ更新プロセッサ番号を格納し、この番号に
対応するプロセッサにおいてプロセッサ最高プライオリ
ティが変化した場合に、当該プロセッサが共有メモリ上
に変化後の値を書き込む。
るために、本発明では、共有メモリ上にシステム最高プ
ライオリティ更新プロセッサ番号を格納し、この番号に
対応するプロセッサにおいてプロセッサ最高プライオリ
ティが変化した場合に、当該プロセッサが共有メモリ上
に変化後の値を書き込む。
【0013】上記第2の目的を達成するために、プロセ
ス分配要求の要求相手をシステム最高プライオリティ更
新プロセッサに指定して行なう。
ス分配要求の要求相手をシステム最高プライオリティ更
新プロセッサに指定して行なう。
【0014】
【作用】共有メモリ上に格納した、システム最高プライ
オリティ更新プロセッサ番号は、システム中の最高プラ
イオリティのプロセスを保持するプロセッサ番号を与え
る。このプロセッサ番号に対応するプロセッサはシステ
ム最高プライオリティのプロセスを保持しなくなった時
点で、すみやかに共有メモリ上の最高プライオリティを
減少させることができる。
オリティ更新プロセッサ番号は、システム中の最高プラ
イオリティのプロセスを保持するプロセッサ番号を与え
る。このプロセッサ番号に対応するプロセッサはシステ
ム最高プライオリティのプロセスを保持しなくなった時
点で、すみやかに共有メモリ上の最高プライオリティを
減少させることができる。
【0015】また、システム最高プライオリティよりも
低いプライオリティのプロセスしか保持しないプロセッ
サは、プロセス分配要求の相手をシステム最高プライオ
リティ更新プロセッサ番号によって指定できるので、誤
って低プライオリティのプロセスを分配することがな
い。
低いプライオリティのプロセスしか保持しないプロセッ
サは、プロセス分配要求の相手をシステム最高プライオ
リティ更新プロセッサ番号によって指定できるので、誤
って低プライオリティのプロセスを分配することがな
い。
【0016】
【実施例】以下、本発明の一実施例を図1から図5によ
り説明する。図1は、本発明の一実施例の構成図であ
る。3プロセッサPE0〜PE2からなるメモリ共有型
マルチプロセッサが共有メモリ1により接続されてい
る。
り説明する。図1は、本発明の一実施例の構成図であ
る。3プロセッサPE0〜PE2からなるメモリ共有型
マルチプロセッサが共有メモリ1により接続されてい
る。
【0017】本実施例では、簡単のために、3プロセッ
サPE0〜PE2からなるメモリ共有型マルチプロセッ
サを例に説明するが、プロセッサ数が増えた場合は、後
述するプロセッサ対応の領域131〜133、141〜
143を増やせば良い。各プロセッサPE0、PE1、
PE2は複数のレジスタを有するマイコン等により実現
できる。
サPE0〜PE2からなるメモリ共有型マルチプロセッ
サを例に説明するが、プロセッサ数が増えた場合は、後
述するプロセッサ対応の領域131〜133、141〜
143を増やせば良い。各プロセッサPE0、PE1、
PE2は複数のレジスタを有するマイコン等により実現
できる。
【0018】各プロセッサには、そのプロセッサで実行
待ちのプロセスのプライオリティの内の最高のプライオ
リティを保持するレジスタ21,22又は23が設けら
れている。経過時間レジスタ31,32,33とキャッ
シュ41,42,43についても同様である。
待ちのプロセスのプライオリティの内の最高のプライオ
リティを保持するレジスタ21,22又は23が設けら
れている。経過時間レジスタ31,32,33とキャッ
シュ41,42,43についても同様である。
【0019】図1に示すように、共有メモリ1に、シス
テム最高プライオリティ11、システム最高プライオリ
ティ更新プロセッサ番号12を格納する。共有メモリに
は、プロセス分配要求プロセッサ番号領域131〜13
3がそれぞれ一つのプロセッサに対応して設けられてい
る。分配プロセスアドレス領域141〜143、プロセ
ッサ内における、実行待ちプロセスをプライオリティ順
に保持するプロセステ−ブル161〜163についても
同様である。
テム最高プライオリティ11、システム最高プライオリ
ティ更新プロセッサ番号12を格納する。共有メモリに
は、プロセス分配要求プロセッサ番号領域131〜13
3がそれぞれ一つのプロセッサに対応して設けられてい
る。分配プロセスアドレス領域141〜143、プロセ
ッサ内における、実行待ちプロセスをプライオリティ順
に保持するプロセステ−ブル161〜163についても
同様である。
【0020】各プロセッサは、図2のプロセス制御フロ
ー100に示すように、プロセス取り出しc1とプロセ
ス処理c2の実行後、プロセス分配要求制御c3とプロ
セス分配制御c4、プロセス受信c5を行なう。
ー100に示すように、プロセス取り出しc1とプロセ
ス処理c2の実行後、プロセス分配要求制御c3とプロ
セス分配制御c4、プロセス受信c5を行なう。
【0021】各プロセッサは図1の構成を使って、例え
ば以下のように処理する。
ば以下のように処理する。
【0022】(1)各プロセッサ、例えばPE3は、プ
ロセス取り出しc1では、実行待ちプロセスをプライオ
リティ順に格納した、そのプロセッサに対応して共有メ
モリ1に設けられたプロセステ−ブルたとえば163か
ら、そのプロセッサ内の最高プライオリティのプロセス
153aを1個取り出す。
ロセス取り出しc1では、実行待ちプロセスをプライオ
リティ順に格納した、そのプロセッサに対応して共有メ
モリ1に設けられたプロセステ−ブルたとえば163か
ら、そのプロセッサ内の最高プライオリティのプロセス
153aを1個取り出す。
【0023】(2)各プロセッサたとえばPE3はプロ
セス処理c2では、取り出したプロセス153aを処理
する。
セス処理c2では、取り出したプロセス153aを処理
する。
【0024】(3)各プロセッサはそのプロセスの処理
の終了後にプロセス分配要求制御c3を行う。例えばそ
のプロセッサがPE3の場合、自プロセッサ番号“3”
とシステム最高プライオリティ更新プロセッサ番号12
を比較する。今両者は等しくないと仮定する。そのと
き、そのプロセッサ内の最高プライオリティレジスタ2
3に保持する自プロセッサの最高プライオリティ23
と、共有メモリ上の全プロセッサ最高プライオリティ1
1を比較する。後者が前者より高いと、自プロセッサの
最高プライオリティよりプライオリティが高いプロセス
が他プロセッサに存在することを知る。
の終了後にプロセス分配要求制御c3を行う。例えばそ
のプロセッサがPE3の場合、自プロセッサ番号“3”
とシステム最高プライオリティ更新プロセッサ番号12
を比較する。今両者は等しくないと仮定する。そのと
き、そのプロセッサ内の最高プライオリティレジスタ2
3に保持する自プロセッサの最高プライオリティ23
と、共有メモリ上の全プロセッサ最高プライオリティ1
1を比較する。後者が前者より高いと、自プロセッサの
最高プライオリティよりプライオリティが高いプロセス
が他プロセッサに存在することを知る。
【0025】そこで、そのプロセッサ、たとえばPE3
はシステム最高プライオリティ更新プロセッサ番号12
の指し示すプロセッサ、例えばこれがPE1とするとこ
のプロセッサに対して、高プライオリティプロセスを分
配することを要求する。このプロセス分配要求はシステ
ム最高プライオリティ更新プロセッサ番号12が示すプ
ロセッサ、たとえばPE1、に対応して共有メモリ1内
に設けられたプロセス分配要求元プロセッサ番号領域1
31に、プロセス分配要求プロセッサ番号として、自プ
ロセッサ番号たとえば”3”を書き込むことにより実現
できる。
はシステム最高プライオリティ更新プロセッサ番号12
の指し示すプロセッサ、例えばこれがPE1とするとこ
のプロセッサに対して、高プライオリティプロセスを分
配することを要求する。このプロセス分配要求はシステ
ム最高プライオリティ更新プロセッサ番号12が示すプ
ロセッサ、たとえばPE1、に対応して共有メモリ1内
に設けられたプロセス分配要求元プロセッサ番号領域1
31に、プロセス分配要求プロセッサ番号として、自プ
ロセッサ番号たとえば”3”を書き込むことにより実現
できる。
【0026】もし、システム最高プライオリティが自プ
ロセッサの最高プライオリティと等しいときにはそのプ
ロセッサは、この分配要求を行なわない。たとえば、今
の例では、プロセッサPE1はこのプロセス分配要求を
行なわない。
ロセッサの最高プライオリティと等しいときにはそのプ
ロセッサは、この分配要求を行なわない。たとえば、今
の例では、プロセッサPE1はこのプロセス分配要求を
行なわない。
【0027】(4)各プロセッサはプロセス分配要求制
御c3の実行後にプロセス分配制御c4を行う。まず、
そのプロセッサに対応して設けられたプロセス分配要求
元プロセッサ番号領域(たとえばそのプロセッサがPE
1の場合領域131)からプロセス分配要求プロセッサ
番号を読み込んで、それが0でないときプロセス分配要
求の存在を、高プライオリティプロセスを分配すべき対
象のプロセッサ番号、たとえば”3”、を知ることがで
きる。そのプロセッサは、自プロセッサで実行待ちの状
態にあるプロセスの内最高のプライオリティのプロセス
を選択し、こうして知り得たプロセッサ番号に基づいて
分配要求プロセッサ(今の例ではPE3)対応に共有メ
モリ1内に設けられた分配プロセスアドレス領域(今の
例では143)に、その選択した最高プライオリティの
プロセスを規定するプロセス環境レコード、たとえば1
51、のアドレスを書き込む。本実施例ではプロセス環
境レコード151は次レコードアドレスと、命令コード
アドレスと、引き数リストアドレスと、プライオリティ
の4つのデータにより構成する。こうしてプロセス分配
制御c4が終了する。
御c3の実行後にプロセス分配制御c4を行う。まず、
そのプロセッサに対応して設けられたプロセス分配要求
元プロセッサ番号領域(たとえばそのプロセッサがPE
1の場合領域131)からプロセス分配要求プロセッサ
番号を読み込んで、それが0でないときプロセス分配要
求の存在を、高プライオリティプロセスを分配すべき対
象のプロセッサ番号、たとえば”3”、を知ることがで
きる。そのプロセッサは、自プロセッサで実行待ちの状
態にあるプロセスの内最高のプライオリティのプロセス
を選択し、こうして知り得たプロセッサ番号に基づいて
分配要求プロセッサ(今の例ではPE3)対応に共有メ
モリ1内に設けられた分配プロセスアドレス領域(今の
例では143)に、その選択した最高プライオリティの
プロセスを規定するプロセス環境レコード、たとえば1
51、のアドレスを書き込む。本実施例ではプロセス環
境レコード151は次レコードアドレスと、命令コード
アドレスと、引き数リストアドレスと、プライオリティ
の4つのデータにより構成する。こうしてプロセス分配
制御c4が終了する。
【0028】各プロセッサは、自己に対応するプロセス
分配要求元プロセッサ番号領域(たとえばプロセッサP
E3の場合は領域133)の内容が0のときには、勿論
プロセスの分配をしない。
分配要求元プロセッサ番号領域(たとえばプロセッサP
E3の場合は領域133)の内容が0のときには、勿論
プロセスの分配をしない。
【0029】(5)各プロセッサはプロセス分配制御c
4のあとにプロセス受信c5を行う。まず、そのプロセ
ッサに対する分配プロセスアドレスたとえばプロセッサ
PE3の場合は、アドレス143を読み込んで、それが
0でないときプロセス分配の存在を検出し、分配された
プロセス環境レコード、たとえば151、のアドレスを
自分のプロセステーブル、たとえば163、に、プライ
オリティに従って登録する。このとき、そのプロセッサ
対応の最高プライオリティレジスタ、たとえばプロセッ
サPE3の場合はレジスタ23、に格納されたPE3の
最高プライオリティを、受信したプロセスのプライオリ
ティと比較し、大きいほうの値をこのレジスタ23に設
定する。
4のあとにプロセス受信c5を行う。まず、そのプロセ
ッサに対する分配プロセスアドレスたとえばプロセッサ
PE3の場合は、アドレス143を読み込んで、それが
0でないときプロセス分配の存在を検出し、分配された
プロセス環境レコード、たとえば151、のアドレスを
自分のプロセステーブル、たとえば163、に、プライ
オリティに従って登録する。このとき、そのプロセッサ
対応の最高プライオリティレジスタ、たとえばプロセッ
サPE3の場合はレジスタ23、に格納されたPE3の
最高プライオリティを、受信したプロセスのプライオリ
ティと比較し、大きいほうの値をこのレジスタ23に設
定する。
【0030】(6)各プロセッサ、たとえばPE3、は
再度プロセス取り出しc1を実行したとき、そのプロセ
ッサの最高プライオリティ、レジスタ、たとえば23、
に格納した最高プライオリティのプロセスをそのプロセ
ッサに対するプロセステーブル、例えば163、から取
り出し、プロセス処理c2で実行する。こうして受信し
た高プライオリティのプロセスを緊急に実行することが
できる。
再度プロセス取り出しc1を実行したとき、そのプロセ
ッサの最高プライオリティ、レジスタ、たとえば23、
に格納した最高プライオリティのプロセスをそのプロセ
ッサに対するプロセステーブル、例えば163、から取
り出し、プロセス処理c2で実行する。こうして受信し
た高プライオリティのプロセスを緊急に実行することが
できる。
【0031】共有メモリ1上の各プロセッサへのプロセ
ス分配要求プロセッサ番号領域131〜133および分
配プロセスアドレス領域141〜143の書き込みは、
複数のプロセッサの実行時間の衝突による誤操作を回避
するために、例えば、IBMマニュアル″IBM Sy
stem/370 Extended Archite
cture Principles of Opera
tion SA22−7085−0ペ−ジA14″に述
べられるようなコンペア・アンド・スワップ(Comp
are and Swap)手順を用い、データ″0″
を書き込む。
ス分配要求プロセッサ番号領域131〜133および分
配プロセスアドレス領域141〜143の書き込みは、
複数のプロセッサの実行時間の衝突による誤操作を回避
するために、例えば、IBMマニュアル″IBM Sy
stem/370 Extended Archite
cture Principles of Opera
tion SA22−7085−0ペ−ジA14″に述
べられるようなコンペア・アンド・スワップ(Comp
are and Swap)手順を用い、データ″0″
を書き込む。
【0032】なお、本実施例では、プロセス分配要求お
よびプロセス分配の検出は、上記のように共有メモリ上
の固定アドレスの領域131〜133、141〜143
が0でないか0かによって行ったが、前述の文献のよう
な通信用レジスタを用いれば、処理をさらに高速化する
こともできる。
よびプロセス分配の検出は、上記のように共有メモリ上
の固定アドレスの領域131〜133、141〜143
が0でないか0かによって行ったが、前述の文献のよう
な通信用レジスタを用いれば、処理をさらに高速化する
こともできる。
【0033】図3は本発明によるプロセス分配要求制御
c3のフローチャートである。
c3のフローチャートである。
【0034】ステップa1,及びa2では、従来技術と
同じく、共有メモリ上のデータの頻繁な更新と参照によ
る、全体性能の低下を回避するために、レジスタ31〜
33上に保持したパラメータタイマtimerにより、
プライオリティ制御の正確さを限定した範囲で落として
いる。つまり、本実施例ではプロセッサ間で共有するデ
−タ11及び12の読みだし、書き込み回数を16分の
1に削減している。これは、キャッシュ41〜43のよ
うなアドレスとデータのペアを保持して、対応するアド
レスへの2回目以降の読みだしや書き込みを高速化する
システムにおいて、複数のプロセッサが同一アドレスに
書き込むことにより発生するキャッシュミス回数を削減
するためである。なお、16より大きな値にすると、プ
ライオリティ制御の不正確さが増加するかわりに、オー
バヘッドが減少する関係にある。一般に、この数値は任
意の値で良い。
同じく、共有メモリ上のデータの頻繁な更新と参照によ
る、全体性能の低下を回避するために、レジスタ31〜
33上に保持したパラメータタイマtimerにより、
プライオリティ制御の正確さを限定した範囲で落として
いる。つまり、本実施例ではプロセッサ間で共有するデ
−タ11及び12の読みだし、書き込み回数を16分の
1に削減している。これは、キャッシュ41〜43のよ
うなアドレスとデータのペアを保持して、対応するアド
レスへの2回目以降の読みだしや書き込みを高速化する
システムにおいて、複数のプロセッサが同一アドレスに
書き込むことにより発生するキャッシュミス回数を削減
するためである。なお、16より大きな値にすると、プ
ライオリティ制御の不正確さが増加するかわりに、オー
バヘッドが減少する関係にある。一般に、この数値は任
意の値で良い。
【0035】次に各プロセッサでシステム最高プライオ
リティ更新プロセッサ番号と自プロセッサ番号の比較a
3を行い、その両者が等しくない場合、プロセッサが行
なうプロセス分配要求制御c3では、レジスタ21〜2
3が保持する自プロセッサの最高プライオリティとシス
テム最高プライオリティ11の比較ステップa4を行
い、前者が大きい場合は、ステップa5にてデ−タ11
及び12をシステム最高プライオリティ11が増えるよ
うに更新し、後者が大きい場合は、ステップa6にてシ
ステム最高プライオリティ更新プロセッサ番号12をも
とにプロセス分配要求を行なう。ここで、システム最高
プライオリティ更新プロセッサ番号12により高プライ
オリティプロセスを保持するプロセッサを知ることがで
きるので、従来技術のように低いプライオリティしか保
持しないプロセッサからプロセスを受け取ることがな
い。
リティ更新プロセッサ番号と自プロセッサ番号の比較a
3を行い、その両者が等しくない場合、プロセッサが行
なうプロセス分配要求制御c3では、レジスタ21〜2
3が保持する自プロセッサの最高プライオリティとシス
テム最高プライオリティ11の比較ステップa4を行
い、前者が大きい場合は、ステップa5にてデ−タ11
及び12をシステム最高プライオリティ11が増えるよ
うに更新し、後者が大きい場合は、ステップa6にてシ
ステム最高プライオリティ更新プロセッサ番号12をも
とにプロセス分配要求を行なう。ここで、システム最高
プライオリティ更新プロセッサ番号12により高プライ
オリティプロセスを保持するプロセッサを知ることがで
きるので、従来技術のように低いプライオリティしか保
持しないプロセッサからプロセスを受け取ることがな
い。
【0036】先のステップa3による比較結果が等しい
場合、最高プライオリティ更新プロセッサにおいては、
ステップa7により、自プロセッサの最高プライオリテ
ィが、過去において書き込んだシステム最高プライオリ
ティ11よりも減少していた場合にのみ、システム最高
プライオリティ11が減少するように更新を行う。ここ
で、システム最高プライオリティ更新プロセッサ番号1
2を使うことによりシステム最高プライオリティ11を
すみやかに減少させることができるので、従来技術のよ
うに、全てのプロセッサが要求を発行するのを待たず
に、システム最高プライオリティ11に相当するプロセ
スが存在しない事実を反映できるので、より正確な制御
が実現できる上、無駄なプロセス分配要求で全体の性能
を低下させることが少ない。
場合、最高プライオリティ更新プロセッサにおいては、
ステップa7により、自プロセッサの最高プライオリテ
ィが、過去において書き込んだシステム最高プライオリ
ティ11よりも減少していた場合にのみ、システム最高
プライオリティ11が減少するように更新を行う。ここ
で、システム最高プライオリティ更新プロセッサ番号1
2を使うことによりシステム最高プライオリティ11を
すみやかに減少させることができるので、従来技術のよ
うに、全てのプロセッサが要求を発行するのを待たず
に、システム最高プライオリティ11に相当するプロセ
スが存在しない事実を反映できるので、より正確な制御
が実現できる上、無駄なプロセス分配要求で全体の性能
を低下させることが少ない。
【0037】図4は本発明によるプロセス分配要求を受
け付けたプロセッサが実行する、プロセス分配制御c4
のフローチャートである。ステップb0で、プロセス分
配要求を検出したとき、ステップb1で、システム最高
プライオリティ11よりも高いプライオリティのプロセ
スを2個以上保持しているかを判定し、2個以上保持し
ていない場合、他プロセッサへの分配を断念し、ステッ
プb3により、自プロセッサへのプロセス分配要求プロ
セッサ番号をデータ″0″の書き込みによりクリアす
る。システム最高プライオリティ11よりも高いプライ
オリティのプロセスを、2個以上保持する場合は、ステ
ップb2により、高プライオリティプロセス要求プロセ
ッサ番号131〜133のうちの自プロセッサに対応す
る1つが示すプロセッサに対応する分配プロセスアドレ
ス領域141,142又は143に最高プライオリティ
のプロセスのプロセス実行環境コードのアドレスを書き
込み、プロセスの分配を行う。
け付けたプロセッサが実行する、プロセス分配制御c4
のフローチャートである。ステップb0で、プロセス分
配要求を検出したとき、ステップb1で、システム最高
プライオリティ11よりも高いプライオリティのプロセ
スを2個以上保持しているかを判定し、2個以上保持し
ていない場合、他プロセッサへの分配を断念し、ステッ
プb3により、自プロセッサへのプロセス分配要求プロ
セッサ番号をデータ″0″の書き込みによりクリアす
る。システム最高プライオリティ11よりも高いプライ
オリティのプロセスを、2個以上保持する場合は、ステ
ップb2により、高プライオリティプロセス要求プロセ
ッサ番号131〜133のうちの自プロセッサに対応す
る1つが示すプロセッサに対応する分配プロセスアドレ
ス領域141,142又は143に最高プライオリティ
のプロセスのプロセス実行環境コードのアドレスを書き
込み、プロセスの分配を行う。
【0038】なお、高プライオリティプロセスを要求す
るプロセッサが複数になることが普通であるので、プロ
セス分配要求プロセッサ番号領域131〜133は、一
般にプロセッサ番号をビット位置とする1ビットデータ
の1か0かにより要求の存非を格納するビットマップ形
式で1ワードに保持することにより、複数の要求の衝突
による待ち時間を短縮できる上、同一プロセッサからの
複数回の要求ケースにも、プッシュダウンスタック形式
の場合に生じるようなアドレスリンクをたどる処理を回
避できる。
るプロセッサが複数になることが普通であるので、プロ
セス分配要求プロセッサ番号領域131〜133は、一
般にプロセッサ番号をビット位置とする1ビットデータ
の1か0かにより要求の存非を格納するビットマップ形
式で1ワードに保持することにより、複数の要求の衝突
による待ち時間を短縮できる上、同一プロセッサからの
複数回の要求ケースにも、プッシュダウンスタック形式
の場合に生じるようなアドレスリンクをたどる処理を回
避できる。
【0039】図5は本発明による並列プライオリティ制
御による、時間経過に従った共有メモリ上のデータの更
新の一例を表わしたものである。
御による、時間経過に従った共有メモリ上のデータの更
新の一例を表わしたものである。
【0040】時刻t1では、各プロセッサの最高プライ
オリティがPE1〜3に対応して、それぞれ、値20
0、値50、値50であった。図の斜線部分は値の更新
が行われたことを示し、t1では、プライオリティ値2
00のプロセスが新たに出現し、システム最高プライオ
リティ11は一時的に不正確になっている。
オリティがPE1〜3に対応して、それぞれ、値20
0、値50、値50であった。図の斜線部分は値の更新
が行われたことを示し、t1では、プライオリティ値2
00のプロセスが新たに出現し、システム最高プライオ
リティ11は一時的に不正確になっている。
【0041】本実施例では、共有データの頻繁な更新を
回避するために、timer値は共有せず、レジスタに
より個々のプロセッサが保持するので、PE1のtim
er31により決定される時刻t2において、上記の不
正確はステップa4により検出され、システム最高プラ
イオリティ11およびシステム最高プライオリティ更新
プロセッサ番号12はPE1の実行するステップa5に
より、11の値50が値200に増加するように更新さ
れる。
回避するために、timer値は共有せず、レジスタに
より個々のプロセッサが保持するので、PE1のtim
er31により決定される時刻t2において、上記の不
正確はステップa4により検出され、システム最高プラ
イオリティ11およびシステム最高プライオリティ更新
プロセッサ番号12はPE1の実行するステップa5に
より、11の値50が値200に増加するように更新さ
れる。
【0042】t2におけるシステム最高プライオリティ
11の更新により、PE3のtimer32に規定され
る時刻t3において、他より低プライオリティのプロセ
スしか持たないことをステップa4により検出したPE
3は、ステップa6により、PE1への高プライオリテ
ィプロセス要求プロセッサ番号131として、ビット位
置3番が値1であるビットマップ″001″を書き込
む。そして、領域131が0でないことを検出したPE
1は、図1の分配プロセスアドレス143にプロセス環
境レコードアドレスを書き込むことによりPE3に対し
てプロセスを分配する。この時点で、2つあった、最高
プライオリティプロセスはPE1およびPE3にて実行
中となったので、システム中に実行待ちとして保持する
プロセスの最高プライオリティは、全てのプロセッサで
たかだか50になったとする。
11の更新により、PE3のtimer32に規定され
る時刻t3において、他より低プライオリティのプロセ
スしか持たないことをステップa4により検出したPE
3は、ステップa6により、PE1への高プライオリテ
ィプロセス要求プロセッサ番号131として、ビット位
置3番が値1であるビットマップ″001″を書き込
む。そして、領域131が0でないことを検出したPE
1は、図1の分配プロセスアドレス143にプロセス環
境レコードアドレスを書き込むことによりPE3に対し
てプロセスを分配する。この時点で、2つあった、最高
プライオリティプロセスはPE1およびPE3にて実行
中となったので、システム中に実行待ちとして保持する
プロセスの最高プライオリティは、全てのプロセッサで
たかだか50になったとする。
【0043】つぎに、PE1のtimer31により規
定される時刻t4において、ステップa8により、全プ
ロセッサ最高プライオリティ11は値200が値50に
減少するように、PE1により更新される。
定される時刻t4において、ステップa8により、全プ
ロセッサ最高プライオリティ11は値200が値50に
減少するように、PE1により更新される。
【0044】以上の説明のように、本実施例によれば、
並列計算機システムにおいて、より正確で、効率の良い
プライオリティ制御を実現する効果がある。
並列計算機システムにおいて、より正確で、効率の良い
プライオリティ制御を実現する効果がある。
【0045】
【発明の効果】本発明によれば、共有メモリ上のシステ
ム最高プライオリティをすみやかに減少させることがで
きるので、プライオリティ制御がより正確に行え、無駄
な通信を削減する効果がある。また、高プライオリティ
のプロセス要求は、相手を特定できるので、誤って低プ
ライオリティのプロセスを分配されることがない。
ム最高プライオリティをすみやかに減少させることがで
きるので、プライオリティ制御がより正確に行え、無駄
な通信を削減する効果がある。また、高プライオリティ
のプロセス要求は、相手を特定できるので、誤って低プ
ライオリティのプロセスを分配されることがない。
【図1】本発明の一実施例の構成図である。
【図2】プロセス制御フローである。
【図3】本発明によるプロセス分配要求制御c3のフロ
ーチャート。
ーチャート。
【図4】本発明によるプロセス分配制御c4のフローチ
ャート。
ャート。
【図5】本発明による時間経過に従った共有メモリ上の
データの更新の一例である。
データの更新の一例である。
1…共有メモリ、11…システム最高プライオリティ、
12…システム最高プライオリティ更新プロセッサ番
号、131、132、133…プロセス分配要求プロセ
ッサ番号、141、142、143…分配プロセスアド
レス、21…自プロセッサの最高プライオリティ格納レ
ジスタ。
12…システム最高プライオリティ更新プロセッサ番
号、131、132、133…プロセス分配要求プロセ
ッサ番号、141、142、143…分配プロセスアド
レス、21…自プロセッサの最高プライオリティ格納レ
ジスタ。
フロントページの続き (56)参考文献 電子情報通信学会技術研究報告VO L.91,NO.130(CPSY91 4− 33)PAGE.41−47 1991“並列処理 マシンPIM/Cにおける自動負荷分散 支援機構”中川貴之、杉江衛
Claims (1)
- 【請求項1】(1)マルチプロセッサを構成する複数の
プロセッサに対し、各プロセッサ毎に対応する複数の実
行待ちプロセスをプライオリティ順に格納したプロセス
テーブルと、全てのプロセッサにおける実行待ちプロセ
スの内、最高のプライオリティ(システム最高プライオ
リティ)を保持するシステム最高プライオリティ保持手
段と、システム最高プライオリティの実行待ちプロセス
をプロセス処理すべきプロセッサのプロセッサ番号を保
持するシステム最高プライオリティプロセッサ番号保持
手段とを、複数のプロセッサにより共有される共有メモ
リに設け、 (2)各プロセッサは、自プロセッサにおける複数の実
行待ちプロセスの内、最高のプライオリティ(プロセッ
サ最高プライオリティ)を保持するプロセッサ最高プラ
イオリティ保持手段を有し、 (3)各プロセッサは、上記共有メモリの自プロセッサ
に対応するプロセステーブルから実行待ちプロセスの
内、最高のプライオリティの実行待ちプロセスを取り出
してプロセス処理し、 (4)各プロセッサは、上記プロセス処理の終了後、自
プロセッサ番号と上記共有メモリのシステム最高プライ
オリティプロセッサ番号保持手段に保持されたプロセッ
サ番号とを比較し、 一致しない場合に、上記プロセッサ最高プライオリティ
保持手段に保持されたプロセッサ最高プライオリティと
上記共有メモリのシステム最高プライオリティ保持手段
に保持されたシステム最高プライオリティを比較し、シ
ステム最高プライオリティの方が高い場合に、上記共有
メモリのシステム最高プライオリティプロセッサ番号保
持手段に保持されたプロセッサ番号のプロセッサに対し
て、実行待ちプロセッサ分配を要求し、 (5)プロセスの分配を要求されたプロセス分配要求先
プロセッサは、自プロセッサに対応する実行待ちプロセ
スの内、最高のプライオリティの実行待ちプロセスを選
択し、実行待ちプロセスの分配を要求したプロセス分配
元プロセッサに対して、選択された実行待ちプロセスを
分配し、 上記共有メモリの上記プロセス分配要求先プロセッサに
対応するプロセステー ブルを分配された実行待ちプロセ
スのプライオリティに応じて書き換え、 上記プロセス分配要求先プロセッサのプロセッサ最高プ
ライオリティ保持手段に保持されたプロセッサ最高プラ
イオリティと分配された実行待ちプロセスのプライオリ
ティとを比較して、プライオリティの高い方をプロセッ
サ最高プライオリティ保持手段に保持し、 プロセッサ最高プライオリティ保持手段に保持されたプ
ロセッサ最高プライオリティの実行待ちプロセスを上記
共有メモリの上記プロセス分配要求先プロセッサプロセ
ステーブルから取りだしてプロセス処理する、 ことを特徴とする並列 プライオリティ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3119016A JP2517851B2 (ja) | 1991-04-24 | 1991-04-24 | 並列プライオリティ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3119016A JP2517851B2 (ja) | 1991-04-24 | 1991-04-24 | 並列プライオリティ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04323760A JPH04323760A (ja) | 1992-11-12 |
JP2517851B2 true JP2517851B2 (ja) | 1996-07-24 |
Family
ID=14750904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3119016A Expired - Lifetime JP2517851B2 (ja) | 1991-04-24 | 1991-04-24 | 並列プライオリティ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2517851B2 (ja) |
-
1991
- 1991-04-24 JP JP3119016A patent/JP2517851B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
電子情報通信学会技術研究報告VOL.91,NO.130(CPSY914−33)PAGE.41−471991"並列処理マシンPIM/Cにおける自動負荷分散支援機構"中川貴之、杉江衛 |
Also Published As
Publication number | Publication date |
---|---|
JPH04323760A (ja) | 1992-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9513959B2 (en) | Contention management for a hardware transactional memory | |
US7337275B2 (en) | Free list and ring data structure management | |
US7908443B2 (en) | Memory controller and method for optimized read/modify/write performance | |
US7234004B2 (en) | Method, apparatus and program product for low latency I/O adapter queuing in a computer system | |
US20210303375A1 (en) | Multithreaded lossy queue protocol | |
CN101154202B (zh) | 管理多处理器计算机系统中的系统管理中断的系统和方法 | |
US6473845B1 (en) | System and method for dynamically updating memory address mappings | |
US20190294442A1 (en) | Computer system and memory access technology | |
JPH05274252A (ja) | コンピュータシステムにおけるトランザクション実行方法 | |
US8495261B2 (en) | Redispatching suspended tasks after completion of I/O operations absent I/O interrupts | |
CN116266101A (zh) | 一种分布式对象存储系统处理方法及装置、存储介质 | |
JP2821345B2 (ja) | 非同期i/o制御方式 | |
CN114756287B (zh) | 一种重排序缓冲区的数据处理方法、装置及存储介质 | |
JP2517851B2 (ja) | 並列プライオリティ制御方法 | |
US7200686B2 (en) | Method, apparatus, and program product for facilitating serialization of input/output requests to a logical volume allowing nonserialized input/output requests | |
CA2420785A1 (en) | Computer system for processing instructions each containing a group of operations to be executed out of order | |
US6658525B1 (en) | Concurrent access of an unsegmented buffer by writers and readers of the buffer | |
JP2517859B2 (ja) | 並列プロセス管理方法 | |
JPH07114522A (ja) | マルチプロセッサシステム | |
CN114090468A (zh) | 一种数据处理方法及相关装置 | |
JPH03241442A (ja) | ストアバッファ制御方式 | |
CN118689888A (zh) | 数据库并发事务的管理方法、装置、管理系统和介质 | |
JPH01253036A (ja) | メッセージ・パッシング管理方式 | |
JP2001147808A (ja) | 命令のペンディングによる追い越し回路 | |
JPH0612388A (ja) | 分散ファイルのアクセス方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |