thesis

Conception et optimisation de programmes a objets paralleles, repartis et multi-threades

Defense date:

Jan. 1, 2000

Edit

Institution:

Nice

Disciplines:

Authors:

Directors:

Abstract EN:

Pas de résumé disponible.

Abstract FR:

Dans le cadre du langage a objets c++, cette these propose une extension de ce langage afin qu'il supporte d'une maniere simple et efficace la programmation parallele et repartie. Pour ce faire, nous introduisons la bibliotheque c++// qui repose sur l'utilisation d'objets actifs communiquant par appels asynchrones. Nous presentons tout d'abord une extension qui apporte un support d'introspection et de reflexivite comportementale a c++ (mop). L'utilisateur dispose alors d'une bibliotheque lui permettant d'avoir une certaine connaissance du systeme durant l'execution d'un programme. Cette presentation s'accompagne de quelques exemples independants de la repartition (ajout d'assertions au langage comme dans eiffel, evaluation paresseuse des appels de fonction, etc. ). A l'aide de ces travaux et en utilisant une bibliotheque de communication supportant les processus legers (nexus/globus), nous avons developpe la bibliotheque c++//. Cette derniere offre de nombreuses facilites pour creer tres simplement des applications utilisant des machines sur un reseau local ou mondial (metacomputing). Un certain nombre d'optimisations (transparentes pour l'utilisateur) sont introduites, comme la migration d'objets actifs, la possibilite de partager - sous certaines conditions - des objets passifs, ou bien encore de recouvrir du calcul par des communications. Finalement, nous avons valide nos travaux en developpant trois applications differentes de tailles consequentes : une application d'algebre lineaire dont nous comparons les performances a une version mpi, une application de rendu 3d repartie et une application d'acquisition/compression d'animations videos. De plus, nous presentons de nombreux tests, certains d'entre eux ayant utilise des machines situees sur plusieurs continents, reliees par un reseau grande distance (wan).