I have done some research on the Rete algorithm and found several papers on making it parallel (both matching and rule firing) the earliest of which are from the mid '80s. However I can't find any information about any parallel implementation in any of the rule engines in the market today. I understand that parallel rule firing is problematic, but there are several proposed solutions. Does any rule engine implement any parallel version of Rete? If so, which? If not, why not? Is it too hard to achieve any significant performance gain or are there other reasons? Any links to more information is appreciated.
Are there any implementations of a parallel version of the Rete algorithm?
774 Views Asked by hyldetoft At
1
There are 1 best solutions below
Related Questions in CONCURRENCY
- Unexpected inter-thread happens-before relationships from relaxed memory ordering
- Multiple Processes, Multiple Processors, Single Priority Queue - Java Thread-Safe and Concurrency -
- Efficiently processing many small elements of a collection concurrently in Java
- Zig Concurrency Vs Erlang Concurrency, is Zig less efficient than Erlang?
- Two Update statements on a row are running simultaneously with no locking in MYSQL
- How to Identify Specific Transaction Anomalies in a Given Schedule?
- How can I improve concurrent message processing with Google Task Queue?
- Why does the following program printf "thread 1 exists" twice in WSL2?
- ModelState.IsValid is false when its Data Model Concurrency Token is non nullable
- .NET A second operation was started on this context instance before a previous operation completed
- Can someone tell me what's wrong with mi Task.await?
- I am a beginner. More than problems, I have ideas I share my code ;D. NO RULES
- Understanding Potential Deadlock in Resource Pool Implementation Described in "Go in Action"
- Why are pre-allocated stacks expensive, given 64-bit virtual memory?
- Concurrency issues with server-sent events in Python
Related Questions in RULE-ENGINE
- Unable to use External-MQTT Node of Edge's rule engine to send MQTT data as a thing to AWS IoT
- XmlSchema Compatibility
- Simple HTML editor example
- Calling .ToString() on editor not returning enum name
- IBM ODM create a rule
- Wrong answer when checking array of objects where the condition built from a group with "or" between objects, checked with other group (with "and")
- Waiting for event after launching task C#
- Why is the MVC RuleEditor is too slow loading data sources
- DROOLS DRL Rule Unit with RuleUnitData declaration isn't working
- How to get Rule with when(String) and then(Action) in easy-rules?
- CodeEffects Rule Engine - Template for ReactJS - how to add alphanumeric validation to built-in text field input?
- How to do bulk search and replace changes in your entire codebase based on rules?
- Shopware 6: Using rules programmatically to filter orders
- [Drools 7.x]Dynamic rules Update at runtime(rules stored in Amazon S3)
- Why does the Drools Rules Engine only run a rule with an empty conditional once?
Related Questions in RETE
- How to make rete.js dock menu vertical?
- Using Rete Library typescript inheritance makes properties readonly
- Angular - Jest can handle import entry point
- ReteJS add class to individual node/connection
- Is RETE algorithm still relevant in year 2022 OR we have better alternatives, do we have any other stable rule engine libs in JavaScript except nools?
- Applying NRules on excel dataset
- Drools Eclipse cannot show Rete view
- Rete.js do not render editor until window is resized
- Are function symbols allowed in rule engines / Rete algorithm?
- Rete Library giving error with React JS : ReferenceError: regeneratorRuntime is not defined
- How would you structure Alpha Nodes in a Rete Network that has a rule with two conditions found in other rules?
- _rete.createEditor is not a function, where is the problem in my code?
- What is the time complexity of Rete Algorithm?
- How to update state of list so that Rete picks up the objects added therein for rules re-evaluation
- How to read Drools memory in order to detect partially matched rules
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I believe ReteNT does.
We are working on something this summer for the Drools project, I hope we have something prototypable before end of this year. We are takling it from two angles. 1) Merge Rete and Leaps algorithm, that provides lazy beta propagations and evaluations are done on a rule cursor basis (allows for easier parallel rule evaluation). 2) Move from tuple based propagations collection propagations. This will allow nodes to be schedueld as tasks. Further nodes with large number of objects can be locally "map reduced" to further parallelise the creation of the collection that will be propagated from the node.
If you want to chat more, join us on irc :) http://www.jboss.org/drools/irc