Ben's Homepage

Algorithmique Parallèle


Algorithmique Parallèle ::: ÉNS Lyon, M1, 2009-2010


  • Enseignement en M1.

  • Cours d'Anne Benoit (page du cours).

  • Énoncés des TDs et corrigés :

  • Devoirs :

    • DM : Poisson pané.

      • Sujet: en Français, in English.

      • Génération des distributions: gen_homo.c, gen_hetero.c.

      • Simulation séquentielle: simul_seq.c.

      • Une archive contenant tout ça: simul_seq.c.

      • FAQ

        • Q: Si on utilise un tore comme c'est le cas dans la simulation séquentielle, on est obligé de tout faire en séquentiel. Du coup comment faire pour avoir le même comportement entre séquentiel et parallèle ?

          R: Effectivement, l'ordre de mise à jour des poissons est important. Et dans la simulation séquentielle, un choix est fait. Ce choix peut poser des problèmes de propagation en cas de conflits aux frontières. Dans ce cas, expliquer les problèmes posés et proposez une solution raisonnable (proche de la solution séquentielle, mais qui peut être légèrement différente). À vous de voir si vous considérez la colonne 0 comme une frontière.

        • Q: Question 2: le protocole de communication désigne-t-il seulement l'échange de données (colonnes) ? Dans ce cas, que signifie "conditions de fonctionnement " et "cas d'optimalité".

          R: On parle bien ici de l'échange de données entre deux processeurs voisins, mais pas des colonnes en tant que tel, mais des données que tu dois échanger entre deux processeurs voisins : les poissons qui passent d'une bande d'océan à une autre. Suivant le protocole que tu mets en place, il se peut qu'il envoie plus de données que nécessaires (sachant qu'un send doit toujours se trouver en face d'un receive, que fais-tu par exemple si à une étape de la simulation il n'y a pas de données à envoyer ?). Il vous faut décrire les données que vous envoyez suivant les cas, et discuter des cas où effectivement votre algorithme envoie bien le minimum de donné.

        • Q: Question 3: en quoi la mise à jour des poissons est-elle si coûteuse? En effet, la mise à jour d'une bande d'océan demande le parcours de toutes les cases, et le traitement d'une case prend un temps constant (que la case soit vide ou non). C'est pourquoi le coup de la mise à jour d'une bande d'océan ne dépend que du nombre de case. Ainsi, si les communications sont gratuites, un découpage optimal est toujours homogène. Quel est donc l'intéret de la question ou quelle est l'erreur dans le raisonnement?

          R: En fait, la charge d'un processeur ne vient que du nombre de poissons (requins et sardines confondus). Je sais que ce n'est pas super clair vu comme est formulée la question, mais c'est bien ça.

    • Partiel : Hyper-Petersen, PRAM et Anneaux. Sujet, corrigé.

Powered by CoMFoRT !