previous up next contents
Précédent : Déduction avec contraintes Remonter : Déduction automatique Suivant : Cadre logique pour

Déduction concurrente

Participants : Iliès Alouini, Claude Kirchner, Christopher Lynch, Christelle Scharff

Notre travail sur la réécriture concurrente nous a amenés cette année à la conception et l'implantation d'un glaneur de cellules concurrent compatible avec le modèle de calcul et son implantation. Puis, nous avons étendu le modèle de façon à permettre l'évaluation concurrente de systèmes de réécriture conditionnels.

Compte tenu des spécificités du modèle de réécriture concurrente, et après étude des approches existantes, nous avons conçu un glaneur de cellules adapté à notre modèle. Ce glaneur a été intégré à l'implantation courante (écrite en C et utilisant maintenant les environnements ``Parallel Virtual Machine'' et ``Message Passing Interface'') ce qui permet des gains d'efficacité en occupation de processeur et en temps tout à fait appréciables. Le problème qu'il a fallu résoudre est le suivant : la réécriture concurrente réécrit une forêt de graphes acycliques en une autre. Or l'information pertinente de cette forêt est un unique arbre distingué, descendant du terme à réduire initial. Les autres arbres, que l'on peut voir comme constitués de processus actifs qui s'autoréduisent, constituent les structures à glaner. Ce glanage est donc d'autant plus important que les cellules à ramasser étant actives, elles engendrent d'autres cellules inutiles. La solution que nous avons conçue consiste à exécuter des processus complètement asynchrones qui appliquent indépendamment un algorithme atomique et local de glanage [17].

Jusqu'à maintenant, nous avions traité exclusivement le cas des systèmes de réécriture non conditionnels, tant du point de vue du modèle que de l'implantation. Nous avons conçu cette année une transformation des systèmes conditionnels en systèmes non conditionnels qui préserve au mieux la concurrence inhérente du système et qui repose naturellement sur le modèle de réécriture non conditionnelle concurrente. Cette transformation a les caractéristiques suivantes. D'une part elle permet de bloquer au minimum la partie du terme à réduire pour vérifier la condition. D'autre part elle utilise les informations de forme normale des termes sous-jacents pour permettre une traduction plus simple et plus souple. L'approche est maintenant implantée et permet d'exécuter en parallèle des systèmes conditionnels [49].

Une autre approche de la déduction concurrente que nous avons commencé à développer cette année est basée sur la notion de graphe SOUR (cf section précédente). Elle permet l'étude et l'implantation de procédures de déduction concurrente avec contraintes telles que la complétion ou la paramodulation. Dans le modèle que nous avons développé, chaque noeud d'un graphe SOUR est un processus et les arcs sont des liens de communication. Par conséquent la concurrence est au niveau des termes et la localisation des transformations permet d'éviter le recours à une mémoire globale ou à des synchronisations explicites. Par ailleurs cette approche permet d'implanter des stratégies de déduction qui autorisent la simplification sans restriction. Enfin il n'y a jamais inconsistance du graphe SOUR sous-jacent par effets de bord des actions asynchrones [53,28]. La procédure a été implantée dans le cas de la complétion close en C, en utilisant PVM et la librairie Leda conçue au MPI à Sarrebrück.


previous up next contents
Précédent : Déduction avec contraintes Remonter : Déduction automatique Suivant : Cadre logique pour