ScholarGate
Ассистент

Передача сообщений и разделяемая память

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

Найти тему в PaperMindСкороFind papers & topics
Tools & resources
Скачать слайды
Learn & explore
ВидеоСкоро

Definition

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

Scope

Эта тема охватывает модели передачи сообщений «точка-точка» и широковещательной рассылки с их семантикой доставки и упорядочивания, модели разделяемой памяти, построенные на регистрах чтения/записи и более сильных объектах синхронизации, а также классические результаты, показывающие, как разделяемая память может быть эмулирована поверх передачи сообщений (и наоборот) при различных предположениях о сбоях. Она также охватывает иерархию регистров и иерархию консенсуса, которые ранжируют мощность разделяемых объектов.

Core questions

  • Какие гарантии доставки и упорядочивания предоставляет канал, и как они влияют на проектирование алгоритмов?
  • Может ли абстракция разделяемой памяти быть надежно построена поверх ненадежной сети передачи сообщений?
  • Как объекты синхронизации различаются по своей способности решать проблему консенсуса?

Key theories

Иерархия регистров и консенсуса
Разделяемые объекты ранжируются по их числу консенсуса — максимальному количеству процессов, для которых они могут решить консенсус без ожидания, — помещая простые регистры чтения/записи в нижнюю часть и универсальные объекты, такие как compare-and-swap, в верхнюю.
Конструкции регистров
Иерархия безопасных, регулярных и атомарных регистров Лэмпорта, а также конструкции, которые строят более сильные регистры из более слабых, точно формализуют, что означает корректное поведение параллельных операций чтения и записи.
Имитация разделяемой памяти поверх передачи сообщений
Атомарные регистры с одним записывающим устройством и с несколькими записывающими устройствами могут быть эмулированы поверх асинхронной сети передачи сообщений, допускающей меньшинство сбоев по типу «отказ-остановка», с использованием кворумных методов, объединяя две модели связи.

Clinical relevance

Различие между передачей сообщений и разделяемой памятью напрямую проецируется на реальные платформы: кластеры и облако являются системами передачи сообщений, многоядерные серверы предоставляют разделяемую память, а распределенные хранилища типа «ключ-значение» фактически представляют абстракцию разделяемого регистра поверх сети передачи сообщений.

History

Работы Лэмпорта 1986 года формализовали параллельные регистры; иерархия Херлихи без ожидания 1991 года ранжировала примитивы синхронизации по числу консенсуса; а текст Аттии и Уэлча объединил симуляции, связывающие передачу сообщений и разделяемую память, установив дуальность, лежащую в основе этой области.

Key figures

  • Leslie Lamport
  • Maurice Herlihy
  • Nir Shavit
  • Hagit Attiya
  • Jennifer Welch

Related topics

Seminal works

  • herlihy2008
  • attiya2004
  • lamport1986

Frequently asked questions

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

Methods for this concept

Related concepts