Adaptive utilization of resources in a highly heterogeneous computational environment such as the Grid is a difficult question. In this paper we address an object-oriented approach to the solution using requirement-driven parallel objects. Each parallel object is a self-described, shareable and passive object that resides in a separate memory address space. The allocation of the parallel object is driven by the constraints on the resource on which the object will live. A new parallel programming paradigm is presented in the context of ParoC++ - a new parallel object-oriented programming environment for high performance distributed computing. ParoC++ extends C++ for supporting requirement-driven parallel objects and a runtime system that provides services to run ParoC+ + programs in distributed environments. An industrial application on realtime image processing is used as a test case to the system. The experimental results show that the ParoC++ model is efficient and scalable and that it makes easier to adapt parallel applications to dynamic environments.
['Tuan-Anh Nguyen', 'Pierre Kuonen']
ParoC++: a requirement-driven parallel object-oriented programming language