JP2986930B2 - Task Scheduling Method for Symmetric Multiprocessor - Google Patents

Task Scheduling Method for Symmetric Multiprocessor

Info

Publication number
JP2986930B2
JP2986930B2 JP3009357A JP935791A JP2986930B2 JP 2986930 B2 JP2986930 B2 JP 2986930B2 JP 3009357 A JP3009357 A JP 3009357A JP 935791 A JP935791 A JP 935791A JP 2986930 B2 JP2986930 B2 JP 2986930B2
Authority
JP
Japan
Prior art keywords
task
acp
registered
queue
cpu queue
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 - Fee Related
Application number
JP3009357A
Other languages
Japanese (ja)
Other versions
JPH04253228A (en
Inventor
司 末永
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3009357A priority Critical patent/JP2986930B2/en
Publication of JPH04253228A publication Critical patent/JPH04253228A/en
Application granted granted Critical
Publication of JP2986930B2 publication Critical patent/JP2986930B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[発明の目的][Object of the Invention]

【0002】[0002]

【産業上の利用分野】本発明は、複数のプロセッサによ
り並列処理が実行される対称型マルチプロセッサのタス
クスケジューリング方式のうち、特に、タスクスケジュ
ーリング処理を迅速にして、システムのスループットを
向上する対称型マルチプロセッサのタスクスケジューリ
ング方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a symmetric multiprocessor task scheduling system in which parallel processing is executed by a plurality of processors, and in particular, to a symmetric multiprocessor which speeds up task scheduling and improves system throughput. The present invention relates to a multiprocessor task scheduling method.

【0003】[0003]

【従来の技術】一般に、二以上の演算制御装置(以下、
ACPという。)を実装した電子計算機をマルチプロセ
ッサ電子計算機と呼び、当該マルチプロセッサは当該A
CPの使用態様により直列型と対称型とがある。上記直
列型は、処理の中枢であるメインプロセッサおよび従プ
ロセッサにより構成されて、当該メインプロセッサの制
御により従プロセッサによる演算を実行する。上記対称
型は、同一程度の機能を備えた複数のACPにより構成
され、複数のACPによる演算を並列に実行する。
2. Description of the Related Art Generally, two or more arithmetic control units (hereinafter, referred to as "operation control units")
ACP. ) Is called a multiprocessor computer, and the multiprocessor uses the A
There are a series type and a symmetric type according to the usage mode of the CP. The serial type is composed of a main processor and a sub-processor, which are the center of processing, and executes an operation by the sub-processor under the control of the main processor. The symmetric type is configured by a plurality of ACPs having the same degree of function, and executes operations by the plurality of ACPs in parallel.

【0004】上記ACPにより実行されるプログラムの
単位であるタスクは、オペレーティングシステム(O
S)の中枢であるタスク実行制御プログラムによりスケ
ジューリングされる。
A task, which is a unit of a program executed by the ACP, includes an operating system (OS).
Scheduled by the task execution control program which is the center of S).

【0005】上記対称型マルチプロセッサにおけるタス
クスケジューリングは、実行可能状態であるタスクを記
憶する主記憶上の実行要求列(以下、CPU待ち行列と
いう。)を各ACPのタスク実行制御プログラムがチェ
ックして走行タスクを決定し起動する。
In the task scheduling in the symmetric multiprocessor, a task execution control program of each ACP checks an execution request sequence (hereinafter, referred to as a CPU queue) on a main memory for storing a task in an executable state. Determine and start the running task.

【0006】上記タスクスケジューリングにより、各タ
スクは実行されるACPを選択できずに、その時の状況
により使用されていないACPに割り当てられる。上記
ACPに割り当てられて複数のタスクが並列に処理され
る。
[0006] By the task scheduling, each task cannot select an ACP to be executed, and is assigned to an ACP that is not used depending on the situation at that time. A plurality of tasks assigned to the ACP are processed in parallel.

