Jump to content

Распределенная память

Иллюстрация системы распределенной памяти из трех компьютеров.

В информатике , распределенная память относится к многопроцессорной компьютерной системе в которой каждый процессор имеет свою собственную память . [ 1 ] Вычислительные задачи могут работать только с локальными данными, а если требуются удаленные данные, вычислительная задача должна взаимодействовать с одним или несколькими удаленными процессорами. Напротив, мультипроцессор с общей памятью предлагает единое пространство памяти, используемое всеми процессорами. Процессорам не обязательно знать, где находятся данные, за исключением того, что могут возникнуть потери производительности и следует избегать состояний гонки.

В системе с распределенной памятью обычно имеется процессор, память и некоторая форма взаимосвязи, которая позволяет программам на каждом процессоре взаимодействовать друг с другом. Межсоединение может быть организовано с помощью каналов «точка-точка» или отдельное оборудование может обеспечивать коммутационную сеть. является Топология сети ключевым фактором, определяющим масштабирование многопроцессорной машины . Связи между узлами могут быть реализованы с использованием какого-либо стандартного сетевого протокола (например, Ethernet ), с использованием специальных сетевых каналов (используемых, например, в транспьютере ) или с использованием двухпортовой памяти .

Программирование машин с распределенной памятью

[ редактировать ]

Ключевой вопрос в программировании систем с распределенной памятью заключается в том, как распределить данные по памяти. В зависимости от решаемой задачи данные могут распределяться статически, а могут перемещаться по узлам. Данные можно перемещать по требованию или заранее переносить на новые узлы.

Например, если проблему можно описать как конвейер, в котором данные x впоследствии обрабатываются с помощью функций f , g , h и т. д. (результат — h ( g ( f ( x ))), то это можно выразить как задача распределенной памяти, где данные передаются сначала на узел, выполняющий f , который передает результат на второй узел, который вычисляет g , и, наконец, на третий узел, который вычисляет h . Это также известно как систолическое вычисление .

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

Распределенная общая память

[ редактировать ]

Аналогично, в распределенной общей памяти каждый узел кластера имеет доступ к большой общей памяти в дополнение к ограниченной неразделяемой частной памяти каждого узла.

Общая память против распределенной памяти против распределенной общей памяти

[ редактировать ]
  • Преимущество (распределенной) общей памяти заключается в том, что она предлагает единое адресное пространство, в котором можно найти все данные.
  • Преимущество распределенной памяти в том, что она исключает условия гонки и заставляет программиста думать о распределении данных.
  • Преимущество распределенной (разделяемой) памяти заключается в том, что легче спроектировать машину, масштабируемую с помощью алгоритма.

Распределенная общая память скрывает механизм связи, но не скрывает задержку связи.

См. также

[ редактировать ]
  1. ^ Пардо, Дэвид; Матушик, Павел Ю.; Пузырев Владимир; Торрес-Вердин, Карлос; Нам, Мён Джин; Кало, Виктор М. (2021). «Параллельная реализация». Моделирование измерений удельного сопротивления и акустического каротажа скважин методами конечных элементов . Эльзевир. дои : 10.1016/C2019-0-02722-7 . ISBN  978-0-12-821454-1 – через ScienceDirect. Распределенная память относится к вычислительной системе, в которой каждый процессор имеет свою память. Вычислительные задачи эффективно работают с локальными данными, но когда требуются удаленные данные, задача должна взаимодействовать (с использованием явных сообщений) с удаленными процессорами для передачи данных. Этот тип параллельных вычислений является стандартным для суперкомпьютеров, оснащенных многими тысячами вычислительных узлов.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 73f4df5591f06babaa5bc225abd44a40__1707226680
URL1:https://arc.ask3.ru/arc/aa/73/40/73f4df5591f06babaa5bc225abd44a40.html
Заголовок, (Title) документа по адресу, URL1:
Distributed memory - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)