JPH02122365A - プロセッサ割当て方式 - Google Patents
プロセッサ割当て方式Info
- Publication number
- JPH02122365A JPH02122365A JP63277153A JP27715388A JPH02122365A JP H02122365 A JPH02122365 A JP H02122365A JP 63277153 A JP63277153 A JP 63277153A JP 27715388 A JP27715388 A JP 27715388A JP H02122365 A JPH02122365 A JP H02122365A
- Authority
- JP
- Japan
- Prior art keywords
- program
- processor
- processors
- group
- programs
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 78
- 230000004044 response Effects 0.000 abstract description 4
- 239000002699 waste material Substances 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 39
- 230000015654 memory Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 230000006854 communication Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、複数のプロセッサと複数の共有資源を有し、
複数のプロセッサが共有資源へアクセスし、プログラム
を実行するマルチプロセッサシステムにおけるプロセッ
サ割り当て方式に関し、特に、資源が競合する処理の命
令実行を制御するのに好適なプロセッサ割当て方式に関
するものである。
複数のプロセッサが共有資源へアクセスし、プログラム
を実行するマルチプロセッサシステムにおけるプロセッ
サ割り当て方式に関し、特に、資源が競合する処理の命
令実行を制御するのに好適なプロセッサ割当て方式に関
するものである。
従来、複数のプロセッサと複数の共有資源を有し、複数
のプロセッサが共有資源へアクセスし、プログラムを実
行するマルチプロセッサシステムの例としては、例えば
、日経エレクトロニクスブックス「汎用大型コンピュー
タ」2日経マグロウヒル社、1982年5月31日発行
、第163頁〜第179頁に記載の「密結合マルチプロ
セッサの実現手法」、または、特開昭62−75739
号公報に記載の「タスク割当て方法」等で論じられてい
るマルチプロセッサシステムの例がある。
のプロセッサが共有資源へアクセスし、プログラムを実
行するマルチプロセッサシステムの例としては、例えば
、日経エレクトロニクスブックス「汎用大型コンピュー
タ」2日経マグロウヒル社、1982年5月31日発行
、第163頁〜第179頁に記載の「密結合マルチプロ
セッサの実現手法」、または、特開昭62−75739
号公報に記載の「タスク割当て方法」等で論じられてい
るマルチプロセッサシステムの例がある。
ところで、従来のマルチプロセッサシステムの構成例に
おいては、複数のプロセッサが同一資源を同一種類のプ
ログラムで競合して使用するために、発生する逐次処理
の点について配慮がされておらず、性能劣化の問題点が
あった。
おいては、複数のプロセッサが同一資源を同一種類のプ
ログラムで競合して使用するために、発生する逐次処理
の点について配慮がされておらず、性能劣化の問題点が
あった。
すなわち、マルチプロセッサシステムの各プロセッサに
おいて、命令実行を制御するシステムプログラムおよび
アプリケーションプログラムは各種資源へアクセスして
処理を行う。そのため、複数プロセッサが制御ブロック
を同時に更新したり、同時に実行されては困るプログラ
ムの命令実行を禁止するために逐次化などを行い、命令
実行の処理を進める。逐次化した場合、先行処理によっ
て待たされる間の各プロセッサはループないしウェイト
しており、その間のプロセッサ能力は浪費される。
おいて、命令実行を制御するシステムプログラムおよび
アプリケーションプログラムは各種資源へアクセスして
処理を行う。そのため、複数プロセッサが制御ブロック
を同時に更新したり、同時に実行されては困るプログラ
ムの命令実行を禁止するために逐次化などを行い、命令
実行の処理を進める。逐次化した場合、先行処理によっ
て待たされる間の各プロセッサはループないしウェイト
しており、その間のプロセッサ能力は浪費される。
また、バッファメモリ(キャッシュメモリ)方式によっ
て、各プロセッサ対応の主記憶装置のアクセス競合を避
ける制御が行われる。この場合の制御方式によっても、
他プロセツサからのメモリ更新により、バッファメモリ
の内容が無意味なものとなるので、それを無効化するた
めのハード処理によってハード性能も劣化する。
て、各プロセッサ対応の主記憶装置のアクセス競合を避
ける制御が行われる。この場合の制御方式によっても、
他プロセツサからのメモリ更新により、バッファメモリ
の内容が無意味なものとなるので、それを無効化するた
めのハード処理によってハード性能も劣化する。
これに対しては、例えば、タスクとプロセッサを結び付
けて、1つのタスクの命令を実行するプロセッサを決め
ておき、資源競合を抑える方法が。
けて、1つのタスクの命令を実行するプロセッサを決め
ておき、資源競合を抑える方法が。
特開昭62−75739号公報において論じられている
。しかし、この方法は、複数のタスクが同一*源を競合
して使用する場合の解決になっておらず、とりわけオペ
レーティングシステムおよびD B / D C(Da
ta Ba5e / Data Communicat
ion)プログラムの制御テーブル更新の逐次処理によ
る性能劣化は避けられなかった。
。しかし、この方法は、複数のタスクが同一*源を競合
して使用する場合の解決になっておらず、とりわけオペ
レーティングシステムおよびD B / D C(Da
ta Ba5e / Data Communicat
ion)プログラムの制御テーブル更新の逐次処理によ
る性能劣化は避けられなかった。
本発明は、上記問題点を解決するためになされものであ
る。
る。
本発明の目的は、マルチプロセッサシステムにおいて、
各プロセッサが使用する資源が競合する場合の処理の命
令実行を適切に制御して、処理するプロセッサ割当て方
式を提供することにある。
各プロセッサが使用する資源が競合する場合の処理の命
令実行を適切に制御して、処理するプロセッサ割当て方
式を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本
明細書の記述及び添付図面によって明らかになるであろ
う。
明細書の記述及び添付図面によって明らかになるであろ
う。
上記目的を達成するため、本発明においては、複数のプ
ロセッサと複数の共有資源を有し、複数のプロセッサが
共有資源へアクセスし、プログラムを実行するマルチプ
ロセッサシステムにおいて、プログラムグループ管理テ
ーブルを備え、複数のプロセッサで動作するプログラム
をグループ番号を付加して管理し、同じグループのプロ
グラムのプロセスには同時に別のプロセッサを割当てず
に、命令実行を制御することを特徴とする。
ロセッサと複数の共有資源を有し、複数のプロセッサが
共有資源へアクセスし、プログラムを実行するマルチプ
ロセッサシステムにおいて、プログラムグループ管理テ
ーブルを備え、複数のプロセッサで動作するプログラム
をグループ番号を付加して管理し、同じグループのプロ
グラムのプロセスには同時に別のプロセッサを割当てず
に、命令実行を制御することを特徴とする。
前記手段によれば、プログラムのプロセスをグループと
して管理するため、プログラムグループ管理テーブルが
備えられる。このプログラムグループ管理テーブルによ
り、複数のプロセッサで動作するプログラムをグループ
番号を付加して管理し、資源を使用するプログラムを資
源使用状況に応じてグループ番号により、同一グループ
のプログラム単位に、同時に別のプロセッサを割当てな
いようにして命令実行を制御する。すなわち、命令実行
によって他のグループのプログラムに制御を渡す際には
、必ずプロセッサ割当てのチエツクを行い、同じグルー
プのプログラムのプロセスには同時に別のプロセッサを
割当てずに、同一グループのプログラムの命令実行中に
は別の処理を実行させるか、プロセッサによる命令実行
を待たせるように動作する。このため、複数のプロセッ
サによる処理において、資源を競合して使用するプログ
ラムがなくなるので、逐次処理゛によるプロセッサ能力
の浪費がなくなると共に、プロセッサで実行されるプロ
グラムで使用する主記憶装置がプログラム対応に限定さ
れることになる。このため、プロセッサ間で共有する主
記憶量が減少し、バッファメモリの無効化処理が減少さ
れる。これにより、システムの処理性能が向上する。
して管理するため、プログラムグループ管理テーブルが
備えられる。このプログラムグループ管理テーブルによ
り、複数のプロセッサで動作するプログラムをグループ
番号を付加して管理し、資源を使用するプログラムを資
源使用状況に応じてグループ番号により、同一グループ
のプログラム単位に、同時に別のプロセッサを割当てな
いようにして命令実行を制御する。すなわち、命令実行
によって他のグループのプログラムに制御を渡す際には
、必ずプロセッサ割当てのチエツクを行い、同じグルー
プのプログラムのプロセスには同時に別のプロセッサを
割当てずに、同一グループのプログラムの命令実行中に
は別の処理を実行させるか、プロセッサによる命令実行
を待たせるように動作する。このため、複数のプロセッ
サによる処理において、資源を競合して使用するプログ
ラムがなくなるので、逐次処理゛によるプロセッサ能力
の浪費がなくなると共に、プロセッサで実行されるプロ
グラムで使用する主記憶装置がプログラム対応に限定さ
れることになる。このため、プロセッサ間で共有する主
記憶量が減少し、バッファメモリの無効化処理が減少さ
れる。これにより、システムの処理性能が向上する。
以下、本発明の実施例を図面を用いて具体的に説明する
。
。
なお、実施例を説明するための全図において、同一要素
のものは同一符号を付け、その繰り返しの説明は省略す
る。
のものは同一符号を付け、その繰り返しの説明は省略す
る。
第1図は、本発明の一実施例にかかるマルチプロセッサ
システムの構成を示すブロック図である。
システムの構成を示すブロック図である。
このマルチプロセッサシステムは1例えば、端末からの
受信メツセージを基にデータベースを参照。
受信メツセージを基にデータベースを参照。
更新して、受信メツセージが入力された端末へ応答メツ
セージを送信するためのオンラインデータベースシステ
ムとして用いられるシステムである。
セージを送信するためのオンラインデータベースシステ
ムとして用いられるシステムである。
第1図のマルチプロセッサシステムは、主記憶装置11
、主記憶制御装置12、端末や補助記憶装置とのデータ
送受を制御する入出力処理装置13a〜13d、命令を
実行するプロセッサ158〜15d、プロセッサで実行
する命令の高速化のために主記憶装置の一部を持ってい
るバッファメモリ14a〜14dよりなる。
、主記憶制御装置12、端末や補助記憶装置とのデータ
送受を制御する入出力処理装置13a〜13d、命令を
実行するプロセッサ158〜15d、プロセッサで実行
する命令の高速化のために主記憶装置の一部を持ってい
るバッファメモリ14a〜14dよりなる。
4台の密結合プロセッサ15a〜15dで実行する命令
実行するプログラムは、例えば、7つのプログラムグル
ープlla〜l1gに分けられる。プロセッサ割当てプ
ログラムllaは、各々のプロセッサ158〜15dに
対して、どのプログラムグループに割当てるかを処理す
る。I10プログラムllbは、入出力処理装置13a
〜13dからの170割込みを処理する。データ管理プ
ログラムticは、入出力処理装置13a〜13dを介
して接続されている補助記憶装置へのアクセス処理する
。通信管理プログラムlidは入出力処理装置13a〜
13dを介して接続されている回線、端末へのアクセス
を処理する。
実行するプログラムは、例えば、7つのプログラムグル
ープlla〜l1gに分けられる。プロセッサ割当てプ
ログラムllaは、各々のプロセッサ158〜15dに
対して、どのプログラムグループに割当てるかを処理す
る。I10プログラムllbは、入出力処理装置13a
〜13dからの170割込みを処理する。データ管理プ
ログラムticは、入出力処理装置13a〜13dを介
して接続されている補助記憶装置へのアクセス処理する
。通信管理プログラムlidは入出力処理装置13a〜
13dを介して接続されている回線、端末へのアクセス
を処理する。
DBプログラムlieはデータベースの処理を行う。
DCプログラムiffはデータコミュニケーションの処
理を行う。アプリケーションプログラムl1gはDCプ
ログラムlll上ら起動され、DBプログラムlieお
よびDCプログラムlll上対して各種要求を行い、オ
ンラインのトランザクション処理を行う。
理を行う。アプリケーションプログラムl1gはDCプ
ログラムlll上ら起動され、DBプログラムlieお
よびDCプログラムlll上対して各種要求を行い、オ
ンラインのトランザクション処理を行う。
第2図は、オンラインデータベースシステムにおけるト
ランザクション処理の流れを説明するシーケンス図であ
る。第2図を参照して説明する。
ランザクション処理の流れを説明するシーケンス図であ
る。第2図を参照して説明する。
端末からのデータ入力により、170割込みが発生する
と、プロセッサ割当てプログラムllaが空き状態のプ
ロセッサを割り当て、工/○プログラムfibをディス
パッチ(制御権委譲)する。I10プログラムllbは
、端末から入力によるI10割込みであることを解析し
て、通信管理プログラムlidに制御を渡すために、プ
ロセッサ割当てプログラムllaにディスパッチ要求す
る。プロセッサ割当てプログラムllaはプロセッサを
通信管理プログラムlidにディスパッチする。通信管
理プログラムlidは工/○プログラムllbからの事
象報告と入力データによってデータを渡すべきDCプロ
グラムiffを決定して、プロセッサ割当てプログラム
llaにDCプログラムiffへのプロセッサ割当てを
要求する。DCプログラムiffに対して、プロセッサ
割当てプログラムllaはプロセッサをディスパッチす
る。DCプログラムiffは通信管理プログラム11d
からの入力データに従って、端末からのデータ受信処理
21を実行して、入力データの編集を行い、入力データ
の編集処理に続いて、次に制御を渡すアプリケーション
プログラムfigの決定を行い、プロセッサ割当てプロ
グラムllaに該当アプリケーションプログラムfig
へのプロセッサのディスパッチ割当て要求を行う。
と、プロセッサ割当てプログラムllaが空き状態のプ
ロセッサを割り当て、工/○プログラムfibをディス
パッチ(制御権委譲)する。I10プログラムllbは
、端末から入力によるI10割込みであることを解析し
て、通信管理プログラムlidに制御を渡すために、プ
ロセッサ割当てプログラムllaにディスパッチ要求す
る。プロセッサ割当てプログラムllaはプロセッサを
通信管理プログラムlidにディスパッチする。通信管
理プログラムlidは工/○プログラムllbからの事
象報告と入力データによってデータを渡すべきDCプロ
グラムiffを決定して、プロセッサ割当てプログラム
llaにDCプログラムiffへのプロセッサ割当てを
要求する。DCプログラムiffに対して、プロセッサ
割当てプログラムllaはプロセッサをディスパッチす
る。DCプログラムiffは通信管理プログラム11d
からの入力データに従って、端末からのデータ受信処理
21を実行して、入力データの編集を行い、入力データ
の編集処理に続いて、次に制御を渡すアプリケーション
プログラムfigの決定を行い、プロセッサ割当てプロ
グラムllaに該当アプリケーションプログラムfig
へのプロセッサのディスパッチ割当て要求を行う。
プロセッサ割当てプログラムllaがアプリケーション
プログラムl1gにプロセッサをディスパッチすると、
アプリケーションプログラムl1gはDCプログラムi
ffによって編集された端末人力メツセージをもとに参
照すべきデータベースを決定して、DBプログラムli
eに制御を渡すために、プロセッサ割当てプログラムl
laにプロセッサのディスパッチ要求を行う。プロセッ
サ割当てプログラムllaによってディスパッチされた
DBプログラムlieは、データベース参照処理22.
23の処理およびデータベース更新受付は処理24をデ
ータ管理プログラムllc、I10プログラムflbと
分担して行う。また、アプリケーションプログラムfi
gからの要求により、DCプログラムlll上、端末へ
の送信受付は処理25.トランザクション終了処理26
を行う。次に、DBプログラムlieに制御が移り、デ
ータベース更新ジャーナル取得27が行われる。また、
再び、DCプログラムlll上制御が移って、DCプロ
グラムlll上のジャーナル−括取得処理28と、端末
へデータ送信処理29が、プロセッサ割当てプログラム
llaによりプロセッサをディスパッチして行われる。
プログラムl1gにプロセッサをディスパッチすると、
アプリケーションプログラムl1gはDCプログラムi
ffによって編集された端末人力メツセージをもとに参
照すべきデータベースを決定して、DBプログラムli
eに制御を渡すために、プロセッサ割当てプログラムl
laにプロセッサのディスパッチ要求を行う。プロセッ
サ割当てプログラムllaによってディスパッチされた
DBプログラムlieは、データベース参照処理22.
23の処理およびデータベース更新受付は処理24をデ
ータ管理プログラムllc、I10プログラムflbと
分担して行う。また、アプリケーションプログラムfi
gからの要求により、DCプログラムlll上、端末へ
の送信受付は処理25.トランザクション終了処理26
を行う。次に、DBプログラムlieに制御が移り、デ
ータベース更新ジャーナル取得27が行われる。また、
再び、DCプログラムlll上制御が移って、DCプロ
グラムlll上のジャーナル−括取得処理28と、端末
へデータ送信処理29が、プロセッサ割当てプログラム
llaによりプロセッサをディスパッチして行われる。
このようにして、一連の処理が行われるため、同時に複
数のトランザクションが存在する場合プログラムグルー
プ毎に複数のプロセッサを割当てないようにプロセッサ
割当てプログラムllaがプロセッサの割当てを行う。
数のトランザクションが存在する場合プログラムグルー
プ毎に複数のプロセッサを割当てないようにプロセッサ
割当てプログラムllaがプロセッサの割当てを行う。
第3図は、プロセッサ割当てプログラムにおける制御テ
ーブル構成の一例を示す図である。第3図において、シ
ステム管理テーブル31はマルチプロセッサシステム全
体を管理するテーブルであり、各テーブルへのポインタ
を持っている。また、プロセッサが処理すべき事象(プ
ロセスと以下称する)がない場合の表示のためにプロセ
ス待ちプロセッサ管理テーブル34へのチエインおよび
逐次処理のためのロックバイトを持っている。ジョブ管
理テーブル32はジョブ対応にエントリを有しており、
ジョブ内に存在するタスクなどのプロセスを管理するプ
ロセス管理テーブル33へのポインタを持っている。プ
ロセス管理テーブル33はプロセス対応にエントリが設
けられており、実行中のプログラムグループ番号をプロ
セス管理情報の一部として持っている。プログラムグル
ープに属さないプログラムのプロセスおよび休止中のプ
ロセスに対しては、プログラムグループ番号を「O」と
した情報が格納される。プロセッサ管理テーブル34は
プロセッサ単位に設けられて、各プロセッサの状態とし
て実行中プロセスを示すため、実行中プロセス管理テー
ブルのエントリアドレス、実行中プログラムグループ番
号の情報を記録している。
ーブル構成の一例を示す図である。第3図において、シ
ステム管理テーブル31はマルチプロセッサシステム全
体を管理するテーブルであり、各テーブルへのポインタ
を持っている。また、プロセッサが処理すべき事象(プ
ロセスと以下称する)がない場合の表示のためにプロセ
ス待ちプロセッサ管理テーブル34へのチエインおよび
逐次処理のためのロックバイトを持っている。ジョブ管
理テーブル32はジョブ対応にエントリを有しており、
ジョブ内に存在するタスクなどのプロセスを管理するプ
ロセス管理テーブル33へのポインタを持っている。プ
ロセス管理テーブル33はプロセス対応にエントリが設
けられており、実行中のプログラムグループ番号をプロ
セス管理情報の一部として持っている。プログラムグル
ープに属さないプログラムのプロセスおよび休止中のプ
ロセスに対しては、プログラムグループ番号を「O」と
した情報が格納される。プロセッサ管理テーブル34は
プロセッサ単位に設けられて、各プロセッサの状態とし
て実行中プロセスを示すため、実行中プロセス管理テー
ブルのエントリアドレス、実行中プログラムグループ番
号の情報を記録している。
また、プログラムグループのうちプロセッサ使用期間の
長いものに対しては、特定のプロセッサを専用的に割当
てるために固定割当てプログラムグループ番号の情報を
記録するエリアが設けられている。プログラムグループ
管理テーブル35はプログラムグループ毎のエントリに
加えて、グループ管理外エントリを1エントリ持つ。グ
ループ管理外エントリとは、密結合マルチプロセッサシ
ステムの各プロセッサのバッファメモリ内の情報の無効
化や逐次処理による性能劣化の恐れのないプログラムの
管理用、例えば、バッチプログラムの管理用である。プ
ログラムグループ管理テーブル35には実行中プロセス
のプロセス管理テーブル33のエントリアドレス35a
と、プロセッサ割当て時にプライオリティ管理を行い、
プライオリティの高いプログラムグループにプロセッサ
を割当てるためのプライオリティ35bと、同一プログ
ラムグループのプログラムに異なるプロセッサを割当て
ないため、または、プロセッサ空きなしのために待ち状
態となっているプロセスの管理のため、プロセッサ待ち
のプロセス管理テーブルエントリの先頭または最終アド
レス35cとを有する。このプロセッサ待ちのプロセス
管理テーブルエントリに対しては同じグループの待ちプ
ロセスがある場合に、エントリのチエインアドレス35
dを持っている。
長いものに対しては、特定のプロセッサを専用的に割当
てるために固定割当てプログラムグループ番号の情報を
記録するエリアが設けられている。プログラムグループ
管理テーブル35はプログラムグループ毎のエントリに
加えて、グループ管理外エントリを1エントリ持つ。グ
ループ管理外エントリとは、密結合マルチプロセッサシ
ステムの各プロセッサのバッファメモリ内の情報の無効
化や逐次処理による性能劣化の恐れのないプログラムの
管理用、例えば、バッチプログラムの管理用である。プ
ログラムグループ管理テーブル35には実行中プロセス
のプロセス管理テーブル33のエントリアドレス35a
と、プロセッサ割当て時にプライオリティ管理を行い、
プライオリティの高いプログラムグループにプロセッサ
を割当てるためのプライオリティ35bと、同一プログ
ラムグループのプログラムに異なるプロセッサを割当て
ないため、または、プロセッサ空きなしのために待ち状
態となっているプロセスの管理のため、プロセッサ待ち
のプロセス管理テーブルエントリの先頭または最終アド
レス35cとを有する。このプロセッサ待ちのプロセス
管理テーブルエントリに対しては同じグループの待ちプ
ロセスがある場合に、エントリのチエインアドレス35
dを持っている。
第4図は、あるプロセスに対してプロセッサを割当てる
処理の一例を説明するフローチャートである。このフロ
ーチャートの処理は、プロセッサ割当てプログラムll
aにおいて処理される。第4図を参照して説明する。プ
ロセッサ割当て要求を受けると、まず、ステップ41に
おいて、システム管理テーブルの更新を行うためにシス
テム管理テーブルのロックを行うゆ次に、ステップ42
において、新プログラムグループのエントリをサーチし
、ディスパッチ要求されているプログラムグループ番号
の指定によって、第3図におけるプログラムグループ管
理テーブル35のエントリ中の要求プログラムグループ
を求める。
処理の一例を説明するフローチャートである。このフロ
ーチャートの処理は、プロセッサ割当てプログラムll
aにおいて処理される。第4図を参照して説明する。プ
ロセッサ割当て要求を受けると、まず、ステップ41に
おいて、システム管理テーブルの更新を行うためにシス
テム管理テーブルのロックを行うゆ次に、ステップ42
において、新プログラムグループのエントリをサーチし
、ディスパッチ要求されているプログラムグループ番号
の指定によって、第3図におけるプログラムグループ管
理テーブル35のエントリ中の要求プログラムグループ
を求める。
次に、ステップ43において、他プログラムグループの
プライオリティが高く、シかも待ち状態となっているか
否かを判定する。プロセッサ割当てのプライオリティ管
理のために、他のプログラムグループ(旧プログラムグ
ループを含む)に新プログラムグループよりプライオリ
ティが高く。
プライオリティが高く、シかも待ち状態となっているか
否かを判定する。プロセッサ割当てのプライオリティ管
理のために、他のプログラムグループ(旧プログラムグ
ループを含む)に新プログラムグループよりプライオリ
ティが高く。
プロセッサ待ちのものがない場合、ステップ44に進み
、ステップ44からのプロセッサ割当ての処理を行う。
、ステップ44からのプロセッサ割当ての処理を行う。
また、そうでない場合、他のプログラムグループに制御
を渡すため、ステップ50からの処理を行う。ステップ
50においては、プロセッサ待ちプロセスの最終に実行
中プロセスをチエインして、ステップ51において、プ
ロセッサ管理テーブルの実行中プロセスアドレスを変更
中などの関連テーブル更新を行い、ステップ48のシス
テム管理テーブルのアンロックの処理を行い、次に、ス
テップ49での該当プロセスのディスパッチを行う。
を渡すため、ステップ50からの処理を行う。ステップ
50においては、プロセッサ待ちプロセスの最終に実行
中プロセスをチエインして、ステップ51において、プ
ロセッサ管理テーブルの実行中プロセスアドレスを変更
中などの関連テーブル更新を行い、ステップ48のシス
テム管理テーブルのアンロックの処理を行い、次に、ス
テップ49での該当プロセスのディスパッチを行う。
プロセッサ割当ての処理を行うステップ44の処理にお
いては、新しいプログラムグループに実行中プロセスが
あるか否かのチエツクを行う。実行中プロセスのない場
合はディスパッチ可能であるので、ステップ45におい
て、プロセス管理テーブルのプログラムグループ番号を
新番号に変更する。次にステップ46において、旧プロ
グラムグループの実行中プロセスアドレスを「0」にす
ると共に、新プログラムグループ実行中プロセスアドレ
スをセットする。次に、ステップ47で、プロセッサ管
理テーブルのプログラムグループ番号を変更して、ステ
ップ48において、システム管理テーブルのアンロック
した後、ステップ49の処理で、当該プロセスにプロセ
ッサをディスパッチする。
いては、新しいプログラムグループに実行中プロセスが
あるか否かのチエツクを行う。実行中プロセスのない場
合はディスパッチ可能であるので、ステップ45におい
て、プロセス管理テーブルのプログラムグループ番号を
新番号に変更する。次にステップ46において、旧プロ
グラムグループの実行中プロセスアドレスを「0」にす
ると共に、新プログラムグループ実行中プロセスアドレ
スをセットする。次に、ステップ47で、プロセッサ管
理テーブルのプログラムグループ番号を変更して、ステ
ップ48において、システム管理テーブルのアンロック
した後、ステップ49の処理で、当該プロセスにプロセ
ッサをディスパッチする。
一方、ステップ44において、新しいプログラムグルー
プに実行中プロセスがある場合には、ステップ52に進
む。ステップ52では、プロセス管理テーブルのプログ
ラム管理テーブルのプログラムループ番号を変更して、
ステップ53で、プログラムグループ管理テーブルにお
けるプロセッサ待ちプロセスアドレスの最後に当該プロ
セスをチエインしておく。次に、ステップ54で、空い
たプロセッサを、まず、他のプロセスに割当てるため、
プロセッサ待ちプロセスをプログラムグループ管理テー
ブルからサーチする。次に、ステップ55において、プ
ロセッサ待ちプロセスの存在のチエツクを行い、プロセ
ッサ待ちプロセスがあれば、ステップ58で、プロセッ
サ管理テーブルの実行中プロセスアドレスなど関連テー
ブルの更新を行い1次にステップ48に戻り、システム
管理テーブルのアンロックを行い、ステップ49におい
て、該当プロセスのディスパッチを行う。
プに実行中プロセスがある場合には、ステップ52に進
む。ステップ52では、プロセス管理テーブルのプログ
ラム管理テーブルのプログラムループ番号を変更して、
ステップ53で、プログラムグループ管理テーブルにお
けるプロセッサ待ちプロセスアドレスの最後に当該プロ
セスをチエインしておく。次に、ステップ54で、空い
たプロセッサを、まず、他のプロセスに割当てるため、
プロセッサ待ちプロセスをプログラムグループ管理テー
ブルからサーチする。次に、ステップ55において、プ
ロセッサ待ちプロセスの存在のチエツクを行い、プロセ
ッサ待ちプロセスがあれば、ステップ58で、プロセッ
サ管理テーブルの実行中プロセスアドレスなど関連テー
ブルの更新を行い1次にステップ48に戻り、システム
管理テーブルのアンロックを行い、ステップ49におい
て、該当プロセスのディスパッチを行う。
また、ステップ55のプロセッサ待ちプロセスの存在の
チエツクにおいて、ディスパッチできるプロセスのない
場合は、次のステップ56において、システム管理テー
ブルのプロセス待ちプロセッサアドレスにプロセッサ管
理テーブルのチエインを行い、更に、プロセッサ管理テ
ーブルの更新を行う。そして、次のステップ57におい
て、システム管理テーブルのアンロックを行って、処理
を終了する。
チエツクにおいて、ディスパッチできるプロセスのない
場合は、次のステップ56において、システム管理テー
ブルのプロセス待ちプロセッサアドレスにプロセッサ管
理テーブルのチエインを行い、更に、プロセッサ管理テ
ーブルの更新を行う。そして、次のステップ57におい
て、システム管理テーブルのアンロックを行って、処理
を終了する。
また、このディスパッチ要求に対するディスパッチを機
会に、他のプロセスにプロセッサを割当てる場合には、
例えば、ステップ50に進み、プロセッサ待ちプロセス
の最終に実行中プロセスをチエインして、ステップ51
において、プロセッサ管理テーブルの実行中プロセスア
ドレスを変更中などの関連テーブル更新を行い、ステッ
プ48のシステム管理テーブルのアンロックの処理を行
い、次に、ステップ49での該当プロセスのディスパッ
チを行う。
会に、他のプロセスにプロセッサを割当てる場合には、
例えば、ステップ50に進み、プロセッサ待ちプロセス
の最終に実行中プロセスをチエインして、ステップ51
において、プロセッサ管理テーブルの実行中プロセスア
ドレスを変更中などの関連テーブル更新を行い、ステッ
プ48のシステム管理テーブルのアンロックの処理を行
い、次に、ステップ49での該当プロセスのディスパッ
チを行う。
このようにして、プロセスに対するディスパッチ要求に
対する処理を行う。
対する処理を行う。
以上、本発明を実施例にもとづき具体的に説明したが、
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない。
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない。
以上、説明したように、本発明によれば、同一の資源を
使用するプログラムが同時に複数のプロセッサで動作す
ることがないように制御できるので、逐次処理によるプ
ロセッサ能力の浪費とバッファメモリ上の内容の無効化
によるハード性能の劣化が防止でき、システムのスルー
プットおよび応答性能が向上する。
使用するプログラムが同時に複数のプロセッサで動作す
ることがないように制御できるので、逐次処理によるプ
ロセッサ能力の浪費とバッファメモリ上の内容の無効化
によるハード性能の劣化が防止でき、システムのスルー
プットおよび応答性能が向上する。
第1図は、本発明の一実施例にかかるマルチプロセッサ
システムの構成を示すブロック図、第2図は、オンライ
ンデータベースシステムにおけるトランザクション処理
の流れを説明するシーケンス図。 第3図は、プロセッサ割当てプログラムにおける制御テ
ーブル構成の一例を示す図、 第4図は、あるプロセスに対してプロセッサを割当てる
処理の一例を説明するフローチャートである。 図中、11・・・主記憶装置、12・・・主記憶制御装
置、13a〜13d・・・入出力処理装置、14a〜1
4d・・・バッファメモリ、15a〜15d・・・プロ
セッサ、lla・・プロセッサ割当てプログラム、fl
b・・・I10プログラム、11c・・・データ管理プ
ログラム、lid・・・通信管理プログラム、lie・
・DBプログラム、1lfDCプログラム、fig・・
・アプリケーションプログラム。
システムの構成を示すブロック図、第2図は、オンライ
ンデータベースシステムにおけるトランザクション処理
の流れを説明するシーケンス図。 第3図は、プロセッサ割当てプログラムにおける制御テ
ーブル構成の一例を示す図、 第4図は、あるプロセスに対してプロセッサを割当てる
処理の一例を説明するフローチャートである。 図中、11・・・主記憶装置、12・・・主記憶制御装
置、13a〜13d・・・入出力処理装置、14a〜1
4d・・・バッファメモリ、15a〜15d・・・プロ
セッサ、lla・・プロセッサ割当てプログラム、fl
b・・・I10プログラム、11c・・・データ管理プ
ログラム、lid・・・通信管理プログラム、lie・
・DBプログラム、1lfDCプログラム、fig・・
・アプリケーションプログラム。
Claims (1)
- 1、複数のプロセッサと複数の共有資源を有し、複数の
プロセッサが共有資源へアクセスし、プログラムを実行
するマルチプロセッサシステムにおいて、プログラムグ
ループ管理テーブルを備え、複数のプロセッサで動作す
るプログラムをグループ番号を付加して管理し、同じグ
ループのプログラムのプロセスには同時に別のプロセッ
サを割当てずに、命令実行を制御することを特徴とする
プロセッサ割当て方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63277153A JPH02122365A (ja) | 1988-10-31 | 1988-10-31 | プロセッサ割当て方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63277153A JPH02122365A (ja) | 1988-10-31 | 1988-10-31 | プロセッサ割当て方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02122365A true JPH02122365A (ja) | 1990-05-10 |
Family
ID=17579538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63277153A Pending JPH02122365A (ja) | 1988-10-31 | 1988-10-31 | プロセッサ割当て方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02122365A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065459A (ja) * | 2004-08-25 | 2006-03-09 | Seiko Epson Corp | 画像処理を並列処理で実行する際の負荷の割り付け |
WO2007081022A1 (ja) * | 2006-01-16 | 2007-07-19 | Seiko Epson Corporation | マルチプロセッサシステム、マルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム |
JP2010128664A (ja) * | 2008-11-26 | 2010-06-10 | Fujitsu Ltd | マルチプロセッサシステム、競合回避プログラム及び競合回避方法 |
JP2013114538A (ja) * | 2011-11-30 | 2013-06-10 | Toshiba Corp | 情報処理装置、情報処理方法及び制御プログラム |
JP2015032080A (ja) * | 2013-08-01 | 2015-02-16 | 日本電信電話株式会社 | 実行制御装置及び実行制御方法 |
JP2022118736A (ja) * | 2021-02-03 | 2022-08-16 | 日本電気株式会社 | スケジューラ、スケジューリング方法、及び、プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS603229A (ja) * | 1983-06-21 | 1985-01-09 | Hamamatsu Photonics Kk | パルス信号処理回路 |
JPS62115567A (ja) * | 1985-11-15 | 1987-05-27 | Nec Corp | 多重プロセサシステム |
-
1988
- 1988-10-31 JP JP63277153A patent/JPH02122365A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS603229A (ja) * | 1983-06-21 | 1985-01-09 | Hamamatsu Photonics Kk | パルス信号処理回路 |
JPS62115567A (ja) * | 1985-11-15 | 1987-05-27 | Nec Corp | 多重プロセサシステム |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065459A (ja) * | 2004-08-25 | 2006-03-09 | Seiko Epson Corp | 画像処理を並列処理で実行する際の負荷の割り付け |
JP4556554B2 (ja) * | 2004-08-25 | 2010-10-06 | セイコーエプソン株式会社 | 画像処理を並列処理で実行する際の負荷の割り付け |
WO2007081022A1 (ja) * | 2006-01-16 | 2007-07-19 | Seiko Epson Corporation | マルチプロセッサシステム、マルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム |
US7979861B2 (en) | 2006-01-16 | 2011-07-12 | Seiko Epson Corporation | Multi-processor system and program for causing computer to execute controlling method of multi-processor system |
JP2010128664A (ja) * | 2008-11-26 | 2010-06-10 | Fujitsu Ltd | マルチプロセッサシステム、競合回避プログラム及び競合回避方法 |
JP2013114538A (ja) * | 2011-11-30 | 2013-06-10 | Toshiba Corp | 情報処理装置、情報処理方法及び制御プログラム |
JP2015032080A (ja) * | 2013-08-01 | 2015-02-16 | 日本電信電話株式会社 | 実行制御装置及び実行制御方法 |
JP2022118736A (ja) * | 2021-02-03 | 2022-08-16 | 日本電気株式会社 | スケジューラ、スケジューリング方法、及び、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5333319A (en) | Virtual storage data processor with enhanced dispatching priority allocation of CPU resources | |
EP0301221B1 (en) | An improved subsystem input service for dynamically scheduling work for a computer system | |
US4811216A (en) | Multiprocessor memory management method | |
US7047337B2 (en) | Concurrent access of shared resources utilizing tracking of request reception and completion order | |
US5093912A (en) | Dynamic resource pool expansion and contraction in multiprocessing environments | |
US4779194A (en) | Event allocation mechanism for a large data processing system | |
US4631674A (en) | Active wait | |
US5093913A (en) | Multiprocessor memory management system with the flexible features of a tightly-coupled system in a non-shared memory system | |
EP0682312A2 (en) | Hardware implemented locking mechanism for parallel/distributed computer system | |
EP0428006A2 (en) | Multilevel locking system and method | |
EP0969381A2 (en) | Method of efficient non-virtual main memory management | |
EP1031925B1 (en) | Cooperative processing of tasks in multi-threaded computing system | |
KR100400165B1 (ko) | 처리 시스템 스케쥴링 | |
JPH02122365A (ja) | プロセッサ割当て方式 | |
CA1299758C (en) | Task scheduling mechanism for large data processing systems | |
US20020029800A1 (en) | Multiple block sequential memory management | |
JP2743865B2 (ja) | ジョブスケジューリング方式 | |
KR100401443B1 (ko) | 이벤트를 기반으로한 시스템의 병행 처리 | |
US5062046A (en) | Multiple processor system having a correspondence table for transferring processing control between instruction processors | |
CN112948069A (zh) | 用于运行计算单元的方法 | |
JP2748407B2 (ja) | データベース処理システム | |
JPS61136134A (ja) | 待ち行列資源管理方式 | |
JPH02171952A (ja) | マルチプロセッサにおけるディスパッチ方式 | |
JPH01316830A (ja) | タスク実行制御方式 | |
JPH04223533A (ja) | 共有資源排他制御システム |