Abstract
The concept of design patterns has recently emerged as a new paradigm in the context of object-oriented design methodology. Similar ideas are being explored in other areas of computing. In the parallel computing domain, design patterns describe recurring parallel computing problems and their solution strategies. Starting with the late 1980’s, several pattern-based systems have been built for facilitating parallel application development. However, most of these systems use patterns in ad hoc manners, thus lacking a generic or standard model for using and intermixing different patterns. This substantially hampers the usability of such systems. Lack of flexibility and extensibility are some of the other major concerns associated with most of these systems. In this paper, we propose a generic (i.e., pattern- and application-independent) model for realizing and using parallel design patterns. The term architectural skeleton is used to represent the application independent, re-usable set of attributes associated with a pattern. The model can provide most of the functionalities of low level message passing libraries, such as PVM or MPI, plus the benefits of the patterns. This results in tremendous flexibility to the user. It turns out that the model is an ideal candidate for object-oriented style of design and implementation. It is currently implemented as a C++ template-library without requiring any language extension. The generic model, together with the object-oriented and library-based approach, facilitates extensibility.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Company, Reading (1994)
Singh, A., Schaeffer, J., Szafron, D.: Experience with parallel programming using code templates. Concurrency: Practice and Experience 10(2), 91–120 (1998)
Browne, J.C., Hyder, S.I., Dongarra, J., Moore, K., Newton, P.: Visual Programming and Debugging for Parallel Computing. IEEE Parallel and Distributed Technology 3(1), 75–83 (1995)
Siu, S., Singh, A.: Design Patterns for Parallel Computing Using a Network of Processors. In: Sixth IEEE International Symposium on High Performance Distributed Computing, Oregon, USA, pp. 293–304 (1997)
Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. The MIT Press, Cambridge (1989)
Campbell, D.K.G.: Towards the Classification of Algorithmic Skeletons. Technical Report YCS 276, Department of Computer Science, University of York (1996)
Pandey, R., Browne, J.C.: A Compositional Approach to Concurrent Programming. In: Proc. of 1996 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA 1996), California, pp. 1489–1500 (1996)
Quinn, M.J.: Parallel Computing: Theory and Practice. McGraw-Hill, Inc., New York (1994)
Myler, H.R., Weeks, A.R.: The Pocket handbook of Image Processing Algorithms in C. Prentice Hall, Englewood Cliffs (1993)
Goswami, D.: A Design Pattern Based Approach for Developing Parallel Applications. PhD thesis, Department of Electrical and Computer Engineering, University of Waterloo (in preparation)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Goswami, D., Singh, A., Preiss, B.R. (1999). Using Object-Oriented Techniques for Realizing Parallel Architectural Skeletons. In: Matsuoka, S., Tholburn, M. (eds) Computing in Object-Oriented Parallel Environments. ISCOPE 1999. Lecture Notes in Computer Science, vol 1732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10704054_14
Download citation
DOI: https://doi.org/10.1007/10704054_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66818-3
Online ISBN: 978-3-540-46697-0
eBook Packages: Springer Book Archive