Skip to main content

PGAS (Partitioned Global Address Space) Languages

  • Reference work entry
Encyclopedia of Parallel Computing
  • 1245 Accesses

Definition

PGAS (Partitioned Global Address Space) is a programming model suited for shared and distributed memory parallel machines, e.g., machines consisting of many (up to hundreds of thousands of) CPUs.

Shared memory in this context means that the total of the memory space is available to every processor in the system (although access time to different banks of this memory can be different on each processor). Distributed memory is scattered across processors; access to other processors’ memory is usually through a network.

A PGAS system, therefore, consists of the following components:

  • A set of processors, each with attached local storage. Parts of this local storage can be declared private by the programming model, and is not visible to other processors.

  • A mechanism by which at least a part of each processor’s storage can be sharedwith others. Sharing can be implemented through the network device with system software support, or through hardware shared memory with cache...

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Bibliography

  1. Chamberlain BL, Choi S-E, Christopher Lewis E, Lin C, Snyder L, Weathersby D (2000) ZPL: a machine independent programming language for parallel computers. Softw Eng 26(3):197–211

    Google Scholar 

  2. The cascade high productivity language. HIPS, 00:52–60, 2004

    Google Scholar 

  3. High Performance Fortran Forum (1993). High performance Fortran language specification, version 1.0. Technical report CRPC-TR92225, Houston

    Google Scholar 

  4. Nieplocha J, Palmer B, Tipparaju V, Krishnan M, Trease H, Apra E (2006). Advances, applications and performance of the global arrays shared memory programming toolkit. Int J High Perform Comput Appl 20:203–231

    Google Scholar 

  5. Numrich RW, Reid J (1998) Co-array fortran for parallel programming. SIGPLAN Fortran Forum 17(2):1–31

    Google Scholar 

  6. Open MP (2000) Simple, portable, scalable SMP programming. http://www.openmp.org/

  7. Snir M, Otto S, Huss-Lederman S, Walker D, Dongarra J. MPI-the complete reference. The MPI Core, vol 1. MIT Press, Cambridge, MA

    Google Scholar 

  8. Split-C website. http://www.eecs.berkeley.edu/Research/Projects/CS/parallel/castle/split-c/

  9. UPC language Specification, V1.2, May 2005

    Google Scholar 

  10. The X10 programming language. http://x10.sourceforge.net, 2004

  11. Yelick K, Semenzato L, Pike G, Miyamoto C, Liblit B, Krishnamurthy A, Hilfinger P, Graham S, Gay D, Colella P, Aiken A (1998). Titanium: a high-performance Java dialect. Concurrency Pract Experience 10(11–13):825–836

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this entry

Cite this entry

Almasi, G. (2011). PGAS (Partitioned Global Address Space) Languages. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_210

Download citation

Publish with us

Policies and ethics