【0007】一方、上述した対称型マルチプロセッサ電
子計算機の一般的な利用方法とは別に、タスクの実行す
るACPを指定する方法もある。例えば、一台の計算機
を運用およびテスト面で同時に使用する場合は、テスト
系のタスクの誤動作、例えば、無限ループによりシステ
ム全体に影響を及ぼさないようにする。上記テスト系の
タスクが実行可能なACPを指定することにより、タス
クが誤動作した場合でも他のACPの運用系は、継続し
て動作することが可能である。この場合、従来のタスク
スケジューリング方式は、CPU待ち行列により実行待
ち状態のタスクが管理され、当該CPU待ち行列に存在
するタスクが自ACPでスケジューリング可能か否か必
要であるため、対称型マルチプロセッサの利点が損われ
るおそれがあった。
On the other hand, apart from the general use of the above-mentioned symmetric multiprocessor computer, there is also a method of specifying an ACP for executing a task. For example, when one computer is used simultaneously for operation and test, a malfunction of a test-related task, for example, an infinite loop should not affect the entire system. By specifying an ACP that can execute the test task, even if the task malfunctions, the active system of another ACP can continue to operate. In this case, in the conventional task scheduling method, a task in an execution waiting state is managed by a CPU queue, and it is necessary to determine whether a task existing in the CPU queue can be scheduled by its own ACP. The benefits could be impaired.

【0008】[0008]

【発明が解決しようとする課題】しかしながら、対称型
マルチプロセッサ電子計算機における複数のプロセッサ
を効率的に使用することを目的としたタスクスケジュー
リング方式は、タスク単位に処理される一又は二以上の
ACPを指定する機能を追加した場合にはCPU待ち行
列にある対象タスクが自ACPで実行できるか否かを待
ち行列によりチェックする必要が生じる。従って、タス
クスケジューリング処理時間が増加するためにシステム
全体の負荷を増加して、システムのスループットの効率
の向上を妨げる問題があった。
However, the task scheduling method for efficiently using a plurality of processors in a symmetric multiprocessor computer uses one or more ACPs that are processed in units of tasks. When the specified function is added, it is necessary to check whether or not the target task in the CPU queue can be executed by the own ACP by using the queue. Accordingly, there is a problem that the task scheduling processing time increases, thereby increasing the load on the entire system and hindering improvement in the efficiency of the system throughput.

【0009】この発明は、このような従来の課題を解決
するためになされたもので、その目的は、タスク単位に
処理されるプロセッサを指定する機能を有する場合で
も、タスクスケジューリング処理を迅速に実行して、シ
ステムのスループットを向上することにより、高性能の
対称型マルチプロセッサのタスクスケジューリング方式
を提供することにある。
SUMMARY OF THE INVENTION The present invention has been made to solve such a conventional problem. It is an object of the present invention to quickly execute a task scheduling process even when a function to designate a processor to be processed in a task unit is provided. Another object of the present invention is to provide a high-performance symmetric multiprocessor task scheduling method by improving the system throughput.

【0010】[発明の構成][Structure of the Invention]

【0011】[0011]

【課題を解決するための手段】上記目的を達成するた
め、本発明は、複数のプロセッサによりタスクを並列に
処理する対称型マルチプロセッサのタスクスケジューリ
ング方式において、前記複数のプロセッサのうち任意の
プロセッサにより指定されたタスクを登録するACP指
定CPU待ち行列と、前記任意のプロセッサに指定され
ていないタスクを登録するCPU待ち行列とを具備し
て、待ち状態が解けて実行可能状態になったタスクの前
記複数のプロセッサのうち任意のプロセッサによる指定
の有無を調べて、当該指定が有の場合に当該実行可能状
態になったタスクを前記ACP指定CPU待ち行列に登
録し、当該任意のプロセッサによる指定が無の場合に当
該実行可能状態になったタスクを前記CPU待ち行列に
登録するタスク登録手段と、前記ACP指定CPU待ち
行列に登録されているタスクのうち自プロセッサの指定
に応答するタスクの登録の有無を調べて、自プロセッサ
の指定に応答するタスクが登録され、かつ、前記CPU
待ち行列にもタスクが登録されているときに当該ACP
指定CPU待ち行列およびCPU待ち行列に登録されて
いるタスクのうち最も優先度の高いタスクを選択し、当
該自プロセッサの指定に応答するタスクが登録され、か
つ、当該CPU待ち行列にタスクが登録されていないと
き当該ACP指定CPU待ち行列に登録されているタス
クのうち最も優先度の高いタスクを選択し、前記ACP
指定CPU待ち行列に登録されている自プロセッサに応
答するタスクが登録されていないときに前記CPU待ち
行列に登録されているタスクのうち最も優先度の高いタ
スクを選択するタスク選択手段とを備えたことを要旨と
する。
To achieve the above object, the present invention relates to a symmetric multiprocessor task scheduling system for processing tasks in parallel by a plurality of processors. An ACP-designated CPU queue for registering a designated task; and a CPU queue for registering a task not designated to the arbitrary processor, wherein the waiting state of the task which has been released and has become executable is determined. The presence or absence of designation by any processor among the plurality of processors is checked, and if the designation is present, the task in the executable state is registered in the ACP designated CPU queue. A task registration step of registering the task in the executable state in the CPU queue in the case of When the check the presence or absence of registration of the task of responding to a specified host processor of the tasks that ACP registered in the designated CPU queue, the task of responding to a specified host processor is registered, and the CPU
ACP when the task is also registered in the queue
The task having the highest priority is selected from the designated CPU queue and the tasks registered in the CPU queue, the task responding to the designation of the own processor is registered, and the task is registered in the CPU queue. If not, the task with the highest priority is selected from the tasks registered in the ACP designated CPU queue,
A task selecting means for selecting a task having the highest priority among tasks registered in the CPU queue when a task responding to the own processor registered in the designated CPU queue is not registered. That is the gist.

【0012】[0012]

【作用】上述の如く構成すれば、待ち状態が解けて実行
可能状態になったタスクの前記複数のプロセッサのうち
任意のプロセッサによる指定の有無を調べて、当該指定
が有の場合に当該実行可能状態になったタスクを前記A
CP指定CPU待ち行列に登録し、当該任意のプロセッ
サによる指定が無の場合に当該実行可能状態になったタ
スクを前記CPU待ち行列に登録する。
According to the above-mentioned structure, it is checked whether or not any of the plurality of processors has specified a task which has been released from the waiting state and is ready for execution. The task that has entered the state
The task is registered in the CP designated CPU queue, and the task that has become executable when the designation by the arbitrary processor is absent is registered in the CPU queue.

【0013】ACP指定CPU待ち行列に登録されてい
るタスクのうち自プロセッサの指定に応答するタスクの
登録の有無を調べて、自プロセッサの指定に応答するタ
スクが登録され、かつ、前記CPU待ち行列にもタスク
が登録されているときに当該ACP指定CPU待ち行列
およびCPU待ち行列に登録されているタスクのうち最
も優先度の高いタスクを選択し、当該自プロセッサの指
定に応答するタスクが登録され、かつ、当該CPU待ち
行列にタスクが登録されていないとき当該ACP指定C
PU待ち行列に登録されているタスクのうち最も優先度
の高いタスクを選択する。
A task that responds to the designation of its own processor is checked by checking whether or not a task that responds to the designation of its own processor among the tasks registered in the ACP designated CPU queue is registered. When the task is also registered, the ACP designated CPU queue and the task with the highest priority among the tasks registered in the CPU queue are selected, and the task responding to the designation of the own processor is registered. And if no task is registered in the CPU queue, the ACP designation C
The task with the highest priority is selected from the tasks registered in the PU queue.

【0014】一方、ACP指定CPU待ち行列に登録さ
れている自プロセッサに応答するタスクが登録されてい
ないときに前記CPU待ち行列に登録されているタスク
のうち最も優先度の高いタスクを選択するので、タスク
スケジューリング処理を迅速に実行できる。
On the other hand, when the task responding to the own processor registered in the ACP designated CPU queue is not registered, the task with the highest priority is selected from the tasks registered in the CPU queue. In addition, the task scheduling process can be executed quickly.

【0015】[0015]

