LACL, F. Loulergue Récapitulatif des 3 phases du projet. Ph1: opérations data-|| irrégulières mono-utilisateurs. Ph2: multiprogrammation Ph3: Globalisation (meta-computing sans mobilité). --- Phase 1 au LACL - BSMLlib v0.2 implémentée sur Caml-MPI car JoCaml n'existe plus. - Sûreté, interactions avec Ocaml dont: Traits impératifs, exceptions, E/S parallèles, filtrage de valeurs parallèles. - Typage polymorphe visant à vérifier la non-imbrication des vecteurs parallèles. - Vérification BSML en Coq, ayant mené à la correction d'erreurs dans la BSMLlib => v0.25. - BSMLlib v0.3 modulaire ce qui permet d'utiliser: MPI, PVM, PUB, et TCP-IP car pour porter il suffit de réimplémenter un seul petit module d'implantation. Nouvelle fonction: BSMLprobe qui fournit les paramètres de performance BSP h,L. Entrées-sorties. Les valeurs obtenues sont meilleures que celles du BSPprobe de Bisseling version MPI. Les tests BSMLlib sur TCP-IP sont de 2 à 10 fois plus rapides que ceux faits avec MPI. - Nouvelles sémantique de base implémentée par BSMLlib v0.3. Trois (plus deux) sortes de termes: locaux, globaux et les scalaires répliqués. Ici mkpar n'est plus une primitive mais est implanté avec (replicate: 'a -> 'a par) et (this: int par). - Proposition F. Gava, (proj: option par -> (int -> 'a option)) pour remplacer le (at: 'a par -> int -> a). --- Phase 2 au LACL (plusieurs utilisateurs sur la mm machine ||) Paradigme: composition parallèle de programmes parallèles, suite du problème posé par le diviser-pour-régner parallèle. Juxtaposition, partitionner le réseau: opérations parjux, sync et bsp_p() un effet de bord (pour avoir le nb de proc concernés par ch appel récursif). Superposition, partager le réseau. super: (unit -> 'a par) -> (unit -> 'b par) -> ('a par * 'b par) Sémantique purement fonctionnelle. Le nb de barrières est le max du nb de barrières des deux programmes. Conjecture: tout programme écrit avec juxt pourrait être transformé en programme avec super (purement fonctionnel). Sémantique de haut niveau définies mais pas encore de sém opér ni d'implémentation. Prévu fin 2004. --- Phase 3 au LACL, meta-computing (plusieurs machines parallèles). MSPML, minimally synchronous parallel ML. Mêmes primitives que BSML sauf qu'il n'y a pas de put, juste get (et multi-get mget). Sémantique haut niveau, sém opérationnelle, implémentation. Besoin d'environnements de communication (contenant les requêtes get de ch proc) de taille illimitées. Lorsqu'une part local d'environnement de comm est plein, ce proc arrête de remplir et se lance dans une barrière. C'est ce que fait l'implantation actuelle et c'est correct pour la sém. DMML= BSML pour les machines parallèles sur chaque site + MSPML pour programmer entre les mm parall. On suppose que le réseau inter-machines (inter-départements) est lent mais fiable. Le niveau MSPML a un nouveau constructeur 'a dep à la place de par. int dep: un int par mm parallèle, int par dep, un int par proc de ch mm parallèle. Implantation existante par F. Gava, MSPML v0.2: TCP/IP + threads, DMML: TCP/IP(inter machine) + Threads, MPI(intra-machine). Tests sur la "grille du LACL": une machine à 6 noeuds (gigabit ethernet) + une à 3 noeuds (fast ethernet). ---