Полная версия

Главная arrow Информатика arrow Архитектура ЭВМ и систем

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Строгая согласованность

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

Согласованность по последовательности

Особенность этой модели состоит в том, что при наличии нескольких запросов на чтение/запись данных порядок их обслуживания определяется аппаратными средствами и может быть различным, однако все ПЭ наблюдают одну и ту же последовательность запросов. Для пояснения согласованности по последовательности рассмотрим пример. Допустим, что одновременно к ячейке (странице) памяти X обращаются четыре ПЭ, при этом (рис. 18.1,а):

  • • два элемента, ПЭ1 и ПЭ2, пытаются записать соответственно значение 100 и 200;
  • • два других элемента, ПЭЗ и ПЭ4, предпринимают попытку дважды считать содержимое этой ячейки.

Возможны различные варианты последовательности появления данных в элементах ПЭЗ и ПЭ4. Рассмотрим три из них (рис. 18.1,б):

  • • оба элемента, ПЭЗ и ПЭ4, считывают значения 200, 200;
  • • ПЭ3 считывает 100, 200, а ПЭ4 – значения 200, 200;
  • • ПЭ3 и ПЭ4 получают 100, 100 и 200, 100 соответственно.

Если ПЭ4 получил 200, 100, то согласованная по последовательности память никогда не позволит элементу ПЭЗ считать значения 100, 200 по двум причинам:

  • • с точки зрения ПЭЗ это бы означало, что запись значения 100 элементом ПЭ1 завершилась раньше более поздней записи значения 200, которую осуществляет ПЭ2;
  • • с точки зрения ПЭ4 это также значит, что запись элементом ПЭ2 числа 200 завершилась до записи элементом ПЭ1 числа 100.

Два процесса записывают, а другие два процесса считывают одно и то же слово из общей памяти

Рис. 18.1. Два процесса записывают, а другие два процесса считывают одно и то же слово из общей памяти

Согласованность по последовательности гарантирует единый глобальный порядок записей (хотя порядок может определяться случайно), который виден всем процессорам. Если ПЭЗ видит, что первым было записано значение 100, а вторым 200, то ПЭ4 должен наблюдать тот же порядок записи.

Рассмотрим модели согласованности, которые не гарантируют такого порядка.

 
<<   СОДЕРЖАНИЕ   >>