【実施例】以下、本発明の一実施例を図面に基づいて説
明する。図1は本発明のマルチプロセッサにおけるタス
クスケジューリング方式を適用した対称型マルチプロセ
ッサ電子計算機の概略構成図である。
An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a schematic configuration diagram of a symmetric multiprocessor computer to which a task scheduling method in a multiprocessor according to the present invention is applied.

【0016】同図に示すように、本実施例では、高速バ
ス1にシステム制御部11が接続され、当該システム制
御部11には主記憶部13a〜13nが接続されてい
る。上記高速バス1には演算制御装置(以下、ACPと
いう。)3からACP9までの4台のACPが並列に接
続されて処理を実行している。
As shown in FIG. 1, in this embodiment, a system control unit 11 is connected to the high-speed bus 1, and main storage units 13a to 13n are connected to the system control unit 11. On the high-speed bus 1, four ACPs from an arithmetic and control unit (hereinafter referred to as ACP) 3 to ACP 9 are connected in parallel to execute processing.

【0017】図2は主記憶部13aから主記憶部13n
に記憶されているタスク制御ブロックテーブル(以下、
TCBという。)15を示す図である。
FIG. 2 shows main storage units 13a to 13n.
The task control block table stored in
It is called TCB. FIG.

【0018】上記TCB15にはタスク毎にプログラム
の補助記憶装置上の格納場所であるプログラム情報、タ
スク名、優先度、実行ACP番号情報17、レジスタ保
存領域、CPU待行列用領域21および実行ACP指定
CPU待行列用領域23を備えた構成である。
In the TCB 15, program information, task name, priority, execution ACP number information 17, register storage area, CPU queue area 21, and execution ACP designation are stored in the auxiliary storage device for each task. The configuration includes a CPU queue area 23.

【0019】上記実行ACP番号情報17は、ビット情
報の情報列19により構成され、0ビット目には1番目
のACP、1ビット目には2番目のACP、2ビット目
には3番目のACP、3ビット目には4番目のACPを
示す。図中、実行ACP番号情報17の情報例19は1
ビット目が「1」のため、2番目の図1に示したACP
5および3ビット目が「1」のため、4番目の図1に示
したACP9により本タスクが実行される。上記実行A
CP番号情報17はタスク登録時に指定される実行AC
P番号が設定される。
The execution ACP number information 17 is composed of an information sequence 19 of bit information. The 0th bit is the first ACP, the 1st bit is the second ACP, and the 2nd bit is the third ACP. The third bit indicates the fourth ACP. In the figure, the information example 19 of the execution ACP number information 17 is 1
Since the bit is “1”, the second ACP shown in FIG.
Since the fifth and third bits are “1”, this task is executed by the fourth ACP 9 shown in FIG. Execution A above
The CP number information 17 is the execution AC specified at the time of task registration.
The P number is set.

【0020】上記CPU待行列用領域21は後述するC
PU待ち行列25を記憶し、実行ACP指定CPU待行
列用領域23は後述する実行ACP指定CPU待ち行列
27を記憶している。
The CPU queue area 21 has a C
The PU queue 25 is stored, and the execution ACP-designated CPU queue area 23 stores an execution ACP-designated CPU queue 27 described later.

【0021】図3はタスクの実行順位を示す状態図であ
り、CPU待ち行列25および実行ACP指定CPU待
ち行列27を有する。上記CPU待ち行列25および実
行ACP指定CPU待ち行列27は主記憶部13a〜1
3nに記憶され、実行可能状態のタスクのTCBを実行
ACP指定の有無および実行優先度順に登録するために
用いられる。
FIG. 3 is a state diagram showing the order of execution of the tasks, and has a CPU queue 25 and an execution ACP designated CPU queue 27. The CPU queue 25 and the execution ACP designated CPU queue 27 are provided in the main storage units 13a to 13a.
3n, and is used for registering the TCB of the task in the executable state in the order of the presence or absence of the execution ACP designation and the execution priority.

【0022】上記CPU待ち行列25のエントリはタス
ク29のTCB15のX1 を登録して、当該タスク29
のTCB15のX1 は、タスク名がタスクA、優先度が
8、ACP指定が無である。
The entry of the CPU queue 25 to register the X 1 of TCB15 of the task 29, the task 29
X1 of the TCB 15 has a task name of task A, a priority of 8, and no ACP designation.

