[rules-users] Anyone want to help on our new Rule Algorithm?

Mark Proctor mproctor at codehaus.org
Sun May 11 23:24:52 EDT 2014


A first good topic, now that we build and propagate tuple sets, is can we parallelism our joins?

Look at the insert loop, on line 94. So it iterates and builds a resulting tuple set, which is eventually propagated. Can that set be built in parallel?
https://github.com/droolsjbpm/drools/blob/master/drools-core/src/main/java/org/drools/core/phreak/PhreakJoinNode.java

The key aspect is the iterator right memory. While that memory may or may not be indexed, it always returns a list. In the case of indexing, the list will sublist for that overall memory.

Ideally those lists will be adaptive, only turning on parallel iteration when appropriate (enough joins), while trying to avoid any additional cost when parallel iteration is not used. Note currently all lists, are liked lists - we do not use arrays.

Once that works, the other methods, right insert, update and delete can all be parallelized.

Mark




On 12 May 2014, at 00:00, Mark Proctor <mproctor at codehaus.org> wrote:

> If anyone is interested in helping out on our next generation rule algorithm, we’ll offer personal mentoring to get you started on your way. Just ping my email directly, to discuss:
> http://blog.athico.com/2013/11/rip-rete-time-to-get-phreaky.html
> 
> Mark




More information about the rules-users mailing list