Sdílený globální adresní prostor

Dělený globální adresový prostor ( anglicky partitioned global address space , zkr. PGAS  ) je jedním ze slibných modelů paralelního programování ( paralelní počítání ), ve kterém je veškerá paměť paralelního výpočetního komplexu (globální paměť) adresovatelná a je rozdělena na logické sekce, z nichž každá je lokální pro nějaký proces nebo vlákno [1] .

Inovace v PGAS spočívá v tom, že sekce sdíleného adresního prostoru mohou být vázány na konkrétní proces nebo vlákno, čímž se využívá princip kompaktních (lokálních) referencí. PGAS je navržen tak, aby kombinoval výhody stylu programování SPMD pro systémy s distribuovanou pamětí (jako je systém používaný v rozhraní MPI ) se sémantikou přístupu do paměti systémů se sdílenou pamětí. Přístup PGAS je realističtější než tradiční model ploché sdílené paměti, protože PGAS může využívat informace o nákladech na přístup k různým částem paměti (lokální části PGAS odpovídají místní paměti uzlu, na kterém proces běží, náklady přístup k němu je minimální).

Model PGAS je základem pro paralelní programovací jazyky Unified Parallel C , Co-array Fortran , Titanium , Fortress , Chapel a X10 , Global Arrays . Dvě knihovny použité při implementaci PGAS jsou GASNet a SHMEM .

Varianta modelu PGAS nazvaná asynchronní rozdělený globální adresní prostor ( APGAS ) přidává možnost vytvářet asynchronní úlohy, a to jak lokálně, tak vzdáleně. [2] Dva jazyky, které implementují APGAS: Chapel a X10.

Další zdroje

Poznámky

  1. Christian Coarfa; Jurij Dotsenko; John Mellor-Crummey, „Hodnocení jazyků globálního adresního prostoru: Co-Array Fortran a Unified Parallel C“ Archivováno 24. listopadu 2013 na Wayback Machine
  2. Tim Stitt, „An Introduction to the Partitioned Global Address Space (PGAS) Programming Model“ Archivováno 15. listopadu 2013 na Wayback Machine