JP2000122986A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム

Info

Publication number
JP2000122986A
JP2000122986A JP10294784A JP29478498A JP2000122986A JP 2000122986 A JP2000122986 A JP 2000122986A JP 10294784 A JP10294784 A JP 10294784A JP 29478498 A JP29478498 A JP 29478498A JP 2000122986 A JP2000122986 A JP 2000122986A
Authority
JP
Japan
Prior art keywords
processor
blocked
specified
thread
conversion table
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
JP10294784A
Other languages
English (en)
Inventor
Yusuke Suganami
雄介 菅波
Hiroshi Yashiro
寛 屋代
Hideki Murayama
秀樹 村山
Daisuke Sasaki
大介 佐々木
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP10294784A priority Critical patent/JP2000122986A/ja
Publication of JP2000122986A publication Critical patent/JP2000122986A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 閉塞しているプロセッサに対してスレッドの
動作を指定した場合にも指定要求を行なったスレッドが
誤動作を起こさず正常な処理を行えるようにしたマルチ
プロセッサシステムを提供すること。 【解決手段】 メモリ103内に動作プロセッサ変換表120
を設ける。動作プロセッサ変換表120には、閉塞してい
るプロセッサに動作指定した場合に、代わりに指定先と
なる閉塞していないプロセッサが記述されている。プロ
セッサ縮退を行なうときに、閉塞しているプロセッサの
代わりに動作を行なうプロセッサを決定し、動作プロセ
ッサ変換表120を書き換える(動作プロセッサ変換表更新
部131)。スレッドが動作プロセッサ指定機能を実行した
場合、動作プロセッサ変換表120を参照し、閉塞してい
るプロセッサを動作指定した場合は他の使用可能な閉塞
していないプロセッサに動作指定先を変更し、正常終了
値を戻り値とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッサ
を有するマルチプロセッサシステムに関し、特に、動作
中にプロセッサ数を縮退(閉塞)する機能と、プログラ
ムが動作するプロセッサの指定機能を有し、プログラム
を実行するために指定したプロセッサが閉塞している場
合にそのプログラムを閉塞していないプロセッサで実行
するようにしたマルチプロセッサシステムに関する。
【0002】
【従来の技術】複数のプログラムを同時に並行して動作
させる多重プログラミング環境では、オペレーティング
システム(Operating System:以下、単にOSとい
う)は個々のプログラムを実行、管理するためにプロセ
スやスレッドと呼ぶ管理単位を定めている。本明細書で
は、この管理単位を総称してスレッドと呼ぶことにす
る。多重プログラミング環境においては、OSが複数の
プロセッサにスレッドを割り当て、各プロセッサで割り
当てられたスレッドを実行する。しかし、一つのスレッ
ドを異なる複数のプロセッサで実行する場合、プロセッ
サ内のレジスタやキャッシュメモリに格納しているデー
タを複数のプロセッサ間で移動させる必要が生じる。こ
のとき、プロセッサ間のデータ移動の頻度が高くなって
移動のオーバーヘッドが大きくなることがあり、このよ
うな場合、OSによってスレッドを複数のプロセッサに
割り当てて実行するのではなく、同じプロセッサだけで
実行させるようにした方が効率がよくなる場合がある。
【0003】このような複数プロセッサによる処理の最
適化のため、動作するプロセッサを指定するための『動
作プロセッサ指定機能』をOSが提供している場合があ
る。動作プロセッサ指定機能の公知の技術としては、例
えば、「マルチスレッドプログラミング入門、Bil Lewi
s, Daniel J.Berg 共著、岩本信一訳、アスキー出版
局、ISBN4-7561-1682-5」の79 ページに紹介されている
“processor_bind システムコール”がある。processor
_bind システムコール を呼び出す際は、スレッドとプ
ロセッサの識別子を引数として指定する。processor_bi
nd システムコールの処理結果は、システムコールの戻
り値として呼び出し元スレッドに引き渡される。処理の
結果、指定したスレッドを指定したプロセッサで動作さ
せることができた場合には、戻り値は正常終了値とな
る。一方、例えば、稼働していないプロセッサの識別子
や存在しないスレッドの識別子を呼び出し元スレッドが
指定したときなど、動作プロセッサの指定を行なうこと
ができなかった場合には、戻り値は異常終了値となる。
【0004】また、複数のプロセッサを持つ計算機にお
いて、その計算機の可用性を高める技術として、『プロ
セッサ縮退機能』がある。プロセッサ縮退機能は、計算
機内部の障害検知システムや操作者からの指示により、
計算機の動作中に障害が発生したプロセッサを閉塞する
機能である。この機能の公知の技術としては、「SunPer
formance and Tuning、Adrian Cockcroft, Richard Pet
it 共著、Prentice Hall、ISBN0-13-095249-4」の第1
0章 に紹介されている“psradm コマンド”などがあ
る。psradm 命令は、閉塞するプロセッサの識別子を引
数として指定する。
【0005】
【発明が解決しようとする課題】計算機がこれらの動作
プロセッサ指定機能とプロセッサ縮退機能の双方を備え
ている状況では、次のような問題が発生する。計算機稼
働中にプロセッサ縮退機能を実行した場合、すでに動作
中のスレッドには特定のプロセッサが閉塞しているとい
う情報が伝わらない。そのためスレッド実行開始後にプ
ロセッサを閉塞した場合、閉塞しているプロセッサに対
して動作指定を行なってしまう可能性がある。このよう
な場合、閉塞しているプロセッサに動作を行わせること
ができず、動作プロセッサ指定機能は異常終了値を戻り
値とするため、このスレッドは正常な処理をすることが
できない場合がある。本発明の目的は、上記問題点を解
消し、閉塞していないプロセッサに対してスレッドの動
作を指定した場合はもちろんのこと、閉塞しているプロ
セッサに対してスレッドの動作を指定した場合にも、シ
ステム初期化時に接続されていたプロセッサならば指定
要求を行なったスレッドが誤動作を起こさず正常な処理
を行えるようにしたマルチプロセッサシステムを提供す
ることである。
【0006】
【課題を解決するための手段】本発明は、上記目的を達
成するために、メモリ内に動作プロセッサ変換表を設け
る。動作プロセッサ変換表には、閉塞しているプロセッ
サに動作指定した場合に、代わりに指定先となる閉塞し
ていないプロセッサが記述されている。プロセッサ縮退
を行なうときに、閉塞しているプロセッサの代わりに動
作を行なうプロセッサを決定し、動作プロセッサ変換表
を書き換える。スレッドが動作プロセッサ指定機能を実
行した場合、動作プロセッサ変換表を参照し、閉塞して
いるプロセッサを動作指定した場合は他の使用可能な閉
塞していないプロセッサに動作指定先を変更し、正常終
了値(第一の結果)を戻り値とする。一方、指定された
プロセッサが存在しない場合のみ、異常終了値(第二の
結果)を戻り値とする。このような構成を採用すること
により、閉塞していないプロセッサを指定した場合はも
ちろんのこと閉塞しているプロセッサを指定した場合で
も代替プロセッサを指定可能にすることによって正常終
了値を戻り値にすることができ、指定要求を行なったス
レッドが誤動作するのを回避して正常な処理を行わせる
ことが可能になる。
【0007】
【発明の実施の形態】図1は、本発明の実施例における
マルチプロセッサシステムのハードウェア構成を示す図
である。本実施例におけるマルチプロセッサシステム
は、同図に示すように、複数のプロセッサ100〜10
2と、プロセッサ100〜102により共有されるメモ
リ103と、プロセッサ100〜102が共通に用いる
二次記憶装置104と、プロセッサ100〜102が共
通に用いるI/O装置105と、これらを相互に接続す
るシステムバス106とから構成される。プロセッサ1
00〜102は、0から始まる整数のID(識別子)に
より、個々の識別が可能である。本実施例ではプロセッ
サ100のIDは「0」、プロセッサ101のIDは
「1」、プロセッサ102のIDは「2」とする。本発
明はプロセッサ数が2個以上の構成の場合に適用可能で
あるが、本実施例ではプロセッサが3個の構成の例を用
いて説明する。
【0008】二次記憶装置104は、プログラムやデー
タを格納する記憶装置であり、例えばハードディスクな
どで構成される。I/O装置105は、操作者がマルチ
プロセッサシステムにデータを入出力をするための装置
であり、例えばディスプレイ装置やキーボードなどで構
成される。
【0009】メモリ103は、データやプログラムを記
憶するメモリであり、本実施例では具体的に、動作プロ
セッサ変換表120,プロセッサ縮退プログラム11
0,指定対象スレッド111,指定要求スレッド11
2,表初期設定部130,動作プロセッサ変換処理部1
33,動作プロセッサ指定処理部134,戻り値格納部
A140,戻り値格納部B141を有している。プロセ
ッサ縮退プログラム110,指定対象スレッド111,
指定要求スレッド112,表初期設定部130,動作プ
ロセッサ変換処理部133,動作プロセッサ指定処理部
134はプログラムから構成され、その実際の処理は、
プロセッサ100〜102のいずれかによって実行され
る。
【0010】動作プロセッサ変換表120は、全てのプ
ロセッサのIDを、閉塞していないプロセッサのIDに
対応づける表である。表初期設定部130は、計算機の
ブート時に呼び出され、動作プロセッサ変換表120の
初期設定を行なう。プロセッサ縮退プログラム110
は、動作プロセッサ変換表更新部131、プロセッサ縮
退処理部132により構成される。計算機のブート完了
後、I/O装置105により操作者からコマンドを受け
てプロセッサ縮退プログラム110を実行すると、まず
動作プロセッサ変換表更新部131の処理が実行され、
次いでプロセッサ縮退処理部132の処理が実行され
る。
【0011】動作プロセッサ変換表更新部131は、閉
塞するプロセッサの代わりに動作指定対象となるプロセ
ッサを決定し、動作プロセッサ変換表120を書き換え
る処理を行なう。プロセッサ縮退処理部132は、指定
したプロセッサを閉塞する処理を行なう部分で、例えば
前述の“psradmコマンド”で実現できる。
【0012】指定要求スレッド112は、指定対象スレ
ッド111を実行するプロセッサを指定するため、動作
プロセッサ変換処理部133の処理を実行する。その
際、動作するプロセッサのIDと、指定対象スレッド1
11のIDを引数として動作プロセッサ変換処理部13
3に引き渡す。動作プロセッサ変換処理部133は、指
定要求スレッド112が指定した動作を行なうプロセッ
サのIDと実行する指定対象スレッド111のIDか
ら、動作プロセッサ変換表120を参照して使用可能な
プロセッサのIDを取得し、そのIDを用いて動作プロ
セッサ指定処理部134の処理を実行する。
【0013】動作プロセッサ指定処理部134は、動作
プロセッサ指定機能を実行する部分である。動作プロセ
ッサ指定処理部134は、例えば、前述の“processor_
bindシステムコール”で実現できる。動作プロセッサ指
定処理部134は、呼び出し元からプロセッサのIDと
指定対象スレッド111のIDを引数として受け取る。
【0014】戻り値格納部A140は、動作プロセッサ
指定処理部134の動作結果を格納する部分である。本
実施例では、動作プロセッサ指定処理部134の動作結
果として正常終了値と異常終了値の2つの値を用いる。
動作プロセッサ指定処理部134は、指定スレッドが指
定プロセッサで動作した場合には、正常終了値を戻り値
格納部A140に格納する。また、存在しないスレッド
のIDを指定したときなど、動作プロセッサの正しく指
定をできなかった場合には、異常終了値を戻り値格納部
A140に格納する。
【0015】戻り値格納部B141は、動作プロセッサ
変換処理部133の動作結果を格納する部分である。動
作プロセッサ変換処理部133の戻り値には、動作プロ
セッサ指定処理部134の戻り値と同様に、正常終了値
と異常終了値の2つの値を用いる。動作プロセッサ変換
処理部133は、戻り値格納部A140の値を読み取
り、戻り値格納部B141に格納する。指定要求スレッ
ド112は、戻り値格納部B141の値を参照し、正常
終了か異常終了かを認識する。
【0016】本実施例では、指定要求スレッド112
が、閉塞しているプロセッサのIDを指定した場合、動
作プロセッサ変換処理部133の処理により、動作プロ
セッサ指定処理部134の引数には必ず使用可能なプロ
セッサのIDが指定される。このことにより、動作プロ
セッサ指定処理部134では使用可能なプロセッサに対
して指定対象スレッド111の動作を指定することとな
る。この結果、動作プロセッサ指定処理部134は、正
常終了値を戻り値格納部A140に格納する。そのた
め、動作プロセッサ変換処理部133も、同じく正常終
了値を戻り値格納部B141に格納する。指定要求スレ
ッド112は、戻り値格納部B141に格納された値
(正常終了値)を参照することにより、誤動作なく正常
に終了したことを知ることができる。このようにして、
指定要求スレッド112の誤動作を防ぐことができる。
【0017】図2は、動作プロセッサ変換表120の具
体的な実施例を示す図である。同図に示すように、動作
プロセッサ変換表は、プロセッサ毎の、変換元IDフィ
ールド200,変換先IDフィールド201,動作可能
フラグフィールド202から構成されている。変換先I
Dフィールド201は、変換元IDフィールド200が
示すプロセッサが閉塞している場合に、代わりに動作す
る閉塞していないプロセッサのIDを表している。動作
可能フラグフィールド202は、変換元IDフィールド
200が示すプロセッサが使用可能かどうかを表してい
る。動作可能フラグフィールド202には、変換元ID
フィールド200が示すプロセッサが使用可能である場
合に“1”、閉塞して使用不可能である場合に“0”の
値が格納される。図2は、全てのプロセッサが使用可能
であることを示している(後述するように、図2は表初
期設定部130で初期化設定された状態の例である)。
また、1つのプロセッサが動作プロセッサ変換表120
を参照または更新している間、他のプロセッサが同時に
参照または更新しないよう排他制御が行われる。
【0018】図3は、後述の動作プロセッサ変換表更新
部131により、更新された後の動作プロセッサ変換表
120の状態の例である。同図に示すように、本実施例
における動作プロセッサ変換表は、変換元IDが「1」
の行の変換先IDに「2」が格納されており、動作可能
フラグには“0”が格納されている。このことは、ID
が「1」のプロセッサは閉塞して使用不可になってお
り、その代わりに動作するプロセッサがIDが「2」の
プロセッサであることを意味している。図3の状態で、
指定要求スレッド112が、IDが「1」のプロセッサ
へ動作指定を行なった場合、動作プロセッサ変換処理部
133により、IDが「2」のプロセッサに動作指定先
が変換されることを意味している。
【0019】以下、各処理部の動作を順を追って詳細に
説明する。図4は、表初期設定部130の処理を示すフ
ローチャートである。表初期設定部130は、計算機の
ブート時に呼び出され、動作プロセッサ変換表120を
初期化するプログラムである。同図に示すように、まず
ステップ400にて、動作プロセッサ変換表120の変
換元IDフィールド200に、計算機に接続されている
全プロセッサのID(「0」から「全プロセッサ数−
1」までの整数)を順に格納する。図1に示した構成例
では、3つのプロセッサ100〜102が接続されてい
るので、図2に示すように、変換元IDフィールド20
0に「0」から「2」の値が順に格納される。
【0020】続いてステップ401にて、動作プロセッ
サ変換表120の全ての行において変換元IDフィール
ド200と同じ値を変換先IDフィールド201に格納
する。続いてステップ402にて、動作プロセッサ変換
表120の全ての行において動作可能フラグフィールド
202に値“1”(変換元IDのプロセッサが使用可で
あることを意味する)を格納する。前述したように、図
2は、動作プロセッサ変換表120の初期化が終了した
例を示している。以上で表初期設定部130の処理を終
了する。
【0021】図5は、動作プロセッサ変換表更新部13
1の処理を示すフローチャートである。動作プロセッサ
変換表更新部131は、プロセッサ縮退プログラム11
0から呼び出される。このときプロセッサ縮退プログラ
ム110から閉塞するプロセッサのIDが渡される。こ
のとき渡される閉塞するプロセッサのIDを「N」とす
る。
【0022】同図に示すように、まずステップ500に
て、動作プロセッサ変換表120の変換元IDフィール
ド200が「N」の行における動作可能フラグに“0”
を格納する。続いてステップ501にて、変数Lに
「0」を格納する。続いてステップ502にて、変換元
IDフィールド200が「L」の行において、変換先I
Dフィールド201の値が「N」の場合にステップ50
3に分岐し、そうでない場合はステップ505に分岐す
る。変換元IDフィールド200が「L」の行の変換先
IDフィールド201の値が「N」の場合は、ステップ
503にて、「N」を引数として代替プロセッサ決定処
理を呼び出す。代替プロセッサ決定処理のフローは図6
を用いて後述する。
【0023】次に、ステップ504にて、変換元IDフ
ィールド200が「L」の行の変換先ID201に、代
替プロセッサ決定処理503で決定した代替プロセッサ
のIDを格納する。その後、ステップ505に進む。ス
テップ505において、Lに1を加えた値をLに格納す
る。続いてステップ506にて、変数Lがプロセッサ
IDの最大値より大きいか否かを判定する。変数Lがプ
ロセッサIDの最大値より大きい場合は(ステップ50
6:Y)処理を終了する。そうでない場合は(ステップ
506:N)、再度ステップ502に戻り、更新された
Lを用いて判定処理を行う。
【0024】図6は、図5のステップ503における代
替プロセッサ決定処理の一実施例を示すフローチャート
である。ここで、動作プロセッサ変換表120から渡さ
れる閉塞するプロセッサのIDを「N」とする。同図に
示すように、まずステップ600にて、変数Mに「N」
の値を格納する。変数Mは、代替プロセッサ候補のID
を示している。続いてステップ601にて、変数Mに1
を加えた値を新たな変数Mとして格納する。
【0025】次に、ステップ602にて、変数Mがプロ
セッサIDの最大値より大きいか否かを判定する。変数
MがプロセッサIDの最大値より大きい場合は(ステッ
プ602:Y)、ステップ603で変数Mに0を格納し
た後、ステップ604に進む。そうでない場合は(ステ
ップ602:N)、直接ステップ604に進む。ステッ
プ602とステップ603は、代替プロセッサ候補がプ
ロセッサIDの最大値を越えてしまった場合に、プロセ
ッサIDが「0」のプロセッサを代替プロセッサ候補と
するための処理である。
【0026】ステップ604において、変換元IDフィ
ールド200(300)が変数Mの行の動作可能フラグ
フィールド202(302)を参照し、変数Mの行の動
作可能フラグフィールド202(302)が“0”か否
かを判定する。この値が“0”の場合(ステップ60
4:Y)、プロセッサIDが変数Mのプロセッサは閉塞
(使用不可)していることを意味しているので、再度ス
テップ601に戻って変数Mを更新し(M=M+1)、
次の代替プロセッサ候補を探す。変数Mの行の動作可能
フラグフィールド202(302)の値が“1”の場合
は(ステップ604:N)、代替プロセッサのIDを
「M」とし、代替プロセッサ決定処理を終了する。前述
したように、図3は、閉塞するプロセッサのIDが
「1」の場合に、動作プロセッサ変換表更新部131の
処理により、動作プロセッサ変換表120が更新された
例を示している。
【0027】図7は、動作プロセッサ変換処理部133
の処理を示すフローチャートである。動作プロセッサ変
換処理部133は、指定要求スレッド112が動作プロ
セッサ指定を行なった場合に呼び出される。このとき、
指定要求スレッド112から、動作すべきプロセッサの
IDと指定対象スレッド111のIDが渡される。この
とき渡される動作すべきプロセッサのIDを「N」,指
定対象スレッド111のIDを「T」とする。
【0028】同図に示すように、まずステップ700に
て、動作プロセッサ変換表120を参照し、動作プロセ
ッサ変換表120に変換元IDフィールド200(30
0)が「N」の行があるか否かを判定する。動作プロセ
ッサ変換表120に変換元IDフィールド200(30
0)が「N」の行がある場合(ステップ700:Y)、
ステップ701に分岐し、変換元IDフィールド200
(300)が「N」の行がない場合(ステップ700:
N)、ステップ704に分岐する。変換元IDフィール
ド200(300)が「N」の行がない(ステップ70
0:N)ということは、指定されたプロセッサがシステ
ム初期化時に接続されていなかったことを意味している
ので、ステップ704において異常終了値を戻り値格納
部B141に格納し、処理を終了する。
【0029】変換元IDフィールド200(300)が
「N」の行がある場合には(ステップ700:Y)、ス
テップ701において、変換元IDフィールド200
(300)が「N」の行の変換先IDフィールド201
(301)の値を読み取り、その値を変数「N'」に格
納する。続いてステップ702にて、動作すべきプロセ
ッサのID「N'」と指定対象スレッドID「T」を引
数として、動作プロセッサ指定処理部134を呼び出
す。ここでは、「N」が閉塞したプロセッサのIDであ
っても、ステップ701の処理を実行することにより、
変換後のID「N'」は必ず使用可能なプロセッサのI
Dとなる。
【0030】動作プロセッサ指定処理部134の呼び出
しの結果、正常終了値または異常終了値が戻り値格納部
A140に格納される。続いてステップ703におい
て、ステップ702で戻り値格納部A140に格納査れ
た正常終了値または異常終了値を戻り値格納部B141
に格納し、処理を終了する。以上により、閉塞している
プロセッサに対して動作を指定した場合にも、動作プロ
セッサ指定機能は正常終了値を指定要求スレッドに返す
ようにでき、結果的に指定要求スレッドの誤動作を防ぐ
ことができる。
【0031】なお、上記実施例は、本発明の一例を示し
たにすぎず、各種変形が可能である。例えば、図6の代
替プロセッサ決定処理フローでは、閉塞するプロセッサ
のIDより一つ大きいIDを有するプロセッサを代替プ
ロセッサとしているが、逆に閉塞するプロセッサのID
より一つ小さいIDを有するプロセッサを代替プロセッ
サとしてもよいし、予め決められた別のアルゴリズムに
より代替プロセッサを決めるようにしてもよいことはい
うまでもない。
【0032】
【発明の効果】以上述べたように、本発明によれば、閉
塞しているプロセッサに対して動作を指定した場合に
も、動作プロセッサ指定機能は正常終了値を指定要求ス
レッドに返すので、指定要求スレッドの誤動作を防止す
ることが可能になる。
【図面の簡単な説明】
【図1】本発明におけるマルチプロセッサシステムの構
成図である。
【図2】動作プロセッサ変換表の具体的な実施例を示す
図である(表初期設定部で初期設定された状態の例)。
【図3】動作プロセッサ変換表の他の状態を示す図であ
る(動作プロセッサ変換表更新部で更新された後の状態
の例)。
【図4】表初期設定部の処理の流れを示すフローチャー
トである。
【図5】動作プロセッサ変換表更新部の処理の流れを示
すフローチャートである。
【図6】代替プロセッサ決定処理の流れを示すフローチ
ャートである。
【図7】図1における動作プロセッサ変換処理部の処理
の流れを示すフローチャートである
【符号の説明】
100〜102:プロセッサ 103:メモリ 110:プロセッサ縮退プログラム 111:指定対象スレッド 112:指定要求スレッド 120:動作プロセッサ変換表 130:表初期設定部 131:動作プロセッサ変換表更新部 132:プロセッサ縮退処理部 133:動作プロセッサ変換処理部 134:動作プロセッサ指定処理部 140:戻り値格納部A 141:戻り値格納部B 200,300:変換元IDフィールド 201,301:変換先IDフィールド 202,302:動作可能フラグフィールド
───────────────────────────────────────────────────── フロントページの続き (72)発明者 村山 秀樹 神奈川県海老名市下今泉810番地 株式会 社日立製作所サーバ開発本部内 (72)発明者 佐々木 大介 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 Fターム(参考) 5B045 GG01 JJ38 JJ44 JJ47 5B098 AA10 GA05 GB01 GD02 GD14

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサと、プログラムを実行
    するプロセッサを指定する動作プロセッサ指定手段と、
    稼働中のプロセッサを閉塞するプロセッサ縮退手段と、
    前記動作プロセッサ指定手段により指定されたプロセッ
    サが閉塞しているか否かを検知するプロセッサ検知手段
    とを有するマルチプロセッサシステムであって、 前記動作プロセッサ指定手段は、前記プロセッサ検知手
    段により、指定されたプロセッサが閉塞していることが
    検知された場合に代替となる閉塞していないプロセッサ
    を選択してプログラムを動作させるようにしたことを特
    徴とするマルチプロセッサシステム。
  2. 【請求項2】 請求項1に記載のマルチプロセッサシス
    テムにおいて、 前記動作プロセッサ指定手段の動作結果を格納する記憶
    領域を有し、該動作プロセッサ指定手段は、システム初
    期化時に接続していたプロセッサの中で閉塞しているプ
    ロセッサが指定された場合は、代替となる閉塞していな
    いプロセッサでプログラムを動作させて前記記憶領域に
    第一の結果を格納し、システム初期化時に接続していて
    いなかったプロセッサが指定された場合には該記憶領域
    に第二の結果を格納することを特徴とするマルチプロセ
    ッサシステム。
  3. 【請求項3】 請求項1または2記載のマルチプログラ
    ムシステムにおいて、閉塞したプロセッサを閉塞してい
    ないプロセッサに対応づけるプロセッサ変換表と、前記
    プロセッサ縮退手段がプロセッサを閉塞する際に、該プ
    ロセッサ変換表を書き換える手段をさらに有し、前記動
    作プロセッサ指定手段は、指定されたプロセッサが閉塞
    している場合には、該プロセッサ変換表を参照して閉塞
    していないプロセッサを選択してプログラムを動作させ
    るものであることを特徴とするマルチプロセッサシステ
    ム。
