JPS58115569A - Multiprocessor method - Google Patents
Multiprocessor methodInfo
- Publication number
- JPS58115569A JPS58115569A JP21208281A JP21208281A JPS58115569A JP S58115569 A JPS58115569 A JP S58115569A JP 21208281 A JP21208281 A JP 21208281A JP 21208281 A JP21208281 A JP 21208281A JP S58115569 A JPS58115569 A JP S58115569A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- task
- mask
- processors
- indicates
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
この発明はプロセッサ割付は方式の改良(二より処理能
力の向上を図ったマルチプロセッサ方式に関するもので
ある。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an improved processor allocation method (secondarily, a multiprocessor method with improved processing capacity).
複数台のプロセッサから構成されるマルチプロセッサ・
システムにおいては、タスク(特定の目的をもった処理
の集合)の割付けに関するプロセツサ相互間の競合解決
手段として、マスクプロセッサ方式が採用されている。Multiprocessor system consisting of multiple processors
In the system, a mask processor method is adopted as a means for resolving conflicts between processors regarding assignment of tasks (a set of processes with a specific purpose).
この方式は、複数台のプロセッサのうちいずれか1台を
マスクプロセッサとし、これ(二従属する残りの各プロ
セッサは、他のプロセッサへの割付けを伴うタスクの実
行要求が生じたときにはその旨をマスクプロセッサ(−
通知し、この通知を受けたマスクプロセッサがそのタス
クの優先度、システム稼動状態などに応じこの実行要求
タスク(二対して触適のプロセッサを割付ける構成とな
っている。In this method, any one of the multiple processors is used as a mask processor, and each of the remaining processors that are subordinate to this processor performs a mask process when a request to execute a task that involves assignment to another processor occurs. Processor (−
The mask processor that receives this notification assigns the appropriate processor to the task requested to be executed depending on the priority of the task, system operating status, etc.
従来この稙マスタプロセッサ方式におけるプロセッサ割
付は処理は、すべてのタスクの状態を管理するためのタ
スク管理テーブル及びすべてのプロセッサの状態を管理
するためのブロヤッサ置場テーブルをマスクプロセッサ
内(=備え、各プロセッサからのタスク実行要求(二対
し、マスクプロセッサが以下(−示すような手順C1従
って割付けるべきプロセッサを選択するというソフトウ
ェア(二よる方式が採用されている。すなわち、あるタ
スクに対する起動要求が通知されると、マスタプロセッ
サはプロセッサ置場テーブルを調べて、タスクを実行し
ていない空き状態のプロセッサを探す。Conventionally, processor allocation in this basic master processor method is carried out by having a task management table for managing the status of all tasks and a Broyssa storage table for managing the status of all processors in the mask processor (== each processor A software (2) method is adopted in which the mask processor selects the processor to be allocated according to the procedure C1 shown below.In other words, when an activation request for a certain task is notified, Then, the master processor checks the processor location table to find an empty processor that is not executing any tasks.
窒き状態のプロセッサが見つかればそのプロセッサを起
動要求のあったタスクに割付ける。一方、空き状態のプ
ロセッサが見つからなければ、タスク管理テーブルを調
べて起動要求のあったタスクよりも優先順位の低いタス
クを実行しているプロセッサを探す。もし、そのような
プロセッサが見つかればそのプロセッサが実行中のタス
クを中断させ、起動要求のあった制い優先順位のタスク
を実行させる。一方、そのような低優先順位のタスクを
実行しているプロセッサが見つからなければ、 。If a stalled processor is found, that processor is assigned to the task for which activation was requested. On the other hand, if no free processor is found, the task management table is checked to find a processor that is executing a task with a lower priority than the task for which the startup request was made. If such a processor is found, the task being executed by that processor is interrupted, and the task with the highest priority that was requested to be activated is executed. On the other hand, if no processor is found running such a low priority task.
起動要求は保留さrる。上記プロセッサ割付は作業の結
果は、タスク管理テーブル及びプロセッサ管理テーブル
に記録される。特に、新た(=タスクが割付けられたプ
ロセッサについては、プロセッサ管理テーブル(二「タ
スク実行状態」が記録される。The activation request is put on hold. The results of the processor allocation work described above are recorded in the task management table and processor management table. In particular, for a processor to which a new task has been assigned, the processor management table (2) ``task execution state'' is recorded.
また各プロセッサは実行していたタスクを終了するたび
に、その旨をマスクプロセッサ(二通知する。この通知
を受けたマスクプロセッサのCPUは、タスク管理テー
ブル及びプロセッサ管理テーブル(二その旨を記録する
。特(ニタスクを終了したブロヤッサ:二ついては、プ
ロセッサ管理テーブルに「空き状態」が記録される。そ
の後マスクプロセッサのCPUはタスク管理テーブルを
調べ、起動要求が保留中のタスクあるいは優先順位が低
かったため実行が中断されたタスクが存在していれば、
そのうちいずれかを選択し、選択したタスクにプロセッ
サを割付ける作業を行なう。In addition, each time each processor finishes the task it was executing, it notifies the mask processor (2) of this fact. Upon receiving this notification, the CPU of the mask processor records the fact in the task management table and processor management table (2). .Particularly (Broyassa who finished a task: In two cases, "free status" is recorded in the processor management table. After that, the CPU of the masked processor checks the task management table, and if the activation request is pending or the task has a low priority) If there is a task whose execution has been interrupted,
Select one of them and assign the processor to the selected task.
しかしながら、上記マスクプロセッサ方式(−おけるプ
ロセッサ割付は方式には次のような欠点がある。すなわ
ち、タスク起動要求の通知及びタスク終了の通知はマス
クプロセッサのCPUで到婁順(二1つずつ処理される
ので、起動要求のあったタスク1ニプロセツサを割付け
る作業中に、タスクの終了(=伴って空き状態になった
プロセッサが発生した場合であってもその旨の通知がマ
スクプロセッサで保留されることになるので、マスクプ
ロセッサは新たに発生した空き状態を直も(二認識する
ことができない。このためマスクプロセッサは、空き状
態のプロセッサが実際(−存在する(二も拘らず、優先
順位の低いタスクを実行しているプロセッサをあえて中
断させ、このプロセッサに実行要求のあったプロセッサ
を割付けてしまうという不合理を生ずる場合がある。However, the above-mentioned mask processor method (processor allocation method in -) has the following drawbacks. In other words, notifications of task start requests and notifications of task completion are processed in the order of arrival (two by one) by the CPU of the mask processor. Therefore, even if a task ends (i.e., a processor becomes vacant as a result) while allocating the task 1 processor for which activation was requested, the notification to that effect will be deferred in the mask processor. Therefore, the mask processor cannot immediately recognize the newly generated free state.For this reason, the mask processor cannot recognize the newly generated free state immediately (2).Therefore, the mask processor cannot recognize the newly generated free state (2) even though the free state processor actually exists (2). In some cases, it may be unreasonable to purposely interrupt a processor that is executing a task with a low level of performance, and then allocate a processor that has requested execution to this processor.
第1図はこのような一例を示す概念図であり、横軸は時
間を示し、縦軸はプロセッサ及びこれらが実行中のタス
クの区分を示している。第1図において、7台のプロセ
ッサ21〜2丁のうちPlがマスクプロセッサであり、
こしに従属する各プロセッサPg −P?は時刻1o(
二おいてそtぞれタスクT1〜T?を実行している。こ
肚らタスクは、T1、TJ、T、、T6.T6、T7の
順(1優先順位が低くなるものとする。FIG. 1 is a conceptual diagram showing such an example, in which the horizontal axis represents time and the vertical axis represents the classification of processors and the tasks they are executing. In FIG. 1, among the seven processors 21 to 2, Pl is a mask processor,
Each processor Pg -P? is time 1o (
Tasks T1 to T, respectively? is running. The tasks are T1, TJ, T,, T6. In the order of T6 and T7 (one priority is lower).
時刻1.においてプロセッサPIが実行中のタスクT!
が新たなタスクT8の起動要求を発生する。これを受付
けたマスクプロセッサP1は上述した手順に従ってプロ
セッサ割付は作業を開始する。この割付は作業中に時刻
t、においてブロセツf Psめ実行中のタスクTsが
新たなタスクToの起動要求を発するが、これはマスク
プロセッサP、において保留される。引続いて時刻t1
においてプロセッサP4が実行していたタスクT&が終
了してタスク終了通知が発せられるが、これもマスクプ
ロセッサPIにおいて保留される。マスタブロセツ′f
P重は、時刻t4において、優先順位の最も低いタスク
T7を実行しているプロセッサ1%を選択し、これをプ
ロセッサP、から起動要求のあったタスクTs(二剤付
ける。ただしタスクT?に比べてタスクT8の優先順位
が高いものとする。Time 1. Processor PI is executing task T!
generates a request to start a new task T8. The mask processor P1 that has received this starts processor allocation work according to the procedure described above. During this assignment, at time t, task Ts, which is currently being executed by processor fPs, issues a request to start a new task To, but this request is suspended by mask processor P. Subsequently, time t1
In this step, the task T& executed by the processor P4 is completed and a task end notification is issued, but this is also put on hold in the mask processor PI. Master Broset'f
At time t4, the P-weight selects 1% of the processors that are executing the task T7 with the lowest priority, and assigns it to the task Ts that has been requested to be activated by the processor P. Assume that the priority of task T8 is higher than that of task T8.
マスクプロセッサのCPUは、タスクT8に対するプロ
セッサPqの割付けが終了すると、保留しておいたプロ
セッサP3からの起動要求の処理を開始する。このプロ
セッサ割付は処理は上述した手順と全く同様の手順で行
われる。この場合、プロセッサP、からのタスクT4の
終了通知が依然として保留されたままになっているので
、ンスタプロセッサはプロセッサP4が実際(二は空き
状9にあることを認識できない。このため、マスクプロ
セッサは、時刻tlにおいて、最も優先順位の低いタス
クT6を実行しているブロセッf Paのタスクを中断
させてこれをタスクTo(二剤付け、この割付けが終了
した後、はじめてプロセッサ八からのタスク終了通知の
処理を開始することになる。When the CPU of the mask processor finishes assigning the processor Pq to the task T8, it starts processing the pending startup request from the processor P3. This processor allocation process is performed in exactly the same manner as described above. In this case, since the completion notification of task T4 from processor P is still pending, the star processor cannot recognize that processor P4 is actually in the vacant state 9. Therefore, the mask At time tl, the processor interrupts the task of the processor fPa that is executing the task T6 with the lowest priority, and transfers it to the task To (two-way assignment; only after this assignment is completed is the task from the processor 8 Processing of the termination notification will begin.
このよう(=、従来方式(−おいてはプロセッサからの
タスク終了通知をタスク起動要求と同様(二到着顯にマ
スタプロセッサで処理していたので、マスクプロセッサ
が空き状態(−なったプロセッサの存在を認識するまで
長時間を要することかあり、システム全体の処理能力を
十分に発揮できないという欠点があった。In this way (=, conventional method (-), the task end notification from the processor was processed in the same way as a task activation request (at the second arrival, by the master processor), so the mask processor was in an empty state (-) This has the disadvantage that it takes a long time to recognize the system, and the processing capacity of the entire system cannot be fully utilized.
本発明は上記従来方式の欠点を考慮してなされたもので
あり、その目的は、マスクプロセッサが空き状態になっ
たプロセンナの存在を直も(二認識して、これを起動要
求のあったタスク(二剤付けることによってシステム全
体の処理能力の向上を図ったプロセッサ割付は方式を提
供することにある。The present invention has been made in consideration of the above-mentioned drawbacks of the conventional method, and its purpose is to immediately recognize the existence of a vacant prosenna by a mask processor, and to activate it for a task that has been requested to start. (The purpose of processor allocation is to provide a method for improving the processing capacity of the entire system by assigning two components.
以下本発明の詳細を実施例により説明する。The details of the present invention will be explained below with reference to Examples.
第2図は、本発明の一実施例に使用する空きプロセッサ
選択装置の構成の一例を示すブロック図であり、これは
マスクプロセッサ内(二股けらtている。マルチプロセ
ッサを構成するn台のプロセンナは、それぞれタスク実
行中であるか空き状態(二あるかを表示する状態フラグ
・レジスタ(図示せず)を備えており、これらのレジス
タの内容はそれぞれこの空きプロセッサ選択装置の対応
の入力端子11.12.13・・・1nl二人力する。FIG. 2 is a block diagram showing an example of the configuration of a free processor selection device used in an embodiment of the present invention. Each of the processors has a status flag register (not shown) that indicates whether the task is in execution or is in an idle state (not shown), and the contents of these registers are input to the corresponding input terminal 11 of the idle processor selection device. .12.13...1nl Two people work together.
これら入力端子はそれぞれ対応のゲート回路21.22
.25・・・2nの一方の入力端子(=結合されており
、これらゲート回路の他方の入力端子はインバータ60
を介してプロセンナ選択指示フラグ・レジスタ50の出
力端子(=結合されている。ゲート回路21.22.2
5・・・2nの出力端子は、対応のプロセッサ状態表示
フラグ・レジスタ31.32.33・・・3nの入力端
子(=結合され、これらレジスタの出力端子はプライオ
リティ・エンコーダ40の入力端子に結合されている。These input terminals are connected to corresponding gate circuits 21 and 22, respectively.
.. 25...2n (= are coupled, and the other input terminal of these gate circuits is connected to the inverter 60.
The output terminal of the prosena selection instruction flag register 50 (= is connected to the gate circuit 21.22.2
5...2n are coupled to the input terminals of the corresponding processor status display flag registers 31, 32, 33...3n, and the output terminals of these registers are coupled to the input terminals of the priority encoder 40 has been done.
このプライオリティ・エンコーダの出力端子はゲート回
路70の一方の入力端子に結合されており、このゲート
回路の他方の入力端子は、プロセッサ選択指示フラグ・
レジスタ50の出力端子に直結されている。ゲート回路
70の出力端子はブロヤッサ査号レジスタ80の入力端
子(二結合されており、このレジスタ80の内容は端子
81を介してマスクプロセッサのCPUに読出される。The output terminal of this priority encoder is coupled to one input terminal of a gate circuit 70, and the other input terminal of this gate circuit is connected to a processor selection instruction flag/
It is directly connected to the output terminal of the register 50. The output terminal of the gate circuit 70 is coupled to the input terminal of a Broyssa scan register 80, and the contents of this register 80 are read out to the CPU of the mask processor via a terminal 81.
入力端子1 t (i=1〜n)l二は、対応のプロセ
ッサlがタスクに割付けられたときに七゛のプロセッサ
がタスク実行状態になったことを示すフラグ(−0」が
マスクプロセッサのCPUから供給され、一方対応のプ
ロセッサ1がタスクを終了したときにそのプロセッサが
空き状態(−なったことを示すフラグ「1」がマスクプ
ロセッサのCPUを介することなくプロセッサlから直
接供給される。マスクプロセッサは、上述のように構成
された空きプロセッサ選択装置の他に、すべてのタスク
の進行状態を管理するためのタスク管理テーブル(図示
せず)を備えている。Input terminal 1t (i=1 to n)l2 is a flag (-0) of the mask processor indicating that processor 7 has entered the task execution state when the corresponding processor l is assigned to the task. On the other hand, when the corresponding processor 1 completes a task, a flag "1" indicating that the corresponding processor has become free (-) is directly supplied from the processor 1 without going through the CPU of the mask processor. In addition to the free processor selection device configured as described above, the mask processor includes a task management table (not shown) for managing the progress status of all tasks.
マスクプロセッサは、いずれかのプロセッサからタスク
に対する起動要求の通知を受けると、まずプロセッサ選
択指令フラグ・レジスタ50にブロヤツサの瑞択を指令
するフラグ「1」をセットする。これによってすべての
ゲート回路21〜2nが遮断され、すべてのプロセッサ
状態表示フラグ・レジスタ51〜3nが対応の入力端子
11〜1nから分離されてその内容の更新が禁止される
。プライオリティ・エンコーダ40は、プロセッサ状態
表示フラグ・レジスタ51〜3nからプロセッサ状態表
示フラグを読込み、プロセッサの空寡状態を表示するフ
ラグ「1」が1個だけ存在する場合(二はそのフラグを
出力しているレジスタ61の収容位置情報(プロセッサ
番号)を出力し、プロセッサの空き状態を表示するフラ
グ「1」が複数個存在する一場合にはそれらの中から所
定の優先順位(=従って1個を選択しそのプロセッサ番
号を出力する。一方ブライオリティ・エンコーダ40は
、睨込んだプロセッサ状態表示フラグがすべてタスク実
行中を表示する「0」を出力している場合(=は、1−
0」を出力する。プライオリティ・エンコーダ40から
出力された空き状態(二あるプロセッサ番号又はすべて
のプロセッサがタスク実行中であることな表示する「0
」は、ゲート70を介してプロセッサ番号レジスタ80
にセットさ牡る。When the mask processor receives notification of an activation request for a task from one of the processors, it first sets a flag "1" in the processor selection command flag register 50 to instruct the selection of the browser. As a result, all gate circuits 21-2n are cut off, all processor status display flag registers 51-3n are separated from corresponding input terminals 11-1n, and updating of their contents is prohibited. The priority encoder 40 reads the processor status display flags from the processor status display flag registers 51 to 3n, and if there is only one flag "1" indicating the availability status of the processor (2, it outputs that flag). Outputs the storage position information (processor number) of the register 61 that is in use, and if there are multiple flags "1" that indicate the idle state of the processor, a predetermined priority order (=therefore, one flag is selected from among them) is output. The priority encoder 40 selects the processor and outputs its processor number.On the other hand, if the processor status display flags looked at are all outputting "0" indicating that the task is being executed (= is 1-
0" is output. The idle state output from the priority encoder 40 (2 processor numbers or "0" indicating that all processors are executing tasks)
” is sent to processor number register 80 via gate 70.
Set the oyster.
マスクプロセッサのCPUは、更新さnたブロセツf査
号レジスタ80の内容を出力端子81を介して続収り、
こtが10」でなく空き状態にあるプロセッサの番号を
表示している場合(二は、その番号に対応するプロセッ
サを起動要求タスク(二剤付ける。一方マスタブロセノ
ナのCPUは、プロセッサ番号レジスタ80の内容が「
0」であって空きプロセッサが存在しない場合(二は、
タスク管理テーブルの内容に基いて、起動要求のあった
タスク4二比べて低い優先順位のタスクを実行している
プロセッサをさが丁。そのようなプロセッサが存在すれ
ばその実行中のタスクが中断されてこれに上動要求タス
クが割付けられ、七のようなプロセッサが存在しなけれ
ば起111]要求は保留される。マスクプロセッサのC
PUは、空き状態(二あったプσセッf4二起動要求の
あったタスクを割付けた場佇には、このプロセッサに対
応する入力端子111ニタスクの実行状態を示すフラグ
「0」を出力し、引続いてプロセッサ選択指令フラグ・
レジスタ50に「0」をセットする。これ(:より、入
力端子11〜1n上の新たなプロセッサ状態表示フラグ
がゲート21〜2nを介してレジスタ31〜3nζニセ
ツトされる。The CPU of the mask processor receives the updated contents of the block f sign register 80 via the output terminal 81, and
If the number of an idle processor is displayed instead of "10", the processor corresponding to that number is attached to the activation request task (2).On the other hand, the master processor's CPU is The content is “
0" and there are no free processors (the second is,
Based on the contents of the task management table, it searches for a processor that is executing a task with a lower priority than the task 42 that requested activation. If such a processor exists, the task being executed is interrupted and an up-request task is assigned to it; if no such processor exists, the request is suspended. Mask processor C
When the PU is in an empty state (in the idle state) and has assigned a task with a start request, the PU outputs a flag "0" indicating the execution state of the task to the input terminal 111 corresponding to this processor. Subsequently, the processor selection command flag
Set the register 50 to “0”. As a result of this (:), new processor status display flags on input terminals 11 to 1n are set to registers 31 to 3nζ via gates 21 to 2n.
一方各プロセッサは、実行していたタスクを終了したと
きI:は、まず対応の入力端子11上にプロセッサの空
き状態を表示するフラグ「1」を出力し、引続いてタス
クの終了をマスクプロセッサのCPU 4二通知する。On the other hand, when each processor finishes the task it was executing, I: first outputs a flag "1" indicating the idle state of the processor on the corresponding input terminal 11, and then masks the completion of the task. CPU 42 notification.
入力端子11上)二出力されたフラグ「1」は、CPU
がブロセツナ選択中でなければ直ちに、選択中であれば
これが終了するのなまって、ゲート21を介してレジス
タ61(ニセットされる。一方マスタブロセツサのCP
U l:通知されたタスク終了通知は、他のプロセッサ
からの終了通知あるいは起動要求などの到着順序に従っ
て直ちしあるいは適宜な時間保留されたのち処理され、
タスク管理テーブルの内容が更新さrる。引続いて、マ
スクプロセッサのCPUはタスク管理テーブルな−ベ、
起動要求が保留されているタスクあるいは優先順位が低
いため中断されていたタスクが存在すれば、そのうちの
いずれか1つを適宜な選択基準じ従って選択し、これに
空き状態になったプロセッサを割付けるための作業を行
う。The output flag “1” on the input terminal 11) indicates that the CPU
If the master processor is not selected, the master processor's CP
U l: The notified task completion notification is processed immediately or after being put on hold for an appropriate period of time according to the order of arrival of completion notifications or startup requests from other processors,
The contents of the task management table are updated. Subsequently, the CPU of the mask processor reads the task management table.
If there is a task with a pending startup request or a task that has been suspended due to low priority, select one of them according to the appropriate selection criteria and allocate the vacant processor to it. Do the work to attach it.
第6図は、本発明の一実施例に使用する空きプロセッサ
選択装置の他の構成の一例を示すブロック図である。こ
の装置は第2図示の装置と同様マスタプロセッサ内に設
けられている。第3図において、第2図と同一の芸照符
号を付した要素は、第2図に関し既に説明したものと同
一であるから、こnら(二ついては東復した説明を要し
ないであろう。第3図中91.92・・・9nは対応の
プロセッサ嘔、2・・・nの動作可能表示フラグをマス
クプロセッサのCPUから受ける入力端子、101.1
02・・・10nはこれら入力端子上のフラグを格納す
る動作可能表示フラグ・レジスタ、111.112・・
・11nはゲート回路である。FIG. 6 is a block diagram showing another example of the configuration of the free processor selection device used in one embodiment of the present invention. This device, like the device shown in the second figure, is located within the master processor. In Fig. 3, the elements with the same reference symbols as in Fig. 2 are the same as those already explained in relation to Fig. In Fig. 3, 91.92...9n are input terminals 101.1 that receive the operable display flag of the corresponding processor, 2...n, from the CPU of the mask processor.
02...10n are operational display flag registers that store flags on these input terminals, 111, 112...
-11n is a gate circuit.
マスクプロセッサのCPUは、起動要求のあったタスク
(ニプロセッサを割付けるための的外した作業において
、プロセッサ選択指令フラグ・レジスタ50に「1」を
セットする(二先立って、タスク管理テーブル:二保持
されているタスクごとに定められた動作可能表示フラグ
を続出し、これを入力端子91〜9nを介して動作可能
表示フラグ・レジスタ101〜10n+ニセツトする。The CPU of the mask processor sets the processor selection command flag register 50 to ``1'' in the task for which the startup request was made (in a misguided task to allocate two processors). A ready display flag determined for each held task is successively outputted, and this flag is reset to ready display flag registers 101-10n+ via input terminals 91-9n.
この動作可能表示フラグは、現在要求されているタスク
に対し動作が許容されているプロセッサについては「1
」が割当てられており、その他のプロセッサ(二ついて
は−」が割当てられている。マスクプロセッサのCPU
は、動作可能表示フラグをレジスタ101〜10n(ニ
セットしたのち、入力端子51を介してプロセッサ選択
指令フラグ・レジスタ50に「1」をセットfる。This operable display flag is set to “1” for a processor that is allowed to operate for the currently requested task.
" is assigned, and the other processors (two of them are assigned -"). The CPU of the mask processor
After setting the operable display flag in the registers 101 to 10n, the processor selection command flag register 50 is set to "1" via the input terminal 51.
以後、第2図(二関し説明したと同様の動作が行われ、
実行要求があったタスク(二側付けるべきプロセッサが
選択される。従ってこの構成4二おいては、空き状態C
二ありかつタスク(二対する動作が許容さnているプロ
セッサを選択することができるので、空き状態にあるプ
ロセッサを一旦選択したのちこれについてタスクに対す
る動作の許否を判断する手順が不要I:なり、選択時間
の短縮が可能になる。After that, the same operation as explained in FIG.
The task for which execution was requested (the processor to be attached to the second side is selected. Therefore, in this configuration 42, the idle state C
Since it is possible to select a processor that has two tasks and is allowed to operate on two tasks, there is no need to select an idle processor and then judge whether or not the task is allowed to operate on it. The selection time can be shortened.
第2図及び第3図に例示したプロセッサ選択装置におい
て、レジスタ80を省略してゲート回路70の出力をマ
スクプロセッサのCPUが直接続収る構成とすることも
できる。あるいはまた、プライオリティ・エンコーダ4
0、レジスタ61〜3nの一方又は双方をマスクプロセ
ッサのCPUからイネーブル、デセーブルする構成とす
ることにより、レジスタ50、ゲート回路21〜2n及
び70を省略することもできる。また、プロセッサがタ
スク実行状態(二なったことをマスクプロセッサのCP
Uから通知する例を示したが、この通知を各プロセッサ
から行う構成とすることもできる。In the processor selection device illustrated in FIGS. 2 and 3, the register 80 may be omitted and the output of the gate circuit 70 may be directly connected to the CPU of the mask processor. Alternatively, priority encoder 4
By configuring one or both of the registers 61 to 3n to be enabled or disabled from the CPU of the mask processor, the register 50 and the gate circuits 21 to 2n and 70 can be omitted. In addition, the mask processor's CP indicates that the processor is in the task execution state (second state).
Although an example has been shown in which the notification is sent from U, it is also possible to have a configuration in which this notification is sent from each processor.
またプライオリティ・エンコーダ40の塙択基準として
はシステムの特性に含わせて適宜なものを選択できる。Further, the selection criteria for the priority encoder 40 can be appropriately selected depending on the characteristics of the system.
例えば空き状態を表示している複数台のプロセッサのう
ち最右端又は左端のものを選択する構成、あるいは無作
為的(=選択する構成、これらの選択基準を負荷状況に
応じて変更できる構成とすることもできる。For example, a configuration in which the rightmost or leftmost processor is selected among multiple processors displaying free status, or a configuration in which the processor is randomly selected (= selected), or a configuration in which these selection criteria can be changed according to the load status. You can also do that.
以上詳細シニ説明したように、本発明は、各プロセッサ
が実行中のタスクを終了したときにこのプロセッサが空
き状態になったことを表示するプロセッサ状態表示フラ
グをマスクプロセッサのCPUを介さずこのプロセッサ
から直接マスクプロセッサ内のレジスタにセットする構
成であるから、CPUは空きプロセッサの存在を直ちに
認識でき、わずかなハードウェアの追加によりシステム
全1本の処理能力を大幅向上できるという利点がある。As described above in detail, the present invention enables the processor status display flag that indicates that the processor is in an idle state when each processor finishes the task it is executing to be executed by the processor without going through the CPU of the mask processor. Since the mask is directly set in a register in the processor, the CPU can immediately recognize the existence of a free processor, and has the advantage that the processing capacity of the entire system can be greatly improved by adding a small amount of hardware.
弗1図は従来方式の問題点を説明するための概念図、第
2図、′!!IIs図は本発明の一実施例に使用するプ
ロセッサ選択装置の構成の一例を図示するブロック図で
ある。
11〜1n・・・入力端子、21〜2n・・・ゲート回
路、31〜3n・・・プロセッサ状態表示フラグ・レジ
スタ、40・・・プライオリティ・エンコーダ、50・
・・プロセッサ選択指示フラグ・レジスタ、70・・・
ゲート回路、80・・・プロセッサ番号レジスタ、91
〜9n・・・入力端子、101〜10n・・・動作可能
表示フラグ・レジスタ、111〜11n・・・ゲート回
路。
第1図
第3図Figure 1 is a conceptual diagram to explain the problems of the conventional method, Figure 2, '! ! FIG. IIs is a block diagram illustrating an example of the configuration of a processor selection device used in an embodiment of the present invention. 11-1n...input terminal, 21-2n...gate circuit, 31-3n...processor status display flag register, 40...priority encoder, 50...
...Processor selection instruction flag register, 70...
Gate circuit, 80... Processor number register, 91
~9n...input terminal, 101~10n...operable display flag/register, 111~11n...gate circuit. Figure 1 Figure 3
Claims (1)
サから構成されるマルチプロセッサ・システムにおいて
、 各プロセッサがタスクを終了したときに該プロセッサが
空き状態4二なったことを表示するプロセッサ状態表示
フラグを該プロセッサから受けかつ各プロセッサがタス
クに割付けられたときに該プロセッサがタスク実行状態
(二なったことを表示するプロセッサ状態表示フラグを
該プロセッサ又はマスタプロセッサのCPUから受け、
該受けたプロセッサ状態・表示フラグをマスクプロセッ
サのCPUの制御幅二基いて格納するプロセッサ対応(
二設けられたレジスタ、該プロセッサ対応に設けられた
レジスタの内容(二基き空き状態にあるプロセッサが存
在する場合には所定の選択基準(二従って空き状DI=
あるいずれか1台のプロセッサを選択して該プロセッサ
番号を出力しかつ空き状態にあるプロセッサが存在しな
い場合(二はその旨を表示する信号を出力する選択手段
、及びタスク管理テーブルをマスクプロセッサに備え、 マスクプロセッサは、各プロセッサからタスクの起動要
求を受けたときは前記選択手段の出力信号を検出し、該
出力信号がプロセッサ番号を表示している場合(=は該
番号を有するプロセッサを前記起動要求に係るタスク(
二剤付け、前記出カイ8号が空きプロセッサの不存在を
表示している場合(=は目ij記タスク管理テーブルに
従って選択したプロセッサを前記起動要求に係るタスク
(二剤付けることを特徴とするマルチプロセッサ方式。[Scope of Claims] In a multiprocessor system consisting of a master processor and a plurality of subordinate processors, a processor that indicates that the processor is in an idle state when each processor completes a task. Receives a status display flag from the processor, and receives a processor status display flag from the CPU of the processor or the master processor to indicate that the processor is in a task execution state when each processor is assigned to a task;
Processor-compatible (
2 registers provided, the contents of the registers provided corresponding to the processors (2) If there are processors in the free state, the predetermined selection criteria (2) Therefore, the free state DI =
If one processor is selected and the processor number is output, and there is no free processor (the second is a selection means for outputting a signal indicating this and a task management table to the mask processor). The mask processor detects the output signal of the selection means when receiving a task activation request from each processor, and if the output signal indicates a processor number (= indicates that the processor having the number is selected from the selection means). Tasks related to startup requests (
If the output No. 8 indicates the absence of a free processor (= indicates that the processor selected according to the task management table in item ij is assigned to the task related to the activation request (characterized by attaching two processors). Multiprocessor method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21208281A JPS58115569A (en) | 1981-12-29 | 1981-12-29 | Multiprocessor method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21208281A JPS58115569A (en) | 1981-12-29 | 1981-12-29 | Multiprocessor method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS58115569A true JPS58115569A (en) | 1983-07-09 |
Family
ID=16616565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21208281A Pending JPS58115569A (en) | 1981-12-29 | 1981-12-29 | Multiprocessor method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS58115569A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63163566A (en) * | 1986-12-25 | 1988-07-07 | Agency Of Ind Science & Technol | Parallel computer |
JP2002063148A (en) * | 2000-07-13 | 2002-02-28 | Internatl Business Mach Corp <Ibm> | Multiple processor system |
JP2003241980A (en) * | 2002-02-06 | 2003-08-29 | Internatl Business Mach Corp <Ibm> | Thread dispatch mechanism and method for multiprocessor computer systems |
-
1981
- 1981-12-29 JP JP21208281A patent/JPS58115569A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63163566A (en) * | 1986-12-25 | 1988-07-07 | Agency Of Ind Science & Technol | Parallel computer |
JP2002063148A (en) * | 2000-07-13 | 2002-02-28 | Internatl Business Mach Corp <Ibm> | Multiple processor system |
JP2003241980A (en) * | 2002-02-06 | 2003-08-29 | Internatl Business Mach Corp <Ibm> | Thread dispatch mechanism and method for multiprocessor computer systems |
US7487504B2 (en) | 2002-02-06 | 2009-02-03 | International Business Machines Corporation | Thread dispatch for multiprocessor computer systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0644487B1 (en) | Scalable system interrupt structure for a multiprocessing system | |
US7386619B1 (en) | System and method for allocating communications to processors in a multiprocessor system | |
EP0969383A2 (en) | Method for efficient non-virtual main memory management | |
JP2000181886A (en) | Interruption architecture for data processing system | |
JP2004303237A (en) | Apparatus and method for virtualizing interrupt in logically partitioned computer system | |
JPH1097490A (en) | Method and device for distributing interruption without changing bus width or bus protocol in scalable symmetrical multiprocessor | |
CN111831408A (en) | Asynchronous task processing method and device, electronic equipment and medium | |
EP0644489A2 (en) | Method and apparatus for signalling interrupt information in a data processing system | |
JPH06236344A (en) | Method and apparatus for arbitration between plurality of data transfer requests | |
AU603876B2 (en) | Multiple i/o bus virtual broadcast of programmed i/o instructions | |
JP2690435B2 (en) | Multiprocessor system having microprogram means for dispatching processing to a processor | |
CN112001837B (en) | CDVS multi-process driving method and device, electronic equipment and storage medium | |
JP2821345B2 (en) | Asynchronous I/O control method | |
JPS58115569A (en) | Multiprocessor method | |
JP3644042B2 (en) | Multitask processing device | |
JP2000227872A (en) | Dynamic slot allocation and tracking method for request of plural memories | |
JP2804478B2 (en) | Task control system and online transaction system | |
JPH08292932A (en) | Multiprocessor system and method for performing a task in a multiprocessor system | |
JP3733402B2 (en) | Processor resource selection method, processor resource selection system therefor, and computer-readable program recording medium | |
JPH06187312A (en) | Processing method and its device in multi-cpu system | |
CN118916150B (en) | Multi-host task synchronizer and multi-host task synchronization method | |
JPH11249917A (en) | Parallel computers, their batch processing method, and storage medium | |
JP2004086921A (en) | Multiprocessor system and method for performing tasks in multiprocessor system | |
CN114327825A (en) | New ticket reminder method and system | |
JPH0586574B2 (en) |