Skip to main content

Using BSP to optimize data distribution in skeleton programs

  • Track C3: Computational Science
  • Conference paper
  • First Online:
High-Performance Computing and Networking (HPCN-Europe 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1593))

Included in the following conference series:

Abstract

Parallel programming can be made easier by means of a skeleton based methodology, such as P 3 L, which helps programmers to compose their applications by using a set of fixed parallel patterns. Such kind of approach is also useful to obtain portability because the “structured” nature of the language can be used to devise a composable support for each parallel pattern so that the complexity of finding an “optimal” implementation on different parallel architectures can be reduced. In this work, we show how we can conjugate the BSP abstract model and its related cost analisys to provide an implementation strategy “abstract enough” for being also machine independent. We hope this can be a first step towards the idea of a portable set of optimization rules. The first results show how an implementation template for the Map constructor, able of to be tuned automatically, can be designed. A validation of the technique is given for a Cray T3E and a cluster of PC-Linux.

This work has been partially supported by the italian M.U.R.S.T. in the framework of the Project “MOSAICO”.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. B. Bacci, B. Cantalupo, M. Danelutto, S. Orlando, D. Pasetto, S. Pelagatti, and M. Vanneschi. An Environment for Structured Parallel Programming. In L. Grandinetti, M. Kowalick, and M. Vaitersic, editors, Advances in High Performance Computing, pages 219–234. Kluwier, Dordrecht, The Netherlands, 1997.

    Google Scholar 

  2. R.S. Bird. Algebraic identities for program calculation. The Computer Jurnal, 32(2):122–126, February 1989.

    Article  MathSciNet  Google Scholar 

  3. George H. Botorog and Herbert Kuchen. Skil: An Imperative Language with Algorithmic Skeletons for Efficient Distributed Programming. In Proceedings of the Fifth International Symposium on High Performance Distributed Computing (HPDC-5), pages 243–252. IEEE Computer Society, 1996.

    Google Scholar 

  4. 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 

  5. M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. The MIT Press, Cambridge, Massachusetts, 1989.

    MATH  Google Scholar 

  6. 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 

  7. J. Darlington, A.J. Field, P.G. Harrison, P.H.J. Kelly, D.W.N. Sharp, and Q. Wu. Parallel Programming using Skeleton functions. In Parallel Languages and Architectures Europe. Springer Verlag, 1993.

    Google Scholar 

  8. J. Darlington, Y.K. Guo, H.W. To, and J. Yang. Functional Skeletons for Parallel Coordination. In Proceedings of Europar, 1995.

    Google Scholar 

  9. 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 

  10. A.V. Gerbessiotis and C.J. Siniolakis. Primitive Operations on the BSP Model. Technical Report PRG-TR-23-96, Oxford University Computing Laboratory, October 1996.

    Google Scholar 

  11. F.O. Osoba and F.A. Rabhi. A Parallel Multigrid Skeleton using BSP. In Proceeding of EuroPar98, LNCS. Springer, 1998.

    Google Scholar 

  12. S. Gorlatch and S. Pelagatti. A Transformational Frame for Skeleton based Parallelism: An Oveview and a Case Study. submitted, October 1998.

    Google Scholar 

  13. J.M. Sipelstein and G.E. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504–523, April 1991.

    Article  Google Scholar 

  14. David B. Skillicorn, Jonathan M. D. Hill, and W. F. McColl. Questions and answers about BSP. Technical Report 15-96, Programming Research Group, Oxford University Computing Laboratory, August 1996.

    Google Scholar 

  15. S. Pelagatti. Structured Development of Parallel Programs. Taylor & Francis, 1997.

    Google Scholar 

  16. M. Sudholt, C. Piepenbrock, K. Obermayer, and P. Pepper. Solving Large Systems of Differential Equations using Covers and Skeletons. In 50th IFIP WG 2.1 Working Conference on Algorithmic Languages and Calculi. Chapman-Hall, Feb 1997.

    Google Scholar 

  17. L.G. Valiant. A Bridging Model for Parallel Computation. Communications of the ACM, 33(8):103–111, August 1990.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Peter Sloot Marian Bubak Alfons Hoekstra Bob Hertzberger

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag

About this paper

Cite this paper

Zavanella, A., Pelagatti, S. (1999). Using BSP to optimize data distribution in skeleton programs. In: Sloot, P., Bubak, M., Hoekstra, A., Hertzberger, B. (eds) High-Performance Computing and Networking. HPCN-Europe 1999. Lecture Notes in Computer Science, vol 1593. Springer, Berlin, Heidelberg . https://doi.org/10.1007/BFb0100622

Download citation

  • DOI: https://doi.org/10.1007/BFb0100622

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65821-4

  • Online ISBN: 978-3-540-48933-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics