Design Patterns and Algorithmic Skeletons: A Brief Concordance

Chis, Adriana E. and González-Vélez, Horacio (2018) Design Patterns and Algorithmic Skeletons: A Brief Concordance. In: Modeling and Simulation in HPC and Cloud Systems. Studies in Big Data (36). Springer International Publishing, pp. 45-56. ISBN 9783319737676

Full text not available from this repository.


Having been designed as abstractions of common themes in object-oriented programming, patterns have been incorporated into parallel programming to allow an application programmer the freedom to generate parallel codes by parameterising a framework and adding the sequential parts. On the one hand, parallel programming patterns and their derived languages have maintained, arguably, the best adoption rate; however, they have become conglomerates of generic attributes for specific purposes, oriented towards code generation rather than the abstraction of structural attributes. On the other hand, algorithmic skeletons systematically abstract commonly-used structures of parallel computation, communication, and interaction. Although there are significant examples of relevant applications—mostly in academia—where they have been successfully deployed in an elegant manner, algorithmic skeletons have not been widely adopted as patterns have. However, the ICT industry expects graduates to be able to easily adapt to its best practices. Arguably, this entails the use of pattern-based programming, as it has been the case in sequential programming where the use of design patterns is widely considered the norm, as demonstrated by a myriad of citations to the seminal work of Gamma et al. widely known as the Gang-of-Four. We contend that an algorithmic skeleton can be treated as a structural design pattern where the degree of parallelism and computational infrastructure are only defined at runtime. The purpose of this chapter is to explain how design patterns can be mapped into algorithmic skeletons. We illustrate our approach using a simple example using the visitor design pattern and the task farm algorithmic skeleton.

Item Type: Book Section
Subjects: Q Science > QA Mathematics > Electronic computers. Computer science
T Technology > T Technology (General) > Information Technology > Electronic computers. Computer science

T Technology > T Technology (General) > Information Technology > Cloud computing
Related URLs:
Date Deposited: 07 Feb 2018 09:09
Last Modified: 07 Feb 2018 09:09

Actions (login required)

View Item View Item