JPS6337431A - 並列処理制御方法 - Google Patents

並列処理制御方法

Info

Publication number
JPS6337431A
JPS6337431A JP17986686A JP17986686A JPS6337431A JP S6337431 A JPS6337431 A JP S6337431A JP 17986686 A JP17986686 A JP 17986686A JP 17986686 A JP17986686 A JP 17986686A JP S6337431 A JPS6337431 A JP S6337431A
Authority
JP
Japan
Prior art keywords
predicate
variables
processing
clauses
facts
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
JP17986686A
Other languages
English (en)
Inventor
Keiji Kojima
啓二 小島
Shunichi Torii
俊一 鳥居
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP17986686A priority Critical patent/JPS6337431A/ja
Publication of JPS6337431A publication Critical patent/JPS6337431A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機システムにおける並列処理の制御に関
し、特に、論理型言語で記述されたプログラムの並列処
理の制御に関する。
〔従来の技術〕
論理型言語は、述語論理型言語とも呼ばれ、その代表は
Prologである。Prologによるプログラムの
構文と基本的動作は周知であり、例えば、後藤r Pr
ologの言語機能詳細」情報処理VoQ、25゜Nα
12.第1319〜1328頁に解説されている。この
型の言語で記述されたプログラムの実行は1通常、それ
ぞれのゴール(解くべき問題又はその各部分)に対する
複数の規則及び/又は事実の適用を含み、したがって、
一般的には、並列処理による処理時間の短縮が期待され
る。
尾内他「並列型推論マシンPIM−Rのアーキテクチャ
とソフトウェアJIC○”L’ 、 T R−077゜
1985は、Prolog等の論理型言語で記述された
プログラムの並列処理を論じている。そこに述べられて
いるように、従来のこの種のプログラムの並列処理にお
いては、基本的には、ゴールに対して、それに関するす
べての規則及び事実が並列に適用される。前掲論文は、
Prologプログラムについて、引数間並列とAND
並列の実行は得策ではなく、0RSi!、列のみを実行
するのが実際上有利である旨を述べているが、OR並列
の選択的実行までは考慮していない。
〔発明が解決しようとする問題点〕
実際のプログラムでは、各ゴールに関する多くの規則及
び事実の内で一部のものだけが適用に成功する場合が多
い。このことは、OR並列についても同様である。例え
ば、N個のOR節があっても、それらが適用されるべき
述語に含まれる変数が特定された後では、唯一のOR節
きり成立できないという場合がある。この場合、これら
N個のOR節をN個のプロセッサエレメントに分配して
並列に処理しても、N−1個のプロセッサエレメントで
はそれらの担当したOR節が直ちに不成立となり、した
がって、並列処理の効果はほとんど生じない。他方、並
列化操作は、メツセージの作成とその授受、その他のた
めのかなりのオーバヘッドを伴う、それゆえ、従来のよ
うな無条件並列化は、期待したほどの処理時間の短縮を
もたらさず、しばしば、並列処理による処理時間が逐次
処理によるそれを上回ることがある。
本発明は、無益な並列化を防止することによって、並列
処理の実質的効果を維持しながら、並列化オーバヘッド
を削減し、以て、論理型言語プログラムの総合処理速度
を改善することを意図する。
〔問題点を解決するための手段〕
本発明は、コンパイル時に、各ゴールごとに、それに適
用されるべき規則及び事実の同時成立の可能性を解析し
、実行時に、前記解析の結果に従って、同時成立の可能
な場合にのみ並列処理を実行させる。
〔作用〕
規則及び事実の同時成立の可能性の有無は、通常、述語
の呼出し順序の解析と試験的統一化の結果とから、コン
パイル過程を通じて論理的に決定することができる。こ
うして得られた同時成立性情報は、オブジェクトプログ
ラムの一部として。
各プロセッサエレメントに渡せばよい、各プロセッサエ
レメントは、ある述語を取出した時に、この同時成立性
情報を参照し、それにより、同時成立の可能性の有無、
すなわち、並列処理を行なうへきか逐次処理を行なうべ
きかを、決定することができる。したがって、処理時間
短縮の実効がない並列処理のための並列化操作は排除さ
れて、オーバヘッドの削減をもたらし、他方、実効ある
並列処理は実行されて、並列処理による高速化効果は維
持される。
〔実施例〕
以下、本発明の一実施例を、Prologで記述された
プログラムの場合について説明する。prologの言
語機能の詳細については、前掲後藤論文を参照されたい
本発明は、コンパイル時に行なわれる解析フェーズと、
オブジェクトプログラム実行時に行なわれる実行フェー
ズとに分けられる。第1図(A)は解析フェーズにおけ
る処理の概要を示し、同図(B)は実行フェーズにおけ
る処理の概要を示す。
第2図は、第1図に示された処理を含むPrologプ
ログラムの実行に用いられる計算機システムの一例を、
ブロックダイヤグラムで示す。ホストプロセッサ201
は、複数のプロセッサエレメント(PE)202a 〜
202cに、通信制御ユニット(CCU)203を介し
て接続される。ホストプロセッサ201は、また、CP
U204.主メモリ205、外部メモリ制御ユニット(
EMCU)206、及び端末制御ユニット(TCU)2
07を有する。EMCU206は、コンパイラを保持す
る外部メモリ208aと、Prologで記述されたソ
ースプログラムを保持する外部メモリ208bとに接続
され、これらと主メモリ205の間のデータの授受を制
御する。TCU207は、端末装置209と接続され、
ホストプロセッサ201と端末装置209の間の通信を
制御する。
主メモリ205は、必要に応じていくつかのエリアに分
割され、図には、コンバイリングによって得られたオブ
ジェクトプログラムを格納するためのオブジェクトエリ
ア210と、ワークエリア211が示されている。これ
らの他に、図示されていないが、O8を保持するエリア
、目下走行中のプログラムを保持するエリアなどがある
。ワークエリア中のトリ一二リア212とオブジェクト
エリア中のテーブルエリア213が、本発明による後述
の処理のために用意される。
ホストプロセッサ201は、コンパイラと[’rolo
gプログラムを、それぞれ外部メモリ208aと208
bから上メモリ205の適当なエリアに転送して、ワー
クエリア211を利用しつつPrologプログラムを
コンパイルし、得られたオブジェクトプログラムをオブ
ジェクトエリア210に格納する。完成したオブジェク
トプログラムは、CCU2O5を経て、全P E 20
2 a 〜202 cに転送される。
実行に際して、質問が端末装置209から与えられると
、ホス1へプロセッサ201はそれをPE202a〜2
02cの予め定められた一つに送り、このPEは、必要
に応じて他のPEと協同しつつ、オブジェクトプログラ
ムを実行し、答をホストプロセッサ201を介して端末
装’Ei 209に戻す。
各PEの構成並びにそれらの間の接続形態及び通信機能
の詳細は公知であり、例えば、前掲文献IC0T、TR
−077に記載されている。
第3図は、Prologプログラムの一例として、4−
 Queensと呼ばれるパズルを解くためのプログラ
ムを示す。このパズルのゴールは、4行(A−D)×4
列(1〜4)の格子に、4個のチェスのクイーンを、互
いに他のクイーンに取られないように配置することであ
る(中高「非決定的アルゴリズム」情報処理、Vow、
24.Na3.第457〜461頁参照)。節301は
質問それ自体であり、窮極的なゴールである。記号1:
l  (ネック)の左辺は頭部と呼ばれ、その右辺は本
体部と呼ばれる。次の節302は、質問301が成立す
るための規則を示す。すなわち、述語5EL(A)ない
しCHK2 (A、D)がすべてAND関係で成立する
ようなA−Dと1〜4の組合せが、解を与える。述語5
EL(A)は、行Aでクイーンを置きうる列位置の事実
(OR定義節303〜306で与えられる)の選択を示
し、NEXT (A、B)ないしNEXT (C,D)
は、隣接する二つの行で許される列位置の事実(OR定
義節307〜312)の適用を示し、CHKI  (A
、C)とCHKI (B、D)は、OR定義節313と
314を介して、1行置いた二つの行で許される列位置
の事実(OR定義節317〜320)の適用を示し、C
HK2 (A、D)は、OR定義節315と316を介
して、2行置いた二つの行で許される列位置の事実(O
R定義節321〜325)の適用を示す。A−DとX、
Yは、値1〜4を取りうる変数とみなすことができ、こ
れらの変数を含む各述語の成立は部分的なゴールである
第1図(A)の解析フェーズでは、各OR節群の中で同
時に成立する可能性のある節を判別する。
例えば、第3図に示されたプログラムにおいて、ff1
302中で最初に呼出される述語SEL (A)を定義
する四つのOR節303〜306は、Aが未代入の変数
なので、同時に成立する可能性がある。しかし、5EL
(A)が呼出された後では、統一化操作(二つの引数が
同一になりうるか否かの決定)によって変数Aの値が特
定されているので、次に呼出される述語NEXT (A
、B)を定義する六つのOR節307〜312は、すべ
てが同時に成立するわけではなく、変数Aに対応する値
が同一の節のみが、同時に成立する可能性を持つ。すな
わち、節307と308、又は311と312は同時に
成立する可能性を持つが、これらの節の対とその他の節
が同時に成立することはない。第1図(A)の解析フェ
ーズでは、OR節のこのような同時成立性を判別するた
めに、まず、諸述語が呼出される順序が解析され(10
1)、次いで、各述語に含まれる変数がその呼出時点で
特定されているか否かが調べられ(102)、最後に、
同時に成立する可能性のあるOR節と然らざるOR節が
判別されて、OR節のグループ分けが行なわれる(10
3)。
第1図(B)の実行フェーズでは、各述語の処理に際し
て、担当PEは、解析フェーズで得られた判別情報を用
いて、同時成立の可能なOR節の有無を調べ(104)
、なければ各OR節を自身で逐次的に実行する(105
)。しかし、同時成立の可能なOR節があれば、担当P
Eは他のPEに依頼し、これらのPEが並列にこれらの
OR節を処理する0例えば、述語SEL (A)の処理
において、そのOR定義節303〜306は前述のよう
に同時に成立する可能性があるので、4台のPEで並列
に処理される。しかし1次の述語NEXT(A、B)の
処理においては、節307と308又は311と312
のみが同時に成立する可能性を持つので、節307.3
09及び311があるPEで逐次的に処理され、節30
B、310及び312は他のPEで逐次的に処理される
次に、前記諸ステップの詳細を説明する。述語5EL(
A)及びNEXT (A、B)についての前爪説明から
れかるように、OR節の同時成立性は、それらが適用さ
れる述語が筒中のどの位置で呼出されるか、そして、ど
の節から呼出されるかによって異なる。したがって、同
じ名前を持つ述語であっても、そのOR定義節の同時成
立性は、その述語の呼出され方によって変わる。述語呼
出し関係解析ステップ101は、諸述語のこのような呼
出関係を明確にする。そのために、まず、変数を含む節
の多重化が行なわれ、次いで、述語呼出し関係本が作成
される。
第4図(A)は、第3図のプログラムにおける変数を含
む節の多重化の結果を示す。例えば、述語CHKlは、
節302中で2度呼出される。記述のように、変数を含
む述語の同時成立性は、筋向におけるその出現位置に選
って変化するので。
これら二つのCHKIは、別のもの、すなわち、CHK
llとCHKI□として扱われ、それに対応して、CH
Klを定義するOR節313及び314は多重化されて
、新たに節401〜404が作成される。複数回現われ
る他の述語N E X T、OKI及びOK2について
も同様である。ただし、第3図の例では、NEXT、O
Kl及びOK2はそのOR定義節が変数を含まないので
、多重化を行なわなくてもよい。
第4図(B)は、同図(A)のように多重化されたプロ
グラムに基づいて作成された述語呼出し関係木を示す、
これは、変数を含む節の頭部に現われる述語名を親とし
、本体部に現われる述語名を子とする木である。この木
は、ワークエリア中のトリ一二リア212(第2図)中
に保持される。
第4図(B)において、各述語の左肩に付された数字は
、後述する深さ優先順を示す。
次に、変数特性解析ステップ102の詳細を説明する。
このステップにおいて、変数は次の2種類に分類される
(1)入力変数、すなわち、述語が呼出される時には値
が決定されている変数。
(2)出力変数、すなオ〕も、述語が呼出される時には
値が未決定であるが、呼出しの直後にはそれが決定され
る変数。
第5図は、この変数特性解析ステップ102の詳細を示
し、第6図は、第4図(A)のように多重化されたプロ
グラムの解析の結果を示す。まず、ステップ501にお
いて、特性が未決定である旨を示す記号゛?′ が、プ
ログラム中の全変数の右717に付される。このような
記号の付加は、マシン内では、例えば、対応するタグの
付加により実現される。続くステップ502において、
前述の述語呼出し関係解析ステップ101で得られた述
語呼出し関係木゛rに含まれる述語が、第4図(B)で
各述語の左肩に付された数字により示される深さ優先順
(depth−first order )に従って取
出され、以降のステップにより解析される。深さ優先順
の探索は、例えば、N、 J、 Ni1son rPr
inciplesof Artificial Int
elligenceJ Chap、 2 、 Tiog
aPublishing Co、 、 1980に記載
されている。
解析過程に入って、まず、ステップ503で、ステップ
502で取出された述語Pが、述語Pの全OR定義節の
頭部と統一化される6次に、ステップ504で出力変数
が判別される。すなわち、ステップ503における統一
化によって常に定数か又は出力変数と統一化される述語
P内の変数は、出力変数であり、したがって、そのよう
な変数の右肩に対された記号゛?′ を、出力変数を示
す記号′−′に変更する。例えば、述語5EL(A)と
そのOR定義節303〜306の頭部(ネックを持たな
い節は、それ自体が頭部であるとみなされる)とを統一
化すると、変数Aは常に定数1〜4と統一化されるので
、この述語中の変数Aは出力変数であると判別されて、
SEL (A’ )は5EL(A−)に変更される。出
力変数と判別された述語P中の変数は、述語Pの呼出し
の直後に値が決定され、その結果、同じ節の中でそれ以
後に現われる述語にとっては入力変数となる。したがっ
て、ステップ505で、述語Pを含む筒中で以後に現わ
れる同じ変数の右肩の記号′?′が、入力変数を示す記
号“十′に変更される。例えば、B302において、述
語5EL(A’″)の後に現われる述語NEXT (A
’ 、B’ ) 、CHKll(A’ + c ’ )
−及びCHK2 (A′?、D?)中の変数A° は、
A に変更される。
一方、述語PのOR定義節の頭部に現われる変数の内で
、述語Pとの統一化によって定数か又は述語P内の入力
変数と統一化される変数も、やはり入力変数である。ス
テップ506では、前記の事実に基づいて、述語PのO
R定義節の頭部に含ま九る入力変数が判別され、それら
の右肩に付された記号′?′ が記号(+)に変更され
る。続いて、ステップ207で、ステップ505におけ
るのと同じ根拠に基づき、同じOR定義節中の他のすべ
ての同じ変数が入力変数として判別され、それらの右肩
の記号が+′に変更される0例えば。
節302内の述語CHK1.(A  、C”)(この述
語に含まれる変数A及びCは、それまでの解析により、
入力変数と判別されている)とそのOR定義節401及
び402(第4図(A))の頭部とを統一化すると、こ
れらのOR定義節の頭部の変数X゛及びY は入力変数
A 及びCとそれぞれ統一化されるので、双方とも入力
変数であると判別されて、X 及びY にそれぞれ変更
され、次いで、それらの本体部の変数X°及びY7も、
X 及びY にそれぞれ変更される。ステップ502な
いし507は、関係木T内の相次ぐ述語に対して反復さ
れ、未処理の述語がなくなると、変数特性解析は終了す
る。
第7図は、同時成立性解析ステップ103の詳細を示し
、第8図は、第4図(A)のように多重化されたプログ
ラムの解析の結果を示す。一般に、ある述語P内の変数
の全部が出力変数ならば、この述語Pが呼出される時点
でそれらの変数は未決定であるから、この述語PのOR
定義節はすべて同時成立の可能性を持つ。しかし、入力
変数が含まれている場合には、この述語Pが呼出される
時点で入力変数の値が既に決定されているため、この述
語PのOR定義節は、必ずしも同時成立が可能ではない
。述語P内の変数Xが入力変数であるとき、その二つの
OR定義節C1とC2は、Pと01の頭部との統−化後
のXの値al が、PとC2の頭部との統−化後のXの
値a2と等しい場合にのみ、同時成立が可能である。
第7図を参照して、ステップ701で、第4図(B)の
述語呼出し関係木から述語Pが深さ優先順に取出され、
ステップ702で、この述語P内の変数がすべて出力変
数であるか否かが調べられる。もしもすべての変数が出
力変数ならば、この述語PのOR定義節はす入で同時成
立が可能であり、したがって、ステップ703において
、並列処理のために、すべてのOR定& n5が異なる
グループにグループ分けされる。例えば、述語5EL(
A−)は出力変数のみを含み、したがって、そのOR定
義節303〜306は、同時成立が可能であり、第8図
に示されるように、グループ1〜4にグループ分けされ
る。第8図において、「グループ+、を成」の欄に記さ
れた括弧内の数字は、第3図の左端に記された節通し番
号である。
他方、述語Pが少なくとも一つの入力変数を含んでいれ
ば、ステップ704で、述語Pとその各OR定義節の頭
部とが統一化され、ステップ705で、統一化の結果に
従ってOR定義節がグループ分けさ汎る。述語Pとその
各定義節CIの頭部との統一化により得られる入力変数
XBXx、・・・。
も、 が成立するOR定義fiQ Ct とCJ があれば、
これら二つの節は同時成立が可能であり、したがって、
異なるグループにグループ分けされる。前記条件を満た
さないOR定義節は、これらのグループに適当に分配さ
れる。しかし、前記条件を満たすOR定義節がなれば、
グループ分けは行なわれな+ い。例えば、入力変数A を含む述語NE XTよ(A
、B−)については、それとそのOR定義節307〜3
12のそれぞれとを統一化すると、統一化後の入力変数
A の値は、それぞれ、1,1゜2.3,4.4となる
。すなわち、節307と308又は311と312の一
方の対のみが同時成立の可能性を持つ。したがって、節
307と308が異なるグループに厘し、かつ、節31
1と312も異なるグループに、寓するようにグループ
化が行なわれ、節309と310は、これらのグループ
に分配される。複数通りのこのようなグループ分けが可
能であるが、グループ数がなるへく少なく、かつ、各グ
ループに属する節の数が同一か又はなるべく同一に近い
ような、組合せを選ぶのがよい0例えば、第8図に示す
ように、筒307.309及び311(節通し番号7.
9及び11)で第1グループを構成し、節308.31
0及び312(節通し番号8.10及び12)で第2グ
ループを構成する。
以上の処理は、述語呼出し関係水内の述語が尽きるまで
反復され、得られたグループ分け情報(第8図)は、同
時成立性テーブルとして、オブジェクトエリア内のテー
ブルエリア213(第2図)に格納される。ただし、第
8図には、簡明のために、同時成立の可能性があり、し
たがって複数のグループに分けられたOR定義節を持つ
述語のみが、図示されている。述語NEXTは、ステッ
プ101における多重化によって、第4図(A)ニ示さ
れるように、NEXTl、NEXTz及びNEXT3に
区別されたが、これらについてのグループ分けは全く同
一なので、同時成立性テーブルにおいては、これらは再
び一つに併合されている。述語CHK1についても同様
である。OKl及びOR2については、同時成立の可能
性はない。
同時成立性テーブル(第8図)は、オブジェクトプログ
ラムの一部として、各PE202a〜202cに送られ
て、そこに保持される。
第1図(B)の実行フェーズにおいて、ある述語を取出
したPEは、ステップ104で、同時成立性テーブル(
第8図)を参照して、その述語のOR定義節が複数のグ
ループに分けられているか否か(すなわち、同時成立の
可能性があるか否か)を調べ、それらが複数のグループ
に分けられていなければ、ステップ105で、全OR定
義′5を自身で逐次的に実行する。他方、もしもそれら
のOR定義節が複数のグループに分けられていれば、こ
のPEは、ステップ106において、そ、れ白身が処理
するグループを除く各グループについて、その処理を依
頼するためのメツセージを作成し、そハを然るべきPE
に送る。このメツセージは、第9図に示されるように、
述語名、グループ番号及び変数値リストを含む。このメ
ツセージを受取ったPF:は、その内容に従い依頼され
たグループの処理を開始し、こうして、複数のOR定定
義ダグループ、対応する数のI) Eによって並列に処
理される。各グループに屈する譜ユ)は、各担当PEに
より逐次的に処理される。変数値リストのフォーマット
を含むPE間通信、PEにおける述語とそのOR定義節
の処理、その他の詳細は、公知(例えば前掲文献I C
O’I’ 、 T R−077) ”あリ、かつ、本発
明の部分をなすものではなく、したがって、その説明は
省略する。ステップ106において、すへてのグループ
の処理を他のPEにまかせるように、システムを構成し
てもよい。
コンパイラによる同時成立性解析の助けとなるような情
報(例えば、入力変数と出力変数の識別情報)をプログ
ラマがソースプログラムに付加すれば、プログラマの負
担は増すが、コンパイル時間を短縮することができる。
〔発明の効果〕
本発明によれば、同時成立の可能な部分だけが並列化処
理を受けるので、並列化のためのオーバヘッドが削減さ
れ、しかも、処理時間の短縮という並列処理の効果は充
分に享受することができ、その結果、総合処理時間が一
般に短縮される。
定量的に詳述すれば、ある述語がN個のOR定義筒を持
ち、これらが同時成立の可能なn個のグループにグルー
プ分けされ、各グループは同数の節からなる(N/n=
整数)場合において、成立した定義節の処理が成立後を
時間で終了するとすれば、これらOR定afH+の全部
を処理するのに要する時間は、近似的に次のとうりであ
る。
逐次処理:N×(統一化時間)+nt 無条件並列処理:(N−1)X(並列化時間)+(統一
化時間)+1 本発明:  (n  1) X (Mt列化時間)十−
×(統一化時間)+1 現在の技術の状態においては、並列化時間が統一化時間
よりもかなり長いシステムが多い。このようなシステム
では、nが小さい(すなわち、同時成立が可能なOR定
義節が少ない)場合に、無条件並列処理は逐次処理より
もかなり長い時間を要する。しかし、このような場合に
も、本発明による処理時間は、逐次処理によるそれとほ
とんど変らず、かつ、n=N(すなわち、全OR定義節
が同時成立可能)の場合を除き、無条件並列処理による
処理時間よりも短い。
また、並列化時間が統一化時間と等しいときでも、本発
明による処理時間は、n−1とn = Nの場合(すな
わち、同時成立可能なOR定義節が全くない場合と、全
OR定義節が同時成立可能な場合)を除き、無条件並列
処理による処理時間よりも短い。例えば、統一化時間と
並列化時間が共にαで、N=16.n=4ならば、全処
理時間は、逐次処理=16α+4を 無条件並列処理:16α十を 本発明ニアα十t であり、本発明の並列化オーバヘッド削減効果が顕著に
現われている。
【図面の簡単な説明】
第1図は本発明による並列処理制御方法の一実施例の概
要を示すフローチャート、第2図は本発明の方法を実行
する計算機システムの一例を示すブロックダイヤグラム
、第3図はPrologプログラムの一例を示す図、第
4図は第1図における述語呼出し関係解析ステップの処
理結果を示す図、第5図は第1図における変数特性解析
ステップの詳細を示すフローチャート、第6図は第5図
の処理の結果を示す図、第7図は第1図における同時成
立性解析ステップの詳細を示すフローチャート、第8図
は第7図の処理の結果を示す図、第9図はプロセッサエ
レメント間通信に用いられるメツセージのフォーマット
を示す図である。 101・・・述語呼出し関係を解析するステップ、10
2・・・変数の特性を解析するステップ、103・・・
OR節の同時成立性を解析するステップ、104・・・
実行時にOR節の同時成立性を調べるステップ、106
・・同時成立が可能なOR節を並列に処理するステップ

Claims (1)

  1. 【特許請求の範囲】 1、相互接続されて並列動作可能な複数のプロセッサエ
    レメントを有し、論理型言語で記述されたプログラムを
    コンパイルして実行する計算機システムにおいて、コン
    パイルフエーズにおいてプログラム中の各ゴールについ
    てそれに適用されるべき複数の規則及び事実が同時に成
    立する可能性を解析し、その結果を示す同時成立性情報
    を生成するステップと、実行フェーズにおいて前記同時
    成立性情報を参照し、同時に成立する可能性がある規則
    及び事実の適用を異なる前記プロセッサエレメントに実
    行させるステップとを有する、並列処理制御方法。 2、特許請求の範囲1において、前記同時成立性情報生
    成ステップは、変数を含む述語の呼出しの順序を解析す
    るステップと、前記各述語内の変数が当該述語の呼出し
    時に特定されているか否かを解析するステップと、前記
    後者ステップの解析結果を用いて前記同時成立性情報を
    生成するステップとを含む、並列処理制御方法。 3、特許請求の範囲2において、前記同時成立性情報生
    成ステップは、前記各述語に対する規則及び事実を同時
    に成立する可能性のあるものが同じグループに属さない
    ように複数のグループに分けて、このグループ分け情報
    を前記同時成立性情報に挿入するステップを含み、実行
    フェーズにおける前記ステップは、前記各グループに一
    つの前記プロセッサエレメントを割当てるステップを含
    む、並列処理制御方法。
JP17986686A 1986-08-01 1986-08-01 並列処理制御方法 Pending JPS6337431A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17986686A JPS6337431A (ja) 1986-08-01 1986-08-01 並列処理制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17986686A JPS6337431A (ja) 1986-08-01 1986-08-01 並列処理制御方法

Publications (1)

Publication Number Publication Date
JPS6337431A true JPS6337431A (ja) 1988-02-18

Family

ID=16073280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17986686A Pending JPS6337431A (ja) 1986-08-01 1986-08-01 並列処理制御方法

Country Status (1)

Country Link
JP (1) JPS6337431A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802374A (en) * 1988-08-02 1998-09-01 Philips Electronics North America Corporation Synchronizing parallel processors using barriers extending over specific multiple-instruction regions in each instruction stream

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802374A (en) * 1988-08-02 1998-09-01 Philips Electronics North America Corporation Synchronizing parallel processors using barriers extending over specific multiple-instruction regions in each instruction stream

Similar Documents

Publication Publication Date Title
JP5581326B2 (ja) 生物学の影響を受けたハードウェアセルアーキテクチャ
US5323312A (en) Specific layout structure generating method and structured document layout processing and device for carrying out the same
US6321376B1 (en) Apparatus and method for semi-automated generation and application of language conformity tests
US20050004786A1 (en) State machine modelling
EP0469756B1 (en) Modular expert system and method for modularizing a set of rules used by an expert system
CN112148343B (zh) 规则发布方法、装置及终端设备
Fisher Control structures for programming languages
US20020170044A1 (en) Method and system for register allocation
Segovia-Aguas et al. Hierarchical finite state controllers for generalized planning
JP2752094B2 (ja) 論理型言語におけるバックトラック処理方式
JPS6337431A (ja) 並列処理制御方法
Ebert et al. DiNeROS: A Model-Driven Framework for Verifiable ROS Applications with Petri Nets
Chen et al. A parallel execution model of logic programs
US20240104395A1 (en) Memory optimization method and device oriented to neural network computing
Gruau et al. A Programming Language for Artificial Development.
Lin Program recognition by observation
JP2685477B2 (ja) 分散システムのプログラム開発方法
JP2601541B2 (ja) Fortran入出力並び処理方式
JPH04287121A (ja) タプルスペース方式
CN113986597A (zh) 为代码添加异常处理模块的方法及装置
JP2001117774A (ja) 適応化機構を備えたプロダクションシステム
CN118170690A (zh) 一种基于待定元组的组合测试多故障定位方法
KR0162762B1 (ko) 객체 지향 병행 언어 에이비씨엘의 성능개선을 위한 형추론기
Lien Toward a Theorem Proving Architecture
Long et al. Task Interaction Graphs: An Intermediate Representation for Concurrency Analysis