JPS63223948A - Inter-processor communication method in multiprocessor os - Google Patents

Inter-processor communication method in multiprocessor os

Info

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
Application number
JP62058095A
Other languages
Japanese (ja)
Inventor
Tsuguaki Yasui
安井 嗣了
Tomoyuki Minamiyama
南山 智之
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.)
Toyo Communication Equipment Co Ltd
Original Assignee
Toyo Communication Equipment Co Ltd
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 Toyo Communication Equipment Co Ltd filed Critical Toyo Communication Equipment Co Ltd
Priority to JP62058095A priority Critical patent/JPS63223948A/en
Priority to DE19883855338 priority patent/DE3855338T2/en
Priority to EP88302056A priority patent/EP0286240B1/en
Publication of JPS63223948A publication Critical patent/JPS63223948A/en
Priority to US07/711,122 priority patent/US5179715A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Abstract

PURPOSE:To remarkably improve processing speed by adding an FIFO type buffer to each processor connected in a ring shape or in a pipeline shape, and executing a data communication between each processor through the buffer. CONSTITUTION:For instance, a case that a data on a peripheral equipment 5 (disk) is outputted to a peripheral equipment 4 (printer) is considered. A master processor 1-1 divides its processing into a processing for reading out the data from the disk, and a processing for outputting the data to the printer. Subsequently, the processor sends the message requesting the processing to a slave processor 1-2 and 1-3, respectively. When the message is sent, it is stored in a buffer, therefore, the processor 1-1 can shift to the execution of a next processing. The processors 1-2, 1-3 fetch the message stored in the buffer, interpret its contents and read out the data from the disk, and outputs the data to the printer.

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.

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

第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)

【特許請求の範囲】 1、2対以上の入力及び出力チャネルを有するプロセッ
サをリング状又はパイプライン状に接続したコンピュー
タシステムに於いて、前記各プロセッサ間のすべて又は
所要位置に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.
JP62058095A 1987-03-11 1987-03-13 Inter-processor communication method in multiprocessor os Pending JPS63223948A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02199574A (en) * 1989-01-30 1990-08-07 Nec Eng Ltd Multiprocessor system

Citations (3)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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