Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5930))

  • 487 Accesses

Abstract

Due to advances in hardware architectures such as multi-core/multi-threaded architectures, various refinements of the parallel programming models such as distributed shared space, global address space and partitioned global address space (PGAS) etc., are widely prevalent in programming languages designed for high performance computing. In this paper, we shall discuss a preliminary work on a proof system for such a language. The language referred to as PGAS 0, is essentially an object-oriented language with features such as statically fixed set of places, asynchronous creation of activities, futures, atomics for synchronization etc. Many of the features of PGAS 0 are taken from the new experimental language X10 (built around Java) under design at IBM. The language distinguishes between local and remote data access with reference to threads. The atomic is the only construct that can be used for synchronization in PGAS 0 and is executed in a mutually exclusive manner at a place. One of the main safety properties of a PGAS 0 program is that a thread should not access non-local data object directly by dereferencing but use the construct future to obtain remote data. We shall describe the semantics of PGAS 0 and illustrate a proof system for the same with the motivation of establishing locality of data (an extremely useful from performance perspective). Further, we show how the same proof system can be used for establishing other concurrency properties.

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ábrahám, E., de Boer, F.S., de Roever, W.-P., Steffen, M.: An assertion based proof system for multithreaded java. TCS 331 (2005)

    Google Scholar 

  2. Agarwal, S., Barik, R., Nandivada, V.K., Shyamasundar, R.K., Varma, P.: Static detection of place locality and elimination of runtime checks. In: Ramalingam, G. (ed.) APLAS 2008. LNCS, vol. 5356, pp. 53–74. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  3. Apt, K.R., Francez, N., de Roever, W.P.: A proof system for communicating sequential processes. ACM TOPLAS 2(3) (1980)

    Google Scholar 

  4. Charles, P., Donawa, C., Ebcioglu, K., Grothoff, C., Kielstra, A., von Praun, C., Saraswat, V., Sarkar, V.: X10: An object-oriented approach to non-uniform cluster computing. In: OOPSLA (2005)

    Google Scholar 

  5. de Boer, F.S., Clarke, D., Johnsen, E.B.: A complete guide to the future. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 316–330. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  6. Flanagan, C., Felleisen, M.: The semantics of future and an application. J. Funct. Program. 9(1) (1999)

    Google Scholar 

  7. Koymans, R., Shyamasundar, R.K., Gerth, R., de Roever, W.P., Arun-Kumar, S.: Compositional semantics for real-time distributed programming language. Information and Computation 79(3) (December 1988)

    Google Scholar 

  8. Kundaji, R.N., Shyamasundar, R.K.: Refinement calculus: A basis for translation, validation, debugging and certification. TCS 354 (2006)

    Google Scholar 

  9. Liblit, B., Aiken, A.: Type system for distributed data structures. In: POPL (2000)

    Google Scholar 

  10. Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs. Acta Informatica 6(4) (1976)

    Google Scholar 

  11. Saraswat, V., Jagadeesan, R.: Concurrent clustered programming. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 353–367. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  12. UPC language specifications, v1.2. Technical Report LBNL-59208, Berkeley National Lab. (2005)

    Google Scholar 

  13. Welc, A., Jagannathan, S., Hosking, A.: Safe futures for java. In: OOPSLA (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Agarwal, S., Shyamasundar, R.K. (2010). A Proof System for a PGAS Language. In: Dams, D., Hannemann, U., Steffen, M. (eds) Concurrency, Compositionality, and Correctness. Lecture Notes in Computer Science, vol 5930. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11512-7_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11512-7_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-11511-0

  • Online ISBN: 978-3-642-11512-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics