OVM: Out-of-order execution parallel virtual machine

George Bosilca, Gilles Fedak, Franck Cappello

Research output: Contribution to journalConference articlepeer-review


High performance computing on parallel architectures currently uses different approaches depending on the hardware memory model of the architecture, the abstraction level of the programming environment and the nature of the application. In this article, we introduce an original client-server execution model based on RPCs called out-of-order parallel virtual machine (OVM). OVM aims to provide three main features: portability through a unique memory model, load-balancing using a plug-in support and high performance provided by several optimizations. The main optimizations are: non-blocking RPCs, data-flow management, persistent and non-persistent data, static data set distribution, dynamic scheduling and asynchronous global operations. We present OVM general architecture and demonstrate high performance for regular parallel applications, a parallel application with load balancing needs and a parallel application with real-time constraints. We firstly compare the performance of OVM and MPI for three kernels of the NAS 2.3. Then we illustrate the performance capability of OVM for a large real-life application that needs a load balancing support called AIRES. Finally, we present the performance of a real-time version of the PovRay ray-tracer demonstrating the reactiveness of OVM.

Original languageEnglish (US)
Pages (from-to)525-537
Number of pages13
JournalFuture Generation Computer Systems
Issue number4
StatePublished - Mar 2002
Externally publishedYes
EventSymposium on Cluster Computing and the Grid CCGrid2001 - Brisbane, Australia
Duration: May 15 2001May 18 2001


  • Beowulf
  • Cluster
  • OVM
  • RPC

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications


Dive into the research topics of 'OVM: Out-of-order execution parallel virtual machine'. Together they form a unique fingerprint.

Cite this