Optimising Skeletal-Stream Parallelism on a BSP Computer

  • Andrea Zavanella⋆
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1685)


Stream parallelism allows parallel programs to exploit the potential of executing different parts of the computation on distinct input data items. Stream parallelism can also exploit the concurrent evaluation of the same function on different input items. These techniques are usually named “pipelining” and “farming out”. The P3L language includes two stream parallel skeletons: the Pipe and the Farm constructors. The paper presents a methodology for efficient implementation of the P3L Pipe and Farm on a BSP computer. The methodology provides a set of analytical models to predict the constructors performance using the BSP cost model. Therefore a set of optimisation rules to decide the optimal degree of parallelism and the optimal size for input tasks (grain) are derived. A prototype has been validated on a Cluster of PC and on a Cray T3D computer.


  1. [1]
    S. Ciarpaglini, M. Danelutto, L. Folchi, C. Manconi, and S. Pelagatti. ANACLETO: a Template-based p3l Compiler. In Proceedings of the Seventh Parallel Computing Workshop (PCW’ 97), Australian National University, Canberra, August 1997.Google Scholar
  2. [2]
    M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. The MIT Press, Cambridge, Massachusetts, 1989.Google Scholar
  3. [3]
    M. Danelutto, R. Di Meglio, S. Orlando, S. Pelagatti, and M. Vanneschi. A Methodology for the Development and the Support of Massively Parallel Programs. In D.B. Skillicorn and D. Talia, editors, Programming Languages for Parallel Processing. IEEE Computer Society Press, 1994.Google Scholar
  4. [4]
    J. Darlington, M. Ghanem, and H. W. To. Structured Parallel Programming. In Proceedings of the Working Conference MPPM’ 93, Berlin, September 1993. GMD FIRST.Google Scholar
  5. [5]
    D.B. Skillicorn, M. Danelutto, S. Pelagatti, and A. Zavanella. Optimising Data-Parallel Programs Using the BSP Model. In Proceeding of EUROPAR98, LNCS. Springer, 1998.Google Scholar
  6. [6]
    D.B. Skillicorn, J.M.D. Hill, and W.F. McColl. Questions and answers about BSP. Technical Report PRG-TR-15-96, Oxford University Computing Laboratory, 1996.Google Scholar
  7. [7]
    S. Pelagatti. Structured Development of Parallel Programs. Taylor & Francis, 1997.Google Scholar
  8. [8]
    L.G. Valiant. A bridging model for parallel computation. Communications of the ACM, 33(8):103, August 1990.Google Scholar
  9. [9]
    A. Zavanella and S. Pelagatti. Using BSP to Optimize Data-Distribution in Skeleton Programs. In Proceedings of HPCN99, number 1593 in LNCS, pages 613–622, April 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Andrea Zavanella⋆
    • 1
  1. 1.Dipartimento di InformaticaUniversità di Pisa ItalyItaly

Personalised recommendations