JPS6016668B2 - Processor selection method in multiprocessor systems - Google Patents
Processor selection method in multiprocessor systemsInfo
- Publication number
- JPS6016668B2 JPS6016668B2 JP13583378A JP13583378A JPS6016668B2 JP S6016668 B2 JPS6016668 B2 JP S6016668B2 JP 13583378 A JP13583378 A JP 13583378A JP 13583378 A JP13583378 A JP 13583378A JP S6016668 B2 JPS6016668 B2 JP S6016668B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- time counter
- contents
- processors
- interrupts
- 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
Links
Landscapes
- Exchange Systems With Centralized Control (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】
この発明はマルチプロセッサシステムにおけるプロセッ
サ選択方式に関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a processor selection method in a multiprocessor system.
オンラインシステムにおいて、複数のプロセッサを同時
に動作させ、かつ平等な処理をおこなわせるならば、シ
ステムの拡張性(あるいはシステムを構成するプロセッ
サの増設性)、信頼性が向上する。In an online system, if multiple processors can operate simultaneously and perform equal processing, the expandability of the system (or the ability to add more processors to make up the system) and reliability will improve.
特に、プロセッサの数に関係なく制御方式を同じにでき
れば、システム規模が拡張されたときのプロセッサの数
の増加、あるいはシステム内のあるプロセッサで障害が
発生しそのプロセッサが切離された際のプロセッサ数の
減少などにあっても、他のプロセッサにほとんど影響を
与えることがないようにできる。なお、このような平等
な複数のプロセッサにより、単一の目的の仕事をおこな
わせるためには、一般には各プロセッサから平等にアク
セスできる共通なメモリが設けられていることが必要で
あり、このメモリにおこなうべき一群の仕事が記憶され
ている。そして、これを各プロセッサが各々取り出して
、その処理をおこなう。そして、この場合、各プロセッ
サにどのように仕事を割付けるか、即ちそのスケジュー
リングが重要になる。例えば、電子交f奥勝のような、
実時間処理で同時に多数の処理を並行してここなわなけ
ればならないようなシステム、また非常に時間精度の高
い処理を要求されるオンラインシステムにあっては、ス
ケジューリング方式として、一定時間間隔の割込みによ
る優先処理方式がとられている。In particular, if the control method could be the same regardless of the number of processors, it would be possible to control Even if the number of processors decreases, it can be ensured that other processors are hardly affected. Note that in order to have multiple equal processors perform work for a single purpose, it is generally necessary to provide a common memory that can be accessed equally by each processor, and this memory A group of tasks to be performed is memorized. Then, each processor takes out this data and processes it. In this case, how to allocate work to each processor, ie, its scheduling, becomes important. For example, electronic exchange f Oku Masaru,
For systems that require real-time processing to perform a large number of processes in parallel, or for online systems that require highly time-accurate processing, a scheduling method that uses interrupts at fixed time intervals is recommended. A priority processing method is used.
この方式は、例えば、ahs毎のクロックの割込みを使
用し、割込まれると現在実行中の処理を中断し、より高
い優先度、即ち時間精度を要する処理をおこなわせ、こ
の処理の終了した後に中断した処理の実行を再開させる
ような方式である。このような場合、高い優先度を有す
る処理は複数あり、また実行時間間隔が処理内容により
異なる性質を持っている。例えば、ある処理は毎回、即
ち&hs毎に実行され、また他の処理は1回おき、即ち
18hs毎に、更に他の処理は4回に1度、即ち32h
s毎に実行される。従来は、このようなスケジューリン
グを固定された唯一のマスタプロセツサがおこなってお
り、自己を含め他のプロセッサに夫々の実行すべき仕事
を割付けていた。This method uses, for example, clock interrupts for each ahs, and when an interrupt occurs, the process currently being executed is interrupted, a process that requires higher priority, that is, time accuracy, is performed, and after this process is completed, This method restarts the execution of interrupted processing. In such a case, there are a plurality of processes with high priority, and the execution time interval has a property that the execution time varies depending on the content of the process. For example, some processes are executed every time, i.e. every
Executed every s. Conventionally, such scheduling has been performed by a single, fixed master processor, which has assigned tasks to be executed by other processors, including itself.
しかしながら、マスタプロセッサは常にシステム全体に
幾つのプロセッサが存在しているのかを認識して管理し
なければならないため、上述の方法では、プロセッサの
増設時には、新たにプロセッサが追加されたことをマス
タプロセツサに知らせる必要があった。いずれかのプロ
セッサに障害が発生した場合には、そのプロセッサは切
離されるが、そのプロセッサには仕事を割付けないよう
にしなければならないため、それを認識する必要もあっ
た。もし、マスタプロセツサに障害が発生したときには
、他のプロセッサのうちのいずれかが代りにマスタプロ
セツサとして働くようにしないとシステム全体が停止し
てしまうことになる。そのため、マスタプロセツサ交代
のための複雑な処理を必要としていた。この発明の目的
はマルチプロセッサシステム内のプロセッサの数とは独
立に上述のごときスケジューリングを可能とするプロセ
ッサの選択方式を提供することにある。However, since the master processor must always recognize and manage how many processors are present in the entire system, the above method does not allow the master processor to notify that a new processor has been added. I needed to let Setsa know. If a failure occurs in one of the processors, that processor will be disconnected, but since it is necessary to avoid assigning work to that processor, it is also necessary to recognize this fact. If a failure occurs in the master processor, the entire system will stop unless one of the other processors takes over as the master processor. Therefore, complicated processing is required to change the master processor. An object of the present invention is to provide a processor selection method that enables the above-described scheduling independently of the number of processors in a multiprocessor system.
この発明の特徴は、複数のプロセッサがすべてに共通な
少なくとも1つのメモ川こ接続され、かつ各プロセッサ
は一定周期毎に割込みを発生するごときマルチプロセッ
サシステムにおいて、一定周期毎の割込みの回数を計数
しかつ処理の実行間隔を制御するシステム内で共通なシ
ステムタイムカウンタと、各プロセッサの夫々に設けら
れ、そこで発生した割込みを計数するプロセッサカウン
タと、複数のプロセッサから割込み要求が発生されたと
きには、そのなか)らただ1つのプロセッサのみを選択
する機構を有し、選択されたプロセッサはシステムタイ
ムカウンタと自己のプロセッサタイムカウンタとの内容
を比較し、両者が一致していれば、両カウンタの内容を
等しく歩進せしめ、以後プロセッサがシステムのマスタ
プロセツサとして所定の処理を実行し、また前記両カウ
ンタの内容が一致していないときは、システムタイムカ
ウンタの内容により前記当該プロセッサのプロセッサタ
イムカゥンタの内容を書き換えることにある。一般にマ
ルチプロセッサシステムではrest&Set命令等に
より、プログラム上での排他制御手段、即ち1台のプロ
セッサのみが権利を得るような機能を有している。A feature of the present invention is that in a multiprocessor system in which a plurality of processors are connected to at least one memory card common to all processors, and each processor generates interrupts at regular intervals, the number of interrupts at regular intervals is counted. In addition, there is a system time counter that is common within the system to control the execution interval of processing, a processor counter that is provided for each processor and counts interrupts that occur there, and when interrupt requests are generated from multiple processors, The selected processor compares the contents of the system time counter and its own processor time counter, and if they match, the contents of both counters are If the processor executes a predetermined process as the master processor of the system, and the contents of the two counters do not match, the processor time counter of the processor is incremented by the contents of the system time counter. The purpose is to rewrite the contents of. In general, a multiprocessor system has exclusive control means on a program, ie, a function that allows only one processor to obtain rights, using a rest & set command or the like.
この機能を利用して、例えば&hsのクロツクの割込み
を各プロセッサに一斎に起し、各プロセッサに同一番地
の命令を実行させ、前記の排他制御手段により、最も早
く実行したプロセッサのみが権利を得るようにし、その
プロセッサによってスケジユーリングをおこなえば、個
定的なマスタプロセツサを決めることなくシステム全体
のスケジューリングが可能となる。なお、このように1
つのプロセッサのみが先行して権利を得られる機構はシ
ステムの共通メモリのアクセス機構も関係している。メ
モリには同時には1つのプロセッサからのアクセスしか
受付けられないため、そのアクセス機構に選択回路を一
般的に有している。このために、同時に割込みを発生さ
せて同一番地からの同一命令列を各プロセッサが実行し
ても、前記の排他制御手段を使用する時刻は各プロセッ
サとも異なり、また前記の選択回路の選択順序はランダ
ムになっているので、いずれのプロセッサでもスケジュ
ーリングの権利を持つことが可能となる。スケジューリ
ング権を得たプロセッサは、その周期に実行すべき処理
を決定し、共通メモリにそれを記憶させ、かつ他のプロ
セッサには実行すべき処理が決定したことを共通メモリ
のフラグを逸して知らせる。By using this function, for example, an &hs clock interrupt is issued to each processor at the same time, causing each processor to execute an instruction at the same location, and using the exclusive control means described above, only the processor that executes the instruction earliest gains the right. If this processor is used for scheduling, it becomes possible to schedule the entire system without determining an individual master processor. In addition, like this 1
The mechanism by which only one processor can obtain rights in advance also involves the system's common memory access mechanism. Since a memory can only accept access from one processor at a time, the access mechanism generally includes a selection circuit. For this reason, even if each processor simultaneously generates an interrupt and executes the same instruction sequence from the same address, the time at which the exclusive control means is used is different for each processor, and the selection order of the selection circuit is different. Since it is random, any processor can have scheduling rights. A processor that has acquired scheduling rights determines the process to be executed in that period, stores it in the common memory, and notifies other processors that the process to be executed has been determined by ignoring the flag in the common memory. .
これにより、各プロセッサは再び排他制御手段を使用し
て、同時には1つのプロセッサが順次決められた処理の
うちの1つだけを取出し、その処理を実行する。その処
理の実行が終了すると、再び同様な手段で残っている処
理のなか)ら1つを取出して実行する。最終に実行すべ
き処理がなくなると、割込みにより中断していた処理に
戻って実行する。しかしながら、このようなスケジュー
リング方式がとられた場合、プロセッサが目下実行して
いる処理のなかには、クロツク割込みによる中断が望ま
しくないものがあり、その間はクロツク割込みを禁止す
る割込みマスクを立ているプロセッサが存在するかも知
れないことを考慮する必要がある。As a result, each processor uses the exclusive control means again, so that one processor simultaneously picks up only one of the sequentially determined processes and executes that process. When the execution of that process is completed, one of the remaining processes is extracted and executed again using the same method. When there are no more processes to execute, the process returns to the process that was interrupted by the interrupt. However, when such a scheduling method is adopted, some processes currently being executed by the processor may not be interrupted by clock interrupts, and some processors set an interrupt mask that prohibits clock interrupts during that time. You need to consider what you might do.
クロツク割込みマスクを外すタイミングはクロツク割込
みとは無関係であり、マクを外した時既にクロツク割込
みがあって持たせている場合には直ちに割込み動作に入
らなければならない。しかし、その時には自分がスケジ
ューリング権を得ることのできる、先頭に排他制御手段
を使用したプロセッサなのか、あるいは既に他のプロセ
ッサがそれをおこなった後なのかわからず、前述したご
ときスケジューリングの方法を用いることができなくな
る。そこで、この発明においては、次に述べるごとき構
成により、上述の問題点をも解決している。The timing at which the clock interrupt mask is removed has nothing to do with the clock interrupt, and if there is already a clock interrupt when the mask is removed, interrupt operation must be started immediately. However, at that time, it is not known whether the processor that can obtain the scheduling right is the one that uses the exclusive control means first, or whether the other processor has already performed the same, so the scheduling method described above is used. I won't be able to do that. Therefore, in the present invention, the above-mentioned problems are also solved by the following configuration.
第1図はこの発明の一実施例を示すものであるが、図に
おいて、1はマルチプロセッサシステムを構成している
プロセッサ、2は比較手段、3はプロセッサタイムカウ
ンタ、4は歩進手段を示すものである。この発明を適用
されたマルチプロセッサシステムは、か)る構成(一点
鎖線で囲まれた構成)を複数個有するものであるが、図
においては、代表的に1つのもの)み詳細構成を示し、
他は省略されている。5は排他制御手段、6はシステム
タイムカウソタを示す。FIG. 1 shows an embodiment of the present invention. In the figure, 1 is a processor constituting a multiprocessor system, 2 is a comparison means, 3 is a processor time counter, and 4 is an increment means. It is something. A multiprocessor system to which the present invention is applied has a plurality of such configurations (configurations surrounded by dashed-dotted lines), but in the figure, only one () is representatively shown in detail,
Others are omitted. Reference numeral 5 indicates exclusive control means, and reference numeral 6 indicates a system time counter.
システムタイムカウンタ6はシステム全体におし、て発
生した割込み回数を計数し、かつ処理の実行間隔を制御
する。A system time counter 6 counts the number of interrupts that have occurred in the entire system, and controls the processing execution interval.
これは、例えば11を法とするカウンタで、12蚤目の
割込みでカウンタの値を宅にする。これにより、ahs
×12=98hsの周期で実行時刻を認識するものであ
って、各処理は、最大96hs、一般には98hsの整
数分の一、そして最小8hsの周期で実行されうる。各
プロセッサは、割込みのある度に、システムタイムカウ
ンタ6の内容を自己のプロセッサタイムカウンタ3に転
写しておく。第2図は、第1図に示した実施例の動作の
概略を示すフロー図であるが、この図を参照しながら、
上記実施例の動作について説明する。This is, for example, a counter modulo 11, and the value of the counter becomes zero at the 12th interrupt. This allows ahs
The execution time is recognized at a cycle of ×12=98hs, and each process can be executed at a maximum of 96hs, generally an integer fraction of 98hs, and at a minimum of 8hs. Each processor copies the contents of the system time counter 6 to its own processor time counter 3 each time an interrupt occurs. FIG. 2 is a flow diagram showing an outline of the operation of the embodiment shown in FIG.
The operation of the above embodiment will be explained.
例えば、マルチプロセッサシステムを構成しているすべ
てのプロセッサがクロツク割込みを一斎に起すと、排他
制御手段5により唯一のプロセッサ1が選択される。For example, if all processors constituting a multiprocessor system generate clock interrupts at the same time, the exclusive control means 5 selects the only processor 1.
なお、この排他制御機能は、例えばTest&Set命
令であってもよいことは既に述べた通りである。唯一の
プロセッサが選択されると、そのプロセッサのタイムカ
ゥンタ3の内容と、システムタイムカウンタ6内容とが
比較手段2において比較される。両カゥンタ3および6
の内容が一致していると、比較手段2は一致信号を出力
し、その信号は歩進手段4を介して、前記両カウンタ3
および6を等しく歩進せしめる。Note that, as already stated, this exclusive control function may be, for example, a Test&Set command. When only one processor is selected, the contents of the time counter 3 of that processor and the contents of the system time counter 6 are compared in the comparison means 2. Both counters 3 and 6
If the contents of
and 6 are equally advanced.
あるいは、カウン夕6のみを歩進させ、その内容をカウ
ンタ3に転写するようにしてもよい。また、前記両カゥ
ンタ3および6の内容が一致していると云うことは、排
他制御手段5によって選択されたそのプロセッサーが先
頭のプロセッサであったことを意味するので、プロセッ
サ1は前記の一致信号を受けると、排他制御を解除して
他のプロセッサの選択を許すと共に、以後、マスタプロ
セッサとしてシステム全体のこの周期におけるスケジュ
ーリングをおこなう。当該周期において、その後他のプ
ロセッサ1が選択されたとしても、システムタイムカウ
ンタ6は既に歩進させられているので、そのプロセッサ
1のタイムカウンタ3の内容とシステムタイムカワンタ
6のそれとが一致することはなく、したがって、その周
期においては、当該他のプロセッサ1がマスタプロセツ
サと誤認されることはない。前記両カウンタ3および6
の内容が一致しないときは、比較手段2からの不一致信
号によりそのプロセッサのタイムカウンタ3は、その内
容がそのときのシステムタイムカウンタ6の内容によっ
て置き携えられる。Alternatively, only the counter 6 may be incremented and its contents may be transferred to the counter 3. Further, if the contents of both the counters 3 and 6 match, it means that the processor selected by the exclusive control means 5 is the leading processor, so the processor 1 receives the coincidence signal. When the master processor receives the command, it releases exclusive control, allows selection of another processor, and thereafter, as the master processor, performs scheduling of the entire system in this cycle. Even if another processor 1 is subsequently selected in this cycle, the system time counter 6 has already been incremented, so the contents of the time counter 3 of that processor 1 and that of the system time counter 6 must match. Therefore, in that cycle, the other processor 1 will not be mistaken as the master processor. Both counters 3 and 6
If the contents do not match, the time counter 3 of that processor is replaced with the contents of the system time counter 6 at that time by the non-coincidence signal from the comparison means 2.
即ち転写されるわけである。その後、排他制御を解除す
る。以上説明したごとく、この方式によれば、各プロセ
ッサの制御方式が統一されているので、システムの拡張
性が向上し、かつマスタブロセッサが固定されていない
ので、マスタプロセッサでの障害発生に際しても複雑な
処理を要求されることがない。In other words, it is transferred. After that, exclusive control is released. As explained above, according to this method, the control method for each processor is unified, so system expandability is improved, and since the master processor is not fixed, even if a failure occurs in the master processor, No complicated processing is required.
さらに、この方式によれば、クロック割込みに対してマ
スクをしていたプロセッサが遅れてマスクを解除し割込
みを発生しても、システムのタイムカウン外ま既に更新
されており自己のタイムカウンタの内容とは不一致とな
るので、自分を誤ってマスタプロセツサとみなす簾はな
くなる。Furthermore, according to this method, even if a processor that has been masking clock interrupts releases the mask late and generates an interrupt, the contents of its own time counter will have already been updated outside of the system time counter. Since there is a discrepancy between the two, there is no way to mistakenly consider yourself to be the master processor.
第1図はこの発明の一実施例を示す図、第2図はその動
作フローを示す図である。
図において、1はプロセッサ、2は比較手段、3はプロ
セッサタイムカウンタ、4は歩進手段、5は排他制御手
段、6はシステムタイムカワンタである。
多r図
舟Z図FIG. 1 is a diagram showing an embodiment of the present invention, and FIG. 2 is a diagram showing its operation flow. In the figure, 1 is a processor, 2 is a comparison means, 3 is a processor time counter, 4 is an increment means, 5 is an exclusive control means, and 6 is a system time counter. Multi-r drawing boat Z drawing
Claims (1)
メモリに接続され、かつ各プロセツサは所定周期毎に割
込みを発生するごときマルチプロセツサシステムにおい
て、所定周期毎の割込みの回数を計数しかつ処理の実行
間隔を制御するシステム内で共通なシステムタイムカウ
ンタと、各プロセツサの各々に設けられ、そこで発生し
た割込みを計数するプロセツサタイムカウンタと、上記
システムタイムカウンタおよび該プロセツサタイムカウ
ンタの両カウンタの内容を比較する手段と、該両カウン
タの内容を歩進する手段と、複数のプロセツサから割込
み要求が発生されたときには、そのなかからただ1つの
プロセツサのみを選択する機構を有し、選択されたプロ
セツサはシステムタイムカウンタと自己のプロセツサタ
イムカウンタとの内容を上記比較する手段により比較し
、両者が一致していれば、両カウンタの内容を上記歩進
する手段により等しく歩進せしめ、以後、当該プロセツ
サがシステムのマスタプロセツサとして所定の処理を実
行し、また前記両カウンタの内容が一致していないとき
は、システムタイムカウンタの内容により前記当該プロ
セツサのプロセツサタイムカウンタの内容を書き換える
ことを特徴とするマルチプロセツサシステムにおけるプ
ロセツサ選択方式。1. In a multiprocessor system in which multiple processors are all connected to at least one common memory and each processor generates interrupts at predetermined intervals, the number of interrupts at each predetermined cycle is counted and the processing execution interval is calculated. A system time counter that is common within the system that controls the system, a processor time counter that is provided in each processor and counts interrupts that occur there, and the contents of both the system time counter and the processor time counter. It has means for comparing, means for incrementing the contents of both counters, and a mechanism for selecting only one processor from among them when an interrupt request is generated from a plurality of processors. The contents of the system time counter and its own processor time counter are compared by the above-mentioned comparing means, and if they match, the contents of both counters are incremented equally by the above-mentioned incrementing means. executes a predetermined process as a master processor of the system, and when the contents of the two counters do not match, the contents of the processor time counter of the processor are rewritten by the contents of the system time counter. A processor selection method in a multiprocessor system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13583378A JPS6016668B2 (en) | 1978-11-06 | 1978-11-06 | Processor selection method in multiprocessor systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13583378A JPS6016668B2 (en) | 1978-11-06 | 1978-11-06 | Processor selection method in multiprocessor systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5563458A JPS5563458A (en) | 1980-05-13 |
JPS6016668B2 true JPS6016668B2 (en) | 1985-04-26 |
Family
ID=15160836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13583378A Expired JPS6016668B2 (en) | 1978-11-06 | 1978-11-06 | Processor selection method in multiprocessor systems |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6016668B2 (en) |
-
1978
- 1978-11-06 JP JP13583378A patent/JPS6016668B2/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5563458A (en) | 1980-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4387427A (en) | Hardware scheduler/dispatcher for data processing system | |
EP0361176B1 (en) | Method and apparatus for communicating data between multiple tasks in data processing systems | |
US4989133A (en) | System for executing, scheduling, and selectively linking time dependent processes based upon scheduling time thereof | |
EP0425320A2 (en) | Multiprocessor system and process synchronisation method therefor | |
EP0264568A2 (en) | Serialisation of system events in a multiprocessing system | |
US6021457A (en) | Method and an apparatus for minimizing perturbation while monitoring parallel applications | |
US7168075B1 (en) | Automation device and updating method | |
AU603876B2 (en) | Multiple i/o bus virtual broadcast of programmed i/o instructions | |
EP0243402B1 (en) | A special purpose processor for off-loading many operating system functions in a large data processing system | |
US4837688A (en) | Multi-channel shared resource processor | |
JPS6016668B2 (en) | Processor selection method in multiprocessor systems | |
MacKinnon | Advanced function extended with tightly-coupled multiprocessing | |
EP0183877B1 (en) | Microcomputer for time dependent processes | |
JPH07200486A (en) | Information processor | |
JP2585905B2 (en) | Multitask execution device | |
JPS6315628B2 (en) | ||
JPH04314141A (en) | Method and mechanism for controlling multi-task | |
JPH0944438A (en) | Multiplex processing method for synchronous type input/ output instruction | |
JP2571260B2 (en) | Operating environment selection processing method using logic clock | |
JPS6125249A (en) | Exclusive control system | |
JPH0650511B2 (en) | Memory control method | |
JPS6210757A (en) | Processor control system | |
WO1991020039A1 (en) | Method and apparatus for a load and flag instruction | |
JPH0329049A (en) | Multiprocessor system | |
JPH02155062A (en) | Multiprocessor system |