Русская Википедия:Разделённое глобальное адресное пространство
Разделённое глоба́льное а́дресное простра́нство (Шаблон:Lang-en; Шаблон:Сокр) — одна из перспективных моделей параллельного программирования (параллельных вычислений), в которой вся память параллельного вычислительного комплекса (глобальная память) является адресуемой и разделена на логические разделы, каждый из которых локален для какого-то процесса или потока[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.
Дополнительные источники
- Программирование в PGAS-модели Шаблон:Wayback (2003)
- Возможности производительности и продуктивности при использовании PGAS-моделей (2006)
- GASNet Communication System — обеспечивает программную инфраструктуру для PGAS-языков при помощи высокопроизводительных сетей
- Страница проекта корпорации Sun на Fortress
- Домашняя страница языка Chapel
- David Padua, Encyclopedia of Parallel Computing, Volume 4 стр. 1540—1543
Примечания
Шаблон:Compu-prog-stub Шаблон:ПО для распределенных вычислений
- ↑ Cristian Coarfӑ; Yuri Dotsenko; John Mellor-Crummey, «An Evaluation of Global Address Space Languages: Co-Array Fortran and Unified Parallel C» Шаблон:Wayback
- ↑ Tim Stitt, «An Introduction to the Partitioned Global Address Space (PGAS) Programming Model» Шаблон:Wayback