|
| Group: |
comp.ai.shells |
[ Post new message ] |
|
|
 |
| Author: |
Mark Proctor |
| Subject: |
deterministic execution control for parallel Rete |
| Body: |
Drools 5.0 will be implementing rulebase partitioning for parallel
evaluation and execution, we needed to do this to get the CEP (temporal
reasoning performance) which often doesn't need deterministic execution.
Anyway one can of worms this opens up is how can the user specify what
parts of the rulebase need to execute deterministically and when.
I'm guessing that ruleflow would be a useful tool here. If we take the
premise of a ruleflow group, the ruleflow dictates when a group of rules
can execute, it can dictate whether the rules for that group can fire as
soon as they are activated or if an agenda must be used for serialised
execution.
However the issue with user applied ruleflow groups is they might not
reflect how the rulebase can be partitioned, thus limiting the full
ability of parallel evaluation and execution.
This is a great area of research and with multi-core machines becoming
the norm it is increasingly necessary. Other than the origianl forgey
and gupta papers has anyone got any good ideas on this or can point to
some modern papers/articles that discuss this.
Mark
Drools Project Lead
http://blog.athico.com/ The Drools Blog
|
 |
|
|
| Topic: |
deterministic execution control for parallel Rete |
 |
| Message: |
Author |
Date |
 |
*Message 1* |
Mark Proctor |
Sun, 3 Aug 2008, 12:46 pm |
|