Охвата, тогда каждая строка в основном кэше имеется и во вторичном



Кэше. Таким образом, активность по наблюдению может быть связана с

Кэшем второго уровня, в то время как большинство активностей

Процессора могут быть связаны с первичным кэшем. Если механизм

Наблюдения получает попадание во вторичный кэш, тогда он должен

Выполнять арбитраж за первичный кэш, чтобы обновить состояние и

Возможно найти данные, что обычно будет приводить к приостановке

Процессора. Такое решение было принято во многих современных

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

В реальных системах существует много вариаций схем

Когерентности кэша, в зависимости от того используется ли схема на

Основе аннулирования или обновления, построена ли кэш-память на

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

Когерентность кэш- памяти в MPP-системах.

Существуют два различных способа построения крупномасштабных

Систем с распределенной памятью. Простейший способ заключается в том, чтобы исключить аппаратные механизмы, обеспечивающие когерентность кэш-памяти, и сосредоточить внимание на создании масштабируемой системы памяти. Несколько компаний разработали такого типа машины.

Стр.47

Наиболее известным примером такой системы является компьютер T3D компании Cray Research. В этих машинах память распределяется между узлами (процессорными элементами) и все узлы соединяются между собой посредством того или иного типа сети. Доступ к памяти может быть локальным или удаленным. Специальные контроллеры, размещаемые в узлах сети, могут на основе анализа адреса обращения принять решение о том, находятся ли требуемые данные в локальной памяти данного узла, или размещаются в памяти удаленного узла. В последнем контроллеру удаленной памяти посылается сообщение для обращения к требуемым данным. Чтобы обойти проблемы когерентности, разделяемые (общие) данные не кэшируются. Конечно, с помощью программного обеспечения можно реализовать некоторую схему кэширования разделяемых данных путем их копирования из общего адресного пространства в локальную память конкретного узла. В этом случае когерентностью памяти также будет управлять программное обеспечение. Преимуществом такого подхода является практически минимально необходимая поддержка со стороны аппаратуры, хотя наличие, например, таких возможностей как блочное (групповое) копирование данных было бы весьма полезным.

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

Машины с архитектурой, подобной Cray T3D, называют процессорами (машинами) с массовым параллелизмом (MPP Massively Parallel Processor). К машинам с массовым параллелизмом предъявляются

Взаимно исключающие требования. Чем больше объем устройства, тем

Большее число процессоров можно расположить в нем, тем длиннее

Каналы передачи управления и данных, а значит и меньше тактовая

Частота. Происшедшее возрастание нормы массивности для больших

Машин до 512 и даже 64К процессоров обусловлено не ростом размеров

Машины, а повышением степени интеграции схем, позволившей за

Последние годы резко повысить плотность размещения элементов в

Устройствах. Топология сети обмена между процессорами в такого рода

Системах может быть различной. На рис. 2.10 приведены характеристики сети обмена для некоторых коммерческих MPP.


Дата добавления: 2018-04-15; просмотров: 320; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!