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

UptoLike

55
возможно. Наиболее важное отличие в производительности протоколов
записи с аннулированием и с обновлением связано с характеристиками
прикладных программ и с выбором размера блока.
Основы реализации. Ключевым моментом реализации в
многопроцессорных системах с небольшим числом процессоров как схемы
записи с аннулированием, так и схемы записи с обновлением данных,
является использование для выполнения
этих операций механизма шины.
Для выполнения операции обновления или аннулирования процессор
просто захватывает шину и транслирует по ней адрес, по которому должно
производиться обновление или аннулирование данных. Все процессоры
непрерывно наблюдают за шиной, контролируя появляющиеся на ней
адреса. Процессоры проверяют не находится ли в их кэш-памяти адрес,
появившийся на
шине. Если это так, то соответствующие данные в кэше
либо аннулируются, либо обновляются в зависимости от используемого
протокола. Последовательный порядок обращений, присущий шине,
обеспечивает также строго последовательное выполнение операций
записи, поскольку когда два процессора конкурируют за выполнение
записи в одну и ту же ячейку, один из них должен получить доступ к
шине
раньше другого. Один процессор, получив доступ к шине, вызовет
необходимость обновления или аннулирования копий в других
процессорах. В любом случае, все записи будут выполняться строго
последовательно. Один из выводов, который следует сделать из анализа
этой схемы заключается в том, что запись в разделяемый элемент данных
не может закончиться до
тех пор, пока она не захватит доступ к шине.
В дополнение к аннулированию или обновлению соответствующих
копий блока кэш-памяти, в который производилась запись, мы должны
также разместить элемент данных, если при записи происходит промах
кэш-памяти. В кэш-памяти со сквозной записью последнее значение
элемента данных найти легко, поскольку все
записываемые данные всегда
посылаются также и в память, из которой последнее записанное значение
элемента данных может быть выбрано (наличие буферов записи может
привести к некоторому усложнению).
Однако для кэш-памяти с обратным копированием задача
нахождения последнего значения элемента данных сложнее, поскольку это
значение скорее всего находится в кэше, а не
в памяти. В этом случае
используется та же самая схема наблюдения, что и при записи: каждый
процессор наблюдает и контролирует адреса, помещаемые на шину. Если
процессор обнаруживает, что он имеет модифицированную ("грязную")
копию блока кэш-памяти, то именно он должен обеспечить пересылку
возможно. Наиболее важное отличие в производительности протоколов
записи с аннулированием и с обновлением связано с характеристиками
прикладных программ и с выбором размера блока.
      Основы реализации.          Ключевым моментом реализации в
многопроцессорных системах с небольшим числом процессоров как схемы
записи с аннулированием, так и схемы записи с обновлением данных,
является использование для выполнения этих операций механизма шины.
Для выполнения операции обновления или аннулирования процессор
просто захватывает шину и транслирует по ней адрес, по которому должно
производиться обновление или аннулирование данных. Все процессоры
непрерывно наблюдают за шиной, контролируя появляющиеся на ней
адреса. Процессоры проверяют не находится ли в их кэш-памяти адрес,
появившийся на шине. Если это так, то соответствующие данные в кэше
либо аннулируются, либо обновляются в зависимости от используемого
протокола. Последовательный порядок обращений, присущий шине,
обеспечивает также строго последовательное выполнение операций
записи, поскольку когда два процессора конкурируют за выполнение
записи в одну и ту же ячейку, один из них должен получить доступ к шине
раньше другого. Один процессор, получив доступ к шине, вызовет
необходимость обновления или аннулирования копий в других
процессорах. В любом случае, все записи будут выполняться строго
последовательно. Один из выводов, который следует сделать из анализа
этой схемы заключается в том, что запись в разделяемый элемент данных
не может закончиться до тех пор, пока она не захватит доступ к шине.
     В дополнение к аннулированию или обновлению соответствующих
копий блока кэш-памяти, в который производилась запись, мы должны
также разместить элемент данных, если при записи происходит промах
кэш-памяти. В кэш-памяти со сквозной записью последнее значение
элемента данных найти легко, поскольку все записываемые данные всегда
посылаются также и в память, из которой последнее записанное значение
элемента данных может быть выбрано (наличие буферов записи может
привести к некоторому усложнению).
     Однако для кэш-памяти с обратным копированием задача
нахождения последнего значения элемента данных сложнее, поскольку это
значение скорее всего находится в кэше, а не в памяти. В этом случае
используется та же самая схема наблюдения, что и при записи: каждый
процессор наблюдает и контролирует адреса, помещаемые на шину. Если
процессор обнаруживает, что он имеет модифицированную ("грязную")
копию блока кэш-памяти, то именно он должен обеспечить пересылку




                                  55