Разница между «сетевым ОЗУ» и «распределенной разделяемой памятью» (DSM)

955
Ali

В чем разница между «сетевым ОЗУ» и «распределенной общей памятью» (DSM)? По сути, я знаю, что они оба предоставляют общее хранилище в оперативной памяти для всех систем в кластере. Так в чем же разница?

1
Ха. Думал, что это может быть легко с Google, но когда я гуглил, первым результатом был именно этот пост, и никакие другие результаты, казалось, быстро не отвечали. BenjiWiebe 9 лет назад 0
Да, интересно, это можно найти с помощью одного поиска, но мне кажется, что я должен прочитать длинные и подробные статьи! Я просто ищу простой ответ! Ali 9 лет назад 0
Есть ли у вас основания полагать, что есть * разница *? В поиске Google очень мало релевантных результатов для «сетевого ОЗУ», что наводит меня на мысль, что, возможно, это редкий термин *, означающий * «распределенная общая память». BenjiWiebe 9 лет назад 0
Я уверен, что есть! Об этом наш лектор попросил нас в курсе «Кластерные вычисления»! «Почему бы нам не использовать сетевое ОЗУ вместо DSM (например, openSHMEM)?», Спросил он! Я хочу знать разницу, прежде чем я смогу ответить на этот выбор дизайна. Ali 9 лет назад 0
[Эта страница] (http://now.cs.berkeley.edu/Nram/network-ram.html) определяет сетевое ОЗУ как пространство подкачки удаленного DRAM. То есть, если один узел использует недостаточно памяти, использование его DRAM в качестве пространства подкачки для узла с чрезмерным использованием его памяти может обеспечить меньшую задержку. (Полу) локальная вспышка будет иметь другой набор компромиссов. Поскольку оперативная память в пространстве подкачки не имеет прямой адресации, а блоки размером с страницу могут быть более дружественными по отношению к Ethernet без поддержки RDMA. (Я мог бы вернуться и расширить это в ответ, но не рассчитывать на это.) Paul A. Clayton 9 лет назад 0

1 ответ на вопрос

0
Paul A. Clayton

Сетевое ОЗУ фактически является удаленным ОЗУ для обмена страницами. Как таковой, домашний узел для адреса страницы памяти отличается от узла, предоставляющего память RAM (когда страница была выгружена). Основная цель сетевого ОЗУ - сбалансировать использование объема памяти, особенно когда некоторые узлы не работают. Узел, предоставляющий ОЗУ, не сможет обращаться к этой памяти на уровне приложения (по крайней мере, не как память, связанная с этим узлом, обеспечивающим хранение).

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

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

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

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