【0023】また、上記実行ACP指定CPU待ち行列
27のエントリはタスク31、タスク33、タスク35
のTCBを示すX2 ,X3 ,X4 を登録している。
The entries in the execution ACP designated CPU queue 27 are task 31, task 33, and task 35.
X 2 , X 3 , and X 4 indicating the TCB of the above are registered.

【0024】上記、タスク31のTCBのX2 は、タス
ク名がタスクB、優先度が10、ACP指定がACP0
を登録している。タスク33のTCBのX3 は、タスク
名がタスクC、優先度が15、ACP指定がACP0お
よびACP1を登録している。タスク35のTCBのX
4 はタスク名がタスクD、優先度が20、ACP指定が
ACP3を登録している。タスク37のTCBのX5
タスク名がタスクE、優先度が30、ACP指定がAC
P1およびACP2を登録している。
[0024] The above, X 2 in the TCB for task 31, task name task B, priority 10, ACP specified ACP0
Is registered. X 3 of the TCB for task 33, task name task C, priority 15, ACP specification has registered ACP0 and ACP1. Task 35 TCB X
Reference numeral 4 indicates that the task name is task D, the priority is 20, and the ACP designation is ACP3. X 5 of the TCB of the task 37 is the name of the task is the task E, priority is 30, ACP specified AC
P1 and ACP2 are registered.

【0025】上記CPU待ち行列25および実行ACP
指定CPU待ち行列27のエントリをオペレーションシ
ステム(以下、OSという。)のタスク実行制御プログ
ラムは、参照して実行タスクを決定し、当該タスクに制
御を移行する。
The CPU queue 25 and the execution ACP
The task execution control program of the operation system (hereinafter, referred to as OS) refers to the entry of the designated CPU queue 27 to determine an execution task, and transfers control to the task.

【0026】次に本実施例の作用を図4および図5のフ
ローチャートを用いて説明する。
Next, the operation of this embodiment will be described with reference to the flowcharts of FIGS.

【0027】まず、CPU待ち行列25および実行AC
P指定CPU待ち行列27への登録を図4を用いて説明
する。
First, the CPU queue 25 and the execution AC
Registration in the P designated CPU queue 27 will be described with reference to FIG.

【0028】タスクの待ち状態が解けて実行可能状態に
なるとタスク実行制御プログラムは、当該タスクの実行
ACP指定の有無を調べて当該実行ACP指定の無のと
きCPU待ち行列25に登録する。一方、上記実行AC
P指定の有のときステップ120に進む(ステップ10
0〜110)。
When the waiting state of the task is released and becomes executable, the task execution control program checks whether or not the execution ACP is specified for the task, and registers it in the CPU queue 25 when the execution ACP is not specified. On the other hand, the execution AC
If P is specified, proceed to step 120 (step 10
0-110).

【0029】ステップ120に進むとタスク実行制御ブ
ログラムは、実行可能状態のタスクの指定されたACP
に対する実行ACP指定CPU待ち行列27に登録する
処理を繰り返して、実行ACP指定CPU待ち行列27
への登録が終了すると処理が終了する(ステップ120
〜130)。
At step 120, the task execution control program executes the specified ACP of the executable task.
The process of registering in the execution ACP designated CPU queue 27 for the
When the registration to the is completed, the process ends (step 120).
~ 130).

【0030】上記CPU待ち行列25には、TCB中の
タスクの優先度により行なわれるため、TCB15中の
タスクが優先度順に登録されることになる。
Since the tasks are performed in the CPU queue 25 according to the priorities of the tasks in the TCB, the tasks in the TCB 15 are registered in priority order.

【0031】次に、タスク起動処理を図5を用いて説明
する。
Next, the task activation process will be described with reference to FIG.

