Чи правда, що послідовна послідовність є сильнішою властивістю, ніж кеш-когерентність?
Згідно з
Сорін, Даніель Дж; Хілл, Марк Д; Вуд, Девід А: Буквар про послідовність пам’яті та узгодженість кешу , Morgan & Claypool, 2011
послідовну послідовність можна описати як (не формально):
Модель пам'яті послідовності узгодженості вказує, що система повинна з'являтися, щоб виконувати всі навантаження потоків і зберігати їх у всіх місцях пам'яті в загальному порядку, що дотримується програмного порядку кожного потоку. Кожне завантаження отримує значення останнього магазину в такому загальному порядку.
Іншими словами, система послідовно послідовна, якщо дано події пам'яті (завантаження та запаси) кожного потоку, ми можемо замовити всі ці події таким чином, що: 1) для кожної нитки зберігається порядок її подій, і 2) глобальний порядок serial (будь-яке завантаження повертає останнє збережене значення).
Тепер вони продовжують і описують узгодженість:
Визначення узгодженості , аналогічне визначенню послідовної послідовності, полягає в тому, що повинна з'являтися когерентна система для виконання всіх завантажень потоків і зберігання в одне місце пам'яті в загальному порядку, що дотримується програмного порядку кожного потоку.
Іншими словами, система є когерентною, якщо задані події пам’яті кожного потоку для кожної локації, ми можемо замовити події для цього місця, таким чином: 1) для кожного потоку зберігається порядок його подій у цьому місці та 2) для кожного місце замовлення є серійним.
Нарешті, вони вказують на різницю:
Це визначення підкреслює важливе розмежування між узгодженістю та послідовністю : узгодженість задається на основі місця розташування в пам'яті, тоді як узгодженість задається щодо всіх місць пам'яті.
Отже, здається, різниця полягає в тому, що для когерентних систем нам потрібен загальний порядок усіх подій для кожного місця (таким чином, впорядкування між подіями для конкретного місця розташування), тоді як для послідовних систем загальний порядок повинен визначатися для всіх подій (і, отже, замовлення також між подіями для різних локацій)?
Чи означає це, що узгодженість є менш суворою, ніж послідовність? (що здається кумедним!) Чи є сліди, когерентні, але не послідовні?