Skip to main content

Mianjin: A Parallel Language with a Type System That Governs Global System Behaviour

  • Conference paper

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

Abstract

For the past few years we have been working on a parallel programming language, Mianjin, suitable for writing parallel programs for non-dedicated networks of workstations. This paper reviews an innovative feature of the language, a type system that statically enforces global system behaviour. This is achieved by typing the behaviour of commands, thereby differentiating commands that may admit communication from those that do not. Doing this guarantees safe asynchronous communications; in particular it prevents deadlocks caused by exhaustion of system-level communication resources (such as buffers) which are beyond an application programmer’s control. These command types propagate though client and library code thereby simplifying some problems associated with constructing software components. The type system is semi-formally described using type rules, and some further applications of the idea to software components are discussed.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Cardelli, L.: Obliq, a language with distributed scope. Technical Report TR-127, Digital Equipment Corporation, Systems Research Center, Palo Alto, CA (1994)

    Google Scholar 

  2. Culler, D.E., et al.: Parallel programming in Split-C. In: Proc., Supercomputing 1993 Conf. (November 1993)

    Google Scholar 

  3. Roe, P.: An imperative language with read/write type modes. In: Shyamasundar, R.K. (ed.) ASIAN 1997. LNCS, vol. 1345. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  4. Roe, P., Szyperski, C.: Mianjin is Gardens Point: A parallel language taming asynchronous communication. In: Fourth Australasian Conference on Parallel and Real-Time Systems (PART 1997), Newcastle, Australia. Springer, Heidelberg (1997)

    Google Scholar 

  5. Roe, P., Szyperski, C.: The Gardens approach to adaptive parallel computing. In: Buyya, R. (ed.) Cluster Computing, vol. 1, pp. 740–753. Prentice Hall, Englewood Cliffs (1999)

    Google Scholar 

  6. Sun Microsystems. Java RMI., http://java.sun.com/products/jdk/rmi/

  7. SUN Microsystems. The Java language: A white paper (1995)

    Google Scholar 

  8. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading (1998)

    Google Scholar 

  9. von Eicken, T., Culler, D., Goldstein, S.C., Schauser, K.E.: Active messages: A mechanism for integrated communication and computation. In: Proceedings 19th International Symposium on Computer Architecture (May 1992)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Roe, P., Szyperski, C. (2000). Mianjin: A Parallel Language with a Type System That Governs Global System Behaviour. In: Weck, W., Gutknecht, J. (eds) Modular Programming Languages. JMLC 2000. Lecture Notes in Computer Science, vol 1897. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10722581_4

Download citation

  • DOI: https://doi.org/10.1007/10722581_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67958-5

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics