Revisit of View-Oriented Parallel Programming

Traditional parallel programming styles have many problems which hinder the development of parallel applications. The message passing style can be too complex for many programmers. While shared memory based parallel programming is relatively easy, it requires programmers to guarantee there is no data race in programs by using mutually exclusive locks. Data race conditions are generally difficult to debug and difficult to prevent as well. The view-oriented parallel programming (VOPP) is a novel shared-memory-based programming style. It removes the burden of guaranteeing data race free from the programmers. With the VOPP approach, shared data objects in a parallel program are divided into views according to the memory access pattern of the parallel algorithm. Data race is not an issue in VOPP, since mutual exclusion is automatically done by the underlying system when a view is accessed. The programmer only needs to synchronize the access of views using synchronization primitives like barriers. By removing data races of view access, VOPP makes it easier to code and less difficult to debug programs. It provides potential performance advantages on multi-core systems as well as cluster computers. It will also provide useful information for efficient implementation of transactional memory.

[1]  Anthony Skjellum,et al.  A High-Performance, Portable Implementation of the MPI Message Passing Interface Standard , 1996, Parallel Comput..

[2]  Seventh IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2007), 14-17 May 2007, Rio de Janeiro, Brazil , 2007, CCGRID.

[3]  Wenguang Chen,et al.  VODCA: View-Oriented, Distributed, Cluster-Based Approach to Parallel Computing , 2006, Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06).

[4]  Martin K. Purvis,et al.  View-oriented update protocol with integrated diff for view-based consistency , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..

[5]  Alan L. Cox,et al.  TreadMarks: shared memory computing on networks of workstations , 1996 .

[6]  Brian N. Bershad,et al.  Midway : shared memory parallel programming with entry consistency for distributed memory multiprocessors , 1991 .

[7]  Liviu Iftode,et al.  Scope Consistency: A Bridge between Release Consistency and Entry Consistency , 1996, SPAA '96.

[8]  Martin K. Purvis,et al.  Performance Comparison between VOPP and MPI , 2005, Sixth International Conference on Parallel and Distributed Computing Applications and Technologies (PDCAT'05).

[9]  SkjellumAnthony,et al.  A high-performance, portable implementation of the MPI message passing interface standard , 1996 .

[10]  Martin K. Purvis,et al.  View-Oriented Parallel Programming and View-Based Consistency , 2004, PDCAT.

[11]  Martin K. Purvis,et al.  Performance evaluation of view-oriented parallel programming , 2005, 2005 International Conference on Parallel Processing (ICPP'05).