【0032】タスク起動処理を実行するタスク実行制御
プログラムは、自ACP指定に対応するタスクが実行A
CP指定CPU待ち行列27への登録の有無を調べて当
該実行ACP指定CPU待ち行列27への登録が無のと
きステップ210に進み、一方、当該実行ACP指定C
PU待ち行列27への登録が有のときステップ230に
進む(ステップ200)。
The task execution control program for executing the task activation processing is such that the task corresponding to its own ACP designation is executed
It is checked whether or not there is any registration in the CP designated CPU queue 27, and if there is no registration in the execution ACP designated CPU queue 27, the process proceeds to step 210.
When there is registration in the PU queue 27, the process proceeds to step 230 (step 200).

【0033】ステップ210に進むとタスク実行制御プ
ログラムは、CPU待ち行列25にタスク、例えば、図
3に示したタスクAが登録されていると当該タスクAし
か登録されていないのでタスクAを起動タスクとして選
択してステップ260に進む。一方、上記CPU待ち行
列25にタスクが登録されていなければ処理を終了する
(ステップ210〜220)。
In step 210, if the task execution control program registers a task in the CPU queue 25, for example, the task A shown in FIG. 3, only the task A is registered. And proceeds to step 260. On the other hand, if the task is not registered in the CPU queue 25, the process ends (steps 210 to 220).

【0034】ステップ230に進むとタスク実行制御プ
ログラムは、CPU待ち行列25にタスク、例えば図3
に示したタスクAが登録されているとき当該CPU待ち
行列25と実行ACP指定CPU待ち行列27とに登録
されているタスク、例えば図3に示したタスクB〜タス
クEの優先度を比較して優先度の高いタスク、例えば優
先度30のタスクEを起動タスクとして選択する。一
方、上記CPU待ち行列25にタスクが登録されていな
いときタスク実行制御プログラムは、実行ACP指定C
PU待ち行列27に登録されているタスクのうち最も優
先度の高いタスクを起動タスクとして選択してステップ
260に進む(ステップ230〜260)。
In step 230, the task execution control program places a task, for example,
When the task A shown in FIG. 3 is registered, the priorities of the tasks registered in the CPU queue 25 and the execution ACP designated CPU queue 27, for example, the tasks B to E shown in FIG. A task with a higher priority, for example, a task E with a priority of 30 is selected as an activation task. On the other hand, when the task is not registered in the CPU queue 25, the task execution control program executes the execution ACP designation C
The task with the highest priority among the tasks registered in the PU queue 27 is selected as the activation task, and the process proceeds to step 260 (steps 230 to 260).

【0035】ステップ260に進むとタスク実行制御プ
ログラムは、起動タスクとして選択されたタスク、例え
ばタスクEの優先度と以前、実行して現在、実行待ち状
態の中断タスクの優先度とを比較する。比較により上記
選択されたタスクの優先度が高いときタスク実行制御プ
ログラムは、選択したタスク、例えばタスクEを待ち行
列から取出してスケジューリングする、タスク切換え処
理を行なうとともに、中断タスクを待ち行列に登録す
る。一方、中断タスクの優先度が高いときタスク実行制
御プログラムは、当該中断タスクをスケジューリングす
る(ステップ260〜270)。
In step 260, the task execution control program compares the priority of the task selected as the activation task, for example, task E, with the priority of the previously executed and currently suspended task waiting to be executed. When the priority of the selected task is higher by comparison, the task execution control program takes out the selected task, for example, task E from the queue, performs scheduling, performs a task switching process, and registers the interrupted task in the queue. . On the other hand, when the priority of the interrupted task is high, the task execution control program schedules the interrupted task (Steps 260 to 270).

【0036】これにより、ACP指定のタスクが存在し
てもタスクのスケジューリングの処理を迅速に実行でき
る。
Thus, even if a task specified by the ACP exists, the task scheduling process can be executed quickly.

【0037】また、任意のACPに障害が発生した場合
でも障害が発生したACPで指定されたタスクの実行が
不可能になるだけで、システム全体の処理の遅延を防止
できる。
Further, even if a failure occurs in an arbitrary ACP, it is only possible to execute the task specified by the failed ACP, thereby preventing a delay in the processing of the entire system.

【0038】[0038]

