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.
distribuerad och parallell beräkning | Programvara för|
---|---|
Standarder, bibliotek | |
Övervakningsprogram | |
Styrmjukvara |