GOP: A Graph-Oriented Programming Model for Parallel and Distributed Systems

The advances of parallel and distributed computing demand high-level programming models that support efficient software development and execution. Graphs can effectively represent the logical structures of distributed systems and applications so as to facilitate the programming of distributed applications and support efficient mapping of programs to hardware architecture. This chapter presents a Graph-Oriented Programming (GOP) model that provides flexible graph constructs and graph-oriented primitives to build a programming paradigm based on graph topology and also provides a formal specification of software architecture for distributed programs. The GOP model creates an abstract programming framework and supports dynamic reconfiguration of distributed computing system to implement adaptive computation and fault-tolerance. Various computing environments have been developed based on GOP for cluster computing, web service, and component-based computation.

[1]  Jiannong Cao,et al.  High-level abstractions for message-passing parallel programming , 2003, Parallel Comput..

[2]  Orlando Loques,et al.  P-RIO: a modular parallel-programming environment , 1998, IEEE Concurr..

[3]  Jiannong Cao,et al.  A dynamic reconfiguration manager for graph-oriented distributed programs , 1997, Proceedings 1997 International Conference on Parallel and Distributed Systems.

[4]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[5]  Gianluca Dini,et al.  Graphical design of distributed applications through reusable components , 1995, IEEE Parallel Distributed Technol. Syst. Appl..

[6]  Xiaoxing Ma,et al.  WebGOP: A framework for architecting and programming dynamic distributed Web applications , 2002, Proceedings International Conference on Parallel Processing.

[7]  Peyman Oreizy,et al.  On the role of software architectures in runtime system reconfiguration , 1998, IEE Proc. Softw..

[8]  James C. Browne,et al.  Complete parallelization of computations: integration of data partitioning and functional parallelism for dynamic data structures , 1996, Proceedings of International Conference on Parallel Processing.

[9]  David Garlan,et al.  Software architecture: practice, potential, and pitfalls , 1994, Proceedings of 16th International Conference on Software Engineering.

[10]  Kang Zhang,et al.  A Distributed Parallel Programming Framework , 2002, IEEE Trans. Software Eng..

[11]  James C. Browne,et al.  The CODE 2.0 graphical parallel programming language , 1992, ICS '92.

[12]  D. Box,et al.  Simple object access protocol (SOAP) 1.1 , 2000 .

[13]  Jack J. Dongarra,et al.  HeNCE: A Heterogeneous Network Computing Environment , 1994, Sci. Program..

[14]  Peyman Oreizy,et al.  On the role of software architectures in runtime system reconfiguration , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[15]  Forum Mpi MPI: A Message-Passing Interface , 1994 .

[16]  Salim Hariri,et al.  The software architecture of a virtual distributed computing environment , 1997, Proceedings. The Sixth IEEE International Symposium on High Performance Distributed Computing (Cat. No.97TB100183).

[17]  Günter Haring,et al.  Parallel programming with CAPSE-a case study , 1996, Proceedings of 4th Euromicro Workshop on Parallel and Distributed Processing.

[18]  D. Box,et al.  Simple Object Access Protocol (SOAP) 1.1, W3C Note , 2000 .

[19]  Tao Yang,et al.  A parallel programming tool for scheduling on distributed memory multiprocessors , 1992, Proceedings Scalable High Performance Computing Conference SHPCC-92..

[20]  Jack Dongarra,et al.  Visual Programming and Parallel Computing , 1994 .

[21]  Jack Dongarra,et al.  Overview of VPE: A Visual Environment for Message-Passing Parallel Programming , 1994 .

[22]  Salim Hariri,et al.  The design and evaluation of a virtual distributed computing environment , 2004, Cluster Computing.

[23]  Philip T. Cox,et al.  Visual Languages for the Design and Development of Structured Objects , 1997, J. Vis. Lang. Comput..

[24]  Jiannong Cao,et al.  Architectural level support for dynamic reconfiguration and fault tolerance in component-based distributed software , 2002, Ninth International Conference on Parallel and Distributed Systems, 2002. Proceedings..