Многопроцессорные системы. Архитектура, топология, анализ производительности. Бикташев Р.А - 51 стр.

UptoLike

51
содержит новое значение, а в основной памяти осталось старое значение
88. При попытке вывода X из памяти будет получено старое значение.
в) Внешняя память вводит в ячейку памяти Y новое значение 260,
а в кэш-памяти осталось старое значение Y.
В мультипроцессорных системах, использующих процессоры с кэш-
памятью, подсоединенные к централизованной общей памяти, протоколы
наблюдения
приобрели популярность, поскольку для опроса состояния
кэшей они могут использовать заранее существующее физическое
соединение - шину памяти.
Неформально, проблема когерентности памяти состоит в
необходимости гарантировать, что любое считывание элемента данных
возвращает последнее по времени записанное в него значение. Это
определение не совсем корректно, поскольку невозможно требовать, чтобы
операция считывания мгновенно видела значение
, записанное в этот
элемент данных некоторым другим процессором. Если, например,
операция записи на одном процессоре предшествует операции чтения той
же ячейки на другом процессоре в пределах очень короткого интервала
времени, то невозможно гарантировать, что чтение вернет записанное
значение данных, поскольку в этот момент времени записываемые данные
могут даже не покинуть
процессор. Вопрос о том, когда точно
записываемое значение должно быть доступно процессору,
выполняющему чтение, определяется выбранной моделью согласованного
(непротиворечивого) состояния памяти и связан с реализацией
синхронизации параллельных вычислений. Поэтому с целью упрощения
предположим, что мы требуем только, чтобы записанное операцией записи
значение было доступно операции чтения, возникшей немного позже
записи
и что операции записи данного процессора всегда видны в порядке
их выполнения.
С этим простым определением согласованного состояния памяти мы
можем гарантировать когерентность путем обеспечения двух свойств:
1. Операция чтения ячейки памяти одним процессором, которая
следует за операцией записи в ту же ячейку памяти другим процессором
получит записанное значение, если операции
чтения и записи достаточно
отделены друг от друга по времени.
2. Операции записи в одну и ту же ячейку памяти выполняются
строго последовательно (иногда говорят, что они сериализованы): это
означает, что две подряд идущие операции записи в одну и ту же ячейку
памяти будут наблюдаться другими процессорами именно в том
порядке, в
содержит новое значение, а в основной памяти осталось старое значение
88. При попытке вывода X из памяти будет получено старое значение.
      в)   Внешняя память вводит в ячейку памяти Y новое значение 260,
а в кэш-памяти осталось старое значение Y.
     В мультипроцессорных системах, использующих процессоры с кэш-
памятью, подсоединенные к централизованной общей памяти, протоколы
наблюдения приобрели популярность, поскольку для опроса состояния
кэшей они могут использовать заранее существующее физическое
соединение - шину памяти.
     Неформально, проблема когерентности памяти состоит в
необходимости гарантировать, что любое считывание элемента данных
возвращает последнее по времени записанное в него значение. Это
определение не совсем корректно, поскольку невозможно требовать, чтобы
операция считывания мгновенно видела значение, записанное в этот
элемент данных некоторым другим процессором. Если, например,
операция записи на одном процессоре предшествует операции чтения той
же ячейки на другом процессоре в пределах очень короткого интервала
времени, то невозможно гарантировать, что чтение вернет записанное
значение данных, поскольку в этот момент времени записываемые данные
могут даже не покинуть процессор. Вопрос о том, когда точно
записываемое     значение   должно     быть    доступно    процессору,
выполняющему чтение, определяется выбранной моделью согласованного
(непротиворечивого) состояния памяти и связан с реализацией
синхронизации параллельных вычислений. Поэтому с целью упрощения
предположим, что мы требуем только, чтобы записанное операцией записи
значение было доступно операции чтения, возникшей немного позже
записи и что операции записи данного процессора всегда видны в порядке
их выполнения.
    С этим простым определением согласованного состояния памяти мы
можем гарантировать когерентность путем обеспечения двух свойств:
     1.    Операция чтения ячейки памяти одним процессором, которая
следует за операцией записи в ту же ячейку памяти другим процессором
получит записанное значение, если операции чтения и записи достаточно
отделены друг от друга по времени.
     2.    Операции записи в одну и ту же ячейку памяти выполняются
строго последовательно (иногда говорят, что они сериализованы): это
означает, что две подряд идущие операции записи в одну и ту же ячейку
памяти будут наблюдаться другими процессорами именно в том порядке, в




                                  51