Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 437стр.doc
Скачиваний:
45
Добавлен:
15.06.2014
Размер:
9.54 Mб
Скачать

Interconnection network


Nodei CPU Memory

256 узлов , каждый узел - один процессора и 16 Мбайт ОБУ Общий объем памяти составляет 22 байтов . Она разделена на

2Ъ строк кэи -памяти го 64 байта каждая . Память статически распределена го узлам :0 -16 М в узле 0,16 М-32 М — в узле 1 и т. д. Узлы связаны через сеть . Каждый узел содержит элементы каталога для 2в 64 -байтных строк кш -памяти ,

Сяайд


составляя свою 234 -байтную память . Допустим , что строка может содержаться максимум в одной кш -памяти .

Printed with FinePrint- purchase atwww.fineprint.com

CacheCoherentNUMA мультипроцессоры

18Bits 8

Node

Block

Offset

(b)

21Э-1

4

0

3

0

2

1

82

1

0

0

0

Допустим Ц1 3D обращается к кэшированной строке 0x24000108. Блок управления памятью разделяет адрес на три части , как показано на В десятичной системе счисления эти три части — узел 36, строка 4 и смещение 8. & памятью видит , что слово в узле 36, и посылает запрос через сеть в узел 36, ще находится нужная строка , узнает , есть пл строка 4 в кш -памяти , и если да, то ще именно .

Когда запрос прибывает в узел 36, сн направляется в аппаратное обеспечение каталога . Аппаратное обеспечение индексирует таблицу и< 2Б элементов (один элемент на каждую строку кш -памяти ) и извлекает элемент 4.

Слайд 29

CacheCoherentNUMA мультипроцессоры

18Bits 8

Node

Block

Offset

(b)

21Э-1

E

4

0

3

0

2

1

82

1

0

0

0

Если строка отсутствует в кш -памяти , то аппаратное обеспечение вызывает строку 4 из локального ОБУ, отправляет еэ в узел 2D и обновляет элемент каталога 4, чтобы показать , что эта строка находится в кш -памяти в узле 20.

Второй запрос , например о строке 2 из узла 36. Из каталога видно , что эта строка - в кш -памяти узла 82. В этот момент аппаратное обеспечение может обновить элемент каталога 2, чтобы сообщить , что строка находится теперь в узле 20, а затем послать сообщение в узел 82, чтобы строка из него была передана в узел 20, и объявить недействительной его кш -память . Многие сообщения скрыты . Cj№ild JJ

Printed with FinePrint- purchase atwww.fineprint.com

CacheCoherentNUMA мультипроцессоры

Объём памяти , занимаемой каталогами . Каждый узел содержит 16 Мбайт СВУ и 2В 9-битных элементов для слежения за этим СВУ : непроизводительные затраты каталога - около 9х2Б битов

от 16 Мбайт или около 1,76%, что допустимо . Даже если длина строки кш -памяти составляет 3> байта , непроизводительные затраты составят всего 4%. Если длина строки каи -памяти равна 128 байтов , непроизводительные затраты будут ниже 1%.

Недостатки :

  • строка может быть кэширована только в одном узле .

  • необходимость следить за теч , обновлена лл исходная память илинет .

Чтобы строки можно было кэшировать в нескольких узлах, потребуется какой -то способ и< нахождения (например , чтобы объявлять недействительными или обновлять и< при записи )

Сяюд 31

Классификация параллельных ВС

Multi-computers

/\

WIPP

COW

Parallel computer architectures

Ncn

Urifcrm

Merncry

Access

Urifcrrn

Merncry

Access

UMA

COMA

NUMA

Bus

Switched

CC-NLJMA

NC-NUMA

Grid

Hyper-cube

Shared memory

Message passing

COMA - Cash Only Memory Access, CC -NUMA -CacheCoherentNUMA, NC-NUMA - NoCachingNUMA,MPP - Massively Parallel Processors, N3/V - Network of Workstation s, CD/V - Cluster of Workstations.

Printed with FinePrint- purchase atwww.fineprint.com

Cache Only Memory Access мультипроцессоры

COMA - локальная память каждого процессора построена как большая каи -память для быстрого доступа <о стороны «своего » Ц1 . Кэши всех процессоров в совокупности рассматриваются как глобальная память системы . Сама глобальная память отсутствует . Принципиальная особенность архитектуры - динамика данных. Отсутствие привязанности статически к определённому модулю памяти и уникального адреса , неизменного в течение всего времени существования переменной .

Данные переносятся в кш -память того Ц1, который и< последним запросил , переменная нэ фиксирована уникальным адресом и в каждый момент времени может располагаться в любой физической ячейке . Перенос данных из кэша в кш - без участия ОС. Последняя копия элемента данных никогда из кш -памяти нэ удаляется .

Плюсы : - преимущество в производительности го сравн . с NUMA.

Недостатки : - сложная и дорогая аппаратура управления памятью , если одна строка кш нужна двум Ц1 - постоянные перемещения данных между ними .

Классификация параллельных ВС

Мультикомпьютеры можно разделить на две категории . Первая категория содержит процессоры MFP (Massively Parallel Processors — процессоры с массовым параллелизмом ) — дорогостоящие суперкомпьютеры , которые состоят из большого количества процессоров , связанных высокоскоростной коммуникационной сетью . В качестве примеров можно назвать Cray T3E и IBMSP/2.

Вторая категория мультикомпьютеров включает рабочие станции , которые связываются с помощью уже имеющейся технологии соединения . Эти примитивные машины называются 1МЭЛ/ (Network of Workstations — сеть рабочих станций )

и <XW (Cluster of Workstations — кластер рабочих станций ).

Слюй 34-

Printed with FinePrint- purchase atwww.fineprint.com

Протоколами когерентности кэширования

Во всех решениях контроллер кш -памяти разрабатывается так, чтобы гаи -память мота перехватывать запросы на шине , контролируя вое запросы шины от других процессоров и других блоков каи -памяти и предпринимая те или иные действия в определенных случаях . Эм устройства называются гаи -памятью с отслеживанием (snooping caches или snoopy caches \ поскольку они отслеживают шину .

Набор правил , которые выполняются гаи -памятью ,

процессорами и основной памятью , чтобы предотвратить появление различных вариантов данных в нескольких блоках гаи -памяти , формируют протокол когерентности кэширования . Единица передачи и хранения гаи -памяти называется строкой гаи -памяти . Обычно строка гаи -памяти равна 32 или 64 байтам .

Самый простой протокол когерентности кэширования называется сквозным кэшированием .

Слюй 35

Когерентность

Action

Local request

Remote request

Read miss

Fetch data from memory

Read hit

Usg data from local cachG

Write miss

Update data in memory

Write hit

Update cache and memory

Invalidate cache entry

Сквозное кэширование . Пустые графы означают , что никакого действия нэ происходит .

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

Слайд 36

Printed with FinePrint- purchase atwww.fineprint.com

Когерентность

Action

Local request

Remote request

Read miss

Fetch data from memory

Read hit

Usg data from local cache

Write miss

Update data in memory

Write hit

Update cache and memory

Invalidate cache entry

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

Слайд 37

Когерентность

Action

Local request

Remote request

Read miss

Fetch data from memory

Read hit

Usg data from local cacrm

Write miss

Update data in memory

Write hit

Update cache and memory

Invalidate cache entry

-памяти с отслеживанием (крайняя правая колонка в табп ). fan -память , которая выполняет действия , гаи -1, a ioij с отслеживанием — гаи -2. Если при считывании произошел промах кэша -1, сн запрашивает шину, чтобы получить нужную строку из основной памяти . №т -2 видит это, ю ничего нэ делает . Бели нужная строка уже содержится в гаи -\ запроса шины нэ происходит, поэтому кни -2 нв знает о результативных считываниях из кэша -1.

Слайд 33

Printed with FinePrint- purchase atwww.fineprint.com

Когерентность

Action

Local request

Remote request

Read miss

Fetch data from memory

Read hit

Usg data from local cache

Write miss

Update data in memory

Write hit

Update cache and memory

Invalidate cache entry

Процесс записи более интересен . Если процессор 1 записывает слово , кш -1 запрашивает шину как в случае промаха кэша , так и в случае попадания . Всегда при записи кш -2 проверяет наличие у себя записываемого слова . Если данное слово отсутствует , кш -2 рассматривает это как промах отдаленной памяти и ничего нэ делает .( в табл . промах отдаленной памяти означает , что слово нэ присутствует в кш -памяти отел ежи вателя ; нэ имеет значения , было /м это слово в кш -памяти инициатора или нет . Таким образом , один и тот же запрос может быть результативным логически и промахом для отел ежи вателя и наоборот .)

Слюй

Когерентность

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

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

Слайд 4)