JP10294784A 1998-10-16 1998-10-16 マルチプロセッサシステム Pending JP2000122986A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10294784A JP2000122986A (ja) 1998-10-16 1998-10-16 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10294784A JP2000122986A (ja) 1998-10-16 1998-10-16 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JP2000122986A true JP2000122986A (ja) 2000-04-28

Family

ID=17812247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10294784A Pending JP2000122986A (ja) 1998-10-16 1998-10-16 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP2000122986A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217665A (ja) * 2007-03-07 2008-09-18 Nec Corp マルチプロセッサシステム、タスクスケジューリング方法およびタスクスケジューリングプログラム
EP2466467A1 (en) 2010-12-16 2012-06-20 Hitachi Ltd. Information Processing System

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217665A (ja) * 2007-03-07 2008-09-18 Nec Corp マルチプロセッサシステム、タスクスケジューリング方法およびタスクスケジューリングプログラム
EP2466467A1 (en) 2010-12-16 2012-06-20 Hitachi Ltd. Information Processing System
JP2012128697A (ja) * 2010-12-16 2012-07-05 Hitachi Ltd 情報処理装置
EP2535817A1 (en) 2010-12-16 2012-12-19 Hitachi, Ltd. Information processing system

Similar Documents

Publication Publication Date Title
US7603540B2 (en) Using field programmable gate array (FPGA) technology with a microprocessor for reconfigurable, instruction level hardware acceleration
US6049867A (en) Method and system for multi-thread switching only when a cache miss occurs at a second or higher level
US6961935B2 (en) Multi-processor system executing a plurality of threads simultaneously and an execution method therefor
JP2008529115A (ja) マルチ・プロセッサ環境において共有されるリソースへのアクセスを管理する方法
US5412784A (en) Apparatus for parallelizing serial instruction sequences and creating entry points into parallelized instruction sequences at places other than beginning of particular parallelized instruction sequence
US20100017581A1 (en) Low overhead atomic memory operations
US11544064B2 (en) Processor for executing a loop acceleration instruction to start and end a loop
JP3797570B2 (ja) セマフォ命令用のセマフォ・バッファを用いた装置と方法
US5615167A (en) Method for increasing system bandwidth through an on-chip address lock register
JPH07311740A (ja) コンピュータ
US20070143738A1 (en) Method for efficient utilization of processors in a virtual shared environment
US20150160967A1 (en) Context preservation during thread level speculative execution
JP2000122986A (ja) マルチプロセッサシステム
US9858172B2 (en) Apparatus and method for controlling debugging of program instructions including a transaction
US6775740B1 (en) Processor having a selector circuit for selecting an output signal from a hit/miss judgement circuit and data from a register file
KR100498486B1 (ko) 쓰레드 바이너리 컴파일러에 의하여 프로그램에서 여러개의 쓰레드를 다이내믹하게 추출하는 컴퓨터 시스템 및그 동시 다중 쓰레딩 방법
JPH07152551A (ja) コンピュータシステムおよびプログラム実行方法
JP3585510B2 (ja) プログラム実行管理装置及びプログラム実行管理方法
JP2000020352A (ja) スタックオーバーフロー検出方法及びスタックアンダーフロー検出方法
KR20220057482A (ko) 데이터 구조 포기
CN108701031B (zh) 寄存器访问控制
US20020129229A1 (en) Microinstruction sequencer stack
JP3022398B2 (ja) 仮想計算機方式
JPH03103924A (ja) データ処理装置
JP4370227B2 (ja) プロセッサ