POM defines a model of virtual machine that consists of a set of application nodes that communicate via two distinct networks: the first one is dedicated to point-to-point communications while the second one is used for broadcasting messages.
We also gave POM sophisticated observation mechanisms. POM can be perceived as a convenient facility to interface a distributed application with trace analysers and graphical viewers. Observation mechanisms were incorporated at a low level in the library, in order to be as less intrusive as possible.
The observation technique fostered is based on the analysis of execution traces, rather than on a direct observation of distributed applications. Besides the application nodes, the virtual machine can optionally include a complementary observation node whose role is to collect and handle trace information relative to the behaviour of the application. The observation node can proceed to an ``on the fly'' analysis of the information received, or it can store this information for a post-mortem analysis.
POM offers several dating mechanisms, whose management remains fully transparent to the application programmer and that can all be enabled or disabled separately when loading the application. The events traced can be stamped and/or dated, and the dating can be achieved according to a local or global time reference. Stamping events (using vectorial or adaptative stamps) makes it possible to analyse the synchronisations that occur between the application nodes during a distributed execution. POM also incorporates a mechanism for dating events globally. We opted for an approach based on a statistical method that is not intrusive, and that consists in estimating the drift of the physical clock of each application node with respect to a reference clock.
To date, POM has been ported on several platforms, including the Intel machines
iPSC/2 and Paragon XP/S, and a network of Sun Sparc workstations. We
could thus check its effective portability and it is now part of the various
parallel programming environments developed in our laboratory. In the future,
we consider porting POM on new platforms, such as the Cray T3D and the IBM SP1.