Abstract
Development of high-performance distributed applications can be extremely challenging because of their complex runtime environment coupled with their requirement of high-performance. Such applications typically run on a set of heterogeneous machines with dynamically varying loads, connected by heterogeneous networks possibly supporting a wide variety of communication protocols. In spite of the size and complexity of such applications, they must provide the required high-performance mandated by their users. In order to achieve this goal, they need to adaptively utilize their computational and communication resources. The paper describes EMOP: a programming environment for building high-performance distributed systems. EMOP is designed on the lines of CORBA and uses an Object Request Broker (ORB) to support seamless communication between distributed application components. In order to provide adaptive utilization of communication resources, it uses the principle of open implementation to open up the communication mechanisms of its ORB. By virtue of its open architecture, the ORB supports multiple, possibly custom, communication protocols, along with automatic and user controlled protocol selection at run-time. In order to support adaptive utilization of computational resources, EMOP also provides a flexible and powerful set of load-balancing mechanisms that can be used to implement custom load-balancing strategies. The paper describes EMOP's Open ORB architecture and load balancing mechanisms, and uses a set of simple experiments to demonstrate their usefulness.

This publication has 8 references indexed in Scilit: