Skip to main content

The Bird-Meertens Formalism as a Parallel Model

  • Conference paper
Software for Parallel Computation

Part of the book series: NATO ASI Series ((NATO ASI F,volume 106))

Abstract

The expense of developing and maintaining software is the major obstacle to the routine use of parallel computation. Architecture independent programming offers a way of avoiding the problem, but the requirements for a model of parallel computation that will permit it are demanding. The Bird-Meertens formalism is an approach to developing and executing data-parallel programs; it encourages software development by equational transformation; it can be implemented efficiently across a wide range of architecture families; and it can be equipped with a realistic cost calculus, so that trade-offs in software design can be explored before implementation. It makes an ideal model of parallel computation.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Ahuja, N. Carriero, D. Gelernter, and V. Krishnswamy. Matching languages and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, 37, No.8:921–929, August 1988.

    Article  Google Scholar 

  2. C. Banger. Arrays with categorical type constructors. In ATABLE’92 Proceedings of a Workshop and Arrays, June 1992.

    Google Scholar 

  3. R.S. Bird. A calculus of functions for program derivation. Oxford University Programming Research Group Monograph PRG-64, 1987.

    Google Scholar 

  4. R.S. Bird. An introduction to the theory of lists. In M. Broy, editor, Logic of Programming and Calculi of Discrete Design, pages 3–42. Springer-Verlag, 1987.

    Google Scholar 

  5. R.S. Bird. Lectures on constructive functional programming. Oxford University Programming Research Group Monograph PRG-69, 1988.

    Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  7. R.S. Bird, J. Gibbons, and G. Jones. Formal derivation of a pattern matching algorithm. Science of Computer Programming, 12:93–104, 1989.

    Article  MathSciNet  MATH  Google Scholar 

  8. G. Blelloch. Scans as primitive parallel operations. In Proceedings of the International Conference on Parallel Processing, pages 355–362, August 1987.

    Google Scholar 

  9. G.E. Blelloch. Vector Models for Data-Parallel Computing. MIT Press, 1990.

    Google Scholar 

  10. R.P. Brent. The parallel evaluation of general arithmetic expressions. Journal of the ACM, 21, No.2:201–206, April 1974.

    Article  MathSciNet  MATH  Google Scholar 

  11. W. Cai and D.B. Skillicorn. Evaluation of a set of message-passing routines in transputer networks. In A.R. Allen, editor, Proceedings of the WoTUG 92 World Transputer Users Group, “Transputer Systems — Ongoing Research”, pages 24–36. IOS Press, April 1992.

    Google Scholar 

  12. Nicholas Carriero. Implementation of tuple space machines. Technical report, Dept. of Computer Science, Yale University, December 1987. Research Report YALEU/DCS/RR-567.

    Google Scholar 

  13. Nicholas Carriero and David Gelernter. Application experience with Linda. In ACM/SIGPLAN Symposium on Parallel Programming, July 1988.

    Google Scholar 

  14. M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Research Monographs in Parallel and Distributed Computing. Pitman, 1989.

    Google Scholar 

  15. M. Danelutto, R. Di Meglio, S. Pelagatti, and M. Vanneschi. High level language constructs for massively parallel computing. Technical report, Hewlett Packard Pisa Science Center, HPL-PSC-90-19, 1990.

    Google Scholar 

  16. M. Danelutto, S. Pelagatti, and M. Vanneschi. High level languages for easy massively parallel computing. Technical report, Hewlett Packard Pisa Science Center, HPL-PSC-91-16, 1991.

    Google Scholar 

  17. D. Gelernter. Generative communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, 1985.

    Article  MATH  Google Scholar 

  18. J. Gibbons. Algebras for Tree Algorithms. PhD thesis, D.Phil, thesis, Programming Research Group, University of Oxford, 1991.

    Google Scholar 

  19. D. le Metayer. Mechanical analysis of program complexity. Proceedings of the SIGPLAN ′85 Symposium, pages 69–73, July 1985.

    Google Scholar 

  20. G. Malcolm. Algebraic Data Types and Program Transformation. PhD thesis, Rijksuniversiteit Groningen, September 1990.

    Google Scholar 

  21. K. Mehlhorn and U. Vishkin. Randomized and deterministic simulation of PRAMs by parallel machines with restricted granularity of parallel memories. Acta Informatica, 21:339–374, 1984.

    Article  MathSciNet  MATH  Google Scholar 

  22. S. Peyton-Jones. Implementation of Functional Programming Languages. Prentice-Hall, 1987.

    Google Scholar 

  23. A. G. Ranade. Fluent Parallel Computation. PhD thesis, Yale University, 1989.

    Google Scholar 

  24. G. Sabot. The Paralation Model: Architecture-Independent Parallel Programming. MIT Press, 1989.

    Google Scholar 

  25. D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Imperial College, September 1990.

    Google Scholar 

  26. D. Sands. Complexity analysis for a lazy higher-order language. In Proceedings of the Third European Symposium on Programming, number 432 in LNCS. Springer-Verlag, May 1990.

    Google Scholar 

  27. D.B. Skillicorn. Models for practical parallel computation. International Journal of Parallel Programming, 20(2):133–158, April 1991. Actually appeared in 1992.

    Article  Google Scholar 

  28. D.B. Skillicorn and W. Cai. A cost calculus for parallel functional programming, submitted 1992. Also appears as Department of Computer Science Technical Report 92–329.

    Google Scholar 

  29. J.M. Spivey. A categorical approach to the theory of lists. In Mathematics of Program Construction, pages 399–408. Springer-Verlag Lecture Notes in Computer Science 375, June 1989.

    Google Scholar 

  30. L.G. Valiant. Optimally universal parallel computers. Phil Trans. Royal Society Lond. Series A, 326:373–376, 1988.

    Article  MATH  Google Scholar 

  31. L.G. Valiant. A bridging model for parallel computation. Communications of the ACM, 33(8):103–111, August 1990.

    Article  Google Scholar 

  32. L.G. Valiant. General purpose parallel architectures. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Vol. A. Elsevier Science Publishers and MIT Press, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Skillicorn, D.B. (1993). The Bird-Meertens Formalism as a Parallel Model. In: Kowalik, J.S., Grandinetti, L. (eds) Software for Parallel Computation. NATO ASI Series, vol 106. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-58049-9_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-58049-9_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-63453-6

  • Online ISBN: 978-3-642-58049-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics