Skip to Main Content
It has been agreed that the acceptance of parallel computing mainly depends on the quality of a high-level programming model, which should provide powerful abstractions in order to free the programmer from the burden of dealing with low-level issues. In this paper, we describe a high-level, graph-oriented programming model, called GOP, and a programming environment, called ClusterGOP, for building and developing message-passing parallel programs. GOP support high-level design and programming of parallel and distributed systems by providing built-in support for a language-level construct and various operations on a high-level abstraction called the logical graph. With GOP, the configuration of the interacting processes of a parallel/distributed program can be represented as a user-specified logical graph that is mapped onto the physical network topology. The programming of inter-process communication and synchronization between local processors is supported by built-in primitives for graph-based operations. ClusterGOP is a programming environment built on top of the GOP model, providing a high-level programming abstraction through the ClusterGOP library for building parallel applications in clusters, It contains tools for development of GOP-based parallel programs with intelligent, visual support and a run-time system for deployment, execution, and management of the programs. ClusterGOP supports both SPMD and MPMD parallel computing paradigms. Also, with ClusterGOP, developing large parallel programs can be simplified with the predefined graph types and scalability support. The ClusterGOP system is portable as its implementation is based almost exclusively on calls to MPI, a portable messagepassing standard.