Delat globalt adressutrymme

Partitionerat globalt adressutrymme ( eng.  partitioned global address space , förkortning PGAS ) är en av de lovande modellerna av parallell programmering ( parallell beräkning ), där allt minne i ett parallellt beräkningskomplex (globalt minne) är adresserbart och delas in i logiska sektioner, var och en lokal för någon process eller tråd [1] .

En innovation i PGAS är att delar av ett delat adressutrymme kan bindas till en specifik process eller tråd, och på så sätt utnyttja principen om kompakta (lokala) referenser. PGAS är designat för att kombinera fördelarna med SPMD- programmeringsstilen för distribuerade minnessystem (som det som används i MPI -gränssnittet ) med minnesåtkomstsemantiken för delade minnessystem. PGAS-metoden är mer realistisk än den traditionella platta delade minnesmodellen, eftersom PGAS kan använda information om kostnaden för att komma åt olika sektioner av minne (lokala sektioner av PGAS motsvarar det lokala minnet för den nod som processen körs på, kostnaden tillgång till den är minimal).

PGAS-modellen är grunden för de parallella programmeringsspråken Unified Parallel C , Co-array Fortran , Titanium , Fortress , Chapel och X10 , Global Arrays . De två bibliotek som används i implementeringen av PGAS är GASNet och SHMEM .

En variant av PGAS-modellen som kallas asynchronous partitioned global address space ( APGAS ) lägger till möjligheten att skapa asynkrona uppgifter, både lokalt och på distans. [2] Två språk som implementerar APGAS: Chapel och X10.

Ytterligare källor

Anteckningar

  1. Christian Coarfa; Jurij Dotsenko; John Mellor-Crummey, "An Evaluation of Global Address Space Languages: Co-Array Fortran and Unified Parallel C" Arkiverad 24 november 2013 på Wayback Machine
  2. Tim Stitt, "An Introduction to the Partitioned Global Address Space (PGAS) Programming Model" Arkiverad 15 november 2013 på Wayback Machine