Le projet Trace (1994)
Résumé
Le projet Trace est un projet inter-PRC qui fait collaborer des équipes
de recherche en architecture (Brest), algorithmique répartie
(Rennes, Paris), vérification de protocole (Rennes), évaluation
de performances (Grenoble) et techniques graphiques (Grenoble).
L'objectif est des rassembler dans un même environnement de programmation
un ensemble d'outils permettant d'aider à la mise au point de programmes
parallèles sur machines parallèles par analyse des traces
d'exécution.
Le rapport intermédiaire est visible ici.
Contribution
La contribution de l'équipe Brestoise consiste en l'exploitation
de l'architecture ArMen
pour l'observation (et peut-être plus tard, le contrôle) de
l'exécution de programmes parallèles.
Dans ce cadre deux réalisations ont été effectuées
par Stéphane Rubini consistant en la définition de configuration
pour les FPGA de ArMen :
-
pour la collecte de traces
-
pour fournir une horloge globale
Dans les deux cas, les techniques de spécification et les outils
de génération des configurations ont été réalisées
à Brest dans le cadre du projet ArMen. Il s'agit principalement
des travaux de thèse de :
-
Philippe Dhaussy, le compilateur UCA (dérivé de UNITY)
-
Bernard Prou, compilation de CSP
La collecte de traces
Le principe consiste en la mise en place d'une couche d'évacuation
des traces déposées par les différents processus du
programme parallèle. L'implantation actuelle est réalisée
par une anneau de Pierce. Cet anneau transporte N + C chariots vides.
-
N est le nombre des processus qui déposent des traces, et
-
C le nombre de processus, hors programme parallèle, qui collectent
les traces.
Les chariots circulent vides ou porteur d'une trace jusqu'à ce que
:
-
s'ils sont vide, un des N processus dépose un trace, ou
-
s'ils sont pleins, qu'un des C processus collecteur les vide.
Les résultats obtenus sont décrits dans : Rapport
technique sur la collecte de trace.
Une horloge globale
Le principe consiste en la mise place d'un compteur unique, l'horloge,
qui diffuse sa valeur grâce à l'anneau formé par les
FPGAs. Chaque processus du programme parallèle peut, par l'activation
d'une procédure, accéder à cette valeur, qui, compte
tenu des performances des FPGA, garantit un déphasage de quelques
dizaines de nano-secondes (20ns*N processus max).
Participants locaux
-
Antoine.Beugnard@enst-bretagne.fr
-
rubini@univ-brest.fr
-
Eric.Cousin@enst-bretagne.fr
-
pottier@univ-brest.fr
Documentation FTP