Jaettu globaali osoiteavaruus

Osioitu globaali osoiteavaruus ( eng.  partitioned global address space , lyhenne PGAS ) on yksi lupaavista rinnakkaisohjelmoinnin malleista ( rinnakkaislaskenta ), jossa rinnakkaislaskentakompleksin (globaalimuisti) kaikki muisti on osoitettavissa ja jaettu loogiset osat, joista jokainen on paikallinen jollekin prosessille tai säikeelle [1] .

PGAS:n innovaationa on, että jaetun osoiteavaruuden osia voidaan sitoa tiettyyn prosessiin tai säikeeseen, mikä hyödyntää kompaktien (paikallisten) viitteiden periaatetta. PGAS on suunniteltu yhdistämään SPMD- ohjelmointityylin edut hajautetuille muistijärjestelmille (kuten MPI - rajapinnassa käytetylle ) jaettujen muistijärjestelmien muistin käyttösemantiikkaan. PGAS-lähestymistapa on realistisempi kuin perinteinen litteä jaettu muistimalli, koska PGAS voi käyttää tietoa eri muistiosien käytön kustannuksista (PGAS:n paikalliset osat vastaavat sen solmun paikallista muistia, jossa prosessi on käynnissä, hinta pääsy siihen on minimaalinen).

PGAS-malli on pohjana rinnakkaisille ohjelmointikielille Unified Parallel C , Co-array Fortran , Titanium , Fortress , Chapel ja X10 , Global Arrays . PGAS:n toteutuksessa käytetyt kaksi kirjastoa ovat GASNet ja SHMEM .

PGAS-mallin muunnelma, nimeltään asynchronous partitioned global address space ( APGAS ), lisää mahdollisuuden luoda asynkronisia tehtäviä sekä paikallisesti että etänä. [2] Kaksi APGAS:n toteuttavaa kieltä: Chapel ja X10.

Muita lähteitä

Muistiinpanot

  1. Christian Coarfa; Juri Dotsenko; John Mellor-Crummey, "An Evaluation of Global Address Space Languages: Co-Array Fortran and Unified Parallel C" Arkistoitu 24. marraskuuta 2013 Wayback Machinessa
  2. Tim Stitt, "Johdatus ositetun maailmanlaajuisen osoiteavaruuden (PGAS) ohjelmointimalliin" Arkistoitu 15. marraskuuta 2013 Wayback Machinessa