2012-05-15 4 views
0

J'ai fait quelques recherches sur l'algorithme de Rete et j'ai trouvé plusieurs articles sur le fait de le rendre parallèle (à la fois l'appariement et le tir de règle) les plus anciens datant du milieu des années 80. Cependant, je ne trouve aucune information sur une implémentation parallèle dans l'un des moteurs de règles sur le marché aujourd'hui. Je comprends que le tir de règles parallèles est problématique, mais il y a plusieurs solutions proposées. Un moteur de règles peut-il implémenter une version parallèle de Rete? Si oui, lequel? Si non, pourquoi pas? Est-ce trop difficile d'obtenir un gain de performance significatif ou existe-t-il d'autres raisons? Tous les liens vers plus d'informations sont appréciés.Existe-t-il des implémentations d'une version parallèle de l'algorithme Rete?

Répondre

0

Je crois que ReteNT fait.

Nous travaillons sur quelque chose cet été pour le projet Drools, j'espère que nous aurons quelque chose de prototypable avant la fin de cette année. Nous le prenons sous deux angles. 1) Fusionner l'algorithme Rete et Leaps, qui fournit des propagations bêta paresseuses et les évaluations sont faites sur une base de curseur de règle (permet une évaluation plus facile des règles parallèles). 2) Déplacez-vous des propagations de collection de propagations basées sur le tuple. Cela permettra aux nœuds d'être programmés en tant que tâches. D'autres noeuds avec un grand nombre d'objets peuvent être localement "réduits en carte" pour paralléliser davantage la création de la collection qui sera propagée depuis le noeud.

Si vous voulez discuter plus, venez nous rejoindre sur irc :) http://www.jboss.org/drools/irc

Questions connexes