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 Programming42 (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
Process patterns
Ambler S., Cambridge University Press, New York, NY, 1998. Type: Book (9780521645683)
Feb 1 1999
More process patterns
Ambler S., Cambridge University Press, New York, NY, 1999. Type: Book (9780521652629)
Feb 1 2000
The joy of patterns: using patterns for enterprise development
Goldfedder B., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2002.  176, Type: Book (9780201657593)
May 7 2002

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy