Параллелизм и иерархии памяти: целостность данных в кэш-памяти

AntiSlaed CMS
Вход
Логин: Пароль:Забыли пароль?
Запомнить вас на этом компьютере?
Войти скрытым?

Здравствуйте, Гость ( Вход | Регистрация )




Раскрыть

Параллелизм и иерархии памяти: целостность данных в кэш-памяти

24.03.2019


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


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


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


Потребность в обеспечении последовательности записи менее очевидна, но не менее важна. Предположим, что последовательность записи не выстроена и процессор Р1 записывает данные в место X, а за ним в это же место ведет запись процессор Р2. Выстраивание последовательности операций записи гарантирует, что каждый процессор в определенный момент времени увидит запись, сделанную процессором Р2. Если мы не выстроим последовательность операций записи, может получиться так, что некоторые процессоры смогут увидеть запись, произведенную процессором Р2, первой, а затем увидят запись, произведенную процессором Р1, бесконечно придерживаясь значения, записанного процессором PI. Проще всего избавиться от подобных осложнений за счет гарантии того, что все операции записи в одно и то же место будут видны в одном и том же порядке; это свойство называется обеспечением последовательности записи.









Свернуть

> Статистика форума

9 посетителей за последние 10 минут
Активные пользователи 6 гостей, 0 пользователей 0 скрытых пользователей, 3 роботов
Бот - Archive.org, Бот - Google.com, Бот - Yandex
Полный список по: последним действиям, именам пользователей
Сегодня посетили форум:
Активные пользователи - 0:
Поздравляем с Днем Рождения наших пользователей:
календарь 1 пользователей празднуют сегодня свой день рождения
Yamakasi(29)
Статистика форума
Статистика форума
Топиков
6149
Сообщений
60,673
Пользователей
11,926
Приветствуем новичка, noxinos
Рекорд посещаемости форума: 3,948, зафиксирован: Aug 23 2015, 19:48

RSS Текстовая версия Сейчас: 20 November 2015 - 14:02
Хостинг предоставлен NetLevel.Ru   Eleanor CMS