JPS63223948A - Inter-processor communication method in multiprocessor os - Google Patents
Inter-processor communication method in multiprocessor osInfo
- Publication number
- JPS63223948A JPS63223948A JP62058095A JP5809587A JPS63223948A JP S63223948 A JPS63223948 A JP S63223948A JP 62058095 A JP62058095 A JP 62058095A JP 5809587 A JP5809587 A JP 5809587A JP S63223948 A JPS63223948 A JP S63223948A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- processing
- processors
- buffer
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 title claims description 46
- 239000000872 buffer Substances 0.000 claims abstract description 24
- 230000002093 peripheral effect Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- VZSRBBMJRBPUNF-UHFFFAOYSA-N 2-(2,3-dihydro-1H-inden-2-ylamino)-N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]pyrimidine-5-carboxamide Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C(=O)NCCC(N1CC2=C(CC1)NN=N2)=O VZSRBBMJRBPUNF-UHFFFAOYSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
Abstract
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はマルチプロセッサOS(オペレーティング・シ
ステム)に於けるプロセッサ間通信方法に関する。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to an inter-processor communication method in a multiprocessor OS (operating system).
(従来技術)
コンピュータシステムに作業環境を与えるのがOSであ
るが、このOSを効率よく実行するための手法が各種提
案されている。(Prior Art) An OS provides a working environment to a computer system, and various methods have been proposed for efficiently running this OS.
従来のこの手法の1つとしては例えば、比較的時間を要
するプリンタ、ディスク装置、テープ装置或はキーボー
ド等の周辺機器に対する処理をメインのプロセッサから
分離し、専用のプロセッサに分散並行して処理せしめる
ものがある。One conventional method is to separate relatively time-consuming processing for peripheral devices such as printers, disk drives, tape drives, or keyboards from the main processor, and have dedicated processors handle the processing in parallel. There is something.
しかしながら、従来のこれらの提案は上述した如くただ
単に周辺機器夫々に対する処理を専用プロセッサに分散
するに留り、OSそのものを分散して並列処理するもの
ではなかりた。従って1つのシステムを複数のユーザが
使用する場合等の処理時間を短縮することに寄与しうる
ものではなかった。However, as described above, these conventional proposals merely distribute processing for each peripheral device to dedicated processors, but do not distribute the OS itself to perform parallel processing. Therefore, it cannot contribute to shortening the processing time when one system is used by a plurality of users.
即ち、従来のOSではT8S (タイムシェアリングシ
ステム)1に:用いて時間な区切シ、処理を高速に切シ
換えて見かけ上並列処理を実現していたが、この方式で
は並列に行う処理が増加した場合単一のプロセッサの処
理時間自身は不変なので、OS全体としての処理時間は
処理切り換え時間のオーバーヘッドが増加することと相
まって低下すると云う欠点があった。In other words, conventional OSes use T8S (time sharing system)1 to divide time and switch processes at high speed to achieve apparent parallel processing. When the processing time increases, the processing time of a single processor itself remains unchanged, so the processing time of the entire OS decreases as the overhead of processing switching time increases.
(発明の目的)
本発明は上述した事情に鑑みてなされたものであって、
OSそのものを極めて効率よく実現することを可能にし
たマルチプロセッサOSに於けるプロセッサ間通信方法
を提供することを目的とする。(Object of the invention) The present invention has been made in view of the above-mentioned circumstances, and includes:
It is an object of the present invention to provide an inter-processor communication method in a multiprocessor OS that makes it possible to implement the OS itself extremely efficiently.
(発明の概要)
本発明はこの目的を達成するため、2対以上の入出力チ
ャンネルをもつプロセッサをリング状又はパイプライン
状に接続したコンピュータシルステムの各プロセッサに
FIFO型バッファを付加し、これを介して互いにプロ
セッサ間のデータ通信を行うよう構成する。(Summary of the Invention) In order to achieve this object, the present invention adds a FIFO type buffer to each processor of a computer system in which processors having two or more pairs of input/output channels are connected in a ring or pipeline configuration. The processors are configured to perform data communication between the processors via the processor.
(実施例)
以下図示した実施例に基づいて本発明の詳細な説明する
。(Example) The present invention will be described in detail below based on the illustrated example.
第1図は本発明の一実施例を示すブロック図である。FIG. 1 is a block diagram showing one embodiment of the present invention.
同図に於いて1−1.1−2.・・・・・・、1−nは
プロセッサユニット、 2−1 、2−2 、− 、2
−nはFIFO型バッファであって、これらを1つおき
にリング状に接続する。In the same figure, 1-1.1-2. ......, 1-n is a processor unit, 2-1, 2-2, -, 2
-n is a FIFO type buffer, and every other buffer is connected in a ring shape.
更に、各プロセッサユニットには専用メモリを付加する
と共に、該プロセッサユニットのうち1つ例えば1−1
をマスタプロセッサ、他をスレーププロセッサユニット
ト定メ、マスタフロセッサユニット1−1をパスライン
aK接続する。Further, a dedicated memory is added to each processor unit, and one of the processor units, for example 1-1
The master processor is connected to the slave processor unit, and the master processor unit 1-1 is connected to the pass line aK.
又、該パスラインには例えばプリンタ4.ディスク5.
・・・・・・、に等の周辺機器が接続されている。Further, the pass line includes, for example, a printer 4. Disc 5.
Peripheral devices such as..., etc. are connected.
マスタプロセッサはすべてのスレーブプロセッサとパス
ラインに接続される周辺機器を総括して制御する。The master processor collectively controls all slave processors and peripheral devices connected to the pass line.
マスク(スレーブ)プロセッサースレーブプロセッサ間
のデータのやシ取シは通信チャネルを通したメツセージ
通信方式で行う。Mask (slave) processor Data exchange between slave processors is performed using a message communication method through a communication channel.
マスタプロセッサと各スレーブフロセッサは、プロセッ
サ間通信における処理すべてをメツセージに対広する形
で記憶しておシ、相手からメツセージが送られてきた場
合にはそれを解釈及び実行し、相手に処理を依頼する場
合にはその内容をメツセージとして相手に送る。The master processor and each slave processor store all processing in inter-processor communication in the form of messages, and when a message is sent from the other party, they interpret and execute it and process it to the other party. When making a request, send the contents as a message to the other party.
メツセージ通信の簡単な例を示す。今周辺機器5(ディ
スク)上のデータを周辺機器4(プリ゛ンタ)に出力す
る場合を考える。A simple example of message communication is shown. Now consider the case where data on peripheral device 5 (disk) is output to peripheral device 4 (printer).
マスタプロセッサ1−1はこの処理をディスクからデー
タを読み出すという処理と、プリンタにデータを出力す
るという処理に分けて、それぞれスレーブプロセッサ1
−2及びスレーブプロセッサ1−3に処理を依頼するメ
ツセージを送信する。ここでは簡単のためにスレーブプ
ロセッサ1−2及び1−3は遊んでいる状態(処理の依
頼待ち)とする。マスタプロセッサはメツセージを送信
するとそれはバッファに蓄見られるため、すぐに次の処
理の実行に移ることができる。スレーブプロセッサはバ
ッファに蓄えられているメツセージをなり出し、その内
容を解釈してスレーブプロセッサ1−2はディスクから
データを読み出し、スレーブプロセッサ1−3へデータ
を送る。スレーブプロセッサ1−3はスレーブプロセッ
サ1−2からデータを受は取りプリンタにデータを出力
する。The master processor 1-1 divides this process into the process of reading data from the disk and the process of outputting data to the printer, and separates this process into the process of reading data from the disk and the process of outputting data to the printer.
-2 and the slave processor 1-3 to request processing. Here, for the sake of simplicity, it is assumed that slave processors 1-2 and 1-3 are in an idle state (waiting for a processing request). When the master processor sends a message, it is stored in a buffer, so it can immediately move on to the next process. The slave processor reads the message stored in the buffer, interprets the contents, reads the data from the disk, and sends the data to the slave processor 1-3. Slave processor 1-3 receives and receives data from slave processor 1-2 and outputs the data to the printer.
次にメツセージ通信の詳細について述べる。Next, details of message communication will be described.
第2図は本発明に於いて使用するプロセッサとバッファ
の一実施例を示す構成図である。各プロセッサ間には出
力用通信チャネルと入力用通信チャネルの2種類のチャ
ネルが存在する。FIG. 2 is a block diagram showing one embodiment of a processor and a buffer used in the present invention. There are two types of channels between each processor: an output communication channel and an input communication channel.
したがりて、バッファも出力用チャネルバッファと入力
用チャネルバッファの2種類のチャネルバッファが存在
する。同図に於いて、・・・・・・、2に−1,2に、
・・・・・・は出力用チャネルバッファ、・・・・・・
3に−1,3に、・・・・・・は入力用チャネルバッフ
ァである。Therefore, there are two types of buffers: an output channel buffer and an input channel buffer. In the same figure, ......, 2, -1, 2,
・・・・・・ is the output channel buffer, ・・・・・・
3-1, 3, . . . are input channel buffers.
第3図はチャネルバッファの構造図である。FIG. 3 is a structural diagram of a channel buffer.
バッファは出力用、入力用共に構造は同じであシ、FI
FOの形態をとる。The structure of the buffer is the same for both output and input, FI
It takes the form of FO.
このバッファのアクセス単位はパケットである。パケッ
トとはメツセージを各プロセッサが解釈できる形態に表
現したものである。The unit of access to this buffer is a packet. A packet is a representation of a message in a form that each processor can interpret.
第4図はパケットの構造図である。パケットは同図のよ
うに5つの要素より構成される。FIG. 4 is a diagram showing the structure of a packet. A packet is composed of five elements as shown in the figure.
i はメツセージの内容(処理内容)
ii はメツセージの送信者(処理依頼者)i はメ
ツセージの受信者(処理実行者)神 はメツセージの受
信者が受は堰るデータの型
V はメツセージの受信者が受は取るデータまたはデー
タへのポインタ
ここに於いて神はVがデータ自身を表すか。i is the content of the message (processing content) ii is the message sender (processing requester) i is the message receiver (processing executor) God is the type of data received by the message receiver V is the message reception A person receives data or a pointer to data.Here, does V represent the data itself?
デ・−タへのポインタを表すかを決定する。1通常のマ
ルチプロセッサによる並列処理ゝ1において、1つのプ
ロセス(単位処理)がやり取シするデータは多くの場合
、プロセッサの語長に対して数語〜士数語穆度であシ、
1つのパケットはこの士数語分をデータ用としてあらか
じめ確保している。この場合泣のデータの型はVがデー
タそのものであるということを示す。(同図パケット1
−1)
一方、パケットで確保している量を越えるデータ’v+
b*bする場合には神はVがデータへのポインタである
ことを示す。(同図パケットこの場合、実際のデータは
通常メツセージ送信者の専用メモリにある。ポインタは
データの存在する送信者の専用メモリの先頭アドレス及
びデータ数を示す。Determines whether it represents a pointer to data. 1 Parallel processing by normal multiprocessors In 1, the data exchanged by one process (unit processing) is often a few words to a few words long compared to the word length of the processor.
One packet has this number of words reserved in advance for data. In this case, the type of data indicates that V is the data itself. (Packet 1 in the same figure
-1) On the other hand, data 'v+ that exceeds the amount secured by the packet
If b*b, God indicates that V is a pointer to data. (Packet in the figure) In this case, the actual data is usually in the message sender's private memory.The pointer indicates the start address of the sender's private memory where the data exists and the number of data.
ここで通信の具体例を示す。Here, a specific example of communication will be shown.
■ 簡単な例
状況:あるプロセッサSが隣接したプロセッサRKプロ
セスの実行を依頼し、依頼
されたプロセッサRが遊んでいる場合
第5図は上記の状況を示したものである。■ Simple example situation: When a certain processor S requests the execution of an adjacent processor RK process, and the requested processor R is idle. FIG. 5 shows the above situation.
この状況下におけるプロセッサSとプロセッサRの振る
舞いを以下に示す。The behavior of processor S and processor R under this situation is shown below.
Sはパケットのi K #′iSがRへ送るメツセージ
iiにはS
iKはR
−にはデータ型
Vにはデータ(またはデータ
へのポインタ)
を入れ、OCRにこのパケットを積む。この時点で8は
このプロセスから解放され1次のプロセスの実行へ移る
ことができる。S is the packet i K #'i The message ii that S sends to R is S iK is R -, data type V is filled with data (or a pointer to the data), and this packet is loaded into OCR. At this point, 8 is released from this process and can move on to executing the primary process.
Rは定期的にOCRに積まれている最初のパケットに格
納されているメツセージの内容を読み取シ、指定された
プロセスを実行後。R periodically reads the contents of the message stored in the first packet stored in the OCR and executes the specified process.
パケットのiにはRがSに送るメツセージiiにはR iKはS 神にはデータ型 Vにはデータ(またはデータへのポ インタ) を入れ、ICBにこのパケットを積む。Packet i has R sending message ii to S. iK is S God has data types V contains data (or a point to the data) Inter) and load this packet onto the ICB.
Sは定期的にICBの最初に積まれているパケットv読
みに行く。その内容がOCRの最初に積まれているパケ
ットの内容に対応しているかどうかを調べ、対応してい
たら、それまで実行していたプロセスの実行を一時保留
し、ICBのパケットのデータを受は取fi 、OCR
,ICBのパケットを1つづつシフトし更新する。その
後保留していたプロセスの実行を再開する。S periodically reads the packet v stored at the beginning of the ICB. Check whether the content corresponds to the content of the packet stored at the beginning of the OCR, and if it does, temporarily suspend the execution of the process that was running up until then and stop receiving the data of the ICB packet. Torifi, OCR
, ICB packets are shifted and updated one by one. The suspended process then resumes execution.
■ 複雑な例
状況:あるプロセッサSが隣接したプロセッサBにプロ
セスの実行を依頼したが。■ Complex example situation: A certain processor S requests an adjacent processor B to execute a process.
プロセッサBは他のプロセスを実行中
で手があかず、プロセッサBに隣接し
た遊んでいるプロセッサRICBの代わシにプロセスの
実行を依頼した場合。Processor B is running another process and is not available, and requests the idle processor RICB, which is adjacent to processor B, to execute the process.
第6図は上記の状況を示したものである。FIG. 6 shows the above situation.
この状況下におけるプロセッサS、プロセッサB及びプ
ロセッサ凡の振る舞いを以下に示す。The behavior of processor S, processor B, and processor 2 under this situation is shown below.
SはパケットのiにはSがBへ送るメツセージ
iiK’は5
iiKはB
〜にはデータ型
Vにはデータ(!!たはデータ
へのポインタ)
を入れて、0CB1にこれを積む、Sはこの時点でこの
プロセスから解放され1次のプロセスの実行へ移る。S is the message that S sends to B in packet i, iiK' is 5, iiK is B, data type V is data (!! or a pointer to data), and this is loaded in 0CB1, S is released from this process at this point and moves on to execution of the primary process.
Bは定期的KOCBIに積まれている最初のパケットを
読みに行く。この際実行中のプロセスは一時保留する。B goes to read the first packet stored in the periodic KOCBI. At this time, the running process is temporarily suspended.
そこでBは自分にメツセージが届いていることを知るが
、自分は別のプロセスを実行中なので、隣接した遊んで
いるRに代わ、9にプロセスを実行するように依頼する
。すなわち。B then learns that the message has been delivered to him, but since he is running another process, he asks 9 to run the process in place of R, who is playing next to him. Namely.
パケットのiにはSがRK送るメツセージii ffc
はS
iにはR
神にはデータ型
vKはデータ(tたはデータへのポ
インタ)
を入れて0CR2にこれを積む、さらKOCBIの先に
積んだパケットのFm v!!:BからRへ変更し。Message S sends RK to packet i ffc
is S i is R data type vK is data (t or a pointer to data), and this is loaded in 0CR2, and Fm v! of the packet loaded ahead of KOCBI. ! : Changed from B to R.
保留していたプロセスを再開する。Resume a suspended process.
Rは定期的に0CB2に積まれている最初のパケットに
格納されているメツセージの内容を読み取シ、自分が遊
んでいる々らは、指定されたプロセスを実行し。R periodically reads the contents of the message stored in the first packet stored in 0CB2, and the people it is playing with execute the specified process.
パケットのiにはRがSへ送るメツセージiiにはR iには5 ivKはデータ型 Vにはデータ(またはデータへのポ インタ) を入れてICB2に積む。Packet i has R sending message ii to S. 5 for i ivK is data type V contains data (or a point to the data) Inter) and load it into ICB2.
Bは定期的にICB2の最初に積まれているパケットを
読みに行く。その内容が0CB2の最初Kffまれてい
るパケットの内容に対応しているかどうかを調べ、対応
していたら現在実行中のプロセスの実行を一時保留し、
ICB2のパケットのデータを受は取り、0CB1に積
まれている最初のパケットのiをRからBへもどす。ま
たさらKICB2のパケットのデータをコピーし。B periodically reads the packet stored at the beginning of ICB2. Check whether the content corresponds to the content of the first Kff packet of 0CB2, and if it does, temporarily suspend the execution of the currently running process,
It receives the data of the packet in ICB2 and returns i of the first packet loaded in 0CB1 from R to B. Copy the KICB2 packet data again.
ICBIK積む、すなわち
パケットのi K FiBが8に送るメツセージiiに
はB
iにはS
泣にはデータ型
Vにはデータ(またはデータへのポ
インタ)
を入れてICBIに積む2次に0CB2 、ICB2の
パケットを1つづつシフトして更新し、そして一時保留
していたプロセスの実行を再開する。Load ICBIK, i.e. packet i, message sent by FiB to 8, ii to B, S to data type V, and load data (or pointer to data) to ICBI.Second, 0CB2, ICB2 The packets are shifted and updated one by one, and execution of the temporarily suspended process is resumed.
以下、より複雑な場合についても上記と同様な手段で、
遊んでいるプロセッサを探し出し処理゛を実行されると
よい。Below, we will use the same method as above for more complex cases.
It would be a good idea to find an idle processor and execute the process.
なお各プロセッサがチャネルバッファの内容を参照する
というプロセスは、他のどの様なプロセスにも優先して
行なわれるようKする。Note that the process in which each processor refers to the contents of the channel buffer is performed with priority over any other process.
尚2以上説明した実施例では複数のプロセッサユニット
をリング状に接続した場合を例示したが2本発明の実施
にあたりてはこれに限定する必然性はなく2以上説明し
た各要素をリング状ではなく、一方向にのみ接続しても
よい。Note that in the embodiments described above, a case where a plurality of processor units are connected in a ring shape is illustrated, but in carrying out the present invention, it is not necessarily limited to this, and each element described above is connected not in a ring shape, but It may be connected only in one direction.
こO1合はスレーブプロセッサの位置関係が一意に定め
うることによって制御の簡素化をはかることができる。In this case, control can be simplified because the positional relationship of the slave processors can be uniquely determined.
更に本発明のシステムを用いて、一つの仕事(Job)
の各段の処理を並列分散して行えば。Furthermore, using the system of the present invention, one job (Job)
If the processing of each stage of is performed in parallel and distributed.
パイプライン方式と同様の機能を果すことができる。It can perform the same function as the pipeline method.
又、従来のパイプライン方式に本発明を種々組合せれば
両者のメリットを生かし、複数のjobをより効率的に
処理することもできる。Further, by combining the present invention with the conventional pipeline system in various ways, it is possible to take advantage of the advantages of both methods and process multiple jobs more efficiently.
(発明の効果)
本発明は以上説明したようにOSの処理そのものを複数
のプロセッサユニットによって分散処理するよう構成し
たものであるから、従来のTSS方式に比べ大幅にコン
ビエータシステムの処理スピードを向上することができ
る。(Effects of the Invention) As explained above, the present invention is configured so that the OS processing itself is distributed and processed by multiple processor units, so the processing speed of the combinator system is significantly improved compared to the conventional TSS method. can do.
殊に複数のjobを同時に実行する際、これらを並列に
処理することができるから、従来のTSS方式よ、υは
るかに高速処理が可能であって、その効果は著しい。In particular, when a plurality of jobs are executed simultaneously, since they can be processed in parallel, much faster processing is possible than in the conventional TSS method, and the effect is remarkable.
第1図は本発明の実施例を示す構成図、第2図は前記第
1図の動作を説明する部分的構成図、第3図は本発明に
於いて用いるFIFO型バッファの一実施例を示す図、
第4図は前記第3図のFIFO型バッファの内容例を示
す図、第5図及び第6図は前記第1図に示したシステム
の具体的動作を説明する部分的構成図である。
1−1乃至1−n ・・・・・・プロセットユニット
。
2−1乃至2−n ・・・・・・バッファ。
特許出願人 東洋通信機株式会社
零 Z 図
nAFIFO八’、7゜
へ 3 図
よりM÷噌ルバ・)
第 51!]
zg 刀FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a partial block diagram explaining the operation of FIG. 1, and FIG. 3 is an embodiment of a FIFO type buffer used in the present invention. diagram showing,
FIG. 4 is a diagram showing an example of the contents of the FIFO type buffer shown in FIG. 3, and FIGS. 5 and 6 are partial configuration diagrams illustrating the specific operation of the system shown in FIG. 1. 1-1 to 1-n...Proset unit. 2-1 to 2-n...Buffer. Patent Applicant Toyo Tsushinki Co., Ltd. Zero Z Figure n AFIFO 8', to 7° 3 From the figure M ÷ Soluba) No. 51! ] zg sword
Claims (1)
サをリング状又はパイプライン状に接続したコンピュー
タシステムに於いて、前記各プロセッサ間のすべて又は
所要位置にFIFO型バッファを配置し、該バッファを
介して各プロセッサ間のデータ通信を行うことを特徴と
したマルチプロセッサOSに於けるプロセッサ間通信方
法。 2、前記プロセッサのうちいづれか1つをマスタプロセ
ッサ、他のものをスレーブプロセッサと定め、該マスタ
プロセッサからスレーブプロセッサに分散して処理を実
行せしめることを特徴とした特許請求の範囲第1項記載
のマルチプロセッサOSに於けるプロセッサ間通信方法
。 3、前記プロセッサがリング状に接続されたものである
場合に於いて、処理を割り当てるプロセッサとして処理
中でないものを選定したことを特徴とする特許請求の範
囲1項又は2項記載のマルチプロセッサOSに於けるプ
ロセッサ間通信方法。 4、前記各プロセッサ夫々にメモリを具えかつ、所定時
間毎に処理中のデータ等を該メモリに待避せしめこの間
に他のプロセッサからデータ等の転送が有るか否かを検
出すると共に、転送データが有る場合これを優先して受
け取り所要の処理を行うよう構成したことを特徴とする
特許請求の範囲第1項乃至第3項記載のマルチプロセッ
サOSに於けるプロセッサ間通信方法。[Scope of Claims] In a computer system in which processors having one, two or more pairs of input and output channels are connected in a ring or pipeline, FIFO type buffers are arranged at all or required positions between the respective processors. An inter-processor communication method in a multiprocessor OS, characterized in that data communication is performed between each processor via the buffer. 2. The method according to claim 1, characterized in that one of the processors is defined as a master processor and the others are defined as slave processors, and processing is distributed from the master processor to the slave processors to execute them. A communication method between processors in a multiprocessor OS. 3. The multiprocessor OS according to claim 1 or 2, wherein when the processors are connected in a ring, a processor that is not currently processing is selected as the processor to which processing is assigned. Inter-processor communication method in . 4. Each of the processors is provided with a memory, and the data being processed is saved in the memory at predetermined intervals. During this time, it is detected whether or not data is transferred from another processor, and the data transferred is detected. 4. An inter-processor communication method in a multiprocessor OS according to claim 1, characterized in that, if there is one, the received one is given priority and required processing is performed.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62058095A JPS63223948A (en) | 1987-03-13 | 1987-03-13 | Inter-processor communication method in multiprocessor os |
DE19883855338 DE3855338T2 (en) | 1987-03-11 | 1988-03-10 | Computer system |
EP88302056A EP0286240B1 (en) | 1987-03-11 | 1988-03-10 | Computer system |
US07/711,122 US5179715A (en) | 1987-03-11 | 1991-06-05 | Multiprocessor computer system with process execution allocated by process managers in a ring configuration |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62058095A JPS63223948A (en) | 1987-03-13 | 1987-03-13 | Inter-processor communication method in multiprocessor os |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63223948A true JPS63223948A (en) | 1988-09-19 |
Family
ID=13074390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62058095A Pending JPS63223948A (en) | 1987-03-11 | 1987-03-13 | Inter-processor communication method in multiprocessor os |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63223948A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02199574A (en) * | 1989-01-30 | 1990-08-07 | Nec Eng Ltd | Multiprocessor system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6149239A (en) * | 1984-08-16 | 1986-03-11 | Sanyo Electric Co Ltd | Information processor and emulation device |
JPS6149263A (en) * | 1984-08-16 | 1986-03-11 | Sanyo Electric Co Ltd | Information processing module |
JPS61123968A (en) * | 1984-11-20 | 1986-06-11 | Mitsubishi Electric Corp | Data transmitting device |
-
1987
- 1987-03-13 JP JP62058095A patent/JPS63223948A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6149239A (en) * | 1984-08-16 | 1986-03-11 | Sanyo Electric Co Ltd | Information processor and emulation device |
JPS6149263A (en) * | 1984-08-16 | 1986-03-11 | Sanyo Electric Co Ltd | Information processing module |
JPS61123968A (en) * | 1984-11-20 | 1986-06-11 | Mitsubishi Electric Corp | Data transmitting device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02199574A (en) * | 1989-01-30 | 1990-08-07 | Nec Eng Ltd | Multiprocessor system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hwang et al. | A Unix-Based local computer network with load balancing | |
Hu | Lattice scheduling and covert channels | |
US5659701A (en) | Apparatus and method for distributed program stack | |
JP2677744B2 (en) | Distributed memory digital computing system | |
JPS62229358A (en) | Processor selection system | |
JPH05225153A (en) | Apparatus and method for parallel processing of high-level instruction | |
JPH06231094A (en) | Vector processor and its control method | |
AU603876B2 (en) | Multiple i/o bus virtual broadcast of programmed i/o instructions | |
JPS63223948A (en) | Inter-processor communication method in multiprocessor os | |
JPH0553939A (en) | File transfer processing system | |
JPS62212763A (en) | Job executing system for computer network | |
JPH1196108A (en) | Computer system and bus control device | |
EP0105125A2 (en) | Data processing system | |
EP2450795A1 (en) | Computer device, parallel computer system, and synchronization program | |
JPH0575141B2 (en) | ||
RU2638781C2 (en) | Method for arranging direct access to memory in transmission of information between physical objects | |
JPH01191967A (en) | Data communication processing system | |
JPS61143858A (en) | File share method for plural operating systems | |
JPH0573507A (en) | Reliefing device in message communication between electronic computers | |
Archer et al. | Remote direct memory access | |
JP2553094B2 (en) | Interrupt controller | |
JPS5844266B2 (en) | Multiprocessor parallel operation execution processing method | |
SE503506C2 (en) | Systems and procedures for processing data and communication systems with such systems | |
Natvig et al. | Automatic run-time parallelization and transformation of I/O | |
JPH0769840B2 (en) | Lock management controller |