Skip to content

Partitioned Global Address Space

What is Partitioned Global Address Space (PGAS)?

The PGAS (pronounced p-gas) is a programming model which gives the user the illusion of shared memory on distributed systems. As the name implies, you can imagine that there is a single shared global address space consisting of logical portions, each portion of which is local to each processing element (PE). Typically, many PGAS languages/libraries offer point-to-point one-sided communication, where the user can use 1) put routine to write data to a remote (non-local) location, 2) get routine to read data from a remote location, whereas MPI requires two-sided communication.

PGAS

The PGAS Model

Note

While recent versions of MPI supports one-sided communications, that is not as simple as what PGAS languages/libraries offer.

Examples of PGAS languages/libraries

  • X10
  • Chapel
  • Unified Parallel C (UPC)
  • Co-Array Fortran (CAF)
  • OpenSHMEM