Распределенная совместно используемая память

Хотя технология RPC имеет свои привлекательные стороны, многие программисты по-прежнему предпочитают модель с совместно используемой памятью и хотят использовать ее даже на мультикомпьютерах. Как ни удивительно, но есть возможность поддерживать иллюзию совместно используемой памяти, даже если она на самом деле отсутствует, используя технологию, которая называется распределенной совместно используемой памятью (Distributed Shared Memory (DSM)) (Li, 1986; Li and Hudak, 1989).
Несмотря на то что тема эта далеко не нова, исследования по ней не прекращаются (Cai and Strazdins, 2012; Choi and Jung, 2013; Ohnishi and Yoshida, 2011). DSM является весьма полезной для изучения технологией, поскольку она демонстрирует множество проблем и сложностей, возникающих в распределенных системах. Более того, сама идея оказалась весьма эффективной. При использовании DSM каждая страница находится в одном из блоков памяти, показанных на рис. 8.1, б. У каждой машины есть собственная виртуальная память и собственные таблицы страниц. Когда центральный процессор выполняет команду LOAD или STORE в отношении страницы, которой не располагает, происходит перехват управления операционной системой. Затем операционная система находит страницу и просит тот центральный процессор, в чьем распоряжении она сейчас находится, прекратить отображение страницы и переслать ее по схеме соединений. По прибытии страница отображается, а команда, вызвавшая ошибку отсутствия страницы, запускается снова. В результате операционная система просто устраняет ошибку отсутствия страницы за счет обращения к удаленной оперативной памяти, а не за счет обращения к локальному диску. А для пользователя все это выглядит так, как будто у машины есть совместно используемая память.

Разница между реальной совместно используемой памятью и DSM показана на рис. 8.21. На рис. 8.21, а показан настоящий мультипроцессор с физической совместно используемой памятью, реализованной на аппаратном уровне.

А на рис. 8.21, б

Рис. 8.21. Различные уровни реализации совместно используемой памяти: а — на аппаратном уровне; б — на уровне операционной системы; в — на уровне программного обеспечения пользователя



показана DSM, реализованная операционной системой. На рис. 8.21, в показана еще одна форма совместно используемой памяти, реализованная на более высоких уровнях программного обеспечения. Мы еще вернемся к третьему варианту в этой главе, но сейчас все внимание будет сконцентрировано на DSM.


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

В этом примере, если центральный процессор 0 обращается к команде или данным на страницах 0, 2, 5 или 9, все обращения осуществляются локально. Обращения к другим страницам вызывают перехват управления. Например, ссылка на адрес со страницы 10 вызовет перехват управления программным обеспечением DSM, которое затем переместит страницу 10 с узла 1 на узел 0 (рис. 8.22, б).

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Распределенная совместно используемая память:

  1. Память прошлого и память будущего
  2. Приложение СЛОВАРЬ ТЕРМИНОВ, ИСПОЛЬЗУЕМЫХ В АКТАХ ИНФОРМАЦИОННОГО ЗАКОНОДАТЕЛЬСТВА
  3. 3.3. Научно-технические методы и средства, используемые для лабораторного исследования объектов
  4. 3.2. Научно-технические средства и методы криминалистической техники, используемые для обнаружения, фиксации и изъятия доказательств
  5. ДИАПАЗОН РАСПРЕДЕЛЕНИЯ
  6. 4.2. Анализ одномерных распределений
  7. Статья 1139. Распределение прибыли
  8. 4.3. Анализ двумерных распределений
  9. Закон нормального распределения
  10. Закон нормального распределения
  11. 4. Распределение прибыли и убытков простого товарищества
  12. § 7. Право на участие в распределении прибыли (п. 2254-2257)
  13. 8.1.2. Распределение ролей между интервьюером и интервьюируемыми
  14. Статья 123. Распределение прибыли и убытков полного общества
  15. 8.1.2. Распределение ролей между интервьюером и интервьюируемыми
  16. § 3. Распределение внешнеполитических полномочий между высшими органами государственной власти и управления
  17. ПАМЯТЬ: КЛАССИФИКАЦИЯ
  18. Понимание и память
  19. Понимание и память