Предпринимаются попытки повысить эффективность реализации алгоритма когерентности, в частности, за счет учета специфики параллельных программ, в которых используются асинхронно одни и те же данные на каждом временном интервале исключительно одним процессором с последующим переходом обработки к другому процессору. Такого рода ситуации случаются, например, при определении условий окончания итераций. В этом случае возможна более эффективная схема передачи строки из кэша одного процессора в кэш другого процессора.
Описываемая в данной работе среда обеспечивает построение легко наращиваемой вычислительной системы, которая может содержать большое число процессоров. Поэтому при проектировании она изначально предназначалась для создания систем распределенных вычислений. Однако универсальность коммуникационных процессоров узлов позволяет использовать ее также при создании сетей рабочих станций. Простота наращивания количественных параметров среды обусловлена, прежде всего, регулярностью коммутационной структуры.
Для простоты понимания будем рассматривать частный случай – трехмерную среду с кольцевыми связями. Каждый узел представляет собой совокупность двух процессоров – обрабатывающего и коммуникационного. Обрабатывающий процессор – это общее понятие, под которым понимается любое устройство обработки информации, но которое не может осуществить самостоятельную передачу данных в среде. А коммуникационный процессор является инструментом для обрабатывающего процессора, предоставляющим ему возможность осуществить обмен информацией с другими узлами среды.
Каждый узел среды имеет 6 двунаправленных каналов ввода/вывода, которые используются в качестве непосредственных связей с соседними узлами (Рис.1). Возможно, применение двух встречных однонаправленных каналов вместо одного двунаправленного, что позволяет увеличить пропускную способность при незначительном увеличении аппаратных затрат. Каждый узел также имеет 6 магистральных каналов ввода/вывода – по два в каждом измерении. Коммуникационный процессор производит прием/передачу информации по каналам ввода/вывода, причем может использоваться как коммутация пакетов, так и коммутация каналов.
Рассчитаем оценки параметров кольцевого гиперкуба при n=3, m=3. Где n – количество измерений, а m – размерность.
1. Диаметр (D)
;2. Степень (S)
S=2n = 6;
3. Количество узлов (N)
4. Общее число связей
5. Отказоустойчивость
2. Алгоритмы механизма когерентности для обобщенного кольцевого гиперкуба
Для КС типа обобщенный кольцевой гиперкуба можно реализовать алгоритм механизма поддержания когерентности - DASH, описанный выше в п.1.2.2.2. Так как узел гиперкуба можно подразумевать как ЦП разделенный на:
В данной работе мы изучили механизмы поддержания когерентности. Алгоритмы их работы. Рассмотрели КС типа обобщенный кольцевой гиперкуб, рассчитали основные оценки параметров данного гиперкуба (Рис. 1). Более подробно мы остановились на алгоритме DASH, который в наибольшей степени подходит к КС типа обобщенный кольцевой гиперкуб. При построении алгоритма мы видим, что для данной КС с непосредственными связями, чем больше структура, тем дольше ожидание ЦП на запросы запрещения строки. Т.к. с увеличением структуры будет увеличиваться диаметр и до последнего узла сообщение будет доходить с большим опозданием, что вызовет простой запросившего процессора.
В тоже время, если бы мы использовали структуру с магистральными связями, данный алгоритм поддержания когерентности будет работать гораздо эффективнее, т.к. диаметр будет постоянен.
1. Артамонов Г.Т. «Топология регулярных вычислительных сетей и сред.№» М.: Радио и связь, 1985.
2. Власов А.А. «Коммутационные структуры и коммуникационные среды: Лабораторный практикум.» – Йошкар-Ола: МарГТУ, 2002.
3. Горяшко А.П. «Специализированные вычислительные структуры.» /Искусственный интеллект, Кн.3. Программные и аппаратные средства. М.: Радио и связь, 1987.
4. Корнеев В.В. «Параллельные ВС», М., Нолидж, 1999.
5. www.narod.nov.ru/par.html «Мультипроцессорная когерентность кеш-памяти»