Разделённое глобальное адресное пространство

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Разделённое глоба́льное а́дресное простра́нство (англ. partitioned global address space, сокр. PGAS) - одна из перспективных моделей параллельного программирования (параллельных вычислений), в которой вся память параллельного вычислительного комплекса (глобальная память) является адресуемой и разделена на логические разделы, каждый из которых локален для какого-то процесса или потока[1].

Новшеством PGAS стало то, что разделы разделяемого адресного пространства могут иметь привязку к определенному процессу или потоку, таким образом используя принцип компактности (локальности) ссылок. PGAS создана чтобы объединить преимущества стиля программирования SPMD для систем с распределенной памятью (например, используемого в интерфейсе MPI) с семантикой обращения к памяти из систем с общей памятью. Подход PGAS более реалистичен чем традиционная модель плоской общей памяти, поскольку в PGAS можно использовать информацию о стоимости доступа к различным разделам памяти (локальные разделы PGAS соответствуют локальной памяти узла, на котором исполняется процесс, стоимость доступа к ней минимальна).

PGAS-модель является основой для языков параллельного программирования Unified Parallel C, Co-array Fortran, Titanium, Fortress, Chapel и X10, Global Arrays. Две библиотеки, используемые при реализации PGAS: GASNet и SHMEM.

Вариация модели PGAS под названием asynchronous partitioned global address space (APGAS) добавляет возможность создания асинхронных задач, как локальную, так и удаленную.[2] Два языка, реализующие APGAS: Chapel и X10.

Дополнительные источники[править | править вики-текст]


  1. Cristian Coarfӑ; Yuri Dotsenko; John Mellor-Crummey, "An Evaluation of Global Address Space Languages: Co-Array Fortran and Unified Parallel C"
  2. Tim Stitt, "An Introduction to the Partitioned Global Address Space (PGAS) Programming Model"