JPH0287232A - Parallel executing system for production system - Google Patents
Parallel executing system for production systemInfo
- Publication number
- JPH0287232A JPH0287232A JP63239270A JP23927088A JPH0287232A JP H0287232 A JPH0287232 A JP H0287232A JP 63239270 A JP63239270 A JP 63239270A JP 23927088 A JP23927088 A JP 23927088A JP H0287232 A JPH0287232 A JP H0287232A
- Authority
- JP
- Japan
- Prior art keywords
- interference detection
- rule
- processor
- partial
- executed
- 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
Landscapes
- Devices For Executing Special Programs (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はプロダクション・システムに係り、詳しくは5
条件の照合したルールを複数のプロセッサで実行するこ
とにより高速化をはかったプロダクション・システムの
並列実行方式に関する。[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a production system, and for details, refer to 5.
This paper relates to a parallel execution method for a production system that aims to speed up the execution of rules whose conditions have been matched by multiple processors.
人工知能(AI)システムの実現方式としてプロダクシ
ョン・システムがある。プロダクション・システムは知
識を記述した知識ベースと推論を行う推論エンジンから
構成される。A production system is a method for realizing an artificial intelligence (AI) system. The production system consists of a knowledge base that describes knowledge and an inference engine that performs inference.
知識ベースは、事実に関する知識であるファクトと、規
則に関する知識であるルールからなる。A knowledge base consists of facts, which are knowledge about facts, and rules, which are knowledge about rules.
各々のファクトはワーキングメモリ要素(WME)とし
て記述され、ワーキングメモリ(WM)に記憶される。Each fact is described as a working memory element (WME) and stored in working memory (WM).
WMEは通常、クラス名、@性1:属性値、・・・、属
性n:属性値と記述される。また、各々のルールは条件
を記述した条件部(LH3部)と実行手続きを記述した
動作部(RH5部)から成る。ルールのLHS部は一つ
以上の条件要素からなり1条件要素には、一つ以上の条
件式が記述される。RH8部は一つ以上の実行要素から
なり、実行要素にはWMEの更新・表示及び入力などの
動作が記述される。ルールのLH8部の全ての条件要素
の全ての条件式を満足するWME群が存在するとき、L
H3部はそのWME群によって満足されたという。WME is usually written as class name, @character 1: attribute value, . . . , attribute n: attribute value. Furthermore, each rule consists of a condition part (LH3 part) that describes conditions and an action part (RH5 part) that describes execution procedures. The LHS part of a rule consists of one or more condition elements, and one condition element describes one or more condition expressions. The RH8 section consists of one or more execution elements, and operations such as WME update/display and input are described in the execution elements. When there is a WME group that satisfies all the conditional expressions of all the conditional elements in the LH8 part of the rule, L
It is said that the H3 section was satisfied by the WME group.
推論エンジンは、照合フェーズ→競合解消フェーズ−ル
ール実行フェーズの繰り返しによって推論を行う、この
一連の動作は認知サイクルと呼ばれる。照合フェーズで
は全てのWMEに対して、全てのルールのLH3部の条
件要素に記述された条件式を満足するか否かの照合を行
い、LH5部を満足するWME群とそれにより満足され
たルールの組の集合を生成する。この組をインスタンシ
ェーションと呼び、インスタンシェーションから成る集
合を競合集合と呼ぶ。競合解消フェーズでは、競合集合
から実行すべきインスタンシェーションを一つだけ選出
する。ルール実行部は競合解消フェーズで選出されたイ
ンスタンシェーション中のWME群に対して選出された
ルールのRH5部を作用させる。The inference engine performs inference by repeating the matching phase, conflict resolution phase, and rule execution phase. This series of operations is called a cognitive cycle. In the matching phase, all WMEs are checked to see if they satisfy the conditional expressions described in the condition elements of the LH3 part of all rules, and the WMEs that satisfy the LH5 part and the rules that are satisfied by them are checked. Generate a set of tuples. This set is called an instantiation, and the set consisting of the instantiations is called a conflict set. In the conflict resolution phase, only one instantiation to be executed is selected from the conflict set. The rule execution unit applies the RH5 portion of the selected rule to the WME group in the instantiation selected in the conflict resolution phase.
従来、プロダクション・システムを高速化させるための
実行方式として、競合集合の中から複数のインスタンシ
ェーションを選び、ある逐次実行結果と一致するように
ルールを並列実行する方法が提案されている(@子情報
通信学会論文誌Dvo1.J 71−D N(13pp
、567−576 1988.3石田:プロダクション
・システムの並列実行可能性の解析)。以下、この方式
について簡単に説明する。Conventionally, as an execution method to speed up production systems, a method has been proposed in which multiple instantiations are selected from a competitive set and rules are executed in parallel to match a certain sequential execution result (@ Journal of the Society of Information and Communication Engineers Dvo1.J 71-D N (13pp
, 567-576 1988.3 Ishida: Analysis of parallel execution possibility of production systems). This method will be briefly explained below.
2ル一ル間に次に示す関係がある場合、これらのルール
を並列実行した結果はいかなる逐次実行結果とも一致し
ない。If the following relationship exists between two rules, the results of parallel execution of these rules will not match any sequential execution results.
■ ルール1で削除するWMEをルール2で条件要素と
している場合
■ ルール2で生成するWMEをルール2でnot条件
要素(そのWMEがなければ成立する)としている場合
■ ルール1で生成し、ルール2で削除する共通のWM
Eがある場合
これらの関係はルール干渉と呼ばれており、競合集合か
ら複数のインスタンシェーションを選択する時は、いか
なる2ルールの間にもルール干渉がおきないように選択
しなければならない。よって、ルール実行を並列に行う
ときは、ルール干渉を検出するフェーズが必要となり、
これを干渉検出フェーズと呼ぶとすると、プロダクショ
ン・システムの認知サイクルは、照合フェーズ→干渉検
出フェーズ→実行フェーズという形になる。■ When the WME to be deleted in Rule 1 is set as a conditional element in Rule 2 ■ When the WME to be generated in Rule 2 is set as a not conditional element (true if that WME does not exist) in Rule 2 ■ When the WME is generated in Rule 1 and the rule Common WM to be deleted in 2
When E exists, these relationships are called rule interference, and when selecting multiple instantiations from a competitive set, selections must be made so that no rule interference occurs between any two rules. Therefore, when executing rules in parallel, a phase is required to detect rule interference.
If we call this the interference detection phase, the production system's cognitive cycle will be in the form of matching phase → interference detection phase → execution phase.
次に干渉検出を用いた並列実行を順次例を用いて説明す
る。こNでは全てのプロセッサからアクセスできる共通
WMを用いる。まず初期のWM(WM O)に記憶して
いるWMEが(at b、c)であり1次のルールがあ
るとする。Next, parallel execution using interference detection will be explained using examples. This N uses a common WM that can be accessed by all processors. First, it is assumed that the WME stored in the initial WM (WMO) is (at b, c) and there is a first-order rule.
ルール1 : I F a 、 THE N del
ete bルール2 : I F b、 THEN
delete aルール3 : I F c、 TH
EN create d第3図は逐次実行を行った例で
ある。(a)の逐次実行1では、まずルール1を実行し
、ルール2の条件要素であるbを削除するので、ルール
2は実行できない。従って次に実行するルールはルール
3となり、逐次実行結果は(a、b)となる。Rule 1: I Fa, THE N del
ete b rule 2: I F b, THEN
delete a rule 3: I F c, TH
EN create d FIG. 3 is an example of sequential execution. In sequential execution 1 of (a), rule 1 is executed first, and b, which is a conditional element of rule 2, is deleted, so rule 2 cannot be executed. Therefore, the next rule to be executed will be rule 3, and the sequential execution result will be (a, b).
また、(b)の逐次実行2ではルール2を先に実行し、
ルール1の条件要素であるaを削除するので、ルール1
は実行することができず1次の認知サイクルではルール
3を実行し、結果は(b、d)となる。Also, in sequential execution 2 in (b), rule 2 is executed first,
Since a, which is the conditional element of rule 1, is deleted, rule 1
cannot be executed, and in the first cognitive cycle, rule 3 is executed, and the result is (b, d).
第4図には、干渉検出を行わず、無条件にルールを並列
実行した例を示す。こSではWMOと照合した全てのイ
ンスタンシェーション、即ちルール1、ルール2、ルー
ル3を同時に実行し、ルール1とルール2の実行によっ
てaとbが削除され。FIG. 4 shows an example in which rules are unconditionally executed in parallel without interference detection. In this S, all the instantiations checked against the WMO, that is, rule 1, rule 2, and rule 3, are executed simultaneously, and a and b are deleted by executing rule 1 and rule 2.
ルール3の実行によってdを生成し、実行結果は(d)
となる。このように無条件に並列実行を行うと、第3図
におけるいずれの逐次実行結果とも一致しない結果にな
る。Generate d by executing rule 3, and the execution result is (d)
becomes. If parallel execution is performed unconditionally in this way, the result will not match any of the sequential execution results shown in FIG.
第5図には、干渉検出の結果、選択したルールを並列実
行した例を示す。WMOと照合するルール1,2.3は
ルール1とルール2が干渉検出をおこす条件の■を満た
す。従って、こ\ではルール1とルール2のうちどちら
かは選択候補から除き、干渉検出後のルール集合は(1
): (ルール1、ルール3)か、(2): (ル
ール2.ルール3)となる。これらのルール集合にたい
して優先度はなく、どちらのルール集合を選択してもか
まわない、第5図ではルール集合(1)を選択し、並列
実行した場合を示す。ルール1とルール3の実行により
、WMOのWME : b、cが同時に変更され、実行
結果は(a、c)となり、第3図(a)の逐次実行1の
結果と一致する。FIG. 5 shows an example in which rules selected as a result of interference detection are executed in parallel. Rules 1, 2.3 to be checked against WMO satisfy the condition (2) for rules 1 and 2 to cause interference detection. Therefore, in this case, either rule 1 or rule 2 is excluded from the selection candidates, and the rule set after interference detection is (1
): (Rule 1, Rule 3) or (2): (Rule 2. Rule 3). There is no priority among these rule sets, and it does not matter which rule set is selected. FIG. 5 shows the case where rule set (1) is selected and executed in parallel. By executing rules 1 and 3, WME of WMO: b and c are changed at the same time, and the execution result becomes (a, c), which matches the result of sequential execution 1 in FIG. 3(a).
以上説明してきたように、プロダクション・システムに
おいて、並列実行を行う時は、干渉検出を必ず行わなれ
ばならないが、この干渉検出における計算量が大きいと
いう問題がある。今、総ルール数がnであり、1ルール
につき1インスタンシエーシヨンが照合しているとする
と(以下においても同様)、干渉検出フェーズでは、2
ル一ル間についてルール干渉を検出するため、該干渉検
出フェーズにおける計算量は、nC,=n (n−1)
/2.すなわちn2オーダの計算量が必要になる。As explained above, in a production system, interference detection must be performed when parallel execution is performed, but there is a problem that the amount of calculation required for this interference detection is large. Now, assuming that the total number of rules is n, and one instance is matched per rule (the same applies below), in the interference detection phase, 2
In order to detect rule interference between rules, the amount of calculation in the interference detection phase is nC,=n (n-1)
/2. In other words, the amount of calculation on the order of n2 is required.
プロダクション・システムのルール数としては。As for the number of rules in the production system.
数100ル一ル以上あることも珍しくないため、干渉検
出フェーズによるオーバヘッドにより、かえって逐次実
行方式より遅くなることもありうる。Since it is not uncommon for the number of rules to be several hundred or more, the overhead caused by the interference detection phase may actually make it slower than the sequential execution method.
そこで、干渉検出を高速に行う方法の一つとして、干渉
検出を行うルールを限定する方法が考えられる。まず、
ルールコンパイル時に、ルールの条件部と実行部を調べ
ることによって、干渉をおこす可能性のあるルール(干
渉ルール)を調べておく、干渉検出フェーズにおいては
、該干渉ルールについてだけ照合しているWMEが同一
であるか調べる。この方法によれば、干渉ルールが1ル
ールあたり平均mルールである場合、干渉検出フェーズ
での計算量は、n−m/2となる。こ\で1/2として
いるのは、2ルールのうち、どちらか一方で検出を行え
ばよいからである。したがって、n>mならば効果的で
あるが、実際にはmはnに比例して大きいことが多く、
結局はn2のオーダとなってしまい。計算量は削減され
ない。Therefore, one possible method for performing interference detection at high speed is to limit the rules for performing interference detection. first,
During rule compilation, rules that may cause interference (interference rules) are checked by checking the condition and execution parts of the rules.In the interference detection phase, WME checks only the interference rules. Check if they are the same. According to this method, when the number of interference rules is m on average per rule, the amount of calculation in the interference detection phase is nm/2. The reason why it is set to 1/2 here is that detection can be performed using either one of the two rules. Therefore, it is effective if n>m, but in reality m is often large in proportion to n,
In the end, it ended up being on the order of n2. The amount of calculation is not reduced.
このように、従来の干渉検出を用いた並列実行方式では
、干渉検出フェーズにおける計算量が、ルール数が多く
なるほど増えるため、結果的には逐次実行よりも遅くな
るという問題があった。As described above, in the conventional parallel execution method using interference detection, the amount of calculation in the interference detection phase increases as the number of rules increases, resulting in a problem that the execution becomes slower than sequential execution.
本発明の目的は、各プロセッサの照合結果について部分
的に干渉検出を行って、インスタンシェーションを絞り
込み、干渉検出フェーズの実行時間を削減することによ
って、高速なプロダクション・システムの並列実行方式
を提供することにある。An object of the present invention is to provide a high-speed parallel execution method for a production system by partially performing interference detection on the matching results of each processor, narrowing down the instantiations, and reducing the execution time of the interference detection phase. It's about doing.
上記目的を達成するため1本発明は、各プロセッサにお
いて照合フェーズを終了した後、干渉検出フェーズを行
う前に、該プロセッサの照合結果について干渉検出を行
い(以下1部分干渉検出と呼ぶ)、該部分干渉検出フェ
ーズの終了後、該部分干渉検出では調べられなかった他
プロセッサの部分干渉検出結果との干渉検出を行い、該
干渉検出フェーズで選択されたインスタンシェーション
を実行することを特徴とするものである。In order to achieve the above object, the present invention performs interference detection on the matching results of each processor (hereinafter referred to as 1 partial interference detection) after completing the matching phase in each processor and before performing the interference detection phase. After the partial interference detection phase ends, interference detection is performed with partial interference detection results of other processors that were not investigated in the partial interference detection, and the instantiation selected in the interference detection phase is executed. It is something.
並列実行方式は、ルール実行フェーズだけでなく、照合
フェーズでも複数のプロセッサを用いて並列化する方式
が通常とられる。したがって、照合フェーズの結果は各
プロセッサ毎に得られる。The parallel execution method usually uses a plurality of processors for parallelization not only in the rule execution phase but also in the collation phase. Therefore, the results of the matching phase are obtained for each processor.
本発明では、各プロセッサにおいてルール照合を実行し
た後、該プロセッサの照合結果について部分的に干渉検
出を行ってインスタンシェーションを絞り込む。In the present invention, after executing rule matching in each processor, interference detection is performed partially on the matching results of the processor to narrow down the instantiations.
本発明方式における干渉検出にかへる計算量を求めてみ
る。こぎでは、2台のプロセッサを用いるとすると、プ
ロセッサあたりの照合ルール数は平均□であるので1部
分干渉検出にかぎる計算量は となる。次に干渉検
出フェーズでは、p
1プロセッサあたりの計算量は、部分干渉検出にp
x
すると、(p−1)プロセッサにアクセスし、そとなる
。よって全プロセッサでは
2(px)”
以上示したように、本発明方式における干渉検に削減さ
れる。この式から、プロセッサ数p及び部分干渉検出に
おけるルールの絞り込み度Xが高ければ高いほど、本発
明方式は効果を発揮することがわかる。実際、照合フェ
ーズの並列方式の一つとして、干渉をおこすルール群を
同一のプロセッサに割り当て\照合を行うようにする方
法も考えられるので、この照合方法を用いて1部分干渉
検出において、1桁のルール数に絞り込めることができ
れば1水力式がより有効になることがわかる。Let us calculate the amount of calculation required for interference detection in the method of the present invention. In this case, if two processors are used, the average number of matching rules per processor is □, so the amount of calculation for one partial interference detection is as follows. Next, in the interference detection phase, the amount of computation per p1 processor is p x for partial interference detection, accessing (p-1) processors, and so on. Therefore, for all processors, the number of interference detections in the present invention method is reduced by 2 (px)'' as shown above.From this equation, the higher the number of processors p and the degree of refinement of rules in partial interference detection It can be seen that the invented method is effective.In fact, as one of the parallel methods in the matching phase, it is possible to allocate a group of rules that cause interference to the same processor and perform matching, so this matching method It can be seen that in one-part interference detection using , the one-hydraulic formula becomes more effective if the number of rules can be narrowed down to one digit.
次に本発明方式の変形として、干渉検出フェーズにおい
て、あるルールを優先して選択することが考えられる。Next, as a modification of the method of the present invention, it is conceivable to select a certain rule preferentially in the interference detection phase.
実際、ルール干渉をおこすルールは、どちらを選択して
もかまわない、こぎでは。In fact, it doesn't matter which rule you choose when it comes to rules that cause rule interference.
一番はじめに部分干渉検出が終了したプロセッサの選択
したインスタンシェーションすべてを、実行フェーズに
おいて実行することにする。すなわち、このプロセッサ
は干渉検出フェーズを行うことなく、すぐに実行フェー
ズに移る。実行されたルールは、全てのプロセッサから
アクセス可能なメモリ上に記憶しておく。次に部分干渉
検出が終了したプロセッサは1部分干渉検出結果から、
既に実行されたルールと干渉をおこさないインスタンシ
ェーションを選択して実行する。All selected instantiations of the processor for which partial interference detection has been completed first are executed in the execution phase. That is, the processor moves immediately to the execution phase without performing the interference detection phase. Executed rules are stored in memory that can be accessed by all processors. Next, the processor that has completed the partial interference detection uses the 1 partial interference detection result as follows.
Select and execute an instantiation that does not interfere with rules that have already been executed.
この方式の先の方式との違いは、干渉検出において、他
のプロセッサの部分干渉検出結果を必要としないことで
ある。先の方式では、他のプロセッサの部分干渉検出結
果が必要なため1部分干渉検出が早く終了しても、全て
のプロセッサが部分干渉検出を終了するまで干渉検出は
行えない。また、干渉検出を始めた後も、全プロセッサ
が同時に他のプロセッサにアクセスするので、プロセッ
サ間を結ぶ通信線が他のプロセッサの通信に使われてい
るような通信の競合がおこりやすい、一方、この方式で
は、他のプロセッサの実行状態にか\わらず、各プロセ
ッサは共通メモリ内のインスタンシェーションを参照す
ることによって干渉検出フェーズを行うことができる。The difference between this method and the previous method is that interference detection does not require partial interference detection results from other processors. In the above method, since partial interference detection results of other processors are required, even if one partial interference detection ends early, interference detection cannot be performed until all processors complete partial interference detection. Furthermore, even after interference detection has started, all processors access other processors at the same time, so communication conflicts are likely to occur where the communication line connecting the processors is being used for communication by other processors. In this scheme, each processor can perform the interference detection phase by referencing an instantiation in a common memory, regardless of the execution state of other processors.
また、干渉検出フェーズに移るタイミングが各プロセッ
サで異なるので、通信の競合もおこりにくい。このよう
に、干渉ルールのうち優先的に一部のルールを選択すれ
ば、干渉検出フェーズで同期をとる必要がなく。Furthermore, since the timing of transition to the interference detection phase is different for each processor, communication conflicts are less likely to occur. In this way, if some of the interference rules are selected preferentially, there is no need to synchronize in the interference detection phase.
高速に認知サイクルを実行できる。Able to execute cognitive cycles at high speed.
以下、本発明の一実施例について図面により説明する。 An embodiment of the present invention will be described below with reference to the drawings.
第1図は本発明方式の一実施例を説明するためのブロッ
ク図である。第1図において、プロダクション・システ
ム実行装置1はワーキングメモリ(WM)管理部2.干
渉検出部3、及び数台のプロセッサ4から構成される。FIG. 1 is a block diagram for explaining one embodiment of the system of the present invention. In FIG. 1, a production system execution device 1 includes a working memory (WM) management section 2. It is composed of an interference detection section 3 and several processors 4.
各プロセッサ4は、ルール照合部5、部分干渉検出部6
.ルール実行部7から構成される。Each processor 4 includes a rule matching section 5 and a partial interference detection section 6.
.. It is composed of a rule execution section 7.
各プロセッサ4のルール照合部5では、WM管理部2を
参照しながらルール照合を行うゆこNでWM管理部2は
、全てのプロセッサ4からアクセス可能な共通メモリ(
WM)を管理している。照合したルールとWMEの組は
、インスタンシェーション8としてルール照合部5から
部分干渉検出部6へ送られる。部分干渉検出部6では、
同じプロセッサで照合が行われているルールについて干
渉検出を行う。The rule matching unit 5 of each processor 4 performs rule matching while referring to the WM management unit 2. The WM management unit 2 stores a common memory (
WM). The matched set of rules and WMEs is sent from the rule matching unit 5 to the partial interference detection unit 6 as an instantiation 8. In the partial interference detection section 6,
Interference detection is performed for rules that are matched by the same processor.
部分干渉検出を終了したプロセッサ4は、共通バス9を
介し、選択したインスタンシェーションを干渉検出部3
へ送る。干渉検出部3は、全てのプロセッサ4からイン
スタンシェーションを受信した時に、ルールの干渉検出
を行う。すなわち、あるプロセッサの部分干渉検出部6
で検出できなかった。他のプロセッサにおいて照合され
ているルールについて、干渉検出を行う。干渉検出部3
は全てのプロセッサからアクセス可能であればよく、各
プロセッサ4と干渉検出部3間の通信方法は、共通バス
9の他に通信線を用いてもよい。After completing the partial interference detection, the processor 4 transfers the selected instantiation to the interference detection unit 3 via the common bus 9.
send to The interference detection unit 3 performs rule interference detection when instantiations are received from all the processors 4. That is, the partial interference detection unit 6 of a certain processor
could not be detected. Interference detection is performed for rules that are checked in other processors. Interference detection section 3
may be accessible from all processors, and the communication method between each processor 4 and the interference detection unit 3 may use a communication line in addition to the common bus 9.
干渉検出の終了後は、選択したインスタンシェーション
を各プロセッサ4のルール実行部7へ知らせる。ルール
実行部7ではルールを実行し、WM管理部2へ新しく追
加、または削除するWME情報10を送る。WM管理部
2では該WMEに関して、WMを書き換える。After the interference detection is completed, the selected instantiation is notified to the rule execution unit 7 of each processor 4. The rule execution unit 7 executes the rules and sends the WME information 10 to be newly added or deleted to the WM management unit 2. The WM management unit 2 rewrites the WM for the WME.
以上の認知サイクルを、全てのプロセッサ4において照
合するルールがなくなるまで繰り返す。The above recognition cycle is repeated until all processors 4 run out of rules to check.
第2図は干渉検出部3を各プロセッサ4内に設け、一部
のルールを優先して選択する実施例のブロック図を示す
。プロダクション・システム実行装置1の構成は、基本
的には第1図と同様であるが、干渉検出部3を各プロセ
ッサ内に持つかわりに、ルールバッファ記憶部11を各
プロセッサ4に共通に設ける。FIG. 2 shows a block diagram of an embodiment in which an interference detection section 3 is provided in each processor 4 and some rules are selected with priority. The configuration of the production system execution device 1 is basically the same as that shown in FIG. 1, but instead of having the interference detection section 3 in each processor, a rule buffer storage section 11 is provided in common to each processor 4.
各プロセッサ4では、部分干渉検出が終了すると、ルー
ルバッファ記憶部11にアクセスする。Each processor 4 accesses the rule buffer storage unit 11 when partial interference detection is completed.
こ\で、ルールバッファ記憶部11は、全てのプロセッ
サからアクセス可能で、各プロセッサ4とルールバッフ
ァ記憶部11間の通信方法は、共通バス9を用いてもよ
いし、通信線を用いてもよい。Here, the rule buffer storage section 11 can be accessed from all processors, and the communication method between each processor 4 and the rule buffer storage section 11 may be by using the common bus 9 or by using a communication line. good.
ルールバッファ記憶部11に何も書き込まれていない場
合は、当該プロセッサ4が部分干渉検出部6で選択した
インスタンシェーションをすべてルールバッファ記憶部
11に送り、干渉検出部3の実行はスキップして、ルー
ル実行部7においてこれらのルールを実行する。ルール
バッファ記憶部11に何らかのインスタンシェーション
が書き込まれている場合は、当該プロセッサ4の干渉検
出部3において、これらのインスタンシェーションと干
渉をおこさないインスタンシェーションを選択する。さ
らに、選択したインスタンシェーションをルールバッフ
ァ記憶部11に書き込み、ルール実行部7においてこれ
らのルールを実行する。If nothing is written in the rule buffer storage section 11, the processor 4 sends all the instantiations selected by the partial interference detection section 6 to the rule buffer storage section 11, and skips the execution of the interference detection section 3. , these rules are executed in the rule execution unit 7. If some instantiations are written in the rule buffer storage section 11, the interference detection section 3 of the processor 4 selects an instantiation that does not interfere with these instantiations. Further, the selected instantiations are written into the rule buffer storage section 11, and the rule execution section 7 executes these rules.
以上述べたように1本発明によれば、従来のプロダクシ
ョン・システムの並列実行方式と比較して、部分干渉検
出を行うことによって干渉検出にか\る計算量を削減し
、プロダクション・システムを高速に実行できるという
利点がある。As described above, according to the present invention, compared to the parallel execution method of conventional production systems, by performing partial interference detection, the amount of calculation required for interference detection is reduced, and the production system can be run at high speed. It has the advantage of being able to be executed.
第1図及び第2図は本発明の一実施例を説明するための
ブロック図、第3図、第4図及び第5図は、従来のプロ
ダクション・システムの実行方式を説明するため図であ
る6
1・・・プロダクション・システム実行装置、2・・・
WM管理部、 3・・・干渉検出部。
4・・・プロセッサ、 5・・・ルール照合部、6・・
・部分干渉検出部、 7・・・ルール実行部、9・・・
共通バス、 11・・・ルールバッファ記憶部。
並J1]賞り予1
(α9
悉二疋寅イ弯”
C)))
逐ン、廻犬イテ
?1 and 2 are block diagrams for explaining one embodiment of the present invention, and FIGS. 3, 4, and 5 are diagrams for explaining the execution method of a conventional production system. 6 1...Production system execution device, 2...
WM management section, 3... interference detection section. 4... Processor, 5... Rule matching unit, 6...
・Partial interference detection unit, 7... Rule execution unit, 9...
common bus, 11... rule buffer storage section; Average J1] Award 1 (α9 悉二疋寅い弯”C))) Is it a Kaiinu ite?
Claims (2)
るプロダクシヨン・システムにおいて、各プロセッサに
おいてルール照合を実行したのち、該プロセッサの照合
結果について干渉検出を行う部分干渉検出フェーズと、
全てのプロセッサにおいて部分干渉検出を終了したのち
、該部分干渉検出結果と他プロセッサの該部分干渉検出
結果との干渉検出を行う干渉検出フェーズを設け、該干
渉検出フェーズで選択されたインスタンシェーシヨンを
実行することを特徴とするプロダクション・システムの
並列実行方式。(1) In a production system in which a recognition cycle is executed by a plurality of processors, a partial interference detection phase in which, after executing rule matching in each processor, interference detection is performed on the matching results of the processor;
After completing partial interference detection in all processors, an interference detection phase is provided in which interference is detected between the partial interference detection results and the partial interference detection results of other processors, and the instance selected in the interference detection phase is A parallel execution method for production systems characterized by
分干渉検出フェーズが終了したプロセッサは選択された
インスタンシェーションをすべて実行し、続いて部分干
渉検出フェーズが終了したプロセッサは、該部分干渉検
出結果の中から、既に実行に移されたインスタンシェー
ションと干渉をおこさないインスタンシェーシヨンを選
択して実行することを特徴とする請求項(1)記載のプ
ロダクシヨン・システムの並列実行方式。(2) In the above interference detection phase, the processor whose partial interference detection phase is completed first executes all the selected instantiations, and the processor whose partial interference detection phase is subsequently completed executes the partial interference detection results. 2. The parallel execution method for a production system according to claim 1, wherein an instantiation that does not interfere with an already executed instantiation is selected and executed.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63239270A JPH0287232A (en) | 1988-09-24 | 1988-09-24 | Parallel executing system for production system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63239270A JPH0287232A (en) | 1988-09-24 | 1988-09-24 | Parallel executing system for production system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0287232A true JPH0287232A (en) | 1990-03-28 |
Family
ID=17042263
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63239270A Pending JPH0287232A (en) | 1988-09-24 | 1988-09-24 | Parallel executing system for production system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0287232A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250335257A1 (en) * | 2020-10-21 | 2025-10-30 | Shanghai Jiao Tong University | Resource allocation method, medium, and server |
-
1988
- 1988-09-24 JP JP63239270A patent/JPH0287232A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250335257A1 (en) * | 2020-10-21 | 2025-10-30 | Shanghai Jiao Tong University | Resource allocation method, medium, and server |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109886407B (en) | Data processing method, apparatus, electronic device, and computer-readable storage medium | |
| US7386521B2 (en) | Automatic test program generation using extended conditional constraint satisfaction | |
| CN110675255B (en) | Method and apparatus for concurrently executing transactions in a blockchain | |
| CN120929197A (en) | Alliance chain transaction parallel processing method based on graph structure | |
| US20230195599A1 (en) | Method for computing data dependence relationship in program, and computer readable storage medium | |
| JPH0287232A (en) | Parallel executing system for production system | |
| TWI732501B (en) | Method and device for parallel execution of transactions in block chain, computer readable storage medium and computing equipment | |
| CN117149770B (en) | Database stored procedure execution methods, apparatus, and computer equipment | |
| CN102063308B (en) | Method for controlling seismic exploration data processing flow | |
| JPH047743A (en) | Inference system | |
| Saidi et al. | A method for parallel scheduling of multi-rate co-simulation on multi-core platforms | |
| CN115170125A (en) | Block chain transaction execution method based on conflict detection | |
| KR20210007665A (en) | Apparatus and method for a query processing for in-memomry data in numa-based hardware | |
| Hibino | A practical parallel garbage collection algorithm and its implementation | |
| JPH0769831B2 (en) | Register allocation method in compiler | |
| JPH0721013A (en) | System generation method | |
| JPS63288332A (en) | Production system | |
| Jayanti | Solvability of consensus: Composition breaks down for nondeterministic types | |
| JPS6119072B2 (en) | ||
| JPH0348934A (en) | Parallel executing system for production system | |
| Attie | On the implementation complexity of specifications of concurrent programs | |
| HK40026265A (en) | Method and device for concurrently executing transactions in block chain | |
| HK40026265B (en) | Method and device for concurrently executing transactions in block chain | |
| Hansen | Concurrent Processes | |
| JPS6324422A (en) | Coexistence system for more than two kinds of access procedures in segment system computer |