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. 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, dataflow 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 real time parallel application.
['George Bosilca', 'Gilles Fedak', 'Franck Cappello']
OVM: out-of-order execution parallel virtual machine