La POM définit un modèle de machine virtuelle qui consiste en un ensemble de noeuds d'application communiquant via deux réseaux distincts. Le premier réseau est dédié aux communications en point-à-point, tandis que le second est utilisé pour les diffusions.
la POM a été dotée de mécanismes d'observation sophistiqués. Elle peut être perçue comme un moyen pratique pour interfacer une application répartie avec des analyseurs de trace ou des outils de visualisation graphique. Des mécanismes d'observation ont été incorporés à bas niveau dans la bibliothèque afin d'être aussi peu intrusifs que possible.
La technique d'observation privilégiée dans la POM est basée sur l'analyse de traces d'exécution, plutôt que sur une observation directe des applications réparties. Outre les noeuds d'application, la machine virtuelle peut comporter un noeud d'observation complémentaire dont le rôle est de collecter et de traiter les informations de trace relatives au comportement d'une application. Le noeud d'observation peut procéder à une analyse << à la volée >> des informations collectées, ou bien il peut stocker ces informations pour une analyse post-mortem.
La POM offres plusieurs mécanismes de datation, dont la gestion demeure totalement transparente pour le programmeur d'application et qui peuvent être activés ou désactivés séparément lors du lancement d'une application. Les événements tracés peuvent être estampillés et/ou datés, et la datation peut être réalisée dans un référentiel de temps local ou global. L'estampillage des événements (à l'aide d'estampilles vetorielles ou adaptatives) permet d'analyser les synchronisations qui ont lieu entre les noeuds d'application pendant une exécution répartie. Le mécanisme de datation globale dont est dotée la POM est basé sur une méthode statistique non intrusive qui s'appuie sur l'estimation des dérives des horloges physiques des noeuds d'application par rapport à une horloge de référence.
À ce jour, la POM a été portée sur plusieurs plates-formes,
parmi lesquelles les machines Intel iPSC/2 et Paragon XP/S, ainsi que sur un
réseau de stations de travail de type Sun Sparc. Nous avons ainsi pu tester sa
portabilité, et la POM fait à présent partie intégrante des divers
environnements de programmation développés dans notre laboratoire. Dans le
futur, il est prévu de porter la POM sur de nouvelles plates-formes, telles que
la Cray T3D et l'IBM SP1.