[go: up one dir, main page]

JPH02238556A - プロセススケジューリング方式およびマルチプロセッサシステム - Google Patents

プロセススケジューリング方式およびマルチプロセッサシステム

Info

Publication number
JPH02238556A
JPH02238556A JP1060092A JP6009289A JPH02238556A JP H02238556 A JPH02238556 A JP H02238556A JP 1060092 A JP1060092 A JP 1060092A JP 6009289 A JP6009289 A JP 6009289A JP H02238556 A JPH02238556 A JP H02238556A
Authority
JP
Japan
Prior art keywords
processor
processors
allocation information
multiprocessor system
executed
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.)
Granted
Application number
JP1060092A
Other languages
English (en)
Other versions
JP3019317B2 (ja
Inventor
Tomoaki Nakamura
智明 中村
Tadashi Kamiwaki
正 上脇
Shinichiro Yamaguchi
伸一朗 山口
Hirokazu Kasashima
広和 笠嶋
Shigenori Kaneko
茂則 金子
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 JP1060092A priority Critical patent/JP3019317B2/ja
Priority to DE4007998A priority patent/DE4007998A1/de
Publication of JPH02238556A publication Critical patent/JPH02238556A/ja
Application granted granted Critical
Publication of JP3019317B2 publication Critical patent/JP3019317B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明は、複数のプロセッサからなるマルチプロセッサ
システムにおいて複数のプロセスを並行に動作させるマ
ルチプロセッサ用オペレーティングシステムに係り、特
に、高速、高信頼性システムを構築する場合、あるいは
シングルプロセッサ用に作成されたプログラムをマルチ
プロセッサシステムで何ら変更なく動作させる場合、な
らびに特定プロセッサでのみ実行可能な命令を含むプロ
セスが存在する場合に好適なプロセススケジューリング
方式に関する。
[従来の技術] 複数のプロセッサを使用することにより、複数のプロセ
スを並行に実行してシステムの性能向上を図るシステム
は、マルチプロセッサシステムとして周知である。この
ようなマルチプロセッサシステムは、特開昭56−12
7261号公報に開示されているように、複数のプロセ
ッサがバスを介して相互に、かつ共用メモリに接続され
て構成される。
また、マルチプロセッサシステムを有効かつ効率的に運
用するためには、マルチプロセッサ用オペレーティング
システムが重要な役割りを担う。
マルチプロセソサ用オペレーティングシステムにおいて
は、シングルプロセッサシステムとは異なり、複数のプ
ロセスを異なるプロセッサ上で同時に実行できるように
する必要がある。このために、プロセスをどのプロセッ
サに割当てるかを決定する方策を有することが必要であ
る。この方策として、最も一般的に行われているのは,
プロセッサの利用効率を最大にするために、負荷の最も
少ないプロセッサに割り当てるものである。この方策は
一般的に、実現が容易であるため、広く採用されている
。なぜなら、個々のプロセッサ上で動作するオペレーテ
ィングシステムのプロセススケジューラが、シングルプ
ロセッサシステムの場合と同様に、次に実行すべきプロ
セスをプロセスの優先順位にしたがって選択すればよい
からである。負荷の重いプロセッサでは、プロセスの実
行時間が長く、プロセススケジューラが起動される頻度
は低い。逆に、負荷の軽いプロセッサでは処理すべきプ
ロセスを持たないアイドル状態になるタイミングが多く
、したがって、アイドル状態に移行すべきか否かを判定
するプロセススケジューラの起動タイミングも多い。こ
のため、負荷の軽いプロセッサには、より多くのプロセ
ススケジューリングの機会が与えられ、プロセッサ間で
の負荷は自動的に均等になるように推移することになる
このようなプロセスのプロセッサへの割当て方策は、各
プロセッサの機能が同じ均質なマルチプロセッサシステ
ムにおいては、合理性のある手法である。これに対して
、機能が異なるプロセッサが混在するマルチプロセッサ
システムにおけるプロセスの割当て方策としては、特開
昭62−123552号および同62−123553号
が提案されている。これらの先行技術において「タスク
」と呼ばれているものは本明細書にいう「プロセス」に
相当し、意味するところは同一である。これら先行技術
では、例えば、浮動小数点アクセラレータを有さないプ
ロセッサ上で、浮動小数点アクセラレータ固肴の命令を
使用しているプロセスを実行しようとした場合に、オペ
レーティングシステムが例外を検出し、代替プロセッサ
の管理テーブルを参照して浮動小数点アクセラレータを
有するプロセッサに実行を切り換えるというものであり
、不均質なマルチプロセッサシステムにおけるプロセス
の割当て方式の一案を示すものである。
この方式の利点は、不均質なマルチプロセッサであるこ
とをプログラマが意識しなくてよい点にある。
[発明が解決しようとする課題コ ところで、化学プラント、交通,電力制御等のリアルタ
イムシステムにおいては,要求される信頼性に応じて故
障に対するきめ細かな回復処理が予めシステムに組み込
まれている。なかでも、プロセッサの故障はシステムに
重大な影響を与えるために厳しく管理される。このよう
なシステムにおいて信頼性を確保するための基本的な考
え方は、故障の影響範囲を局所化することである。上記
従来のマルチプロセッサシステムでは、必ずしもこの点
に関して十分な配慮がなされていなかった。
また、シングルプロセッサ用に開発された既存のソフト
ウェアは、マルチプロセッサシステム上においても何ら
変更を加えずに実行させ得ることが望ましい。マルチプ
ログラミング環境では、周知のように、複数のプロセス
間で共用データへのアクセスの競合が発生しうる。この
問題を解決するため、通常、共用データにアクセスする
際にセマフォアメカニズムなどにより排他制御を行う必
要があるが、セマフォアメカニズムの処理オーバヘッド
が問題となり、プロセスのプライオリティを同一にした
り、セマフォアメカニズムよりも処理時間の短いプロセ
ッサの割込みマスクを上げて割込み禁止にする等の手段
を講じる場合が多い。
これらの手段は、プロセッサが1台上でミクロにみれば
プロセッサ上の処理は必ず逐次的に行われるという事実
を利用している。現実には、共用データに対する排他制
御を性能上の理由により行っていないソフトウェアも多
い。したがって、既存のソフトウェアをそのままマルチ
プロセッサシステムで実行させた場合、必ずしも正常な
動作は保証されないという問題があった。
システム構築上の問題としては、マルチプロセッサの立
ち上げを行う場合には、共用メモリの初期化、オペレー
ティングシステムプログラムのローディングなど、シス
テムで1つしかない資源に関する処理を行う必要がある
。この処理を複数のプロセッサで行うのはいたずらに処
理を複雑にするだけであるので、予め1台のプロセッサ
で行い、その後、他のプロセッサに起動をかけ、プロセ
ッサ固有の資源の初期化を行うという手順を踏む必要が
ある。また、システムの停止時も同様であり、個々のプ
ロセッサの停止処理は、そのプロセッサでのみアクセス
可能なレジスタなどのハードウエア資源にアクセスしな
ければならない場合がある。
また、マルチプロセッサシステムでは、プロセッサ性能
を最大限に発揮させるために、プロセッサごとにキャッ
シュメモリを持つのが通例であるが、プロセスの実行途
中に動作プロセッサが変わる(これをプロセスマイグレ
ーションと呼ぶ)と、直前に使用していたキャッシュメ
モリが参照できなくなるため、新たに動作するプロセッ
サ上でキャッシュメモリのミスヒントが発生する。更に
は、直前に動作していたプロセッサ上のキャッシュメモ
リの無効化処理も必要になり、シングルプロセッサ」二
で実行する場合に比バて、当該プロセスにとってはマル
チプロセッサ処理は却って性能低下の要因になる。
上記特開昭62−123552号および同62−123
553号に開示されたマルチプロセソサシステムは、例
外の発生を利用して不均質なマルチプロセッサシステム
に対処しているが、均質なマルチプロセッサシステムに
おける前述したような問題は解決できない。
他方、特開昭62−251867号には、主記憶装置の
プロクラム自体に対して、その命令コート単位にプロセ
ッサ識別コードを付しておき、命令コートを読みだす毎
にその命令を実行すべきプロセッサをそのプロセッサ識
別コートに従って決定するマ一20一 ルチプロセッサシステムが開示されている゛。このマル
チプロセッサシステムでは、プログラムの命令単位にプ
ロセッサ識別コートを付加するためにプログラムを加工
する必要があり、既存のソフトウェアをそのまま利用す
ることができない。また、主記憶装置のワード幅、命令
デコーダ等、ハードウエアの変更が必要となるという問
題がある。さらに、プロセッサ識別コードを動的に変更
することができず、プロセッサの数の変更等への対処も
困難である。
本発明の目的は、不均質なマルチプロセッサシステムに
おいてのみならず、均質なマルチプロセッサシステムに
おいても、特定のプロセスを例外発生によらず予め定め
たプロセッサ上で実行させることができるプロセススケ
ジューリング方式、マルチプロセッサシステムおよびそ
の使用方法を提供することにある。
本発明の他の目的は、既存の単一プロセッサシステム用
のソフトウェアを、何ら変更せずそのまま利用できるプ
ロセススケジューリング方式、マルチプロセッサシステ
ムおよびその使用方法を提供することにある。
本発明のさらに他の目的は、プロセスマイグレーション
を防止しつつ、複数のプロセッサを効率的に使用するこ
とを可能にするプロセススヶジューリング方式,プロセ
ススヶジューラおよびマルチプロセッサシステムを提供
することにある。
[課題を解決するための手段] 上記目的を達成するために、本発明によるプロセススケ
ジューリング方式は、複数のプロセッサと、プログラム
およびデータを格納し上記複数のプロセッサにより共有
される共用メモリとを具備し、上記複数のプロセッサ、
プログラムおよびデータは、単一のオペレーティングシ
ステムによって制御されるマルチプロセッサシステムに
おいて、プロセスを管理するプロセス管理テーブルに従
い、上記オペレーティングシステムのプロセススケジュ
ーラがプロセスにいずれかのプロセッサを割当てるプロ
セススケジューリング方式であって、上記プロセス管理
テーブルに、各プロセスが動作可能なプロセッサを指示
するプロセッサ割当て情報を記述し、上記プロセススケ
ジューラは、次に実行すべく選択したプロセスについて
、上記プロセス管理テーブルを参照して、当該プロセス
のプロセッサ割当て情報により指定されたプロセッサ上
で当該プロセスを動作させるようにしたものである。
本発明によるプロセススケジューリング方式は、他の見
地によれば、複数のプロセッサにより主記憶装置を共有
するマルチプロセッサシステムにおいて各プロセスにプ
ロセッサに割当てるプロセススケジューリング方式であ
って、各プロセスごとに当該プロセスが動作可能なプロ
セッサを指定するプロセッサ割当て情報を上記記憶装置
内に記憶させておき、実行待ちのプロセスをプロセッサ
へ割当てる際に、当該プロセスの上記プロセッサ割当て
情報を参照し、該プロセッサ割当て情報に応じて、当該
プロセスへの上記プロセッサの割当ての可否を決定する
ようにしたものである。
上記各プロセスごとに当該プロセスが動作可能一23 なプロセッサを指定するプロセッサ割当て偕報に代えて
、上記各プロセッサごとに当該プロセッサが実行可能な
プロセスを指定するプロセス割当て情報を用いてもよい
本発明のプロセススケジューリング方式は、さらに他の
見地によれば、各プロセスと当該プロセスが動作可能な
プロセッサとを予め対応づけておき、空きのプロセッサ
を実行待ちのプロセスに割当てる際に、上記予め定めた
対応関係に基づいて、当該プロセスへの上記プロセッサ
の割当ての可否を決定するようにしたものである。
上記プロセッサ割当て情報の一つとしていずれのプロセ
ッサでも動作可能であることを示す汎用コード、あるい
は、特定のプロセッサ以外のプロセッサで動作可能であ
ることを示すコードを含むようにしてもよい。
本発明の他のプロセススケジューリング方式として、上
記プロセッサ割当て情報として上記汎用コードが設定さ
れたプロセスについて、当該プロセスを実行するプロセ
ッサが決定されたあと当該プロセスの実行が開始される
前に、当該プロセスのプロセッサ割当て情報を当該プロ
セッサを指定するコードに変更し,当該プロセスの実行
終了後に上記プロセス割当て情報を上記汎用コードに戻
すようにすることもできる。この動作方式について、上
記プロセス管理テーブルに、各プロセスごとに制御モー
ドを記憶する領域を設け,該制御モードの一つとして、
この方式を指定するコードを規定するようにしてもよい
さらに、上記制御モードの一つとして,上記プロセッサ
割当て情報を常時固定することを示すコードを規定し、
当該コードが指定されたプロセスについては、プロセス
実行前後を通じて上記プロセッサ割当て情報を変更しな
いようにしてもよい。
本発明によるプロセススケジューリング方式は,別の見
地によれば、番号付けされた複数のプロセッサと、該複
数のプロセッサが共有する共用メモリとを有するマルチ
プロセッサシステムにおけるプロセススケジューリング
方式であって、プロセッサで動作するプロセスを管理す
るプロセス管理テーブルを上記共用メモリ内に設け、該
プロセス管理テーブルに、各プロセスごとに動作可能な
プロセッサの番号を指示するプロセッサ割当て情報を記
憶させ、プロセススケジューラは、次に実行すべく選択
したプロセスについて、上記プロセス管理テーブルを参
照して、当該プロセスのプロセッサ割当て情報により指
定された番号に対応するプロセッサ上で当該プロセスを
動作させるようにしたものである。
上記プロセッサへの番号付けにおいては、複数のプロセ
ッサに同一の番号を重複して付加することを許容するよ
うにしてもよい。
また、上記プロセッサの番号の一つとして汎用コードを
規定し、各プロセスの実行は、当該プロセスのプロセッ
サ割当て情報で指定された番号のプロセッサ上または上
記汎用コードの番号が付与されたプロセッサ上で行わせ
ることもできる。
本発明によるさらに他のプロセススケジューリング方式
は、各プロセスごとに、上記プロセッサ割当て情報によ
り指定されたプロセッサ以外のプロセッサでの実行を拒
絶する程度を,当該プロセスと当該プロセッサとの親和
度を示す数値として定めておき、当該プロセスの実行待
ち状態に関する数値と比較して、該比較結果に応じて、
当該プロセスを上記指定されたプロセッサ以外のプロセ
ッサ上で動作させるものである。このプロセスの実行待
ち状態に関する数値としては、例えば、上記プロセッサ
への割当てを拒絶した回数または当該プロセスの実行待
ちデータ量を選ぶことができる。
上記プロセスからプロセッサを指定する場合のプロセッ
サ割当て情報を論理プロセッサ識別子とし、該論理プロ
セッサ識別子と、実際のプロセノサに対応する物理プロ
セッサ識別子とを対応づけるテーブルを上記共用メモリ
内に設け、論理プロセッサ識別子は物理プロセッサ識別
子に変換してスケジューリングを行うようにしてもよい
プロセスの優先度を利用した本発明のプロセススケジュ
ーリング方式は、上記複数のプロセッサの各々について
、予め、当該プロセッサが実行可能なプロセスの優先度
の範囲を定めておき、各プロセッサが次に実行すべきプ
ロセスとして、当該プロセッサについて定められた上記
優先度の範囲内にある優先度を有する実行待ちプロセス
の中から最も高い優先度を有するものを選択するように
したものである。
プロセスの優先度を利用した本発明の他のプロセススケ
ジューリング方式は、各プロセスごとに、上記複数のプ
ロセッサの各々に対する優先度を定めておき、各プロセ
ッサが次に実行すべきプロセスとして、実行待ちプロセ
スの中から、当該プロセッサについて定められた各プロ
セスの優先度の最も優先度の高いものを選択するように
したものである。
本発明によるマルチプロセッサシステムは、少なくとも
2個のプロセッサを有し、該プロセッサのいずれにおい
ても特定のプロセスを実行可能なマルチプロセッサシス
テムにおいて、上記特定のプロセスを実行させるプロセ
ッサを上記少なくとも2個のプロセッサのうちのいずれ
か1個に固定一28一 することにより、単一プロセッサシステム用のソフI・
ウエアを修正することなく利用可能としたものである。
本発明によるマルチプロセッサシステムは、他の見地に
よれば、少なくとも2個のプロセッサを有し、該プロセ
ッサのいずれにおいても特定のプロセスを実行可能なマ
ルチプロセッサシステムにおいて、当該特定のプロセス
の少なくとも実行開始から終了までの間、上記特定のプ
ロセスを実行させるプロセッサを、上記少なくとも2個
のプロセッサのうちのいずれか1個に固定することによ
り、上記特定のプロセスの実行途中の実行プロセッサの
変更を防止するようにしたものである。
本発明によるマルチプロセッサシステムは、さらに他の
見地によれば、少なくとも2個のプロセッサを有し、特
定のプロセッサでは、種々のプロセスを実行可能なマル
チプロセッサシステムにおいて、上記特定のプロセッサ
で動作させるプロセスの数を限定することにより、当該
プロセッサでの応答時間を一定値以内に短縮するように
しだものである。
本発明によるマルチプロセッサシステムは、別の見地に
よれば、少なくとも2個のプロセッサを有し、特定のプ
ロセッサでは、種々のプロセスを実行可能なマルチプロ
セッサシステムにおいて、上記特定のプロセッサで動作
させるプロセスの種類を限定することにより、プロセッ
サの故障の影響範囲を局所化するようにしたものである
本発明によるマルチプロセッサシステムは、さらに別の
見地によれば、複数のプロセッサと、プログラムおよび
データを格納し上記複数のプロセッサにより共有される
共用メモリとを具備し、上記複数のプロセッサ、プログ
ラムおよびデータは、単一のオペレーティングシステム
によって制御されるマルチプロセッサシステムにおいて
、上記共用メモリ内に、プロセスごとに当該プロセスの
状態を保持するプロセス管理テーブルを設け、該プロセ
ス管理テーブルに、各プロセスが動作可能なプロセッサ
を指定するプロセッサ割当て情報を記憶する記憶領域を
設けたものである。
本発明による今一つのマルチプロセッサシステムは、い
ずれにおいても特定のプロセスを実行可能な少なくとも
2個のプロセッサと、プログラムおよびデータを格納し
上記少なくとも2個のプロセッサにより共有される共用
メモリとを具備し、上記プロセッサ、プログラムおよび
データは、m一のオペレーティングシステムによって制
御されるマルチプロセッサシステムにおいて、上記共用
メモリ内に、上記少なくとも2個のプロセッサのうちの
特定のプロセッサでのみ上記特定のプロセスを実行可能
とするプロセッサ割当て情報を格納する記憶領域を設け
たものである。
プロセッサ割当て情報を格納する記憶領域を有するシス
テムにおいて、各プロセスのプロセッサ割当て情報の動
的変更を制御する制御モードを格納する記憶領域をさら
に設けてもよい。この制御モードは、例えば、任意のプ
ロセッサで動作可能とする第1のモードと、プロセスの
実行開始から実行終了まで特定のプロセッサのみで動作
可能とする第2の制御モードとを含み、第1の制御モー
ドでは、プロセッサ割当て情報として任意のプロセッサ
を指定する汎用コードが設定され、第2の制御モードで
は、プロセスを特定のプロセッサで実行開始する前に、
当該プロセスのプロセッサ割当て情報として上記特定の
プロセッサが指定され、プロセスの実行終了後に上記プ
ロセッサ割当て情報が上記汎用コードに戻される。両制
御モートに加えて、プロセスの生成後、特定のプロセッ
サを指定するプロセッサ割当て情報を変更しない第3の
制御モードをさらに設けてもよい。
本発明によるマルチプロセッサの使用方法は、上記プロ
セッサ割当て情報を指定するシステムの使用方法であっ
て、上記共用メモリに対する排他制御が必要なプロセス
群に対して、上記プロセッサ割当て情報を同一に設定す
ることにより、上記プロセス群を単一のプロセッサ上で
動作させるものである。同じく、重要性の高いプロセス
群と、重要性の低いプロセス群とに別個のプロセッサ割
当て情報を設定し、両プロセス群を別個のプロセッサ」
二で実行させることもできる。
本発明によるマルチプロセッサの他の使用方法は、制御
モードを使用したシステムの使用方法であって、上記第
2の制御モードを設定することにより、一つのプロセス
の実行途中に実行プロセッサが変わることを防止するも
のである。同じく、上記共用メモリに対する排他制御が
必要なプロセス群に対して、上記第3の制御モートを設
定することにより、上記プロセス群を単一のプロセッサ
」二で動作させるようにすることもできる。さらに、プ
ロセスを重要性の高いプロセス群と重要性の低いプロセ
ス群とに分類し、両プロセス群に対して上記第3の制御
モードを設定すると共に、上記両プロセスに異なるプロ
セッサ割当て情報を設定し、上記両プロセス群を別個の
プロセッサ上で実行させるようにすることもできる。
[作用] 本発明のプロセススケジューリング方式は、複数のプロ
セソサからなるマルチプロセッサシステムにおいて、複
数のプロセッサのいずれでも実行可能なプロセスについ
て、敢えてそのプロセスを実行させるプロセッサを特定
のプロセッサ比限定しようとするものである。
これによって、排他制御を必要とするプロセス群を同一
のプロセッサで動作させることが可能になり、共用メモ
リに対する排他制御を考慮していない従来の単一プロセ
ッサ用の既存のプロセッサを修正することなく使用して
も正常な動作を保証することができる。このことは、他
のプロセッサの不使用を意味するものではなく,前記プ
ロセス群以外のプロセスについては,このような制約を
設けずに、任意の(あるいは特定のプロセッサ以外の)
プロセッサで実行可能としてマルチプロセッサの機能を
有効に利用することができる。
また、プログラムの信頼性のランクに従って、実行する
プロセッサを限定することにより、信頼性のさほど要求
されないプログラム開発などのオフライン処理を実行し
ているプロセッサが故障してもシステムダウンに至らな
いようにする(すなわち、故障を局所化する)ことがで
きる。
更には、正規の排他制御を行っていないプログラム群を
含むソフトウェアを、マルチプロセッサシステムで動作
させようとした場合に、当該プログラム群だけを特定の
プロセッサでのみ実行させることにより、プログラムの
修正を行うことなく、正常な動作を保証することができ
る。
上記特定のプロセッサの指定の仕方として、常時固定的
に指定する方式の他、一つのプロセスの実行開始から終
了までの間は、特定の1プロセッサに割り付け、中断・
再開時も動作プロセッサが変更されないようにする方式
も有用である。すなわち、プロセッサを一時的に固定す
るこの方式によれば,一旦実行開始されたプロセスは、
その実行途中に動作プロセッサが変更されることがない
ので、キャッシュメモリを使用しているシステムにおい
て、キャッシュヒット率の低減を防止することができる
。一方、この方式は、実行プロセッサを永久に固定する
ものではないので、複数プロセッサの効率的使用を著し
く阻害するものでもない。
プロセス単位に特定のプロセッサを常時固定し、一35 あるいは一時的に固定(動的に指定)する手法としては
、上記制御モードの導入、プロセッサ毎に実行可能なプ
ロセスの優先度の範囲の制限、プロセッサ毎に各プロセ
スの優先度設定、プロセスとプロセッサの親和度の概念
の導入等、用途に応じて種々のものが利用できる。
(以下、余白) [実施例コ 本発明によるシステム構成を第1図(a)に示す。
プロセッサPi,P2,P3の3台のプロセッサが、接
続バス4により相互に、ならびに共用メモリ5に接続さ
れている。各プロセッサは、プロセッサ番号11−1〜
11−3をそれぞれ持っている。本実施例では、プロセ
ッサPI,P2,P3はそれぞれプロセッサ番号Zl 
l II ,  II 2 II ,  II 3 I
Iを有している。このプロセッサ番号の設定は、本実施
例ではハードウェアスイッチにより行っているが、他の
方法として、ハードのROMにあらがしめ記憶しておく
、立ち上げ時にプログラムにより設定する等の方法も考
えられる。
各プロセスはプロセッサ上で実行される。共用メモリ5
には、オペレーティングシステムのプログラム31、こ
のプログラム31の一部であるプロセススケジューラ3
11.このオペレーティングシステムのプログラム31
が管理するテーブルの一部であるプロセス管理テーブル
32(32−1〜32−3)が存在する。このプロセス
管理テーブル32には、プロセスの優先度(図示せず)
等め他、本発明特有のプロセッサ識別子3 2 1 (
321−1〜321−3)、プロセッサ識別子の動的変
更あるいは固定期間を制御するプロセッサ制御モート3
22(322−1〜322−3)が置かれる。
なお、本実施例では、既存のプロセス管理テーブル32
を利用したが、プロセッサごとにそのプロセッサが実行
可能なプロセッサを指定するプロセス識別子を格納する
ための別個のテーブルを設けてもよい。
第1図(.)には、プロセス1がプロセッサP3で、プ
ロセス2がプロセッサP1で、プロセス3がプロセッサ
P2で実行されている場合を示している。なお、同図で
は各プロセッサのブロック内にプロセスを図示している
が、これはプロセスが特定のプロセッサで実行されてい
る状態を示したものであり、実際のプロセスの所在を示
すものではない。この例では、プロセス2のプロセッサ
識別子321−2が“1″なので、このプロセス2は、
プロセッサP1で実行されている。プロセス1のプロセ
ッサ識別子321−1はII  2 IIなので、プロ
セッサP2以外で実行可である。空きのプロセッサは、
プロセッサP2とプロセッサP3なので、プロセス2は
、プロセッサP3で実行されている。
プロセス3のプロセッサ識別子321−3はtt O 
nであるので、どのプロセッサにおいても実行可である
。このため、空きとして残っているプロセッサP2で実
行されている。この例では、プロセッサ識別子321と
して単一のコードのみを記述するようにしているが、複
数のコードを同時に記述することも可能である。この場
合には、マイナスの数値は必ずしも必要でない。
プロセス1〜3と各プロセスのプロセス管理テーブル3
2−1〜32−3とは、それぞれ対応しており、プロセ
スが生成されたときに対応するプロセス管理テーブルも
生成される。プロセスの生成は、システム立ち上げ時に
、すべてのプロセスの元になるプロセスがオペレーティ
ングシステムのプログラム31により生成される。この
元になるプロセスから前記プロセス1〜3が生成される
。この流39一 れを、第1図(b)を使って説明する。
第1図(b)において、前記すべてのプロセスの元にな
るプロセスをプロセスO(第1図(a)では図示せず)
で示してある。立ち上げ時、オペレーティングシステム
のプログラム31は、ユーザがあらかじめ定義したシス
テム構成情報に基づき、プロセス0を生成するときに、
プロセスOのプロセッサ識別子321−0に特定のプロ
セッサ番号を設定する。これは立ち上げ時は、特定のプ
ロセッサですべてのデータを初期化する必要があるため
であり、プロセスOは、データ初期化終了後、オペレー
ティングシステムがサポートしている、自プロセッサ識
別子を書き替えるシステムコールにて,どのプロセッサ
でも実行できるように、自プロセッサ識別子321−0
を/IQ″′に書き替える。その後、プロセス1〜3を
生成するが、この生成もオペレーティングシステムがサ
ポートするシステムコールを使用し、このシステムコー
ルのパラメータとして、プロセッサ識別子を指定する。
このプロセス生成のシステムコールには、2つの種類が
あり、明示的にプロセッサ識別子を指定するものと、自
動的に、元のプロセスのプロセッサ識別子を受け継ぐも
のとがある。
第1図(b)では、初期はプロセス0がプロセッサP1
で実行されていて、そこでまずプロセス1を、プロセッ
サ識別子として11  2 I+を指定して生成した。
この結果,プロセス1は、プロセッサP1またはプロセ
ッサP3で実行可であるが、既にプロセッサP1が使用
されているので、プロセッサP3で実行された。次に、
プロセス2が生成されたが、これはプロセッサ識別子N
 I I+で生成されたので、プロセスOは、プロセッ
サP2へ移動し、プロセッサP1では、プロセス2の実
行を開始した。次に、プロセス3が自動的に元のプロセ
スのプロセッサ識別子を引き継ぐシステムコールにより
生成されたため、プロセス3のプロセッサ識別子321
−3はII O IIとなった。第1図(b)はプロセ
スOが共用メモリ5上で一旦待ちとなり、プロセッサP
2を開け渡し、その後、プロセス3を実行開始した状態
が示してある。原則として、以上のように5プロセスが
生成され、プロセッサ識別子も設定される。
第2図に、プロセススケジューラ311の処理を示す。
プロセススケジューラは、OSの一部であって、どのプ
ロセッサでも実行可能なプログラムであり、プロセスの
実行を終了または中断して空きとなったプロセッサに割
り当てられる。プロセッサに割り当てられたとき、プロ
セススケジューラはまず、プロセスの優先度に従って次
に実行すべきプロセスを選択する(311−1)。従来
のプロセススケジューラではここで選択されたプロセス
を、現在スケジューラが動作中のプロセッサに割当てて
(31.1−3) .処理を終了する。本発明によるプ
ロセススケジューラでは、選択したプロセスのプロセス
管理テーブル32のプロセッサ識別子321の値を判定
する(311−2)。この値がII O I+の場合は
任意のプロセッサで実行可能であるという意味であるの
でそのまま処理311−3を行い終了する。
プロセッサ識別子321の値が正の場合は、プロセッサ
識別子の値に一致するプロセッサ番号を有するプロセッ
サでのみ実行可であるという意味なので、現在スケジュ
ーラが動作中のプロセッサ番号11を参照し、これが該
プロセッサ識別子321に等しいか否かを判定する(3
11−4)。このとき、複数のプロセッサ識別子があれ
ば、各プロセッサ識別子と等しいか否かを判定し、いず
れかと等しいときに「等しい」とする。等しい場合は処
理311−3に進み、等しくない場合は、現在スケジュ
ーラが動作中のプロセッサでは実行できないプロセスで
あるので、次に優先順位の高いプロセスを選択するため
、処理311−1に戻る。一方、処理312−2でプロ
セッサ識別子321の値が負の場合はプロセッサ識別子
の値の符号を変えた値に一致するプロセッサ番号を有す
るプロセッサ以外でのみ実行可であるという意味である
ので、現在スケジューラが動作中のプロセッサ番号11
を参照し、これがそのプロセッサ識別子321に等しい
か否かを判定する(311−4)。このとき、複数のプ
ロセッサ識別子があれば、各プロセッサ識別子と等しい
か否かを判定し、すべてと等しいときに「等しい」とす
る。等しくない場合は処理311一3に進み、等しい場
合は、現在スケジューラが動作中のプロセッサでは実行
できないプロセスであるので、次に優先順位の高いプロ
セスを選択するため、処理3 1. 1 − ]に戻る
。このとき、1つのプロセッサに対して複数のプロセッ
サ番号が与えられていれば、次のプロセスを選択する前
に、各プロセッサ番号について上記処理を繰り返して行
う。
プロセッサ識別子321を設定する方法には、整理する
と以下の3つの方法がある。
第1の方法は、プロセスを生成する元のプロセス(以下
、親プロセスと言う)が、オペレーティングシステムに
システムコールを通じてプロセッサ識別子を設定する方
法である。この方法には、システムコールにより、明示
的にプロセッサ識別子を設定する場合と、暗黙に親プロ
セスのプロセッサ識別子を引き継ぐか、汎用コードであ
るLL O r+が設定される場合がある。暗黙のプロ
セッサ識別子の設定方法は、そのシステム毎に都合のよ
いも44一 のを選べばよい。
第2の方法は、生成されたプロセスが自分でオペレーテ
ィングシステムのシステムコールを通じてプロセッサ識
別子を設定する方法である。
以上は、第1図(b)にて説明した。
次に第3の方法は、プロセス生成時には、いずれのプロ
セッサでも実行可のコード(すなわち汎用コード)が入
っているが、いずれかのプロセッサで実行されるとき、
プロセッサ識別子が、そのプロセッサの番号に設定され
、そのプロセッサでだけ実行され,終了時には,どのプ
ロセッサでも実行可の汎用コードに戻し、次の実行処理
はどのプロセッサでも実行可とする方法である。
特に、この第3の方法を実現するために、前記プロセッ
サ制御モード3 2 2 (322−0. 322−1
, 322−2, 322−3)が、プロセス管理テー
ブル3 2 (32−0.32−1., 32−2. 
32−3)に用意されている。このプロセッサ制御モー
ドには、プロセッサの固定化をしないというモードと、
プロセス実行開始から終了まで一時的に固定するモード
がある。ここでは、プロセッサの固定化をしない場合を
110″″とし、プロセッサを一時的に固定する場合を
LL I I+とする。
さらに、一度生成されたなら、常時固定してしまう場合
をII 2 +1とする。この場合、プロセスが最初に
生成されたときだけプロセス管理テーブルを確保して、
プロセス終了時にこの管理テーブルを解放せず、2回目
以降の生成時は、前回使用した管理テーブルを使用する
ことにより、一度設定されたプロセッサ識別子を常に使
用させるものである。
前記第1の方法および第2の方法では、自動的にプロセ
ッサ制御モードはLL Q j+に設定される。第3の
方法では、プロセス生成時に、プロセッサ識別子の他に
プロセッサ制御モードを指定できる必要があり、このた
めのシステムコールがオペレーティングシステムに用意
されている。この方法を、以下図を用いて説明する。
第3図は、この方法のプロセス生成処理を示している。
オペレーティングシステムは、システムコールによって
、プロセッサ制御モードとプロセッサ識別子を渡される
が、図中でこれらはmode ,procidとして示
してある。システムコールが発行されると、まずオペレ
ーティングシステムは、生成するためのプロセス管理テ
ーブル32を確保する(12−2) 、その後、従前の
プロセス生成処理122を行い、最後に動作プロセッサ
の設定処理12−2を行う。
この動作プロセッサの設定処理12−3は、第4図のフ
ロー312に示したように、まず指定されたプロセッサ
制御モードmodeの値を調べ(312−0)、″2′
″でなければ第4図に示したように、該プロセス管理テ
ーブル32のプロセッサ制御モード322にmodeの
値を設定し(31.2−2)、プロセッサ識別子321
にprocidの値を設定する(312−3)。
ステップ312−0でプロセッサ制御モードの値が11
2”であれば、プロセス管理テーブル32の当該プロセ
スについてのプロセッサ制御モード322が既に112
”になっているか否かを調べ(312−1)、II 2
 TIになっていれば第4図の処理を終了し、″2”に
なっていなければ、上記ステ47一 ップ312−2, 312−3ヘ進み,所定のmode
{IIIよびprocid値を設定する。このようにし
て生成されたプロセスは、第2図に示したプロセススケ
ジューラによって選択され、プロセッサ識別子321に
基づきいずれかのプロセッサで実行される。この実行さ
れるときの処理を第5図に示す。
第5図のプロセス実行処理においては、破線枠で囲った
部分が本実施例により追加された部分である。まず実行
するプロセスのプロセス管理テーブル32のアドレスを
求め(313−1) 、このプロセス管理テーブルのプ
ロセッサ制御モード322の値を判定する(31.3 
− 2 )。この値がre O rrの場合は、プロセ
ッサの固定化を行わない場合であるのでプロセス管理テ
ーブルのプロセッサ識別子321に汎用コード″0”を
設定する(313−4)。
また、前記値がrr 1 uであるときは、プロセスの
実行開始から終了までの間で固定にするという場合であ
るので、該プロセス管理テーブルのプロセッサ識別子3
21にスケジューラにより決定されたプロセッサのプロ
セッサ番号11を設定する(313−3)。前記値が″
2”の場合には、プロセッサを常時固定する場合である
ので何もしない。
以上の処理の後にユーザプログラムの実行を行う(31
3−5)。
第6図は前記プロセッサ識別子の第3の設定方法の実施
に係わるプロセスの終了処理の例を示したものである。
本例では、まず終了するプロセスのプロセス管理テーブ
ル32のアドレスを求め(314−1) .該プロセス
管理テーブルのプロセッサ制御モード322の値を判定
する(314−2)。
この値が“1″であるときは、プロ.セスの実行開始か
ら終了までの間で固定にするという場合であるので、該
プロセス管理テーブルのプロセッサ識別子321に汎用
コード(値はII O r+ )を設定する(314−
2)。このプロセッサ制御モードが1101および″2
′″の場合は変更する必要がないため何もしない。以上
の処理の後に従前のプロセスの終了処理を行う(314
−3)。
前述のように、プロセッサを常時固定するモード、すな
わちプロセッサ制御モードLL 2 11がプロセス生
成時に設定されると、第5図のプロセスの実行処理に示
すように、その実行時には何ら変更を受けず、また、第
6図のプロセスの終了処理においても、ステップ314
−2の判定でLL I II以外なので、プロセッサ識
別子は,プロセス生成処理において設定された値がその
まま残される。プロセス管理テーブルも保存されるので
、設定済みのプロセッサ識別子およびプロセッサ制御モ
ードは、次のプロセス生成時まで保存される。次のプロ
セス生成時には、前回使用のプロセス管理テーブルを探
し、すでにプロセッサ制御モードが″2”になっていた
場合は、プロセッサ識別子を書き変えないことにより、
プロセッサ識別子を保存する。
以上により、プロセッサ制御モードが″2”のプロセス
は、ユーザの要求により制御モードが変更されない限り
、一度割当てられたプロセッサで永久に動き続けること
になる。
以上で述べた動作プロセッサの設定方法の効果は以下の
とおりである。第1の方法は前記課題で述べたリアルタ
イムシステムにおける信頼性の問題、既存のソフトウェ
アの利用性、システム立ち上げ等のシステム構築上の問
題を解決するものであり、第2の方法はリアルタイムシ
ステムにおける信頼性の問題およびシステム立ち上げ等
のシステム構築上の問題を解決するものである。また、
第3の方法は前記プロセスマイグレーションによる性能
低下を防止するものである。
ここで、第3の方法によってプロセスマイグレーション
を防止できる理由を簡単に説明する。いず九のプロセッ
サでも実行可のプロセスは,あるプロセッサで実行され
た後、入出力装置のアクセス等により待ちとなり、その
プロセッサを一度開け渡すと、次に中断状態を解除され
て実行を再開するとき、従来であれば前回実行していた
プロセッサに割当てられるとは限らない。このため、も
し異ったプロセッサに割当てられるとプロセスマイグレ
ーションが発生する。しかし、第3の方法では、プロセ
ス生成時に、第4図のステップ3123でユーザ指定の
プロセッサ識別子を設定されるが、第5図のステップ3
13−3に示した,プロセス実行開始時にプロセッサ識
別子321に設走されたプロセッサ番号11は、それ以
後、プロセスの実行が中断されても、変更されずに維持
されて、第6図のプロセスの終了まで変更されることは
ない。したがって、実行中断後の再開時のプロセススケ
ジューリング(第2図)では、プロセッサ識別子321
に設定された特定のプロセッサ番号が使用され、実行再
開時には必ずこのプロセッサ番号のプロセッサで実行さ
れる。このため、プロセスマイグレーションは発生しな
い。なお、プロセスの実行完了後には,第6図のステッ
プ314−2に示すように、プロセッサ識別子にII 
O I+が設定されるので、このプロセッサが次に実行
されるプロセッサは限定されない。
第7図に本発明の実施例の応用例を示す。本例では、複
数プロセッサが同一のプロセッサ番号を有することを許
したものである。スケジューラ311の処理は第2図に
示したものと同一である。
プロセス2および3のプロセッサ識別子321は共にI
I I I+であり、プロセッサP1およびP2は=5
2− 共にプロセッサ番号II I I+を有するため、プロ
セス2および3は、プロセッサP1あるいはP2で動作
することができる。本例により、プロセッサP1とP2
で自動負荷分散を行い、プロセッサP3には別のジョブ
を割り付けるといった柔軟性のあるプロセッサ割当てが
オペレーティングシステムの変更なしで容易に実現でき
るという効果が得られる。
また、第8図には本発明の実施例の別の応用例を示す。
本例では、第7図と同様に複数プロセッサが同一のプロ
セッサ番号を有することを許した例であるが、プロセス
1のプロセッサ識別子3211に負の値rr−1nを指
定することにより、プロセッサ番号LL I I+を有
するプロセッサP1およびP2では動作させないように
したものである。本実施例の具体的な用途としては、プ
ロセッサP1およびP2がオンライン制御用プロセッサ
であり、プロセス1は開発中のテストプログラムであり
、オンライン制御には一切影響を与えないために、プロ
セッサP1およびP2を避けて動作させたいような場合
がある。
本例により、第7図と同様に柔軟なプロセッサ割当てが
オペレーティングシステムの変更なしで容易に実現でき
る等の効果が生まれる。
なお、プロセッサ番号11にも汎用コード(例えばII
 O JJ )を設け、汎用コードを有するプロセッサ
はいずれのプロセスを実行可能としてもよい。
この場合には、各プロセスのプロセッサ識別子の内容に
かかわらず、当該プロセッサではいずれのプロセスをも
実行可能となる。
次に、本発明をプラント制御に適用したときのプロセス
の各プロセッサに対する割当て例を第9図と第10図を
使って説明する。第9図は、第1図のマルチプロセッサ
システムに、プラント制御機器PC,端末T1、端末T
2、オンラインファイルOFを接続したシステム構成図
であり、第10図は,このシステムで動作するプロセス
とプロセッサの割当て例を示してある。
ここでは、第10図に示したように次の5つのプロセス
について考える。端末T1を制御するための端末T1制
御プロセス91、、端末T2を制御するための端末T2
制御プロセス92,統計情報をオンラインファイルOF
ヘログするための統計情報ログプロセス93、プラント
制御機器PCを制御するためのプラント制御プロセス9
4、このシステムの異常発生を監視する異常監視プロセ
ス95がある。第10図のプロセッサPL,P2,P3
は、それぞれ第9図におけるPL,P2,P3に対応し
ており、″○”はそのプロセスがそのプロセッサでの動
作指定を受けていることを示し、KL ×++はそのプ
ロセスがプロセッサ以外での動作指定を受けていること
を示し、無印は、任意のプロセッサでの動作指定を受け
ていることを示す。
第9図のようなシステムでは、端末制御とプラント制御
が主要な処理であるため、端末T1制御プロセス9はプ
ロセッサP1に割当て,端末T2制御プロセス92はプ
ロセッサP2に、プラント制御プロセス94はプロセッ
サP3にそれぞれ割当てることにより、互いに処理を妨
げないように−55= する。統計情報ログプロセス93は各プロセッサの空き
時間で動作すればよいプロセスである。
方、プロセッサP3はプラント制御用に使用しているの
でこの処理が一定時間に終ることを保障するため、空き
時間が存在しても、その期間に他の処理を行わせること
は極力避けたいという要請がある。そこで、統計情報ロ
グプロセス93は、プロセッサP3以外のプロセッサで
動くよう指定する。なお、異常監視プロセス95は、各
プロセッサの監視を行いたいので、プロセッサP3でも
動くことを許し、すべてのプロセッサで動作可とする。
さらに、この異常監視プロセス95は、自身で次に動作
するプロセッサを指定し、順次各プロセッサを監視する
ようにする。
以上のように各プロセスを所定のプロセッサに割当てる
ことにより、第9図のプラント制御システムの処理を、
そのシステムに最適の態様で効率よく行うことが可能と
なる。
(以下、余白) 次に本発明の第2の実施例について詳細に説明する。
本実施例におけるマルチプロセッサシステムの構成例を
第11図に示す。本実施例では、各プロセッサが実行可
能なプロセスの優先度(プライオリティ)の下限と上限
を保持する手段210(210−1, 210−2, 
210−3)および2 1 1 (211−1,211
−2, 211−3)を各プロセッサに対応して設ける
このプライオリティ保持手段は、各プロセッサ内の特殊
レジスタで構成し、あるいは共有メモリ上の特定のアド
レスをこの目的に割り当てることにより構成することが
できる。一方、プロセス管理テーブル32には、プロセ
スごとにプロセスの実行の優先度を示すプライオリティ
(PR)212(212−1, 212−2, 212
−3)を保持する。本実施例ではこの数値の小さいもの
程、優先度が高いものとする。このプライオリティは、
動的に決定されたり、静的に定まったりするが、本実施
例はプライオリティ自体の決定方法には依存しない。本
実施例において、実行待ちのプロセスにプロセッサP1
〜P3を割り当てる処理はプロセススケジューラ215
が行う。第11図の他の部分は第2図と同一である。
第12図(.)は、スケジューラ215の詳細な処理フ
ローである。本スケジューラでは、まず当該スケジュー
ラが動作しているプロセッサが実行可能なプロセスのプ
ライオリテイを得るために、その下限(LPR)と上限
(H P R)とを当該プロセッサのプライオリテイ保
持手段210,211から読み出す(215−1)。次
に、実行待ちのプロセスの中からプライオリテイ212
が最も高い(数値が最小)ものを選択する(215−2
)。
選択したプロセスのプライオリテイが当該プロセッサに
実行可能なプライオリテイの範囲に納っていれば(21
5−3) .選択したプロセスに当該プロセスを割り付
ける(215−5)。さもなくば、次にプライオリテイ
の高いプロセスを選択してくる(215−4)。
このスケジューラの動作を例を挙げて説明する。
例えば第11図において、プロセッサP3でスケジュー
ラ215が動作しており、プロセス1〜4が実行待ち状
態にあった場合を考える。スケジューラ215は、まず
プロセッサP3で実行可能なプライオリティが“50″
から“1 0 0 ”の間であることを知る。そこで、
実行待ちプロセスの中でプライオリティが最も高い( 
” 2 5 ” )プロセス3を選択するが、これはプ
ロセッサP3が実行可能なプライオリテイの範囲外なの
で、次にプライオリティが高い( ″4 0 ” )プ
ロセス1を選択する。
最終的にはプロセス4(プライオリテイ値If 5 5
 II)が選択され、スケジューラ215はプロセッサ
P3をプロセス4に割り付ける。
本実施例によって、プライオリテイの低いプロセス2や
プロセス4にも必ず実行の機会が与えられることになり
、プライオリテイの高いプロセスが多く発生した時にプ
ライオリテイの低いプロセスが全く動作しないといった
障害を防ぐことが可能となる。また、各プロセッサの実
行可能なプロセスのプライオリテイの範囲の重複をなく
すことにより、プロセッサとプロセスとの関係を固定化
することができる。
第12図(b)はスケジューラ215の他の詳細なフロ
ーである。この例では、第12図(a)のステップ21
5−2〜215−4に代わってステップ2 1.5 −
 6〜21.5−8を採用し、順次HPRの値の小さい
(すなわち優先度の高い)方から対応する実行待ちプロ
セスがあるか否かを調べるようにしている。これから得
られる結果は第12図(.)のフローと同じである。
次に本発明の第3の実施例について詳細に説明する。本
実施例によるマルチプロセッサシステムの構成を第13
図に示す。本実施例では,プロセス管理テーブル32内
の各プロセスのプライオリティは全プロセッサに共通に
設定するのではなく、プロセッサ毎に、各プロセスの優
先度を設定できるようにしたものである。そのために、
プロセス管理テーブル32には、各プロセス毎に、当該
プロセスの各プロセッサP1〜P3に於ける実行の優先
度をそれぞれ示すプライオリテイ231,232,23
3を保持する。
本実施例においても、プライオリテイ自体の決定方法の
如何は問わない。本実施例において、実行待ちのプロセ
スにプロセッサP1〜P3を割り付ける処理はプロセス
スケジューラ234が行う。
第13図の他の部分は第1図と同一である。
第14図は、スケジューラ234の詳細な処理フローで
ある。本スケジューラ234では、まず自身が動作して
いるプロセッサのプロセッサ番号を得る。(234−1
)。次に、各プロセス管理テーブル32内の当該プロセ
ッサ番号に対応する位置のプライオリティが最も高いプ
ロセスを選択する(234−2)。そして、そのプロセ
スに当該プロセッサを割り当てる(234−3)。
次にこのスケジューラの動作例を説明する。
例えば第13図に於で、プロセッサP3でスケジューラ
234が動作しており、プロセス1〜4が実行待ち状態
にあった場合を考える。スケジューラ234はまずプロ
セッサ番号を得て,自身がプロセッサP3で動作してい
ることを認識する。
そしてプロセス管理テーブル32のプロセッサP3に対
応したプライオリティ231−1〜231−4を検索し
て、次に実行すべきプロセス3を選択して、これに当該
プロセッサを割り付ける。なお、プロセッサの別を問わ
なければ実行待ちプロセス1〜4の中で最も高いプライ
オリテイを持っているものはプロセス1であり、そのプ
ライオリテイは1′20”である。しかし、このプライ
オリティ231.−]はプロセッサP1に対するものな
ので、スケジューラ234がプロセッサP1以外で動作
しているときは無視される。
本実施例によれば、プロセスごとに特定のプロセッサに
対するプライオリティを高く設定することができ,その
プロセスを概ね一つのプロセッサに固定できる。ただし
、そのプロセッサが停止しても,プロセスの実行が不可
能になる訳でなく、優先度は下がるが、他のプロセッサ
で実行できる。
次に、本発明の第4の実施例について詳細に説明する。
本実施例によるマルチプロセッサシステムの構成図は、
第1図と同しである。
第15図に各プロセスに対応したプロセス管理テーブル
32の構成例を示す。前述と同様に、プロセス識別子p
id320は、システム内でプロセスに一意に付けられ
る識別番号である。プロセッサ識別子procid 3
 2 1は、当該プロセスが必要とするプロセッサを示
している。procid = Oのときは任意のプロセ
ッサを要求し、procid = n ( nは自然数
)のときはプロセッサ番号nのプロセッサを要求し、p
rocict= 一nのときはプロセッサ番号n以外の
プロセッサを要求している。プロセッサ制御モードmo
de3 2 2は、前述のように、プロセッサ識別子の
動的変更あるいは固定(または有効)期間を規定する。
mode=oのとき、プロセッサ識別子は常にproc
id ” Oと見なされる。即ち、当該プロセス生成時
にpl−ocid = Oが設定される。mode1の
ときは、当該プロセスの実行開始から終了までの間だけ
そのプロセッサ識別子procidが固定となる。即ち
、プロセス実行開始時に、適当なprocidが設定さ
れる。mode”2のとき、プロセスの実行開始、終了
時に於で、procidは変化しない。
即ち一度設定されたprocidは、第4図に示す様な
動作プロセッサ設定処理を行わない限り変更されること
はない。
本実施例では、更にプロセッサ親和度Paf(後述)と
いう概念を導入し、mode=3の場合、そのプロセッ
サ親和度Pafが正値のときに限って、procidを
有効とし、負値のときには、即ち、プロセッサ識別子の
判定処理によりそのプロセッサに割付け不可となる判定
結果が連続して所定回数を越えて発生したときには、p
rocjd= Oと見なして、そのプロセスのプロセッ
サ識別子を当該プロセッサ番号に変更する。プライオリ
ティPr323は、前述と同様、プロセスの実行の優先
度を示すものであり、その値が小さい程優先度が高い。
スケジュール要求カウンタSrc324は、当該プロセ
スが実行待ち状態の時に、次に実行すべきプロセスとし
て選択された回数を示している。スケジュール要求しき
い値Sth325は、Srcの上限値を示している。前
述のプロセッサ親和度Pafは、スケジュール要求カウ
ンタSrcとスケジュール要求し図一 きい値sthとから下記の様に算出される。
プロセッサ親和度Paf= Sth − Src本実施
例では、Src, 8thを上記の如く定めたが、他に
も、Srcを実行待ち状態にある時間、sthをその上
限値とし、あるいはSrcをprocidで示されたプ
ロセッサのキャッシュメモリ内に残っている当該プロセ
スに関するデータ量、sthをその下限値とし、さらに
はSrcをメモリ内に残っている当該プロセスに関する
データ量、8thをその下限値とすることも可能である
第16図に本実施例におるスケジューラの処理フローを
示す。
スケジューラが動作しているプロセッサのプロセッサ番
号P#を得た(261.−1)後、実行待ちプロセスの
中からプライオリティの最も高いものを選択し(261
−2) .この選択したプロセスのプロセス管理テーブ
ルのプロセッサ識別子procidとプロセッサ制御モ
ードmodeとを得る(261−3)。次に、プロセッ
サ識別子procidを調べる(26]−4)。
この部分は第2図の処理311−2と同様である。この
とき,当該プロセッサが指定されておらず、かつ、mo
de=3の場合(261−6) 、Srcをインクリメ
ントした(261−7)後、プロセッサ親和度Pafを
調べる(261−8)。プロセッサ親和度Pafが負値
となったときには、当該P#を新しいprocidとし
て(261−9) 、Srcを初期化した後、当該プロ
セスに当該プロセッサを割り付ける(261−5)。
ステップ261−8でPafの値が負値でないときには
、次にプライオリティが高いプロセスを選択して(26
1−10) 、同じ処理を繰り返す。このプロセス選択
の際、すべての実行待ちプロセスを調べ終ると再び最も
プライオリティの高いプロセスを選択する。
次にmode=3の時のスケジューラの動作を説明する
。mode=o,1.2の動作は前述した実施例と同じ
なので省略する。
今、実行待ちプロセスが1つしかなく、そのプロセス管
理テーブル32が第1図(a)に示す値を持っており、
スケジューラがプロセッサP3で動作していた場合を考
える。このとき、procidの判定(261−4)が
成立しないので、SrcをインクリメントしてN I 
IIとし、プロセッサ親和度Pafを算出する(261
−8)。この場合、正値になるので、次にプライオリテ
ィの高いプロセスを選択する(261−10)。この例
では実行待ちプロセスが1つしかないので、再び同じプ
ロセスが選択され、同じ処理が行われる。最終的には、
6回目の選択でプロセッサ親和度Pafが負値となり、
procidを“3″として当該プロセッサを割り付け
る。プロセッサ親和度Pafの初期値は、スケジュール
要求しきい値sthが大きい程、大きくなり、他のプロ
セッサへの割当てを拒否する回数が増加する。
すなわち、スケジュール要求しきい値を大きく設定する
程、そのプロセスと当該プロセッサとの親和度が増加す
るといえる。目的のプロセッサ以外のプロセッサへの割
当て拒否を繰り返している間に、目的のプロセッサが空
きになった場合には、そのプロセッサでのプロセススケ
ジューリングにより、当該プロセスは直ちにその目的の
プロセッサに割当てられることになる。なお、本制御モ
ードは、前述した制御モードとともに採用することがで
きるが、本制御モードのみを独立して採用することも可
能である。
本実施例の新たな制御モードによれば、プロセスはその
親和度を高く設定することにより、一旦割り当てられた
プロセッサ上で動作する確率が高くなる。これはプロセ
ッサがキャッシュメモリを持ち、そこに多くのデータを
格納している場合、不要なプロセスマイグレーションを
押えてキャッシュメモリのヒット率を高める効果がある
。同時に、一定条件で、プロセッサに対する束縛を解く
ことになり、不用意にプロセッサの稼動率が低下するこ
とを防止できる。
次にプロセッサ識別子で指定可能なプロセッサの数と実
際のマルチプロセッサシステム内で使用可能な実プロセ
ッサの数が合わない場合についての第5の実施例を示す
一般にプロセス(ソフトウェア)からプロセッサを指定
する時には、実プロセッサの数に依存しない様にするこ
とが望ましい。そこで、第19図に示すように、プロセ
スから指定するプロセッサ識別子を論理プロセッサ識別
子290−1とし、プロセッサ番号に対応するプロセッ
サ識別子を物理プロセッサ識別子290 − 2とする
。そして、2つを対応付ける対応テーブル290を設け
る。対応テーブル290は、マルチプロセッサシステム
を初期化するときに共用メモリ5上に作成される。一般
に、論理プロセッサ識別子の方が物理プロセッサ識別子
より多いので、1つの物理プロセッサ識別子に複数の論
理プロセッサ識別子が対応付けられる。
第19図の例では、論理プロセッサ識別子がII O 
+1〜119” (“0″は汎用コード)まで設定され
ているのに対して、物理プロセッサ識別子は、実プロセ
ッサの台数が3台なので,汎用コードを含めてLL O
 II〜n3uしかない。したがって、論理プロセッサ
識別子“4”〜119”には、物理プロセッサ識別子が
重複して対応づけられている。
スケジューラのフロー(第2図あるいは第16図)の中
でこの対応テーブル290を用いた場合の詳細処理フロ
ーを第17図に示す。対応テーブル290が作成されて
いる場合(270−1)には、プロセス管理テーブル内
のプロセッサ識別子を論理プロセッサ識別子と見なして
、対応テーブル290よりこれに対応する物理プロセッ
サ識別子290−2を得る(270−2)。そして、こ
れを以後プロセッサ識別子として使用する(270−3
, 270−4)。
また、動作プロセッサ設定処理(第4図)の中でこの対
応テーブル290を用いた場合の別の詳細フローを第1
8図に示す。対応テーブル290が作成されている場合
には(280−1.) 、指定されているプロセッサ識
別子を論理プロセッサ識別子と見なして、対応テーブル
290よりこれに対応する物理プロセッサ識別子290
−2 (PROCID)を得ル(28o2)。そしてこ
れをプロセス管理テーブル内のプロセッサ識別子321
に設定する。この場合、スケジューラ側では、対応テー
ブル290を参照する必要ないので、第2図のフローを
そのまま使用する。
このように、プロセッサ識別子を、ソフトウェアから見
た論理プロセッサ識別子とハードウエアに依存した物理
プロセッサ識別子とに分けて、これらを対応づける対応
テーブル290を設けることにより、ハードウエア構成
に拘束されることなく、ソフトウェアを作成することが
できる。したがって、プロセッサ台数が増加しても物理
プロセッサ識別子を増すとともに対応テーブルを更新す
るだけでよく、既存のソフトウェアを変更する必要はな
い。
【図面の簡単な説明】
第1図(a) , (b)は本発明によるマルチプロセ
ッサシステムの一実施例のシステム構成図、第2図は本
発明によるプロセススケジューラの一実施例の処理フロ
ー図、第3図は本発明によるプロセスの生成処理のフロ
ー図、第4図は第3図の一部の動作プロセッサ設定処理
のフロー図、第5図は本発明によるプロセスの実行処理
のフロー図、第6図は本発明によるプロセスの終了処理
のフロー図,第7図は第1図の実施例の一応用例のシス
テム構成図、第8図は第1図の実施例の別の応用例のシ
ステム構成図、第9図および第10図は本発明の適用さ
れる具体的システム例の説明図、第11図71一 は本発明の第2の実施例のシステム構成図、第12図(
a) . (b)は第2の実施例におけるプロセススケ
ジューラの処理フロー図、第13図は本発明の第3の実
施例のシステム構成図、第14図は第3の実施例のプロ
セススケジューラの処理フロー図、第15図は本発明の
第4の実施例におけるプロセス管理テーブルの構成図、
第16図は第4の実施例におけるプロセススケジューラ
の処理フロー図、第17図〜第19図は本発明の第5の
実施例の説明図である。 1,2.3・・・プロセス、4・・・接続バス、5・・
・共用メモリ、11・・・プロセッサ番号、31・・・
OSプログラム、32・・プロセッサ管理テーブル、3
11・・・プロセススケジューラ、321・・・プロセ
ッサ識別子、322・・・制御モード。 出願人 株式会社 日 立 製 作 所代理人 弁理士
  富 田 和子 第 図 第 図 プロセスの実行処理 ゝ℃ムし313 第I2 図 (a) 第12図 (b) 第13図 「プーfflL 第」4因 第15図 第17 図 第18図

Claims (1)

  1. 【特許請求の範囲】 1、複数のプロセッサと、プログラムおよびデータを格
    納し上記複数のプロセッサにより共有される共用メモリ
    とを具備し、上記複数のプロセッサ、プログラムおよび
    データは、単一のオペレーティングシステムによって制
    御されるマルチプロセッサシステムにおいて、プロセス
    を管理するプロセス管理テーブルに従い、上記オペレー
    ティングシステムのプロセススケジューラが、プロセス
    にいずれかのプロセッサを割当てるプロセススケジュー
    リング方式であって、 上記プロセス管理テーブルに、各プロセスが動作可能な
    プロセッサを指示するプロセッサ割当て情報を記述し、
    上記プロセススケジューラは、次に実行すべく選択した
    プロセスについて、上記プロセス管理テーブルを参照し
    て、当該プロセスのプロセッサ割当て情報により指定さ
    れたプロセッサ上で当該プロセスを動作させることを特
    徴とするプロセススケジューリング方式。 2、複数のプロセッサにより主記憶装置を共有するマル
    チプロセッサシステムにおいて各プロセスにプロセッサ
    に割当てるプロセススケジューリング方式であって、 各プロセスごとに当該プロセスが動作可能なプロセッサ
    を指定するプロセッサ割当て情報を上記記憶装置内に記
    憶させておき、実行待ちのプロセスをプロセッサへ割当
    てる際に、当該プロセスの上記プロセッサ割当て情報を
    参照し、該プロセッサ割当て情報に応じて、当該プロセ
    スへの上記プロセッサの割当ての可否を決定することを
    特徴とするプロセススケジューリング方式。 3、上記各プロセスごとに当該プロセスが動作可能なプ
    ロセッサを指定するプロセッサ割当て情報に代えて、上
    記各プロセッサごとに当該プロセッサが実行可能なプロ
    セスを指定するプロセス割当て情報を用いることを特徴
    とする請求項2記載のプロセッサスケジューリング方式
    。 4、マルチプロセッサ用オペレーティングシステムのプ
    ロセススケジューリング方式であって、各プロセスと当
    該プロセスが動作可能なプロセッサとを予め対応づけて
    おき、空きのプロセッサを実行待ちのプロセスに割当て
    る際に、上記予め定めた対応関係に基づいて、当該プロ
    セスへの上記プロセッサの割当ての可否を決定すること
    を特徴とするプロセススケジューリング方式。 5、上記プロセッサ割当て情報の一つとしていずれのプ
    ロセッサでも動作可能であることを示す汎用コードを含
    むことを特徴とする請求項1〜4のいずれかに記載のプ
    ロセススケジューリング方式。 6、上記プロセッサ割当て情報の一つとして、特定のプ
    ロセッサ以外のプロセッサで動作可能であることを示す
    コードを含むことを特徴とする請求項1〜5記載のプロ
    セススケジューリング方式。 7、上記プロセッサ割当て情報として上記汎用コードが
    設定されたプロセスについて、当該プロセスを実行する
    プロセッサが決定されたあと当該プロセスの実行が開始
    される前に、当該プロセスのプロセッサ割当て情報を当
    該プロセッサを指定するコードに変更し、当該プロセス
    の実行終了後に上記プロセス割当て情報を上記汎用コー
    ドに戻すことを特徴とする請求項5記載のプロセススケ
    ジユーリング方式。 8、上記プロセス管理テーブルに、各プロセスごとに制
    御モードを記憶する領域を設け、該制御モードの一つと
    して、請求項7のプロセススケジューリング方式を指定
    するコードを規定したことを特徴とする請求項1記載の
    プロセススケジューリング方式。 9、上記制御モードの一つとして、上記プロセッサ割当
    て情報を常時固定することを示すコードを規定し、当該
    コードが指定されたプロセスについては、プロセス実行
    前後を通じて上記プロセッサ割当て情報を変更しないこ
    とを特徴とする請求項8記載のプロセススケジューリン
    グ方式。 10、番号付けされた複数のプロセッサと、該複数のプ
    ロセッサが共有する共用メモリとを有するマルチプロセ
    ッサシステムにおけるプロセススケジューリング方式で
    あって、 プロセッサで動作するプロセスを管理するプロセス管理
    テーブルを上記共用メモリ内に設け、該プロセス管理テ
    ーブルに、各プロセスごとに動作可能なプロセッサの番
    号を指示するプロセッサ割当て情報を記憶させ、プロセ
    ススケジューラは、次に実行すべく選択したプロセスに
    ついて、上記プロセス管理テーブルを参照して、当該プ
    ロセスのプロセッサ割当て情報により指定された番号に
    対応するプロセッサ上で当該プロセスを動作させること
    を特徴とするプロセススケジューリング方式。 11、上記プロセッサへの番号付けにおいては、複数の
    プロセッサに同一の番号を重複して付加することを許容
    する請求項10記載のプロセススケジユーリング方式。 12、上記プロセッサの番号の一つとして汎用コードを
    規定し、各プロセスの実行は、当該プロセスのプロセッ
    サ割当て情報で指定された番号のプロセッサ上または上
    記汎用コードの番号が付与されたプロセッサ上で行わせ
    ることを特徴とする請求項10または11記載のプロセ
    ススケジューリング方式。 13、各プロセスごとに、上記プロセッサ割当て情報に
    より指定されたプロセッサ以外のプロセッサでの実行を
    拒絶する程度を、当該プロセスと当該プロセッサとの親
    和度を示す数値として定めておき、当該プロセスの実行
    待ち状態に関する数値と比較して、該比較結果に応じて
    、当該プロセスを上記指定されたプロセッサ以外のプロ
    セッサ上で動作させることを特徴とする請求項1、2ま
    たは10記載のプロセススケジューリング方式。 14、上記プロセスの実行待ち状態に関する数値は、上
    記プロセッサへの割当てを拒絶した回数または当該プロ
    セスの実行待ちデータ量であることを特徴とする請求項
    13記載のプロセススケジューリング方式。 15、上記プロセスからプロセッサを指定する場合のプ
    ロセッサ割当て情報を論理プロセッサ識別子とし、該論
    理プロセッサ識別子と、実際のプロセッサに対応する物
    理プロセッサ識別子とを対応づけるテーブルを上記共用
    メモリ内に設け、論理プロセッサ識別子は物理プロセッ
    サ識別子に変換してスケジューリングを行うことを特徴
    とする請求項10記載のプロセススケジューリング方式
    。 16、複数のプロセッサを有するマルチプロセッサシス
    テムにおけるプロセススケジューリング方式において、 上記複数のプロセッサの各々について、予め、当該プロ
    セッサが実行可能なプロセスの優先度の範囲を定めてお
    き、各プロセッサが次に実行すべきプロセスとして、当
    該プロセッサについて定められた上記優先度の範囲内に
    ある優先度を有する実行待ちプロセスの中から最も高い
    優先度を有するものを選択することを特徴とするプロセ
    ススケジューリング方式。 17、複数のプロセッサを有するマルチプロセッサシス
    テムにおけるプロセススケジューリング方式において、 各プロセスごとに、上記複数のプロセッサの各々に対す
    る優先度を定めておき、各プロセッサが次に実行すべき
    プロセスとして、実行待ちプロセスの中から、当該プロ
    セッサについて定められた各プロセスの優先度の最も優
    先度の高いものを選択することを特徴とするプロセスス
    ケジューリング方式。 18、少なくとも2個のプロセッサを有し、該プロセッ
    サのいずれにおいても特定のプロセスを実行可能なマル
    チプロセッサシステムにおいて、上記特定のプロセスを
    実行させるプロセッサを上記少なくとも2個のプロセッ
    サのうちのいずれか1個に固定することにより、単一プ
    ロセッサシステム用のソフトウェアを修正することなく
    利用可能としたことを特徴とするマルチプロセッサシス
    テム。 19、少なくとも2個のプロセッサを有し、該プロセッ
    サのいずれにおいても特定のプロセスを実行可能なマル
    チプロセッサシステムにおいて、当該特定のプロセスの
    少なくとも実行開始から終了までの間、上記特定のプロ
    セスを実行させるプロセッサを、上記少なくとも2個の
    プロセッサのうちのいずれか1個に固定することにより
    、上記特定のプロセスの実行途中の実行プロセッサの変
    更を防止することを特徴とするマルチプロセッサシステ
    ム。 20、少なくとも2個のプロセッサを有し、特定のプロ
    セッサでは、種々のプロセスを実行可能なマルチプロセ
    ッサシステムにおいて、 上記特定のプロセッサで動作させるプロセスの数を限定
    することにより、当該プロセッサでの応答時間を一定値
    以内に短縮することを特徴とするマルチプロセッサシス
    テム。 21、少なくとも2個のプロセッサを有し、特定のプロ
    セッサでは、種々のプロセスを実行可能なマルチプロセ
    ッサシステムにおいて、 上記特定のプロセッサで動作させるプロセスの種類を限
    定することにより、プロセッサの故障の影響範囲を局所
    化することを特徴とするマルチプロセッサシステム。 22、複数のプロセッサと、プログラムおよびデータを
    格納し上記複数のプロセッサにより共有される共用メモ
    リとを具備し、上記複数のプロセッサ、プログラムおよ
    びデータは、単一のオペレーティングシステムによって
    制御されるマルチプロセッサシステムにおいて、 上記共用メモリ内に、プロセスごとに当該プロセスの状
    態を保持するプロセス管理テーブルを設け、該プロセス
    管理テーブルに、各プロセスが動作可能なプロセッサを
    指定するプロセッサ割当て情報を記憶する記憶領域を設
    けたことを特徴とするマルチプロセッサシステム。 23、いずれにおいても特定のプロセスを実行可能な少
    なくとも2個のプロセッサと、プログラムおよびデータ
    を格納し上記少なくとも2個のプロセッサにより共有さ
    れる共用メモリとを具備し、上記プロセッサ、プログラ
    ムおよびデータは、単一のオペレーティングシステムに
    よって制御されるマルチプロセッサシステムにおいて、 上記共用メモリ内に、上記少なくとも2個のプロセッサ
    のうちの特定のプロセッサでのみ上記特定のプロセスを
    実行可能とするプロセッサ割当て情報を格納する記憶領
    域を設けたことを特徴とするマルチプロセッサシステム
    。 24、各プロセスのプロセッサ割当て情報の動的変更を
    制御する制御モードを格納する記憶領域をさらに設けた
    ことを特徴とする請求項22または23記載のマルチプ
    ロセッサシステム。 25、上記制御モードは、任意のプロセッサで動作可能
    とする第1のモードと、プロセスの実行開始から実行終
    了まで、特定のプロセッサのみで動作可能とする第2の
    制御モードとを含み、第1の制御モードでは、プロセッ
    サ割当て情報として任意のプロセッサを指定する汎用コ
    ードが設定され、第2の制御モードでは、プロセスを特
    定のプロセッサで実行開始する前に、当該プロセスのプ
    ロセッサ割当て情報として上記特定のプロセッサが指定
    され、プロセスの実行終了後に上記プロセッサ割当て情
    報が上記汎用コードに戻されることを特徴とする請求項
    24記載のマルチプロセッサシステム。 26、上記制御モードとして、プロセスの生成後、特定
    のプロセッサを指定するプロセッサ割当て情報を変更し
    ない第3の制御モードをさらに含むことを特徴とする請
    求項25記載のマルチプロセッサシステム。 27、請求項22記載のマルチプロセッサシステムの使
    用方法であって、 上記共用メモリに対する排他制御が必要なプロセス群に
    対して、上記プロセッサ割当て情報を同一に設定するこ
    とにより、上記プロセス群を単一のプロセッサ上で動作
    させることを特徴とするマルチプロセッサシステムの使
    用方法。 28、請求項22記載のマルチプロセッサシステムの使
    用方法であって、 重要性の高いプロセス群と、重要性の低いプロセス群と
    に別個のプロセッサ割当て情報を設定し、両プロセス群
    を別個のプロセッサ上で実行させることを特徴とするマ
    ルチプロセッサシステムの使用方法。 29、請求項25記載のマルチプロセッサシステムの使
    用方法であって、 上記第2の制御モードを設定することにより、一つのプ
    ロセスの実行途中に実行プロセッサが変わることを防止
    することを特徴とするマルチプロセッサシステムの使用
    方法。 30、請求項26記載のマルチプロセッサシステムの使
    用方法であって、 上記共用メモリに対する排他制御が必要なプロセス群に
    対して、上記第3の制御モードを設定することにより、
    上記プロセス群を単一のプロセッサ上で動作させること
    を特徴とするマルチプロセッサシステムの使用方法。 31、請求項26記載のマルチプロセッサシステムの使
    用方法であって、 プロセスを重要性の高いプロセス群と重要性の低いプロ
    セス群とに分類し、両プロセス群に対して上記第3の制
    御モードを設定すると共に、上記両プロセスに異なるプ
    ロセッサ割当て情報を設定し、上記両プロセス群を別個
    のプロセッサ上で実行させることを特徴とするマルチプ
    ロセッサシステムの使用方法。
JP1060092A 1989-03-13 1989-03-13 プロセススケジューリング方法 Expired - Fee Related JP3019317B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1060092A JP3019317B2 (ja) 1989-03-13 1989-03-13 プロセススケジューリング方法
DE4007998A DE4007998A1 (de) 1989-03-13 1990-03-13 Prozess-planungsverfahren und mehrfach-rechner

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1060092A JP3019317B2 (ja) 1989-03-13 1989-03-13 プロセススケジューリング方法

Publications (2)

Publication Number Publication Date
JPH02238556A true JPH02238556A (ja) 1990-09-20
JP3019317B2 JP3019317B2 (ja) 2000-03-13

Family

ID=13132102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1060092A Expired - Fee Related JP3019317B2 (ja) 1989-03-13 1989-03-13 プロセススケジューリング方法

Country Status (1)

Country Link
JP (1) JP3019317B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260528A (ja) * 2005-02-18 2006-09-28 Hitachi Ltd 計算機制御方法および管理計算機並びにその処理プログラム
JP2006277487A (ja) * 2005-03-30 2006-10-12 Hitachi Ltd ディスクアレイ装置およびその制御方法
JP2008242948A (ja) * 2007-03-28 2008-10-09 Toshiba Corp 情報処理装置および同装置の動作制御方法
JP2009527828A (ja) * 2006-02-17 2009-07-30 クゥアルコム・インコーポレイテッド マルチプロセッサのアプリケーションサポートのためのシステムおよび方法
WO2012026034A1 (ja) * 2010-08-27 2012-03-01 富士通株式会社 スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法
WO2020166437A1 (ja) * 2019-02-13 2020-08-20 日本電信電話株式会社 サーバ基盤および物理cpu割当プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58115570A (ja) * 1981-12-29 1983-07-09 Fuji Electric Co Ltd プロセツサ割付け方式
JPS6275739A (ja) * 1985-09-30 1987-04-07 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション タスク割当て方法
JPS62123552A (ja) * 1985-11-22 1987-06-04 Nec Corp 中央処理装置割当て方式
JPS62160563A (ja) * 1986-01-09 1987-07-16 Toshiba Corp 情報処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58115570A (ja) * 1981-12-29 1983-07-09 Fuji Electric Co Ltd プロセツサ割付け方式
JPS6275739A (ja) * 1985-09-30 1987-04-07 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション タスク割当て方法
JPS62123552A (ja) * 1985-11-22 1987-06-04 Nec Corp 中央処理装置割当て方式
JPS62160563A (ja) * 1986-01-09 1987-07-16 Toshiba Corp 情報処理システム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260528A (ja) * 2005-02-18 2006-09-28 Hitachi Ltd 計算機制御方法および管理計算機並びにその処理プログラム
JP2006277487A (ja) * 2005-03-30 2006-10-12 Hitachi Ltd ディスクアレイ装置およびその制御方法
JP2009527828A (ja) * 2006-02-17 2009-07-30 クゥアルコム・インコーポレイテッド マルチプロセッサのアプリケーションサポートのためのシステムおよび方法
JP2008242948A (ja) * 2007-03-28 2008-10-09 Toshiba Corp 情報処理装置および同装置の動作制御方法
WO2012026034A1 (ja) * 2010-08-27 2012-03-01 富士通株式会社 スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法
CN103080903A (zh) * 2010-08-27 2013-05-01 富士通株式会社 调度器、多核处理器系统以及调度方法
JP5516744B2 (ja) * 2010-08-27 2014-06-11 富士通株式会社 スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法
US8996811B2 (en) 2010-08-27 2015-03-31 Fujitsu Limited Scheduler, multi-core processor system, and scheduling method
US9430388B2 (en) 2010-08-27 2016-08-30 Fujitsu Limited Scheduler, multi-core processor system, and scheduling method
WO2020166437A1 (ja) * 2019-02-13 2020-08-20 日本電信電話株式会社 サーバ基盤および物理cpu割当プログラム
JP2020134988A (ja) * 2019-02-13 2020-08-31 日本電信電話株式会社 サーバ基盤および物理cpu割当プログラム

Also Published As

Publication number Publication date
JP3019317B2 (ja) 2000-03-13

Similar Documents

Publication Publication Date Title
JP2866241B2 (ja) コンピュータシステムおよびスケジューリング方法
KR100463235B1 (ko) 자원관리를위한컴퓨터구현방법,컴퓨터판독가능매체및컴퓨터시스템
US7290261B2 (en) Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor
US4779194A (en) Event allocation mechanism for a large data processing system
US9201689B2 (en) Software emulation of massive hardware threading for tolerating remote memory references
US5553291A (en) Virtual machine control method and virtual machine system
JP2893071B2 (ja) マルチ・スレッド対応ディジタル・データ・プロセッサ用スレッド・プライベート・メモリ
US20220350610A1 (en) Method Of Debugging A Processor That Executes Vertices Of an Application, Each Vertex Being Assigned To a Programming Thread of the Processor
US4829422A (en) Control of multiple processors executing in parallel regions
JPH0673108B2 (ja) ゲストに割り当てられたシステム資源に対するゲストの動作を制限する方法
US11645081B2 (en) Handling exceptions in a multi-tile processing arrangement
US6662364B1 (en) System and method for reducing synchronization overhead in multithreaded code
US20090320022A1 (en) File System Object Node Management
EP0547991A2 (en) Adaptive method for starting tasks in a multi-tasking operating system
US8387009B2 (en) Pointer renaming in workqueuing execution model
JPH06243112A (ja) マルチプロセッサ装置
JPH02238556A (ja) プロセススケジューリング方式およびマルチプロセッサシステム
CA1289674C (en) Task scheduling mechanism for large data processing systems
US20090320036A1 (en) File System Object Node Management
JP4211645B2 (ja) 専用プロセッサの備わった計算機システム
US8010963B2 (en) Method, apparatus and program storage device for providing light weight system calls to improve user mode performance
CN116244073A (zh) 混合关键分区实时操作系统的资源感知型任务分配方法
KR102575773B1 (ko) 대칭적 인터페이스를 이용하여 외부 서비스 요청 처리가 가능한 프로세서
US9547522B2 (en) Method and system for reconfigurable virtual single processor programming model
JP6932755B2 (ja) オペレーティングシステム及びメモリ割り当て方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080107

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees