A Novel Software-Built Parallel Machines and their Interconnections

In this paper, we introduce SPM (Software-built Parallel Machines), a model to create software based virtual parallel machines. With SPM, an application developer simply selects all the required virtual parallel machines from the repository and implements the intended parallel algorithms directly without any need of complex mappings, as if the required processor interconnections are readily available. In addition, we present an implementation of the SPM model, which provides a systematic way to design new virtual machines. Our experiments show that the applications developed using the SPM model and tools give excellent performance, as compared to the applications developed using a generic communication library, such as MPI.

[1]  Jonathan Schaeffer,et al.  A Template-Based Approach to the Generation of Distributed Applications Using a Network of Workstations , 1991, IEEE Trans. Parallel Distributed Syst..

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

[3]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[4]  David A. Patterson,et al.  X-Tree: A tree structured multi-processor computer architecture , 1978, ISCA '78.

[5]  Hon Fung Li,et al.  A Model for Designing and Implementing Parallel Applications Using Extensible Architectural Skeletons , 2005, PaCT.

[6]  Azriel Rosenfeld,et al.  Face recognition: A literature survey , 2003, CSUR.

[7]  Jonathan Schaeffer,et al.  The Enterprise model for developing distributed applications , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[8]  M. J. Quinn,et al.  Parallel Computing: Theory and Practice , 1994 .

[9]  Jonathan Schaeffer,et al.  On the Versatility of Parallel Sorting by Regular Sampling , 1993, Parallel Comput..

[10]  James C. Browne,et al.  Visual programming and debugging for parallel computing , 1995, IEEE Parallel Distributed Technol. Syst. Appl..

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

[12]  Jeffrey F. Naughton,et al.  On the Computation of Multidimensional Aggregates , 1996, VLDB.

[13]  Douglas C. Schmidt,et al.  ASX: An Object-Oriented Framework for Developing Distributed Applications , 1994, C++ Conference.

[14]  Jonathan Schaeffer,et al.  From patterns to frameworks to parallel programs , 2002, Parallel Comput..

[15]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[16]  Craig A. Knoblock,et al.  Advanced Programming in the UNIX Environment , 1992, Addison-Wesley professional computing series.

[17]  Max Jacobson,et al.  A Pattern Language: Towns, Buildings, Construction , 1981 .

[18]  Joël Falcou Parallel Programming with Skeletons , 2009, Computing in Science & Engineering.

[19]  E. F. Codd,et al.  Providing OLAP to User-Analysts: An IT Mandate , 1998 .

[20]  Mohammad Mursalin Akon A model for composible and extensible parallel architectural skeletons , 2005 .

[21]  Peter G. Harrison,et al.  Parallel Programming Using Skeleton Functions , 1993, PARLE.

[22]  Hans-Peter Kriegel,et al.  The X-tree : An Index Structure for High-Dimensional Data , 2001, VLDB.

[23]  Bruno R. Preiss,et al.  From Design Patterns to Parallel Architectural Skeletons , 2002, J. Parallel Distributed Comput..

[24]  Ajit Singh,et al.  Design patterns for parallel computing using a network of processors , 1997, Proceedings. The Sixth IEEE International Symposium on High Performance Distributed Computing (Cat. No.97TB100183).

[25]  Brian Foote,et al.  Designing Reusable Classes , 2001 .

[26]  Stephen Gilmore,et al.  Flexible Skeletal Programming with eSkel , 2005, Euro-Par.

[27]  Susanne E. Hambrusch,et al.  Parallelizing the Data Cube , 2001, Distributed and Parallel Databases.

[28]  Daniela di Serafino,et al.  Advanced environments for parallel and distributed applications: a view of current status , 2002, Parallel Comput..

[29]  Marco Vanneschi,et al.  The programming model of ASSIST, an environment for parallel and distributed portable applications , 2002, Parallel Comput..