Skip to main content

Prototyping parallel algorithms with proset-Linda

  • Conference paper
  • First Online:
Parallel Computation (ACPC 1993)

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

Abstract

Proset is a procedural prototyping language based on the theory of finite sets. The coordination language Linda provides a distributed shared memory model, called tuple space, together with some atomic operations on this shared data space. Process communication and synchronization in Linda is called generative communication, because tuples are added to, removed from, and read from tuple space concurrently. Synchronization is done implicitly.

This paper presents ProSet-Linda which adapts the concept for process creation via Multilisp's futures to set-oriented programming and integrates Linda's concept for synchronization and communication via tuple space. This new approach to integrating futures and generative communication into a prototyping language extends the basic Linda model with multiple tuple spaces, the notion of limited tuple spaces, selection and customization for matching, specified fairness of choice, and the facility for changing tuples in tuple space.

The subject of this paper is the construction of prototypes and not the transformation of prototypes into production-quality programs. Therefore, we consider only the early phases in the process of software construction.

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. H.E. Bal. A comparative study of five parallel programming languages. Future Generations Computer Systems, 8:121–135, 1992.

    Google Scholar 

  2. R. Budde, K. Kuhlenkamp, L. Mathiassen, and H. Züllighoven, editors. Approaches to Prototyping. Springer-Verlag, 1984.

    Google Scholar 

  3. N. Carriero. Implementation of tuple space machines. PhD thesis, Yale University, New Haven, CT, December 1987.

    Google Scholar 

  4. N. Carriero and D. Gelernter. How to write parallel programs. MIT Press, 1990.

    Google Scholar 

  5. J. Cocke. The search for performance in scientific processors. Communications of the ACM, 31(3):249–253, 1988.

    Google Scholar 

  6. E.-E. Doberkat. Integrating persistence into a set-oriented prototyping language. Structured Programming, 13(3):137–153, 1992.

    Google Scholar 

  7. E.-E. Doberkat and D. Fox. Software Prototyping mit SETL. Leitfäden und Monographien der Informatik. Teubner-Verlag, 1989.

    Google Scholar 

  8. E.-E. Doberkat, W. Franke, U. Gutenbeil, W. Hasselbring, U. Lammers, and C. Pahl. ProSet — A Language for Prototyping with Sets. In N. Kanopoulos, editor, Proc. Third International Workshop on Rapid System Prototyping, pages 235–248, Research Triangle Park, NC, June 1992. IEEE Computer Society Press.

    Google Scholar 

  9. M. Factor. The process trellis software architecture for real-time monitors. In Proc. Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), pages 147–155, Seattle, WA, March 1990.

    Google Scholar 

  10. C. Floyd. A systematic look at prototyping. In Budde et al. [2], pages 1–18.

    Google Scholar 

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

    Google Scholar 

  12. D. Gelernter. Multiple tuple spaces in Linda. In Proc. Parallel Architectures and Languages Europe (PARLE'89), volume 366 of Lecture Notes in Computer Science, pages 20–27. Springer-Verlag, June 1989.

    Google Scholar 

  13. J.B. Goodenough. Exception handling: Issues and a proposed notation. Communications of the ACM, 18(12):683–696, 1975.

    Google Scholar 

  14. R.H. Halstead. Multilisp: A language for concurrent symbolic computation. ACM Transactions on Programming Languages and Systems, 7(4):501–538, 1985.

    Google Scholar 

  15. W. Hasselbring. A Formal Z Specification of ProSet-Linda. Informatik-Bericht 04–92, University of Essen, September 1992.

    Google Scholar 

  16. W. Hasselbring. Prototyping Parallel Algorithms in a Set-Oriented Language. PhD thesis, University of Essen, 1993. (in preparation).

    Google Scholar 

  17. M.F. Kaashoek, H.E. Bal, and A.S. Tanenbaum. Experience with the distributed data structure paradigm in Linda. In USENIX/SERC Workshop on Experiences with Building Distributed and Multiprocessor Systems, pages 175–191, Ft. Lauderdale, FL, October 1989.

    Google Scholar 

  18. M.Z. Kwiatkowska. Survey of fairness notions. Information and Software Technology, 31(7):371–386, 1989.

    Google Scholar 

  19. J.S. Leichter. Shared tuple memories, buses and LAN's — Linda implementations across the spectrum of connectivity. PhD thesis, Yale University, New Haven, CT, July 1989.

    Google Scholar 

  20. J.E. Narem. An informal operational semantics of C-Linda V2.3.5. Technical Report 839, Yale University, New Haven, CT, December 1989.

    Google Scholar 

  21. R. Naujokat. Entwurf und Implementierung einer Laufzeitbibliothek für ProSet-Linda auf einem lokalen Netzwerk. Master's thesis, University of Essen, 1993. (in preparation).

    Google Scholar 

  22. H.A. Partsch. Specification and Transformation of Programs. Springer-Verlag, 1990.

    Google Scholar 

  23. H. Pohland. Entwurf und Implementierung eines graphischen Debuggers für ProSet-Linda. Master's thesis, University of Essen, 1993. (in preparation).

    Google Scholar 

  24. J.T. Schwartz, R.B.K. Dewar, E. Dubinsky, and E. Schonberg. Programming with Sets — An Introduction to SETL. Springer-Verlag, 1986.

    Google Scholar 

  25. J.M. Spivey. The Z Notation: A Reference Manual. Prentice-Hall, 2nd edition, 1992.

    Google Scholar 

  26. G. Wilson, editor. Proc. Workshop on Linda-Like Systems and Their Implementation. Edinburgh Parallel Computing Centre TR91-13, June 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jens Volkert

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hasselbring, W. (1993). Prototyping parallel algorithms with proset-Linda. In: Volkert, J. (eds) Parallel Computation. ACPC 1993. Lecture Notes in Computer Science, vol 734. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57314-3_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-57314-3_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57314-2

  • Online ISBN: 978-3-540-48055-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics