~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 66D8DF8427434C7930050DBFD7A4A1BD__1707014760 ✰
Заголовок документа оригинал.:
✰ Distributed shared memory - Wikipedia ✰
Заголовок документа перевод.:
✰ Распределенная общая память — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Distributed_shared_memory ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/66/bd/66d8df8427434c7930050dbfd7a4a1bd.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/66/bd/66d8df8427434c7930050dbfd7a4a1bd__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 07:51:06 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 4 February 2024, at 05:46 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Распределенная общая память — Википедия Jump to content

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

Из Википедии, бесплатной энциклопедии

В информатике , распределенная общая память ( DSM ) — это форма архитектуры памяти в которой к физически разделенным памяти можно обращаться как к единому общему адресному пространству . Термин «совместно используемый» не означает, что существует единая централизованная память, а означает, что адресное пространство является общим, то есть один и тот же физический адрес на двух процессорах относится к одному и тому же месту в памяти. [1] : 201  Распределенное глобальное адресное пространство ( DGAS ) — аналогичный термин для широкого класса программных и аппаратных реализаций, в которых каждый узел кластера в дополнение к частной (т . имеет доступ к общей памяти каждого узла е. не общей) памяти .

Обзор [ править ]

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

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

  • Страничный подход с использованием виртуальной памяти
  • Подход с общими переменными, использующий процедуры для доступа к общим переменным
  • Объектно-ориентированный подход, в идеале доступ к общим данным через объектно-ориентированную дисциплину.

Преимущества [ править ]

  • Хорошо масштабируется с большим количеством узлов.
  • Передача сообщений скрыта
  • Может обрабатывать сложные и большие базы данных без репликации или отправки данных в процессы.
  • Как правило, дешевле, чем использование многопроцессорной системы.
  • Обеспечивает большое пространство виртуальной памяти
  • Программы более портативны благодаря общим программным интерфейсам.
  • Защитите программистов от отправки или получения примитивов

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

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

Сравнение с передачей сообщений [ править ]

Передача сообщений Распределенная общая память
Переменные должны быть упорядочены Переменные доступны напрямую
Стоимость связи очевидна Стоимость связи невидима
Процессы защищены наличием частного адресного пространства. Процессы могут вызвать ошибку из-за изменения данных
Процессы должны выполняться одновременно Выполнение процессов может происходить с непересекающимися сроками жизни.

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

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

Согласованность памяти каталогов [ править ]

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

Штаты [ править ]

Диаграмма состояний блока памяти в DSM.  Блок считается «принадлежащим», если один из узлов имеет блок в состоянии EM.
State diagram of a block of memory in a DSM. A block is "owned" if one of the nodes has the block in state EM.

Базовый DSM будет отслеживать как минимум три состояния узлов для любого данного блока в каталоге. [2] Будет некоторое состояние, определяющее блок как некэшируемый (U), состояние, определяющее блок как единолично принадлежащий или измененный (EM), и состояние, определяющее блок как общий (S). По мере поступления блоков в структуру каталогов они переходят из U в EM (состояние владения) в начальном узле. Состояние может перейти в S, когда другие узлы начнут читать блок.

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

Домашний запрос и ответ [ править ]

В системе, ориентированной на дом, DSM позволит избежать необходимости обрабатывать гонки запрос-ответ между узлами, позволяя выполнять только одну транзакцию за раз, пока домашний узел не решит, что транзакция завершена - обычно, когда домашний узел получил все отвечающие запросы. ответ процессора на запрос. Примером этого является Intel QPI . режим домашнего источника [3] Преимущества этого подхода в том, что его просто реализовать, но его стратегия запроса-ответа медленная и буферизованная из-за ограничений домашнего узла.

Запрос и ответ, ориентированный на запрашивающую сторону [ править ]

В системе, ориентированной на запросчика, DSM позволит узлам по своему желанию общаться друг с другом через дом. Это означает, что несколько узлов могут попытаться начать транзакцию, но это требует дополнительных соображений для обеспечения согласованности. Например: когда один узел обрабатывает блок, если он получает запрос на этот блок от другого узла, он отправляет NAck (отрицательное подтверждение), чтобы сообщить инициатору, что обрабатывающий узел не может выполнить этот запрос сразу. Примером этого является режим отслеживания источника QPI от Intel. [3] Этот подход является быстрым, но естественным образом не предотвращает состояния гонки и генерирует больше автобусного трафика.

Модели согласованности [ править ]

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

Предположим, у нас есть n процессов и Mi операций с памятью для каждого процесса i , и что все операции выполняются последовательно. Можно заключить, что ( M1 + M2 + … + Mn )!/( M1 ! M2 !… Mn !) являются возможными чередованиями операций. Проблема с этим выводом заключается в определении правильности чередующихся операций. Когерентность памяти для DSM определяет, какие чередования разрешены.

Последовательные вызовы и ответы в DSM
Sequential invocations and responses in DSM

Репликация [ править ]

Существует два типа алгоритмов репликации. Репликация чтения и репликация записи. При репликации чтения несколько узлов могут читать одновременно, но только один узел может писать. При репликации записи несколько узлов могут читать и писать одновременно. Запросы на запись обрабатываются секвенсором. Репликация общих данных в целом имеет тенденцию:

  • Уменьшите сетевой трафик
  • Содействие увеличению параллелизма
  • Результат: меньше ошибок на страницах

Однако сохранение последовательности и последовательности может оказаться более сложной задачей.

Согласованность выпуска и ввода [ править ]

  • Согласованность выпуска: когда процесс выходит из критического раздела , новые значения переменных распространяются на все сайты.
  • Согласованность ввода: когда процесс входит в критическую секцию, он автоматически обновляет значения общих переменных.
    • Согласованность на основе представлений: это вариант согласованности ввода, за исключением того, что общие переменные критического раздела автоматически обнаруживаются системой. Реализацией согласованности на основе представлений является VODCA, заархивированная 15 февраля 2016 г. на Wayback Machine , которая имеет производительность, сравнимую с MPI на кластерных компьютерах.

Примеры [ править ]

См. также [ править ]

Ссылки [ править ]

  1. ^ Паттерсон, Дэвид А .; Хеннесси, Джон Л. (2006). Компьютерная архитектура: количественный подход (4-е изд.). Берлингтон, Массачусетс: Морган Кауфманн. ISBN  978-01-2370490-0 .
  2. ^ Солихин, Ян (2015). Основы параллельной многоядерной архитектуры . Бока-Ратон, Флорида: Чепмен и Холл / CRC. стр. 339–340. ISBN  9781482211184 .
  3. ^ Перейти обратно: а б Сорин, Дэниел Дж.; Хилл, Марк Д.; Вуд, Дэвид А. (2011). Учебник по согласованности памяти и согласованности кэша . Морган и Клейпул. п. 174. ИСБН  978-16-0845564-5 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 66D8DF8427434C7930050DBFD7A4A1BD__1707014760
URL1:https://en.wikipedia.org/wiki/Distributed_shared_memory
Заголовок, (Title) документа по адресу, URL1:
Distributed shared memory - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)