【発明の効果】以上説明したように、本発明では、CP
U待ち行列の他にプロセッサ指定待ち行列を備えて、プ
ロセッサの指定の有無を検索するので、タスク単位に処
理されるプロセッサを指定する機能を有する場合でも、
タスクスケジューリング処理を迅速に実行して、システ
ムのスループットを向上することにより、システムの性
能の向上を実現できる。
As described above, according to the present invention, the CP
A processor designation queue is provided in addition to the U queue, and the presence or absence of a processor is searched. Therefore, even if a function to designate a processor to be processed in a task unit is provided,
By performing the task scheduling process quickly and improving the throughput of the system, the performance of the system can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明は対称型マルチプロセッサのタスクスケ
ジューリング方式を適用した対称型マルチプロセッサ電
子計算機の概略構成図である。
FIG. 1 is a schematic configuration diagram of a symmetric multiprocessor computer to which a symmetric multiprocessor task scheduling method is applied.

【図2】タスク制御ブロックを示す図である。FIG. 2 is a diagram showing a task control block.

【図3】タスクの実行の制御を示す図である。FIG. 3 is a diagram showing control of task execution.

【図4】本発明の動作を示すフローチャートである。FIG. 4 is a flowchart showing the operation of the present invention.

【図5】本発明の動作を示すフローチャートである。FIG. 5 is a flowchart showing the operation of the present invention.

【符号の説明】[Explanation of symbols]

3〜9 演算制御装置 11 システム制御部 13a〜13n 主記憶部 15 タスク制御ブロックテーブル 17 実行ACP番号情報 19 情報列 23 実行ACP指定CPU待ち行列用領域 27 実行ACP指定CPU待ち行列 29〜37 タスク 3 to 9 arithmetic and control unit 11 system control unit 13a to 13n main storage unit 15 task control block table 17 execution ACP number information 19 information sequence 23 execution ACP designation CPU queue area 27 execution ACP designation CPU queue 29 to 37 tasks

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/46 G06F 15/16 CSDB(日本国特許庁)──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 6 , DB name) G06F 9/46 G06F 15/16 CSDB (Japan Patent Office)

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数のプロセッサによりタスクを並列に
処理する対称型マルチプロセッサのタスクスケジューリ
ング方式において、 前記複数のプロセッサのうち任意のプロセッサにより指
定されたタスクを登録するACP指定CPU待ち行列
と、 前記任意のプロセッサに指定されていないタスクを登録
するCPU待ち行列とを具備して、 待ち状態が解けて実行可能状態になったタスクの前記複
数のプロセッサのうち任意のプロセッサによる指定の有
無を調べて、当該指定が有の場合に当該実行可能状態に
なったタスクを前記ACP指定CPU待ち行列に登録
し、当該任意のプロセッサによる指定が無の場合に当該
実行可能状態になったタスクを前記CPU待ち行列に登
録するタスク登録手段と、 前記ACP指定CPU待ち行列に登録されているタスク
のうち自プロセッサの指定に応答するタスクの登録の有
無を調べて、自プロセッサの指定に応答するタスクが登
録され、かつ、前記CPU待ち行列にもタスクが登録さ
れているときに当該ACP指定CPU待ち行列およびC
PU待ち行列に登録されているタスクのうち最も優先度
の高いタスクを選択し、当該自プロセッサの指定に応答
するタスクが登録され、かつ、当該CPU待ち行列にタ
スクが登録されていないとき当該ACP指定CPU待ち
行列に登録されているタスクのうち最も優先度の高いタ
スクを選択し、 前記ACP指定CPU待ち行列に登録されている自プロ
セッサに応答するタスクが登録されていないときに前記
CPU待ち行列に登録されているタスクのうち最も優先
度の高いタスクを選択するタスク選択手段と、 を備えたことを特徴とする対称型マルチプロセッサのタ
スクスケジューリング方式。
1. A symmetric multiprocessor task scheduling method for processing tasks in parallel by a plurality of processors, an ACP-designated CPU queue for registering a task designated by an arbitrary processor among the plurality of processors, A CPU queue for registering a task that is not designated to any processor, and examining whether or not the task which has been released from the waiting state and has become executable is designated by any of the plurality of processors. If the designation is present, the task in the executable state is registered in the ACP designated CPU queue, and if the designation is not made by any of the processors, the task in the executable state is waited for in the CPU. A task registering means for registering in a queue; and a task registering means registered in the ACP designated CPU queue. A task that responds to the designation of its own processor is checked to determine whether or not a task that responds to the designation of its own processor is registered, and if the task is also registered in the CPU queue, the ACP Designated CPU queue and C
When the task with the highest priority is selected from the tasks registered in the PU queue, a task responding to the designation of the own processor is registered, and when no task is registered in the CPU queue, the ACP Selecting the task with the highest priority among the tasks registered in the designated CPU queue, and selecting the task which responds to its own processor registered in the ACP designated CPU queue when the task is not registered; And a task selecting means for selecting a task having the highest priority among tasks registered in the symmetric multiprocessor.
JP3009357A 1991-01-29 1991-01-29 Task Scheduling Method for Symmetric Multiprocessor Expired - Fee Related JP2986930B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3009357A JP2986930B2 (en) 1991-01-29 1991-01-29 Task Scheduling Method for Symmetric Multiprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3009357A JP2986930B2 (en) 1991-01-29 1991-01-29 Task Scheduling Method for Symmetric Multiprocessor

