Réunion CARAML du 19/11/2002, PPS Paris-7

Présents

1. Avancement BSML (bibliothèque pour algorithmes BSP)

FL fait le point sur BSMLlib: on a abandonné l'idée d'une implantation PUB, il y en a une nouvelle sur MPI (nouvelle signature des fonctions). Plus d'utilisation des tables de hachage, utilisation du type 'a option. Implantation: d'abord tout processeur envoie la taille (octets) du futur message vers chaque correspondant. L'envoi de fonctions se fait en suivant la discipline du module Marshal: on envoie le pointeur, ce qui est valide si le même programme CAML tourne aux deux extrémités de la communication: c'est bien le cas pour des programmes SPMD. Cette implantation réutilise des bindings C écrits par X. Leroy et fait appel à l'opération collective all_to_all de MPI. L'implantation IP permettra d'être indépendant de MPI. Mais l'implantation MPI sera utilisable plus généralement car sur certaines machines (T3E) il n'y a pas d'adresse IP pour chaque processeur. E. Chailloux: il faudrait la possibilité de créer un unique fichier trace pour toute une exécution parallèle. Réponse GH: programme BSMLlib intéressant à écrire et tester. Il faudra utiliser la structure des barrières pour fusionner les traces locales. AM: l'implantation IP (pas UDP, a voir plus tard pour le calcul à grande échelle) utilise la bibli Unix de CAML. Cette implantation devrait être disponible dès qu'Armelle aura quelques semaines de temps disponible.

2. Avancement PDB (bases de données)

MB travail sur les requêtes parallèles. My_sql on a essayé d'implanter des algorithmes en C+MPI. Bug corrigés, nouvelles fonctionnalités dont l'intégration d'un analyseur syntaxique SQL qui produit des arbres d'exécution incluant un plan d'exécution trivial. Fonctionne bien pour des requêtes simples. Travail actuel: optimisation de requêtes complexes avec optimisation de performance. Nouvel algo pour le pipelinage des requêtes complexes. Hypothèse forte: on suppose que les relations sont déjà réparties équitablement sur les processeurs utilisés. Prise en compte de la répartition des tables en entrée et en sortie. Le choix de la répartition à la sortie est fait par l'utilisateur. A voir en 2003. Interface ODBC permettra rapidement d'utiliser d'autres SGBDR.

3. Avancement Skeletons (programmation parallèle implicite)

R di Cosmo a travaillé cet automne à définir avec Susanna Pelagatti en vue de son passage comme Prof invitée à PPS en janvier 2003. Objectif général: refaire une bibliothèque comme le P3L de Pisa, bibliothèque sur les matrices pleines, applications en physique. Objectifs spécifiques: utiliser le MAP du P3L et lui implanter un système statique de planification des calcul+comms via une estimation des performances par le modèle BSP. Amélioration par rapport à la version commerciale de P3L: les tableaux seront de dimension quelconque, grâce à CAML. Réutilisation des nombreux algorithmes séquentiels déjà implantés par les physiciens. Fournir à l'utilisateur une bibliothèque d'application purement déclarative. Possibilité de demander des benchmarks aux physiciens du CEA qui programment actuellement en Python. Du point de vue de l'utilisateur, programmeur CAML, on aura une structure de données tableaux, plus une fonction MAP et une LOOP gérées par cette bibliothèque. L'optimisation des perfs et de la SDD sera adaptée aux matrices pleines, pas de tétrarbre. Cela sera implanté avec CAML+MPI ou avec BSMLlib.

GH: Autre bibliothèque de progr parallèle implicite avec une seule structure de donnée mais creuse. Implantation par un unique algorithme BSP: Gerbessiotis et Siniolakis "Parallel Priority Queues" comme système de gestion dynamique des déséquilibres.

Applications possibles et intéressantes:

  1. Analyse à grande échelle de protocoles cryptographiques par algorithmes parallèles
  2. Parallélisation du chiffrage/déchiffrage gpg, c-à-d pouvant être déchiffré en séquentiel par gpg lui-même
  3. le format divx (peut tenir un film sur un CD) plus dense. La compression est très lourde mais la lecture divx se fait rapidement.

4. Objectifs janvier 2003

BSMLlib: la nouvelle implantation MPI. SDB: Fonction ocaml permettant d'appeler cet algorithme: requête complexe sur tables My_SQL mais sans optimisation pour le moment. Skeletons: un article décrivant la nouvelle bibli P3L, une première version de la bibli BSP-implicite.

5. Objectifs décembre 2003

BSMLlib: un package rpm pour distribuer BSMLlib avec CLIC (Mandrake), l'implantation IP, nouvelles fonctionalités de typage. Travaux théoriques BSMLlib à Créteil: typage des niveaux local-global et interaction entre effets et sémantique BSML. A implanter en 2003 dans BSMLlib.

Skeletons: la première nouvelle P3L, applications équations-diff, divx/gpg.

SDB: implantation du pipelinage, gestion des plans d'exécution, benchmarks standard.

Pour toutes ces bibliothèques: tests à plusieurs utilisateurs/applications simultanément sur la même grappe.

6. Questions diverses

Il y aura un stagiaire chinois au labo PPS pour travailler sur le sous-projet skeletons.