_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Курсовые > Механизм когерентности обобщенного кольцевого гиперкуба

Механизм когерентности обобщенного кольцевого гиперкуба

Страница: 2/2

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

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

С каждой строкой в резидентном для нее модуле связаны три ее воз­можных глобальных состояния:

1) "некэшированная", если копия строки не находится в кэше ка­кого-либо другого модуля, кроме, возможно, резидентного для этой строки;

2) "удаленно-разделенная", если копии строки размещены в кэшах других модулей;

3) "удаленно-измененная", если строка изменена операцией записи

в каком-либо модуле.

Кроме этого, каждая строка кэша находится в одном из трех локаль­ных состояний:

1) "невозможная к использованию";

2) "разделяемая", если.есть неизмененная копия, которая, возмож­но, размешается также в других кэшах;

3) "измененная", если копия изменена операцией записи. Каждый процессор может читать из своего кэша, если состояние чи­таемой строки "разделяемая" или "измененная". Если строка отсутству­ет в кэше или находится в состоянии "невозможная к использованию", то посылается запрос "промах чтения", который направляется в мо­дуль, резидентный для требуемой строки.

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

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

Если процессор выполняет операцию записи и состояние строки, в которую производится запись "измененная", то запись выполняется и вычисления продолжаются. Если состояние строки "невозможная к ис­пользованию" или "разделяемая", то модуль посылает в резидентный для строки модуль запрос на захват в исключительное использование этой строки и приостанавливает выполнение записи до получения под­тверждений, что все остальные модули, разделяющие с ним рассматри­ваемую строку, перевели ее копии в состояние "невозможная к исполь­зованию".

Если глобальное состояние строки в резидентном модуле "некэши­рованная", то строка отсылается запросившему модулю, и этот модуль продолжает приостановленные вычисления.

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

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

 

 

1.3. КС типа обобщенного кольцевого гиперкуба

 

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

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

Каждый узел среды  имеет 6 двунаправленных каналов ввода/вывода, которые используются в качестве непосредственных связей с соседними узлами (Рис.1). Возможно, применение двух встречных однонаправленных каналов вместо одного двунаправленного, что позволяет увеличить пропускную способность при незначительном увеличении аппаратных затрат. Каждый узел также имеет 6 магистральных каналов ввода/вывода – по два в каждом измерении. Коммуникационный процессор производит прием/передачу информации по каналам ввода/вывода, причем может использоваться как коммутация пакетов, так и коммутация каналов.

 

1.3.1. Расчет параметров

 

Рассчитаем оценки параметров кольцевого гиперкуба при n=3, m=3. Где n – количество измерений, а m – размерность.

1.     Диаметр (D)

;

2.     Степень (S)

S=2n = 6;

3.     Количество узлов (N)

4.     Общее число связей

5.     Отказоустойчивость

 

2. Алгоритмы механизма когерентности для обобщенного кольцевого гиперкуба

 

Для КС типа обобщенный кольцевой гиперкуба можно реализовать алгоритм механизма поддержания когерентности  -  DASH, описанный выше в п.1.2.2.2. Так как узел гиперкуба можно подразумевать как ЦП разделенный на:

 

 

 

 

 

 

 

 

2.1 Операция чтения

 

 

 

2.2 Операция записи

 

 

 

 

Заключение

 

В данной работе мы изучили механизмы поддержания когерентности. Алгоритмы их работы. Рассмотрели КС типа обобщенный кольцевой гиперкуб, рассчитали основные оценки параметров данного гиперкуба (Рис. 1). Более подробно мы остановились на алгоритме DASH, который в наибольшей степени подходит к КС типа обобщенный кольцевой гиперкуб. При построении алгоритма мы видим, что для данной КС с непосредственными связями, чем больше структура, тем дольше ожидание ЦП на запросы запрещения строки. Т.к. с увеличением структуры будет увеличиваться диаметр и до последнего узла сообщение будет доходить с большим опозданием, что вызовет простой запросившего процессора.

В тоже время, если бы мы использовали структуру с магистральными связями, данный алгоритм поддержания когерентности будет работать гораздо эффективнее, т.к. диаметр будет постоянен.

Список литературы

 

1.   Артамонов Г.Т. «Топология регулярных вычислительных сетей и сред.№» М.: Радио и связь, 1985.

2.   Власов А.А.     «Коммутационные структуры и коммуникационные среды: Лабораторный практикум.» – Йошкар-Ола: МарГТУ, 2002.

3.   Горяшко А.П. «Специализированные вычислительные структуры.» /Искусственный интеллект, Кн.3. Программные и аппаратные средства. М.: Радио и связь, 1987.

4.   Корнеев В.В. «Параллельные ВС», М., Нолидж, 1999.

5.   www.narod.nov.ru/par.html «Мультипроцессорная когерентность кеш-памяти»



12

Copyright © Radioland. Все права защищены.
Дата публикации: 2004-09-01 (0 Прочтено)