JPH05324593A - マルチ・プロセッサシステムにおけるタスク管理方式 - Google Patents
マルチ・プロセッサシステムにおけるタスク管理方式Info
- Publication number
- JPH05324593A JPH05324593A JP4132945A JP13294592A JPH05324593A JP H05324593 A JPH05324593 A JP H05324593A JP 4132945 A JP4132945 A JP 4132945A JP 13294592 A JP13294592 A JP 13294592A JP H05324593 A JPH05324593 A JP H05324593A
- Authority
- JP
- Japan
- Prior art keywords
- task
- processor
- registered
- management table
- program
- 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
Landscapes
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 マルチ・プロセッサシステムにおいて、プロ
セッサに対するタスク分配の最適化を容易にし、また、
プロセッサ障害による全タスク停止の防止を行う。 【構成】 共通メモリ3上にプログラム格納エリア32
とタスク分配テーブル31を有し、各プロセッサ1,2
のモニタ11,21はタスク分配テーブル31を参照し
て該当するタスクプログラムを自メモリ14,24に読
み込むと同時にタスク管理テーブル13,23に登録
し、各プロセッサ1,2上のスケジューラ12,22は
タスク操作時にタスク管理テーブル13,23にて登録
の有無をチェックし、未登録の場合はプロセッサ間通信
にて他のプロセッサ1,2のスケジューラ12,22へ
タスク操作要求を出す手段を有する。
セッサに対するタスク分配の最適化を容易にし、また、
プロセッサ障害による全タスク停止の防止を行う。 【構成】 共通メモリ3上にプログラム格納エリア32
とタスク分配テーブル31を有し、各プロセッサ1,2
のモニタ11,21はタスク分配テーブル31を参照し
て該当するタスクプログラムを自メモリ14,24に読
み込むと同時にタスク管理テーブル13,23に登録
し、各プロセッサ1,2上のスケジューラ12,22は
タスク操作時にタスク管理テーブル13,23にて登録
の有無をチェックし、未登録の場合はプロセッサ間通信
にて他のプロセッサ1,2のスケジューラ12,22へ
タスク操作要求を出す手段を有する。
Description
【0001】
【産業上の利用分野】複数のプロセッサを持つマルチ・
プロセッサ,マルチタスクシステムにおける、タスク管
理方式に関する。
プロセッサ,マルチタスクシステムにおける、タスク管
理方式に関する。
【0002】
【従来の技術】装置で複雑な機能を実現するにあたっ
て、ハードウェアだけで構成せず、プロセッサをメイン
に構成し、ソフトウェアで処理させる方式がその優れた
柔軟性や保守性により一般に普及してきている。
て、ハードウェアだけで構成せず、プロセッサをメイン
に構成し、ソフトウェアで処理させる方式がその優れた
柔軟性や保守性により一般に普及してきている。
【0003】このプロセッサシステムを高速化する方策
として単一のプロセッサ速度を上げる代わりに、2台以
上のプロセッサを有し異なる処理を並列に動作させるマ
ルチ・プロセッサシステムが考えられた。
として単一のプロセッサ速度を上げる代わりに、2台以
上のプロセッサを有し異なる処理を並列に動作させるマ
ルチ・プロセッサシステムが考えられた。
【0004】これらのマルチ・プロセッサシステムでは
さらに、ソフトウェア側でも並列化を進めるため、処理
を細分化し、タスクと呼ばれるプログラム単位を設け、
各タスクを識別するタスク番号と、タスクプログラムの
エントリーアドレスと各タスクの状態を、動作中,実行
可能,及び待ち状態の3つの状態に分けて登録するタス
ク管理テーブル、及び、このタスク管理テーブルを管理
するスケジューラプログラムを有し、タスクを並列に動
作させる方法が一般に知られている。
さらに、ソフトウェア側でも並列化を進めるため、処理
を細分化し、タスクと呼ばれるプログラム単位を設け、
各タスクを識別するタスク番号と、タスクプログラムの
エントリーアドレスと各タスクの状態を、動作中,実行
可能,及び待ち状態の3つの状態に分けて登録するタス
ク管理テーブル、及び、このタスク管理テーブルを管理
するスケジューラプログラムを有し、タスクを並列に動
作させる方法が一般に知られている。
【0005】従来のタスク管理方式では、タスクの割付
はそれぞれのプロセッサに固定とされ、タスク番号は個
々のプロセッサ上のスケジューラが判別できるものを使
用していた。
はそれぞれのプロセッサに固定とされ、タスク番号は個
々のプロセッサ上のスケジューラが判別できるものを使
用していた。
【0006】
【発明が解決しようとする課題】しかし、よりシステム
の柔軟性を考えると、タスクの分配についても変更が可
能な構成が望ましい。また、1台でもプロセッサが故障
すると装置全体の処理が出来なくなる問題がある。
の柔軟性を考えると、タスクの分配についても変更が可
能な構成が望ましい。また、1台でもプロセッサが故障
すると装置全体の処理が出来なくなる問題がある。
【0007】本発明の目的は、プロセッサに対するタス
クの分配の最適化を容易とし、1台のプロセッサの故障
時にも装置の処理を続行できるマルチ・プロセッサシス
テムにおけるタスク管理方式を提供することにある。
クの分配の最適化を容易とし、1台のプロセッサの故障
時にも装置の処理を続行できるマルチ・プロセッサシス
テムにおけるタスク管理方式を提供することにある。
【0008】
【課題を解決するための手段】本発明のマルチ・プロセ
ッサシステムにおけるタスク管理方式は、共通メモリ上
にタスク分配テーブルとタスクプログラムを配置し、各
タスクプログラムには全プロセッサ共通のタスク番号を
定義し、各プロセッサは初期プログラムローディング時
にタスク分配テーブルの自プロセッサ割当分に書かれて
いるタスク番号のタスクプログラムを自メモリに読み込
み、スケジューラのタスク管理テーブルにタスク番号と
エントリーアドレスを登録する。
ッサシステムにおけるタスク管理方式は、共通メモリ上
にタスク分配テーブルとタスクプログラムを配置し、各
タスクプログラムには全プロセッサ共通のタスク番号を
定義し、各プロセッサは初期プログラムローディング時
にタスク分配テーブルの自プロセッサ割当分に書かれて
いるタスク番号のタスクプログラムを自メモリに読み込
み、スケジューラのタスク管理テーブルにタスク番号と
エントリーアドレスを登録する。
【0009】動作時には、第1のプロセッサ上のスケジ
ューラにタスク番号nの状態変更要求が出された場合
に、自タスク管理テーブルに登録されているかを判定
し、登録済みの場合は自タスク管理テーブルを書換え、
未登録の場合はタスク番号nと状態変更要求種別とを記
したタスク状態変更要求コマンドをプロセッサ間通信に
て発信し、このタスク管理テーブル変更要求コマンドを
受信した第2以降のプロセッサ上のスケジューラはタス
ク番号nが自タスク管理テーブルに登録されているかを
判定し、登録済みであれば自タスク管理テーブルを書換
え、タスクの状態を変更する方式とした。
ューラにタスク番号nの状態変更要求が出された場合
に、自タスク管理テーブルに登録されているかを判定
し、登録済みの場合は自タスク管理テーブルを書換え、
未登録の場合はタスク番号nと状態変更要求種別とを記
したタスク状態変更要求コマンドをプロセッサ間通信に
て発信し、このタスク管理テーブル変更要求コマンドを
受信した第2以降のプロセッサ上のスケジューラはタス
ク番号nが自タスク管理テーブルに登録されているかを
判定し、登録済みであれば自タスク管理テーブルを書換
え、タスクの状態を変更する方式とした。
【0010】また、2台以上のプロセッサが互いに動作
正常性を監視し、もし、第1のプロセッサが障害状態と
なった場合に、第1のプロセッサに割り当てられていた
タスクプログラムを第2のプロセッサがタスク分配テー
ブルを参照して自メモリ上にプログラムロードするとと
もに、タスク管理テーブルにタスク番号とエントリーア
ドレスを追加登録することにより障害状態のプロセッサ
を除いたシステムで再開処理を行なう。
正常性を監視し、もし、第1のプロセッサが障害状態と
なった場合に、第1のプロセッサに割り当てられていた
タスクプログラムを第2のプロセッサがタスク分配テー
ブルを参照して自メモリ上にプログラムロードするとと
もに、タスク管理テーブルにタスク番号とエントリーア
ドレスを追加登録することにより障害状態のプロセッサ
を除いたシステムで再開処理を行なう。
【0011】
【実施例】次に本発明の実施例について図面を参照して
説明する。図1は本発明の一実施例のブロック図、図2
はメモリ配置図である。
説明する。図1は本発明の一実施例のブロック図、図2
はメモリ配置図である。
【0012】本実施例では2個のプロセッサに総数6個
のタスクを分配する場合を示す。
のタスクを分配する場合を示す。
【0013】プロセッサ1とプロセッサ2と共通メモリ
3がバス4で接続され、プロセッサ1及びプロセッサ2
にはモニタ11,21及びスケジューラ12,22が常
駐または装置初期化時に共通メモリ3のプログラム格納
エリア32から転送する。
3がバス4で接続され、プロセッサ1及びプロセッサ2
にはモニタ11,21及びスケジューラ12,22が常
駐または装置初期化時に共通メモリ3のプログラム格納
エリア32から転送する。
【0014】共通メモリ3はタスク分配テーブル31を
有し、図3に示す例の如くプロセッサ番号と対応するタ
スク番号及び、タスクプログラムに関する付帯情報を定
義する。
有し、図3に示す例の如くプロセッサ番号と対応するタ
スク番号及び、タスクプログラムに関する付帯情報を定
義する。
【0015】モニタ11は初期化時に共通メモリ3のタ
スク分配テーブル31を参照して自プロセッサ1に分配
されるタスク番号を読み出し、タスク番号#1,#2,
#4に対応するタスク#1,タスク#2,タスク#4を
選択して自タスクプログラム格納エリア14に転送し、
タスク管理テーブル13にタスク番号#1,#2,#4
及びそれらに対応するタスクのエントリーアドレスを登
録する。図4にタスク管理テーブル13の例を示す。
スク分配テーブル31を参照して自プロセッサ1に分配
されるタスク番号を読み出し、タスク番号#1,#2,
#4に対応するタスク#1,タスク#2,タスク#4を
選択して自タスクプログラム格納エリア14に転送し、
タスク管理テーブル13にタスク番号#1,#2,#4
及びそれらに対応するタスクのエントリーアドレスを登
録する。図4にタスク管理テーブル13の例を示す。
【0016】同様にプロセッサ2上のモニタ21は、初
期化時に共通メモリ3のタスク分配テーブル31参照し
て自プロセッサ2に分配されるタスク番号を読み出し、
タスク番号#3,#5,#6に対応するタスク#3,タ
スク#5,タスク#6を選択して自タスクプログラム格
納エリア24に転送し、タスク管理テーブル23にタス
ク番号#3,#5,#6及びそれらに対応するタスクの
エントリーアドレスを登録する。
期化時に共通メモリ3のタスク分配テーブル31参照し
て自プロセッサ2に分配されるタスク番号を読み出し、
タスク番号#3,#5,#6に対応するタスク#3,タ
スク#5,タスク#6を選択して自タスクプログラム格
納エリア24に転送し、タスク管理テーブル23にタス
ク番号#3,#5,#6及びそれらに対応するタスクの
エントリーアドレスを登録する。
【0017】アプリケーション動作時にはスケジューラ
12,22がタスク管理テーブル13,23に各タスク
の状態欄の実行可能,動作中,待ち状態のどの状態にあ
るかを書き込み、管理する。
12,22がタスク管理テーブル13,23に各タスク
の状態欄の実行可能,動作中,待ち状態のどの状態にあ
るかを書き込み、管理する。
【0018】図5はスケジューラのフローチャートであ
る。
る。
【0019】あるタスクからスケジューラ12へタスク
#nに対するPOST命令やWAIT命令等の状態遷移
コマンドを受信した場合(ステップS1)、スケジュー
ラ12は#nが自タスク管理テーブル13に登録されて
いるかを調べ(ステップS2)、登録されていた場合は
#nのタスクの状態を書換え(ステップS3)登録され
ていない場合はタスク状態変更要求コマンドを作成し、
プロセッサ間通信を使ってプロセッサ2のスケジューラ
22へ伝える(ステップS4)。
#nに対するPOST命令やWAIT命令等の状態遷移
コマンドを受信した場合(ステップS1)、スケジュー
ラ12は#nが自タスク管理テーブル13に登録されて
いるかを調べ(ステップS2)、登録されていた場合は
#nのタスクの状態を書換え(ステップS3)登録され
ていない場合はタスク状態変更要求コマンドを作成し、
プロセッサ間通信を使ってプロセッサ2のスケジューラ
22へ伝える(ステップS4)。
【0020】プロセッサ1から#nに対するタスク状態
変更要求コマンドを受信したスケジューラ22は#nが
(ステップS5)自タスク管理テーブル23に登録され
ているかを調べ(ステップS6)、登録されていた場合
は#nのタスクの状態を書き換え(ステップS3)、登
録されていない場合は無視する。
変更要求コマンドを受信したスケジューラ22は#nが
(ステップS5)自タスク管理テーブル23に登録され
ているかを調べ(ステップS6)、登録されていた場合
は#nのタスクの状態を書き換え(ステップS3)、登
録されていない場合は無視する。
【0021】図6は片方のプロセッサ1が障害状態の場
合のメモリ配置図である。
合のメモリ配置図である。
【0022】プロセッサ1及びプロセッサ2は常時互い
に相手のプロセッサの障害監視を行い、プロセッサ1に
障害が発生した場合の処理を例にとって以下に説明す
る。
に相手のプロセッサの障害監視を行い、プロセッサ1に
障害が発生した場合の処理を例にとって以下に説明す
る。
【0023】プロセッサ1の障害を検出したプロセッサ
2は直ちに障害処理を開始し、タスク分配テーブル31
のプロセッサ1に対応するタスク番号を読み出し、その
番号のタスクプログラムをタスクプログラム格納エリア
24に転送し、タスク管理テーブル23にタスク番号#
1,#2,#4と対応するエントリーアドレスを追加登
録する。
2は直ちに障害処理を開始し、タスク分配テーブル31
のプロセッサ1に対応するタスク番号を読み出し、その
番号のタスクプログラムをタスクプログラム格納エリア
24に転送し、タスク管理テーブル23にタスク番号#
1,#2,#4と対応するエントリーアドレスを追加登
録する。
【0024】こうしてプロセッサ2にはシステムの全タ
スクが登録され、単一プロセッサとして再開処理が可能
な状態になる。
スクが登録され、単一プロセッサとして再開処理が可能
な状態になる。
【0025】
【発明の効果】以上説明したように本発明は、タスクの
プロセッサへの分配をタスク分配テーブルを参照して行
ない、タスク状態の変更をプロセッサ間通信で他のスケ
ジューラへ伝えるようにし、プロセッサ障害発生時には
他のプロセッサが障害プロセッサのタスクを引き受ける
構成にしたことにより、従来のシステムに較べ、複数の
プロセッサへのタスク分配の最適化を容易にし、プロセ
ッサ障害に対して処理が完全に止まることを防止できる
という効果がある。
プロセッサへの分配をタスク分配テーブルを参照して行
ない、タスク状態の変更をプロセッサ間通信で他のスケ
ジューラへ伝えるようにし、プロセッサ障害発生時には
他のプロセッサが障害プロセッサのタスクを引き受ける
構成にしたことにより、従来のシステムに較べ、複数の
プロセッサへのタスク分配の最適化を容易にし、プロセ
ッサ障害に対して処理が完全に止まることを防止できる
という効果がある。
【図1】本発明の一実施例のブロック図である。
【図2】本発明の一実施例のメモリ配置図である。
【図3】タスク分配テーブルの一例を示す図である。
【図4】タスク管理テーブルの一例を示す図である。
【図5】スケジューラのフローチャートである。
【図6】プロセッサ1が障害状態の場合のメモリ配置図
である。
である。
1,2 プロセッサ 3 共通メモリ 4 バス 11,21 モニタ 12,22 スケジューラ 13,23 タスク管理テーブル 14,24 タスクプログラム格納エリア 31 タスク分配テーブル 32 プログラム格納エリア
Claims (2)
- 【請求項1】2台以上のプロセッサを有し、各プロセッ
サがタスクを分担して実行するマルチ・プロセッサシス
テムにおいて、共通メモリ上にタスク分配テーブルとタ
スクプログラムを配置し、前記タスク分配テーブルにお
いてタスクプログラムには全プロセッサ共通のタスク番
号を定義し、各プロセッサは初期プログラムローディン
グ時に前記タスク分配テーブルの自プロセッサ割当分に
書かれているタスク番号のタスクプログラムを自メモリ
に読み込み、前記自プロセッサのスケジューラのタスク
管理テーブルにタスク番号とエントリーアドレスを登録
し、動作時に第1のプロセッサ上のスケジューラにタス
ク番号nの状態遷移要求が出された場合に自タスク管理
テーブルに登録されているかを判定し、登録済みの場合
は自タスク管理テーブルを書換え、未登録の場合はタス
ク番号nと状態変更要求種別とを記したタスク状態変更
要求コマンドをプロセッサ間通信にて発信し、前記タス
ク管理テーブル変更要求コマンドを受信した第2以降の
プロセッサ上のスケジューラはタスク番号nが自タスク
管理テーブルに登録されているか否かを判定し、登録済
みであれば自タスク管理テーブルを書換え、タスクの状
態を変更し未登録の場合は無視することを特徴とするタ
スク管理方式。 - 【請求項2】2台以上のプロセッサが互いに動作正常性
を監視し、プロセッサが障害状態となった場合に共通メ
モリ上のタスク管理テーブルより前記障害プロセッサに
割り当てられていたタスクプログラムを他のプロセッサ
が自メモリ上にプログラムローディングするとともに、
前記タスク管理テーブルに対応するタスク番号とエント
リーアドレスを自タスク管理テーブルに追加登録し、前
記障害プロセッサをシステムから隔離して再開処理を行
なうことを特徴とする請求項1記載のタスク管理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4132945A JPH05324593A (ja) | 1992-05-26 | 1992-05-26 | マルチ・プロセッサシステムにおけるタスク管理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4132945A JPH05324593A (ja) | 1992-05-26 | 1992-05-26 | マルチ・プロセッサシステムにおけるタスク管理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05324593A true JPH05324593A (ja) | 1993-12-07 |
Family
ID=15093173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4132945A Pending JPH05324593A (ja) | 1992-05-26 | 1992-05-26 | マルチ・プロセッサシステムにおけるタスク管理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05324593A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007037006A1 (ja) * | 2005-09-29 | 2007-04-05 | Fujitsu Limited | マルチコアプロセッサ |
JP2008186357A (ja) * | 2007-01-31 | 2008-08-14 | Renesas Technology Corp | データ処理装置 |
-
1992
- 1992-05-26 JP JP4132945A patent/JPH05324593A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007037006A1 (ja) * | 2005-09-29 | 2007-04-05 | Fujitsu Limited | マルチコアプロセッサ |
JPWO2007037006A1 (ja) * | 2005-09-29 | 2009-04-02 | 富士通株式会社 | マルチコアプロセッサ |
JP4777994B2 (ja) * | 2005-09-29 | 2011-09-21 | 富士通株式会社 | マルチコアプロセッサ |
US8516491B2 (en) | 2005-09-29 | 2013-08-20 | Fujitsu Limited | Multi-core processor |
JP2008186357A (ja) * | 2007-01-31 | 2008-08-14 | Renesas Technology Corp | データ処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0818736A2 (en) | System for assigning boot strap processor in symmetric multiprocessor computer with watchdog reset | |
US5291605A (en) | Arrangement and a method for handling interrupt requests in a data processing system in a virtual machine mode | |
JP3570442B2 (ja) | コンピュータ | |
JP2001022599A (ja) | フォールトトレラント・システム,フォールトトレラント処理方法およびフォールトトレラント制御用プログラム記録媒体 | |
JPH05324593A (ja) | マルチ・プロセッサシステムにおけるタスク管理方式 | |
US10540222B2 (en) | Data access device and access error notification method | |
JPH0895614A (ja) | 制御装置 | |
JP2845616B2 (ja) | マルチプロセッサシステム | |
JP2937857B2 (ja) | 共通記憶装置のロックフラグ解除方式および方法 | |
JP4117685B2 (ja) | フォルトトレラント・コンピュータとそのバス選択制御方法 | |
JPH04302352A (ja) | マルチプロセッサシステム | |
JP2001256055A (ja) | プログラムダウンロード方式 | |
JPS6011935A (ja) | 動作モ−ド表示装置 | |
JPH0496167A (ja) | マルチプロセッサシステムの割込み方式 | |
JPH11161506A (ja) | 情報処理装置のディスパッチ方法、情報処理装置及びその記録媒体 | |
JP3130892B2 (ja) | 二重化システム | |
JP3087477B2 (ja) | コンピュータシステム | |
JPS62212865A (ja) | マルチプロセツサ制御方式 | |
JP2022174784A (ja) | 電子制御装置及び異常判定方法 | |
JPS58217063A (ja) | プログラム・イベント・レコ−デイング多重管理処理方式 | |
JPH0258155A (ja) | 構成制御方式 | |
JP2825589B2 (ja) | バス制御方式 | |
JPH0535507A (ja) | 中央処理装置 | |
JPH02183342A (ja) | 割込み制御装置 | |
JP2609456B2 (ja) | マルチプロセッサ方式のプログラマブル制御装置 |