Printed with FinePrint- purchase atwww.fineprint.com

Структурная и функциональная организация ЭЕМ (ComputerOrganization and Design )

БГУИР кафедра ЗЕМ

доцент Самая ь Дм три й Иванович

т.284 -2L -61, dmitry_samal@mail.ru ,

a.5Q2 -5

Лекция 24 «Вычислительные системы класса SIMD »

2007

План лекции

  1. Протокол MESI.

  2. Вычислительные системы класса SIMD. Понятиевектора .

  3. Понятие векторного процессора .

  4. Структура векторного процессора .

  5. Матричные вычислительные системы .

  6. Массив процессоров . Структура процессорногоэлемента .

  7. Ассоциативные вычислительные системы .

  8. Вычислительные системы с систолическойструктурой .

  9. Вычислительные системы с командными словамисверхбольшой длины VLIW.

Printed with FinePrint- purchase atwww.fineprint.com

Слайд 2

Протоколы наблюдения

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

Процессор

г&и -память

1

F

;

Интерфейс

Контроллер

ИИ-Ы

гаи -памяти

i

>Шина

наблюдения

i

(

Системная шина

Основная

i память

Другие

процессоры ,

каждым с кш -

памятью и контроллером

Слайд 3

Протоколы наблюдения

Протокол сквозной записи - расширение стандартной процедуры сквозной записи . Запись в локальную каи -память любого процессора сопровождается записью в основную память . Все остальные гаи , содержащие копию изменённого блока , объявляют свои копии недействительными .

Плюсы : простота .

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

Printed with FinePrint- purchase atwww.fineprint.com

Слайд 4

Протоколы наблюдения

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

  • Елок удаляется из той паи -памяти , где былизменён ,

  • Другой процессор обращается к своей копииизменённого блока .

Плюсы : перезапись изменённых блоков только го потребности - меньше трафик .

Минусы : требует представления эксклюзивных прав процессору на изменение блока каи , иначе остальные каи не узнают, что блок модифицирован ,

Слайд 5

Протоколы наблюдения

Протокол обратной записи - на ЗЕР/о снижает трафик шины го сравнению с протоколом сквозной записи . Но влечёт более серьёзные проблемы когерентности - так как даже основная память не всегда содержит последнее значение элемента данных .

Другие протоколы : однократной записи , Synapse, Berkeley , Illinois,Firefly в той иш иной степени комбинируют протоколы сквозной и обратной записи + вводят дополнительные ограничения на операции go строками каи -памяти .

Printed with FinePrint- purchase atwww.fineprint.com

Слайд б

Протокол MESI

Самый популярный протокол . ME5I -Modified/Exclusive/Shared Д rival id . Широко распространён в коммерческих системах - Pentium,PowerPC и др. Еып разработан для кш -памяти с обратной записью . Одна из основных задач протокола - откладывание на максимально возможный срок операции обратной записи кэшированных данных в основную память -> минимизация ненужных пересылок «Hajj - 03/ ».

Каждая строка кш -памяти может быть в одном из четырёх состояний (два бита контроля ) Статус строки может быть изменён как «своим » процессором , так и любым другим :

М - Модифицированная - данные в кш -строке , были модифицированы , нэ изменённая информация пока нэ переписана в основную память . Это значит , что вое остальные копии данной информации в системе нэ достоверны .

Е - Эксклюзивная - данная строка в кш нэ подвергаласьизменению , совпадает го содержанию с основной памятью , нэотсутствует в любом другом локальном кш . Cj№ild 7

Протокол MESI

5 - Разделяемая - данная строка в кш совпадает го содержанию с основной памятью и может присутствовать в одном или нескольких других локальных кш .

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

Чтеьие

Оброс

Чтете

Инициировано Локальным процессором

Инициировано удалённым процессором

pvt - частный

shr - разделяемый

Чтете и зггмъ

Чга-ие

Printed with FinePrint- purchase atwww.fineprint.com

Слайд 8

Протокол MESI

Изначально все строки в кш - Invalid.

Основная память

Первое чтение - строка получает статус Exclusive

/Т

Кш -.■■■■ память

Кш -память

^

Процессор 1

Процессор 2

I

I

1

Процессор 1 читает х

Слайд 9

Протокол MESI

Чтение во вторую кш -память . Обе копии получают статус

Shared

Основная память

т

rau -память

X

\ \ гаи -

\ память

\ ,

\

\

\

Процессор 1

Процессор 2

I

I


EJ {S} (?)

Процессор 2 читает х

Слайд 10

Printed with FinePrint- purchase atwww.fineprint.com

Протокол MESI

Изменение одной из копий строки

Основная память

т

Кш -память

Кш -память

X

Процессор 1

Процессор 2

|

I

Дэ записи изменений в основную память -статус Modified . Все остальные копии признаются недействительными .


sj W) © ©

