OCamlFlight

OCamlFlight a été réalisé par Bruno BAIA et Clément GARRIGOU dans le cadre du projet d'année de maîtrise d'informatique à l'Université Pierre et Marie Curie (PARIS VI).

I - Enoncé du sujet

CAML Flight est une extension data-paralèlle de caml-light. Un même programme tourne sur différentes machines. Chaque machine possède un numéro unique. Chaque programme peut demander, dans une section synchronisée (SYNC( expr )), un calcul distant (GET(num,expr)) où num est le numéro d'une machine et expr l'expression à calculer. L'évaluation de l'expression ne peut se faire que si les deux machines sont dans le même bloc de synchronisation. Il n'y a pas d'imbrication de blocs de synchronisation.

Le but de ce projet est de modifier l'implantation en l'adaptant à OCAML et en utilisant les bibliothèques Marshalling et Thread pour simplifier l'implantation, en particulier au niveau du protocole. L'extension de syntaxe introduite peut être réalisée avec l'outil camlp4 (http://caml.inria.fr/camlp4/). Quand une machine reçoit une requète, elle lance un nouveau processus pour y répondre. Le calcul s'effectue alors dans l'environnement du bloc de synchronisation.

Pour que la sortie d'un bloc de synchronisation ne soit pas bloquante, une amélioration possible est de pouvoir conserver plusieurs environnements de blocs de synchronisation pour qu'une machine puisse poursuivre son calcul tout en répondant à des requêtes de blocs antérieurs.

II - Ressources

  • Distribution : vous trouverez ici la dernière version de OCamlFlight, ainsi que le rapport final du projet.

  • Documentation : ce répértoire recense les divers documents qui ont été utilisés pour la réalisation de OCamlFlight.

    Dernière modification : 19/06/2001