Publications (2)

Publication Number Publication Date
JPH04253228A JPH04253228A (en) 1992-09-09
JP2986930B2 true JP2986930B2 (en) 1999-12-06

Family

ID=11718221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3009357A Expired - Fee Related JP2986930B2 (en) 1991-01-29 1991-01-29 Task Scheduling Method for Symmetric Multiprocessor

Country Status (1)

Country Link
JP (1) JP2986930B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437032A (en) * 1993-11-04 1995-07-25 International Business Machines Corporation Task scheduler for a miltiprocessor system
JPH0830471A (en) * 1994-07-14 1996-02-02 Hitachi Ltd Execution processor change system for job
US6085227A (en) * 1998-03-20 2000-07-04 International Business Machines Corporation System and method for operating scientific instruments over wide area networks
US6735769B1 (en) * 2000-07-13 2004-05-11 International Business Machines Corporation Apparatus and method for initial load balancing in a multiple run queue system

Also Published As

Publication number Publication date
JPH04253228A (en) 1992-09-09

Similar Documents

Publication Publication Date Title
JP3696960B2 (en) Parallel processing system and parallel processing method
US5991790A (en) Generation and delivery of signals in a two-level, multithreaded system
US7290261B2 (en) Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor
US6061710A (en) Multithreaded processor incorporating a thread latch register for interrupt service new pending threads
US9384039B2 (en) Parallel memory migration
FI78993C (en) OEVERVAKARE AV DRIFTSYSTEM.
US7484032B2 (en) Fault tolerant computer system
JPH0814795B2 (en) Multiprocessor virtual computer system
JPS5841538B2 (en) Multiprocessor system instructions
US10545890B2 (en) Information processing device, information processing method, and program
JPH07311749A (en) Multiprocessor system and kernel substituting method
JP2843750B2 (en) Method and system for non-sequential instruction dispatch and execution in a superscalar processor system
US7216252B1 (en) Method and apparatus for machine check abort handling in a multiprocessing system
US20080134187A1 (en) Hardware scheduled smp architectures
JP2986930B2 (en) Task Scheduling Method for Symmetric Multiprocessor
JP3417463B2 (en) Method and system for handling interrupt requests
JPH0282343A (en) Interrupt handling method for multiprocessor system
JP2001022599A (en) Fault tolerant system, fault tolerant processing method and recording medium for fault tolerant control program
JPH05108380A (en) Data processing system
JPS62180455A (en) Multiplexing processor
JPH0668725B2 (en) Device for responding to interrupt condition in data processing system and method for responding to asynchronous interrupt condition
JPH0754467B2 (en) Data processing device
JPH04302352A (en) Multi processor system
JPS62221041A (en) Dispatch controller in virtual computer system
JP2022055002A (en) Information processing device, information processing method, and information processing program

Legal Events

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

Free format text: PAYMENT UNTIL: 20081001

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081001

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091001

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091001

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101001

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees