JPH0228862A - 並列論理型言語におけるデータ転送方式 - Google Patents

並列論理型言語におけるデータ転送方式

Info

Publication number
JPH0228862A
JPH0228862A JP17814088A JP17814088A JPH0228862A JP H0228862 A JPH0228862 A JP H0228862A JP 17814088 A JP17814088 A JP 17814088A JP 17814088 A JP17814088 A JP 17814088A JP H0228862 A JPH0228862 A JP H0228862A
Authority
JP
Japan
Prior art keywords
data
stream
time
producer
final
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.)
Granted
Application number
JP17814088A
Other languages
English (en)
Other versions
JPH0570866B2 (ja
Inventor
Satoshi Hosoi
聡 細井
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP17814088A priority Critical patent/JPH0228862A/ja
Publication of JPH0228862A publication Critical patent/JPH0228862A/ja
Publication of JPH0570866B2 publication Critical patent/JPH0570866B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概 要〕 並列論理型言語におけるデータ転送方式に関し、プロセ
ッサ間通信の効率化を目的とし、データを送り出す側の
生産者プロセスを実行するプロセッサが、データを受け
取る側の消費者プロセスを実行するプロセッサとの通信
に用いるバソファメモリであるストリームの大きさを有
限長として、該有限長ストリームの生成された時刻を記
入する領域と、最終の要素に最終を示す記号を設けると
共に、生産者プロセスに、現在のストリームが生成され
た時刻と新しくデータを書き込む時刻との差が予め定め
た時間に達したことを監視する時刻監視手段と、データ
が終端に達したかを検出するデータ終端検出手段と、デ
ータを書き込むべきストリームの要素位置が最後である
ことを検出し新たな有限長ストリームに延長するストリ
ーム最終検出手段を備え、時間監視手段による時間超過
検出、終端検出手段によるデータ終端検出ならびにスト
リーム最終検出手段によるストリーム最柊の検出により
、供給駆動的に、消費者プロセスにデータを転送するよ
う構成する。
〔産業上の利用分野〕
本発明は並列論理型言語におけるデータ転送方式に関す
る。
並列論理型言語とは、一つの問題を複数のプロセッサに
並列に処理させるよう問題を並列処理可能な要素に分解
するために記述し易い言語のことである。本発明は、こ
のような並列論理言語によるプログラムを、ネットワー
クにより接続されたマルチプロセッサにより処理する際
のプロセッサ間通信の効率化に関するものである。
〔従来の技術〕
並列論理言語では、プロセスが処理の基本単位となる。
実行中に多くのプロセスが生成されるので、それらを統
一的に管理してやる必要がある。
そこで、第5図に示すように、レディキューというキュ
ー(待ち行列)に全てのプロセスをつなげて管理する。
このレディキューからプロセスを一つ取り出して実行可
能な間だけ実行する。実行を中断する必要が生じたら、
レディキューの最後につなげて別のプロセスを取り実行
する。
いま、第6図に示すように、プロセスPがプロセスCに
、1.2.3.・・・というデータを送るという場合を
考える。一般に、Pのようにデータを送り出すプロセス
を生産者プロセス、Cのようにデータを受け取るプロセ
スを消費者プロセスと呼ぶ。
このようなプロセス同士のデータのやりとり (プロセ
ス間通信)は、第7図のように実現される。
即ち、生産者プロセスPがストリームというバッファに
データを書き込んでいき、消費者プロセスCがそれを読
み出していく。プロセスPとCは並列に実行され得るの
で、Pがデータを書き込むより早くに、Cがデータを読
みにいこうとすることがある。そこで、ストリームの各
要素は、最初「未定義」に初期化されており、従って、
Cの読出しがPの書込みより早い場合には、Cは「未定
義」を読み出すことになる。その時点で、Cは「次はこ
の未定義のところを読み出せばよい」ということを覚え
ておいて処理を中断し、レディキューの最後につなげる
。このように、プロセスがその実行を中断する際には次
のストリームのどの位置から読み込み或いは書き込むか
を覚えておく。
〔発明が解決しようとする課題〕
上記のようなプロセス間通信を特徴とする並列論理型言
語を、第8図に示すように、プロセッサ間結合が疎で、
大きさが任意に変えられる(スケラブルと呼ばれる)構
造のマルチプロセッサ上で実行する場合を考える。第8
図において、P、Eはプロセッサ・エレメントであり、
中央処理装置(cpu)とメモリ (MEM)からなる
。各PRはネットワークを介して結合されており、他の
PEのメモリ (MEM)には直接アクセスすることは
できない。
いま、第9図に示すように、生産者プロセスPと消費者
プロセスCとが別のPRで実行されている場合を考える
。消費者プロセスCが生産者プロセスPからデータを受
け取るためには、以下の手順を踏むことが必要である。
■(PH2側)  PH1側へデータ転送要求のメソセ
ージを送る。
■(PE1側) メツセージを受け取ると、ストリーム
の中のデータ(未定義の前 までのデータ)をPE2側へ送る。
■(PE2側) データを受け取ると、自分の側のスト
リームにそのデータをコピ ーして、プロセスCの実行を開始 する。
■(PE2側) プロセスCがデータを読み出していて
、未定義にぶつかれば、再 び引き続くデータの転送要求のメ ソセージを送る。
以後、プロセスCがデータの終端にぶつかるまで、即ち
プロセスPの実行が終わるまでこれを繰り返す。
比較的小規模なプログラムではこの手法でも構わない。
しかし、より規模の大きい、一般的な問題をこの並列論
理型言語を用いてプログラミングすると、実行中に生成
されるプロセスの数も一段と増え、各々のプロセスはそ
れほど続けては実行できない。即ち、プロセスはデータ
を少し書き込み或いは読み出しては中断し、ということ
を繰り返しながら実行が進んでいく。生産者プロセスと
消費者プロセスとが別々のPEにある場合では、わざわ
ざネットワークを介してデータを転送要求のメソセージ
を送っても、ストリーム中には2゜3のデータしかない
ことが多く、消費者プロセスの実行終了までには何回も
データ転送要求およびデータ転送をしなければならない
。PE内の処理に比べて、ネットワークを介してのデー
タ転送は、相互に拘束されて効率が悪く、これが頻発す
ることは好ましくない。
本発明が解決しようとする課題は、このような従来の問
題点を解消したデータ転送方式を提供することにある。
〔課題を解決するための手段〕
第1図は、本発明の並列論理型言語におけるデータ転送
方式の原理ブロック図である。
図において、1はプロセッサ・エレメント(PE)であ
り、CPUIIおよびメモリ (MEM)12よりなる
2もPRであり、CPU21およびメモリ(MEM)2
2よりなる。
3はネットワークであり、PE間を結合する。
4はPF、1が実行中の生産者プロセスである。
5はPE2が実行中の消費者プロセスである。
6は生産者プロセス4が消費者プロセス5へのデータ転
送に使用するストリームである。ストリーム6は、有限
長とし、この有限長ストリームの生成された時刻を記入
する領域と、最終の要素に最終を示す記号を設けである
7は消費者プロセス5側のストリームである。
41は時間監視手段であり、現在のストリームが生成さ
れた時刻と新しくデータを書き込む時刻との差が予め定
めた時間に達したことを監視する。
42はデータ終端検出手段であり、データの終端に達し
たことを検出する。
43はストリーム最終検出手段であり、データを書き込
むべきストリームの要素位置が最終であることを検出し
新たな有限長ストリームに延長する。
〔作 用〕
本発明の構成によれば、生産者プロセスと消費者プロセ
スが別々のプロセッサで行われているとき、通常行われ
ているように消費者プロセスからデータ転送要求のメソ
セージを要求駆動的に送るのではなく、生産者プロセス
が「ある程度jデータをストリームに書き込んだところ
で、生産者プロセスから消費者プロセスへ供給駆動的に
データを送ってやるものである。
そのため、本発明では第2図に示すように、生産者プロ
セス4のストリームを有限長とする。そして、ストリー
ムの最後の要素には、有限長ストリームの最後の要素を
示す例えば「ストリーム最終」を、「未定義」の代わり
に入れておく。また、この有限長ストリームの生成され
た時刻を記入する「時刻領域」を設ける。
また、生産者プロセス4に、時間監視手段41とデータ
終端検出手段42とストリーム最終検出手段43を設け
、生産者プロセス4が有限長ストリームにデータを書き
込むに際して、■時刻監視手段41が、データを書込み
ときの時刻と「時刻領域」の値との差が予め定めた一定
値を越えかごとを検出したとき、■データ終端検出手段
42がデータの書込み終了を検出したとき、および■ス
トリーム最終検出手段43が「ストリーム最終」にぶつ
かったことを検出したときに、データを消費者プロセス
5側へ転送してやる。
このように、供給駆動的にデータを転送することにより
、ネットワークを介してのデータ転送頻度を減らすこと
ができる。「時刻領域」を設りるのは、長時間にわたっ
てストリーム中にデータがたまらない場合に対処するた
めである。
〔実施例〕
以下第3図および第4図に示す実施例により、本発明を
さらに具体的に説明する。
第3図は、本発明の一実施例における生産者プロセスの
有限長ストリームの延長を示す図である。
本実施例における生産者プロセスPの有限長ストリーム
には、第3図(a)に示すように、ストリームの最初の
要素に、ストリームの生成時刻を記入する「タイム領域
」を設け、ストリームの最終の要素には「未定義」の代
わりに、最終を示す「未定義2」を入れておく。
生産者プロセスPは、「未定義2」にぶつかったならば
、第3図fblに示すように、新たな有限長ストリーム
を割りつけて、そちらにデータを書き、「未定義2」に
はそのデータへのポインタを書き込む。
第4図は、本発明の一実施例における生産者プロセスの
処理を示すフローチャートである。
以下、フローチャートのステップに従って生産者プロセ
スの動作を説明する。
■生産者プロセスは、データの最後に達したならば特定
の終端記号を有限長ストリーム中に書き込んでステップ
■へ飛ぶ。(消費者プロセスの方でも終端記号を読み込
んでデータ転送の終了を知る。)データの最後でなけれ
ばステップ■へ進む。
■データを書き込もうとする時刻tと、有限長久ドリー
ムが生成された時刻to(rタイム領域」の値)との差
が一定時間Tより大きいかどうかを判断し、大きければ
ステップ■へ飛び、そうでなければステップ■へ進む。
0次のデータを書き込むべきストリームの要素が「未定
義2」であるかを判断し、「未定義2」であれば、ステ
ップ■へ飛び、そうでなければステップ■へ進む。
■データをストリームに書き込み、ステップ■へ戻る。
■終端記号を書き込み、データを消費者プロセスへ転送
し、処理を終わる。
■データを書き込むべきストリームの要素が「未定義2
」であるかを判断し、そうでなければステップ■へ進み
、「未定義2」であればステップ■へ飛ぶ。
■データをストリームに書き込み、データを消費者プロ
セスへ転送し、「タイム領域」の時刻を現在時刻に更新
し、ステップ■へ戻る。
■ストリームを延長しく第3図(bl参照)、「タイム
領域」に時刻を書き込み、データを書き込み、データを
消費者プロセスに転送して、ステップ■へ戻る。
〔発明の効果〕
以上説明のように本発明によれば、ネットワークを介し
てのデータ転送の頻度を減らすことができ、疎結合のマ
ルチプロセッサ上での並列論理型言語の実行を効率化に
寄与する効果はきわめて大である。
【図面の簡単な説明】
第1図は本発明の原理ブロック図、 第2図は本発明によるPE間通信を示す図、第3図は本
発明の一実施例における有限長ストリームの延長を示す
図、 第4図は本発明の一実施例における生産者プロセスの処
理を示すフローチャート、 第5図はレディキューを示す図、 第6図はプロセス間通信の概念を示す図、第7図はプロ
セス間通信の実現を示す図、第8図はマルチプロセッサ
システム例を示す図、第9図はPE間通信を示す図であ
る。 図面において、 1.2はプロセッサ・エレメント、 3はネットワーク、   4生産者プロセス、5は消費
者プロセス、 6,7はストリーム、11はCPU、 
      12はメモリ (MEM)、41は時間監
視手段、  42はデータ終端検出手段、43はストリ
ーム最終検出手段、 をそれぞれ示す。 特許出願人 工業技術院長 飯塚 幸三PE2 シ′I4費者アロゼ又 ストリーム 本紀明1てよるPL間ゑ信欠千τ回 心 Z 図 ・+閏 PE2 消費者プロセス P E  PP  A  f會 t  X V  ’;
EJ躬9 口

Claims (1)

  1. 【特許請求の範囲】 並列論理型言語で記述されたプログラムを、複数のプロ
    セッサがネットワークを介して結合されたマルチプロセ
    ッサ上において実行するシステムにおいて、 データを送り出す側の生産者プロセス(4)を実行する
    プロセッサ(1)が、データを受け取る側の消費者プロ
    セス(5)を実行するプロセッサ(2)との通信に用い
    るバッファメモリであるストリーム(6)の大きさを有
    限長とし、 該有限長ストリーム(6)の生成された時刻を記入する
    領域と、最終の要素に最終を示す記号を設けると共に、 生産者プロセス(4)に、 現在のストリームが生成された時刻と新しくデータを書
    き込む時刻との差が予め定めた時間に達したことを監視
    する時刻監視手段(41)と、データが終端に達したか
    を検出するデータ終端検出手段(42)と、 データを書き込むべきストリームの要素位置が最後であ
    ることを検出し新たな有限長ストリームに延長するスト
    リーム最終検出手段(43)を備え、時間監視手段(4
    1)による時間超過検出、終端検出手段(42)による
    データ終端検出ならびにストリーム最終検出手段(43
    )によるストリーム最終の検出により、供給駆動的に、
    消費者プロセス(5)にデータを転送するよう構成した
    ことを特徴とする並列論理型言語におけるデータ転送方
    式。
JP17814088A 1988-07-19 1988-07-19 並列論理型言語におけるデータ転送方式 Granted JPH0228862A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17814088A JPH0228862A (ja) 1988-07-19 1988-07-19 並列論理型言語におけるデータ転送方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17814088A JPH0228862A (ja) 1988-07-19 1988-07-19 並列論理型言語におけるデータ転送方式

Publications (2)

Publication Number Publication Date
JPH0228862A true JPH0228862A (ja) 1990-01-30
JPH0570866B2 JPH0570866B2 (ja) 1993-10-06

Family

ID=16043342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17814088A Granted JPH0228862A (ja) 1988-07-19 1988-07-19 並列論理型言語におけるデータ転送方式

Country Status (1)

Country Link
JP (1) JPH0228862A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5587106A (en) * 1992-04-27 1996-12-24 Mitsubishi Gas Chemical Company, Inc. Liquid crystal display devices and liquid crystal substances therefor
JP2008532171A (ja) * 2005-03-04 2008-08-14 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. パイプラインスループットを促進するための方法及び装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5587106A (en) * 1992-04-27 1996-12-24 Mitsubishi Gas Chemical Company, Inc. Liquid crystal display devices and liquid crystal substances therefor
JP2008532171A (ja) * 2005-03-04 2008-08-14 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. パイプラインスループットを促進するための方法及び装置
JP4749431B2 (ja) * 2005-03-04 2011-08-17 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. パイプラインスループットを促進するための方法及び装置
US8271993B2 (en) 2005-03-04 2012-09-18 Hewlett-Packard Development Company, L.P. Method and apparatus for facilitating pipeline throughput

Also Published As

Publication number Publication date
JPH0570866B2 (ja) 1993-10-06

Similar Documents

Publication Publication Date Title
US6782468B1 (en) Shared memory type vector processing system, including a bus for transferring a vector processing instruction, and control method thereof
TWI250411B (en) Method, apparatus and system for memory access
JP2564805B2 (ja) 情報処理装置
US5701495A (en) Scalable system interrupt structure for a multi-processing system
JPS5841538B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
KR100538727B1 (ko) 멀티 프로세서 시스템
SE7505994L (sv) Databehandlingsanleggning innefattande enheter for behandling av inmatning/utmatning-instruktioner
US20060059489A1 (en) Parallel processing system, interconnection network, node and network control method, and program therefor
EP0272705A2 (en) Loosely coupled pipeline processor
US6418497B1 (en) Method and system for interrupt handling using system pipelined packet transfers
JP3442932B2 (ja) 情報処理システム
KR900004291B1 (ko) 데이터 프로세서
JPH0228862A (ja) 並列論理型言語におけるデータ転送方式
CN114416317B (zh) 核间中断执行方法、处理方法及装置、设备和存储介质
JP3684579B2 (ja) 分散型並列計算機のプロセッサエレメント
JPH01106158A (ja) プロセツサ間のデータ通信制御方式
JPH09218859A (ja) マルチプロセッサ制御システム
JPH02166548A (ja) 共通バス制御方式
JPS5834858B2 (ja) デ−タ交換制御方式
JPH0266666A (ja) Cpu間の割り込み処理方法
Cousins A reentrant peripheral interface
JPH03119429A (ja) データ処理装置の割込制御方式
JPS6111882A (ja) 情報処理装置
JPH03257634A (ja) プログラム並列実行方法とその装置
JPS61267850A (ja) 共通バス制御方式

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term