- Механизм когерентности должен следить, чтобы операции с одним и тем же элементом данных выполнялись на разных процессорах последовательно, удаляя устаревшие копии.
- В современных SMP-архитектурах когерентность реализуется аппаратно.
- Когерентность с использованием справочника (directory). Информация о состоянии блока физической памяти содержится только в одном месте, называемом справочником (физически справочник может быть распределен по узлам системы).
- Перехват (snarfing). Когда из какого-либо одного кэша данные переписываются в оперативную память, контроллеры остальных получают сигнал об этом изменении ("перехватывают" информацию об изменении данных) и, если необходимо, изменяют соответствующие данные в своих кэшах.
- Когерентность с использованием отслеживания (snooping). Каждый кэш, который содержит копию данных некоторого блока физической памяти, имеет также соответствующую копию служебной информации о его состоянии. Централизованная система записей отсутствует. Обычно кэши расположены на общей (разделяемой) шине и контроллеры всех кэшей наблюдают за шиной (просматривают её) для определения того, не содержат ли они копию соответствующего блока.
Кэш-когерентность (3): согласование памяти - Строгая согласованность вычислений означает: операция чтения должна возвращать значение переменной, соответствующее последней по времени операции записи.
- В однопроцессорных системах или в системах с одним модулем обеспечение строго согласованности вполне естественно.
- В распределенных системах ситуация осложняется отсутствием «единого времени», которое позволило бы полностью упорядочить действия процессоров, но неминуемо привело бы к снижению производительности.
- Поэтому необходимы модели с более слабыми требованиями к согласованности.
- Последовательная согласованность.
- Модель предложена Лэмпортом в 1979.
- Все процессы наблюдают одну и ту же последовательность обращений к памяти.
- Практически это означает, что один процессор, выполняющий запись, ожидает от других процессоров подтверждения модификации или объявления модифицируемых данных несостоятельными.
- Это обеспечивает единый порядок записей, видимый всеми процессорами.
- Последовательная согласованность не гарантирует, что операция чтения возвратит значение, записанное чуть раньше другим процессом.
Do'stlaringiz bilan baham: |