International Journal of Parallel Programming

, Volume 32, Issue 5, pp 389–414 | Cite as

A New Parallel Skeleton for General Accumulative Computations

  • Hideya Iwasaki
  • Zhenjiang Hu


Skeletal parallel programming enables programmers to build a parallel program from ready-made components (parallel primitives) for which efficient implementations are known to exist, making both the parallel program development and the parallelization process easier. Constructing efficient parallel programs is often difficult, however, due to difficulties in selecting a proper combination of parallel primitives and in implementing this combination without having unnecessary creations and exchanges of data among parallel primitives and processors. To overcome these difficulties, we propose a powerful and general parallel skeleton, accumulate, which can be used to naturally code efficient solutions to problems as well as be efficiently implemented in parallel using Message Passing Interface (MPI).

Skeletal parallel programming Bird–Meertens formalism data parallel skeleton program transformation MPI 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    M.Cole,Algorithmic Skeletons:a Structured Approach to the Management of Parallel Computation,Research Monographs in Parallel and Distributed Computing,Pitman (1989).Google Scholar
  2. 2.
    J.Darlington, A.J.Field, P.G.Harrison, P.H.J.Kelly, D.W.N.Sharp, Q.Wu, and R.L.While,Parallel Programming using Skeleton Functions,Proceedings of the Conference on Parallel Architectures and Reduction Languages Europe (PARLE '93), Lecture Notes in Computer Science ,Vol.694,Springer-Verlag,pp.146–160 (1993).Google Scholar
  3. 3.
    D.B.Skillicorn,Foundations of Parallel Programming,Cambridge Series in Parallel Computation 6,Cambridge University Press (1994).Google Scholar
  4. 4.
    J.Darlington, Y.Guo, H.W.To,and J.Yang,Parallel Skeletons for Structured Composition,Proceedings of the 5th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '95),pp.19–28 (1995).Google Scholar
  5. 5.
    B.Bacci, M.Danelutto, S.Orlando, S.Pelagatti,and M.Vanneschi,P3L:A Structured High Level Programming Language and its Structured Support,Concurrency: Practice and Experience, 7(3):225–255 (1995).Google Scholar
  6. 6.
    M.Danelutto, F.Pasqualetti,and S.Pelagatti,Skeletons for Data Parallelism in P3L, Proceedings of the 3rd International Euro-Par Conference (Euro-Par '97),Lecture Notes in Computer Science ,Vol.1300,Springer-Verlag,pp.619–628 (1997).Google Scholar
  7. 7.
    G.E.Blelloch,Scans as Primitive Operations,IEEE Trans.on Computers, 38(11):1526–1538 (1989).Google Scholar
  8. 8.
    G.E.Blelloch,NESL:a Nested Data-parallel Language,Technical Report CMU-CS-95-170,Carnegie Mellon University (1995).Google Scholar
  9. 9.
    G.H.Botorog and H.Kuchen,Skil:An Imperative Language with Algorithmic Skeletons,Proceedings of the 5th International Symposium on High Performance Distributed Computing (HDPC '96),pp.243–252 (1996).Google Scholar
  10. 10.
    G.H.Botorog and H.Kuchen,Efficient High-Level Parallel Programming,Theoretical Computer Science, 196(1-2):71–107 (1998).CrossRefGoogle Scholar
  11. 11.
    H.Kuchen,A Skeleton Library,Proceedings of the 8th International Euro-Par Confer-ence (Euro-Par2002),Lecture Notes in Computer Science ,Vol.2400,Springer-Verlag, pp.620–629 (2002).Google Scholar
  12. 12.
    H.Kuchen and M.Cole,The Integration of Task and Data Parallel Skeletons, Proceedings of the 3rd International Workshop on Constructive Methods for Parallel Programming (CMPP2002),pp.3–16 (2002).Google Scholar
  13. 13.
    — eSkel HomePage, Scholar
  14. 14.
    F.A.Rabhi and S.G.(eds),Patterns and Skeletons for Parallel and Distributed Computing,Springer-Verlag (2002).Google Scholar
  15. 15.
    High Performance Fortran Forum,High Performance Fortran Language Specification (1993).Google Scholar
  16. 16.
    R.Bird,An Introduction to the Theory of Lists,Proceedings of the NATO Advanced Study Institute on Logic of Programming and Calculi of Discrete Design,pp.5–42 (1987).Google Scholar
  17. 17.
    D.B.Skillicorn,The Bird-Meertens Formalism as a Parallel Model,NATOARW "Software for Parallel Computation "(1992).Google Scholar
  18. 18.
    — Message Passing Interface Forum, Scholar
  19. 19.
    Z.Hu, M.Takeichi,and H.Iwasaki,Diffusion:Calculating Effi cient Parallel Programs,Proceedings of the 1999 ACM SIGPLAN International Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM '99),BRICS Notes Series NS-99-1,pp.85–94 (1999).Google Scholar
  20. 20.
    R.Bird,Introduction to Functional Programming using Haskell,Prentice-Hall, New York (1998).Google Scholar
  21. 21.
    A.Gill, J.Launchbury,and S.P.Jones,A Short Cut to Deforestation,Proceedings of the 1993 Conference on Functional Programming Languages and Computer Architecture (FPCA '93),ACM Press,pp.223–232,(1993).Google Scholar
  22. 22.
    Z.Hu, H.Iwasaki,and M.Takeichi,Deriving Structural Hylomorphisms from Recursive De nitions,Proceedings of the 1996 International Conference on Functional Programming (ICFP '96),ACM Press,pp.73–82 (1996).Google Scholar
  23. 23.
    Z.Hu, H.Iwasaki,and M.Takeichi,An Accumulative Parallel Skeleton for All, Proceedings of the 2002 European Symposium on Programming, Lecture Notes in Computer Science,Vol.2305,Springer-Verlag,pp.83–97 (2002).Google Scholar
  24. 24.
    E.Meijer, M.Fokkinga,and R.Paterson,Functional Programming with Bananas, Lenses,Envelopes and Barbed Wire,Proceedings of the 1991 Conference on Functional Programming Languages and Computer Architecture (FPCA '91),Lecture Notes in Computer Science ,Vol.523,Springer-Verlag,pp.124–144 (1991).Google Scholar
  25. 25.
    S.Adachi, H.Iwasaki,and Z.Hu,Diff:A Powerful Parallel Skeleton,Proceedings of the 2000 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA '2000),CSREA Press,pp.2175–2181 (2000).Google Scholar
  26. 26.
    W.-N.Chin, A.Takano,and Z.Hu,Parallelization via Context Preservation,Proceedings of the 1998 IEEE Computer Society International Conference on Computer Languages (ICCL '98),IEEE Press,pp.153–162 (1998).Google Scholar
  27. 27.
    R.Shirasawa, Z.Hu,and H.Iwasaki,Diffusion after Fusion-Deriving Efficient Parallel Algorithms-,Proceedings of the 2001 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA '2001),CSREA Press, pp.735–741 (2001).Google Scholar
  28. 28.
    K.Hyoudou, R.Ozaki,and Y.Nakayama,A PC Cluster System Employing IEEE 1394,Concurrency and Computation:Practice and Experience,16(10):989–1003 (2004).CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, Inc. 2004

Authors and Affiliations

  • Hideya Iwasaki
  • Zhenjiang Hu

There are no affiliations available

Personalised recommendations