Examen DEA-ENSERB option parallélisme Environnements de programmation pour le parallélisme Serge Chaumette 17 mars 1999 Durée 1 heure Tous documents autorisés I. Exercices ============= 1. Outils pour la mise au point -------------------------------- On s'intéresse ici à la visualisation de traces. a. Expliquer le principe de représentation de traces d'exécutions d'applications parallèles utilisé dans le diagramme de Kiviat. b. Le diagramme de Kiviat ne propose qu'une représentation instantanée. Proposer une extension ou une variante de ce diagramme permettant d'avoir une vue globale de l'application sur toute la durée de son exécution. 2. Java -------- Quels sont selon vous les avantages du langage Java dans le cadre de la programmation parallèle et/ou distribuée ? 3. CCS ------- On dit parfois que : (a) ``parallélisme = séquentialité + indéterminisme'' ou = s'entend au sens d'équivalent. On se donne P1 = a.b.NIL + b.a.NIL et P2 = a.NIL | b.NIL Utiliser P1 et P2 pour monter (a) II. Problème ============= On s'intéresse au formalisme Gamma 1. On se donne un ensemble contenant n molécules de couleur rouge et 0 molecule bleue. On souhaite réaliser un programme gamma permettant de déterminer si le nombre de molécules rouges initial (n) est pair ou impair. Le résultat s'exprimera par le fait qu'à la fin, il n'y a plus qu'une molécule, rouge si le nombre initial est impair, bleue sinon. 2. Décrivez ce que devrait être selon vous un environnement complet pour le développement et la mise au point d'applications Gamma. On raisonnera par analogie avec les outils disponibles dans les environnements de type message passing et parallélisme dirigé par les données.