Процессор 1 производит первую запись в х

Слайд 11

Протокол MESI

Повторное изменение копии строки

Основная память

т

Повторное изменение нэ меняет состояний строк

соответствующих кш .

Кш -память

Кш -память

X

Процессор 1

Процессор 2

I

I

&

Процессор 1 производит очередную запись в х

Слайд 12

Printed with FinePrint- purchase atwww.fineprint.com

Протокол MESI

Чтение содержимого ячейки х*

Кш -память

Основная память

_L

Кш -память

|

I

Контроллер каи -памяти 1

отслеживает запрос других процессоров , притормаживает и< и пересылает строку из кш памяти - в основную .

Процессор 1

Процессор 2

0.J

Процессор 2 читает х (первый шаг)

Слайд В

Протокол MESI

Чтение содержимого ячейки х*

Основная память

т /

I

Кш - / память/

память

/

Процессор 1

Процессор 2

I

I

Контроллер каи -памяти 1

отслеживает запрос других процессоров , притормаживает и< и пересылает строку из кш памяти - в основную .

Процессор 2 читает х( второй шаг)

Слайд П

Printed with FinePrint- purchase atwww.fineprint.com

Протокол MESI

Чтение содержимого ячейки х*

Основная память

\

Строка загружается в соответствующую кш -память .

\

Кш -память

\ Кш -память

х*

Процессор 1

Процессор 2

I

I

Процессор 2 читает х(третий шаг)

Слайд 15

The MESI Cache Coherence Protocol

The MESI cache coherence protocol.

is)

CPU 1

CPUS

CPU3

Memory

CPU 1 reads block A

CFU 1

cpsj г

CPU3

Memory

CPU 3 reads block A

Exclusive

Cache

Bus

Shared Stared

(el

CPU 1


CPU3


cpu г

Memory

[Snared

eiwad

I

Bus

CPU t

CPU 2

CPUS

CZI

Memory

1

Modified

1

Cut

CPU £ reads block A

CPU г writes block A

CPU1

EH

CPU 1

Modified

CPU 2

Modified

CPU 2

CPUS

CPUS

Memory

Bus

CPU 2 writes block A

CPU1

Printed with FinePrint- purchase atwww.fineprint.com

Bus

Слайд 16

Message -PassingMulticomputers

A generic multicomputer.

CPU

Memory

Node /

ф

p ;

Local interconnect

Disk and I/O

Local interconnect

Disk and I/O

Communication processor

High-performance interconnection network

Слайд 17

Topology

[a)

(e)

7

2

(9)

m

Var

ous topologies. The heavy dots represent switches. The CPUs