ParoC++

ParoC++: A requirement-driven parallel object-oriented programming language. 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 real-time 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.