Programming perl
Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
Network-based concurrent computing on the PVM system
Concurrency: Practice and Experience
Parallel computing (2nd ed.): theory and practice
Parallel computing (2nd ed.): theory and practice
The pocket handbook of imaging processing algorithms in C
The pocket handbook of imaging processing algorithms in C
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A data-parallel programming library for education (DAPPLE)
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
Using MPI: portable parallel programming with the message-passing interface
Using MPI: portable parallel programming with the message-passing interface
Active object: an object behavioral pattern for concurrent programming
Pattern languages of program design 2
Selecting locking designs for parallel programs
Pattern languages of program design 2
The Unified Modeling Language user guide
The Unified Modeling Language user guide
Parallel Programming Using C++
Parallel Programming Using C++
Pattern Languages of Program Design 4
Pattern Languages of Program Design 4
IEEE Parallel & Distributed Technology: Systems & Technology
The Enterprise Model for Developing Distributed Applications
IEEE Parallel & Distributed Technology: Systems & Technology
Graphical Design of Distributed Applications Through Reusable Components
IEEE Parallel & Distributed Technology: Systems & Technology
Visual Programming and Debugging for Parallel Computing
IEEE Parallel & Distributed Technology: Systems & Technology
CODE: A Unified Approach to Parallel Programming
IEEE Software
Parallel Programming Using Skeleton Functions
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
Using Object-Oriented Techniques for Realizing Parallel Architectural Skeletons
ISCOPE '99 Proceedings of the Third International Symposium on Computing in Object-Oriented Parallel Environments
Design Patterns for Parallel Computing Using a Network of Processors
HPDC '97 Proceedings of the 6th IEEE International Symposium on High Performance Distributed Computing
Parallel architectural skeletons: re-usable building blocks for parallel applications
Parallel architectural skeletons: re-usable building blocks for parallel applications
ACM Transactions on Programming Languages and Systems (TOPLAS)
PARA'06 Proceedings of the 8th international conference on Applied parallel computing: state of the art in scientific computing
EasyPAB: an extensible IDE framework for parallel applications
APPT'07 Proceedings of the 7th international conference on Advanced parallel processing technologies
A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers
Software—Practice & Experience - Focus on Selected PhD Literature Reviews in the Practical Aspects of Software Technology
Developing high-performance parallel applications using EPAS
ISPA'05 Proceedings of the Third international conference on Parallel and Distributed Processing and Applications
Extensible parallel architectural skeletons
HiPC'05 Proceedings of the 12th international conference on High Performance Computing
SuperPAS: a parallel architectural skeleton model supporting extensibility and skeleton composition
ISPA'04 Proceedings of the Second international conference on Parallel and Distributed Processing and Applications
PaCT'05 Proceedings of the 8th international conference on Parallel Computing Technologies
Hi-index | 0.00 |
The concept of design patterns has been extensively studied and applied in the context of object-oriented software design. Similar ideas are being explored in other areas of computing as well. Over the past several years, researchers have been experimenting with the feasibility of employing design-patterns related concepts in the parallel computing domain. In the past, several pattern-based systems have been developed with the intention to facilitate faster parallel application development through the use of preimplemented and reusable components that are based on frequently used parallel computing design patterns. However, most of these systems face several serious limitations such as limited flexibility, zero extensibility, and the ad hoc nature of their components. Lack of flexibility in a parallel programming system limits a programmer to using only the high-level components provided by the system. Lack of extensibility here refers to the fact that most of the existing pattern-based parallel programming systems come with a set of prebuilt patterns integrated into the system. However, the system provides no obvious way of increasing the repertoire of patterns when need arises. Also, most of these systems do not offer any generic view of a parallel computing pattern, a fact which may be at the root of several of their shortcomings. This research proposes a generic (i.e., pattern- and application-independent) model for realizing and using parallel design patterns. The term "parallel architectural skeleton" is used to represent the set of generic attributes associated with a pattern. The Parallel Architectural Skeleton Model (PASM) is based on the message-passing paradigm, which makes it suitable for a LAN of workstations and PCs. The model is flexible as it allows the intermixing of high-level patterns with low-level message-passing primitives. An object-oriented and library-based implementation of the model has been completed using C++ and MPI, without necessitating any language extension. The generic model and the library-based implementation allow new patterns to be defined and included into the system. The skeleton-library serves as a framework for the systematic, hierarchical development of network-oriented parallel applications.