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