Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Design patterns percolating to parallel programming framework implementation
Aldinucci M., Campa S., Danelutto M., Kilpatrick P., Torquati M.  International Journal of Parallel Programming 42 (6): 1012-1031, 2014. Type: Article
Date Reviewed: May 7 2015

Structured parallel programming is employed to effectively address challenges in parallel programming. Recently, Danelutto et al. [1] proposed a set of architecture-independent, reusable, parallel building blocks (RISC-pb2l) for high-level, structured, parallel programming frameworks based on the reduced instruction set computing (RISC) approach and demonstrated the modeling of classical skeleton patterns. This paper uses FastFlow, a parallel C++ framework built on the portable operating system interface for Unix (POSIX), to show the usability of RISC-pb2l for modeling general computing models and domain-specific patterns, and to establish its efficiency and scalability.

Wrappers, functionals, and combinators are three building blocks of RISC-pb2l. Wrappers embed existing portions of code into parallel programs, functionals encapsulate parallel computations, and combinators route data to and from functionals’ input and output.

Three general computing models--BSP parallel computation, MapReduce pattern, and Macro dataflow pattern--are modeled here. Initial stages, such as concurrent local computation and graph formulation, are modeled using wrappers and parallel or multiple instruction, single data (MISD) functionals, which execute n identical or different functions, respectively, on n input data items in parallel. The remaining stages are modeled using spread or reduce functionals, which compute multiple or single output items, respectively, using a commutative or associative function on a k-ary tree input with gatherall (N-to-1) or unicast (1-to-N) combinators for data selection, summation, or routing.

For domain-specific patterns, global single population genetic skeleton, orbit skeleton, and network packet processing (NPP) have been modeled. Here, initial stages are modeled using parallel functionals with scatter (1-to-N) or gather (N-to-1) combinators and wrappers to compute specific data. Other stages, such as relevant data collection or summation, are modeled by reduce functionals.

The information is well presented and is useful for parallel application developers with prior knowledge of RISC-pb2l.

Reviewer:  Partha Pratim Das Review #: CR143422 (1508-0710)
1) Danelutto, M.; Torquati, M. A RISC building block set for structured parallel programming. In Proc. of PDP 2013. IEEE, 2013, 46–50.
Bookmark and Share
Patterns (D.2.11 ... )
Parallel Programming (D.1.3 ... )
RISC/ CISC, VLIW Architectures (C.1.1 ... )
Would you recommend this review?
Other reviews under "Patterns": Date
Microservices: theory and application
Krause L.  Applicative 2016 (Proceedings of Applicative 2016, New York, NY,  Jun 1-2, 2016) 2016. Type: Proceedings
Aug 8 2016
Patterns for software integrity protection
Rauter T., Höller A., Iber J., Kreiner C.  EuroLoP 2015 (Proceedings of the 20th European Conference on Pattern Languages of Programs, Kaufbeuren, Germany,  Jul 8-12, 2015) ArticleNo.-49, 2015. Type: Proceedings
Apr 5 2016
Ontology driven creational design patterns as parameterized and reusable components
Chaturvedi A., Prabhakar T.  ACM SIGAPP Applied Computing Review 14(1): 6-19, 2014. Type: Article
Jun 26 2014

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright © 2000-2021 ThinkLoud, Inc.
Terms of Use
| Privacy Policy