Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

khor32

.pdf
Скачиваний:
26
Добавлен:
29.02.2016
Размер:
8.16 Mб
Скачать

6.6. Вычислительная система Ст *

Мехамодульная шина

IэЭMPМ

--o

IэМ^p

 

^

ЭM Г-л

Рис. б.7. Каноническая структура

Рис. б.8. Фрагмент двyмерной структу-

системы Ст*:

ры системы Ст :

ЭМ элементарная машина

ЭМ — элементарная машина

Масштабируемость (наращиваемость)

способность микроВС Ст*

кразвитиювцеляхувеличенияпроизводительности,объемапамятииполо-

сы пропускания каналов связи. В вычислительной системе нет принципиальных ограничений на число ЭМ и число связей между ними.

Общедоступность и распределенность памяти. Память системы Ст*

состоялаизобщейпамятиилокальнойпамятиэлементарныхмашин.Вся память системы была потенциально доступна для всех процессоров. За счет наращивания числа ЭМ имелась принципиальная возможность обеспечить превaлирование по емкости локальной памяти всех ЭМ сравнительно c общей памятью. В этом смысле можно считать память системы Ст * виртуально общей и распределенной.

«Локaльность» программы свойство, положенное в основу архитектypы микроВС Ст*. Эффективное функционирование системы достига - лось, если большая часть программы и данных, c которыми работала каждая ЭМ, хранилась в ее локальной памяти. Для системы Ст* коэффициент обращения к локальной памяти, определяемый отношением «число обращений к локальной памяти/число обращений к общей памяти», был равен 0,8 -0,9. Ясно, что «локальность» программы могла быть обеспечена при применении методики крупноблочного распарaллеливания сложных задач (см. § 3.3).

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

Экономичность ВС, т. e. удовлетворительные значения отношения стоимость/производительность результат применения большого числа недорогих серийных микропроцессоров.

253

6. Мультипроцессорные вычислительные системы

Надежность функционирования микроВС достигалась за счет распределенности ее ресурсов. B системе не было критического ресурса, отказ которого приводил бы к отказу ВС в целом , Аппаратурно-программные средства позволяли «удалять» из структуры неисправные компоненты. Контpоль по четности, дистанционное диагностир ^вание и повторение команд обеспечивали обнаружение и исправление не только устойчивых, но и перемежающихся отказов аппаратуры.

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

(вычислительный модуль c контроллером), a группа ЭМ (как композиция вычислительных модулей и локальных коми утаторов). Связь между ЭМ группы и c контроллером отображения адреса (общим на группу) осуществлялась специальной шиной. Количество ЭМ в группе не превышало 14. При этом никакие ограничения на топологию межг рупповои сети связи и на количество групп не накладывались . Вычислите пьная система c такой функциональной структурой являлась суперсистеМ ой, в качестве ее элементов выступали микроВС Ст * B суперсистеме были потенциально допустимы реализация большого набора функций, адаптация под классы решаемых задач и сферы применения c учетом показателеР производительности, надеж-

ности и экономической эффективности.

6.6.2. Средства обеспечения надежности микроВС Ст *

Для достижения надежного функционирования микроВС Ст * использовались специальные аппаратурно-программе ые средства. B микроВС Ст * реализованподход,основанныйнавведенииFконтроллеротображенияадреса специальной аппаратуры ловушек (Но ^ks). за счет возможности ор-

ганизации взаимодействия этих ловушек c процессором LSI-11 была обеспечена хорошая программная поддержка при разработке системной аппаратуры и ее диагностировании, a также созданы условия для отладки микропрограмм на реальной аппаратуре.

Ловушка предоставляла микропроцессо^у LSI-11 (названному hooks-

процессором) возможность тщательного исследования и изменения внутреннего состояния контроллера. Она позволяла загружать в управляющую память процессора микропрограмму, считывать значения сигналов на шинах и управлять генератором тактовых импульсом s процессора (выполнять операции «пуск», «останов», «один цикл»). Всякий раз при остановке тактового генератора (вследствие либо останова, задаваЕ -мого микропрограммой, либо нарушения четности в управляющей памяти или памяти данных) hooks-

254

6. б. Вычислительная система Ст *

процессору выдавaлся сигнал прерывания. Сложность аппаратуры ловушек оценивалась 10 % от стоимости процессора LSI-11.

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

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

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

Контроль информационных трактов на четность (в сочетании c ком- мyтацией сообщений) обеспечивал обнаружение и исправление ошибки в одном разряде. Сообщение передавалось c вертикальным признаком четности. B узле приема сообщения проверялись горизонтальный и вертикальный признаки четности. B случае одиночной ошибки в результате пересечения

двух признаков четности однозначно идентифицировался разряд, содержащий ошибку.

Установлено, что большинство ошибок в системе составляли ошибки обращения к памяти. Поэтому ОС была ориентирована на анализ ошибок отмеченного класса.

6.6.3. Система самодиагностики микроВС Ст *

Контроль и диагностирование свободных от работы вычислительных

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

Диагностическая программа для памяти состояла из 13 тестов, в том

числе теста «галоп» (Gallop Test), теста бегущих «0» и «1» (Мarching Ones and Zeros) и теста сдвига. Один прогон такой программы для динамической

МОП-памяти произвольной выборки емкостью 56 K байт занимал приблизительно 13 мин.

диагностические программы системы команд и системы прерывания

были предназначены для проверки функционирования микропроцессора

255

6. Мультипроцессорные вычислительные системы

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

Диагностическая программа системной аппаратуры проверяла, вопервых, регистры и тракты данных локальнс го коммутатора, во-вторых, часть контpоллера отображения адреса и соде ржaла несколько тестов для проверки отдельных частен памяти.

Система самодиагностики размещалась в машине-диспетчере (в мини-

ЭВМ PDP- 11) на магнитной ленте. Среднее время t между загрузкой двух

очередных диагностических последовательна;тей в свободные вычислительные модули выбиралось экспериментальн о. На начальном этапе эксплуатации Ст* было принято t = 7 мин. Для такой загрузки использовался последовательный канал связи между вычисгтительными модулями микроВС Ст* и машиной-диспетчером.

Процесс самодиагностики шел непрерывно и заключался в следующем. Сначала машине-диспетчеру сообщалось o том, что система самодиагностики берет управление на себя. После этого машина диспетчер рассматривала вычислительный модуль, реализующий программ: самодиагностики, как обычный терминал и позволяла ему «войти» в ВС (подобно пользователю) и затребовать в машину-диспетчер отчет о состоянии Ст * в целом. B этом отчете указывалось, какие вычислительные модули находились в рабочем состоянии, какие из них были свободны от работы. Затем машина-диспетчер по запросу

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

загружала в них диагностические программы и подавала команду «пуск». Запросы системы самодиагностики на подключение свободных от работы модулей поступали через t единиц времени. B сг.:учае увеличения потребности в ресурсах микроВС Ст* со стороны пользоватeлей система самодиагностики отказывалась от диагностирования отдельных м одулеи.

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

Система самодиагностики была способ Ка реагировать на некоторые

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

256

обнаружении и содержавшее: обозначение модуля;
1) извещение об ошибке в том или ином

6.6. Вычислительная система Ст *

ределенного времени. При этом печаталось сообщение o превышении времени, a выполняемая задача ставилась в очередь на повторное решение.

Система самодиагностики предоставляла два вида информации:

модуле, печатавшееся при ее наименование выпол-

няемои диагностической программы; время, прошедшее после предыдущей

ошибки в данном модуле; сведения об ошибке;

2) извещение о состоянии ВС в целом, которое содержало время начала работы системы самодиагностики, время выдачи извещения и сведения o состоянии всех модулей.

диагностические программы были ориентированы на обнаружение устойчивых отказов в микроВС Ст*. Однако эти программы (c некоторой

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

6.6.4. Анализ и модификация архитектуры микроВС Ст*

Статистическая обработка информации по применению системы самодиагностики показала, что среднее время безотказной работы ЭМ (состоящей из процессора, динамической МОП-памяти емкостью 48 K байт, локального коммутатора и периферийных устройств) составляет а = 127,7 ч при t = 7 мин. Приведенное значение а следует рассматривать как верхнюю оценку для среднего времени безотказной работы ВС. Установлено также, что одновременное появление перемежающихся отказов в нескольких модулях было возможно c вероятностью 0,17, и такие ситуации возникают в среднем через 1000 ч. Отношение интенсивности перемежающихся отказов к интенсивности устойчивых отказов было равно 100:1 при t = 7 мин.

Очевидно, что вероятностная модель микроВС Ст * существенно сложнее модели для мини-ВС С.ттр, поэтому разработчиками были подвергнуты анализу лишь конкретные конфигурация системы. Количественный и качественный анализ убедил разработчиков ВС из Университета Карнеги Меллона в том, что c позиций надежности и живучести архитектура системы Ст* более перспективна, чем архитектура системы С.ттр (и ко-

нечно, систем семейства Burroughs).

Главным недостатком микроВС Ст* являлось использование нерас-

пределенного диспетчера (мини-ЭВМ PDP-11). Отказ мини-ЭВМ PDP -1 1

9-685

257

б. Мультипроцессорные вычислит '.пьные системы

приводил к невозможности реализации функц: й ОС и, следовательно, к отказу системы как единого аппаратурно-програ] лмного ансамбля. Этот недос-

таток системы Ст*, безусловно, можно было ; устранить. В самом деле, воз-

можности архитектуры системы Ст* значительны: в частности, она допус-

кaла такую модификацию, когда исчезал главный недостаток единый

аппаратypный диспетчер. Мини-ЭВМ PDP-11 могла быть исключена из структуры Ст*, a ОС реализована в распределенном виде, т. e. ее компонен-

ты могли быть размещены в элементарных машинах. Системное ПО мик-

роВС Ст* (даже если не использовать машину-диспетчер) можно было по-

строить на основе стандартного ПО для PDP-11 и LSI-11.

Описанная модификация архитектуры микроВС Ст* могла бы улучшить количественные характеристики микро:ЭС как единого аппаратурнопрограммного комплекса и, в частности, полсжительно сказалась бы на надежности и живучести системы. Эта модифи:сация превратила бы системы Университета Карнеги Меллона в ВС c программируемой структурой (см. гл. 7 и [5, 6]).

6.7. Мультипроцессорные системы со структурно-процедурной организацией вычислении

Научная школа по многопроцессорньпиi ВС Южного федерального университeта выделяeт две парадигмы [15, 16] :

программируемость архитектуры;

структурно-процедурную организацию :вычислении.

Многопроцессорные ВС, основанные на этих парадигмах, характеризуются высокой эффективностью. Первые результаты данной школы были получены еще в 1960-x годах. Так, например, в 1964 г. была построена ВС «Ме- теор-3 », состоящая из 100 цифровых интегрирующих процессоров. Основателем научной школы по многопроцессорны] ВС со структурно-процедур- ной организацией вычислений является A.B. Каляев (1922-2004; академик РАН c 2000 г.).

6.7.1.Программирование виртуальных архитектур

всуперкомпьюте рах

Вобласти суперВС c массовым парал лелизмом остается еще много принципиально важных нерешенных проблем, которые существенно тормозят их развитие. K важнейшим относится проЕ ^лема обеспечения соответствия

* По просьбе автора данный параграф написан A.B. Каляевым.

258

б. 7. Мультипроцессорные системы со структурно-процедурной организацией

архитектуры (точнее, функциональной структуры) параллельной вычисли-

тельной системы структуре решаемой задачи. Без решения этих проблем или

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

B проблемно-ориентированных многопроцессорных суперВС эти

проблемы решаются относительно легко за счет конструирования специаль-

ной архитектуры, соответствующей структуре ограниченного класса задач.

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

Проблема обеспечения адекватности между архитектурами универсальных суперВС и структурами решаемых задач относится к первостепенно важным и далеко нетривиальным. Эта проблема может быть решена только в том случае, если пользователю будет обеспечена возможность быстpо программировать, a также автоматически в динамике вычислении перепрограммировать архитектуру универсального сyперкомпьютера под структуры решаемых задач. Фактически это означает, что пользователю должна быть предоставлена возможность программировать в рамках реальной универсальной многопроцессорной суперВС виртуальные проблемноориентированные системы. Программирование архитектуры виртуальньх систем (соответствующих классам решаемых задач) должно осуществляться как в статическом, так и в динамическом режимах (в процессе решения задач). Только в этом случае можно достичь для многих классов задач пиковой производительности универсальной суперВС c массовым параллелизмом и обеспечить линейный рост производительности при увеличении числа одновременно работающих процессоров.

B Научно-исследовательском институте многопроцессорных вычис-

лительных систем (НИИ МВС) Южного федерального университета была разработана концепция многопроцессорных ВС, которая состоит в нижесле-

дyющем. B процессе разработки и конструирования суперВС c массовым

параллелизмом ее архитектура не формируется окончательно , a остается в

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

но назвать рамочной, или фрейм-архитектypой (Frame-architecture , рис. 6.9).

Фрейм-архитектура суперВС содержит поля макропроцессоров, макрокоммутаторов, распределенной памяти и интерфейса, архитектура каждого из которых исходно не синтезирована. Наряду c этим во фреймархитектyру суперВС входят аппаратно-прогpаммные средства управления полями макропроцессоров, макрокоммyтаторов и распределенной памяти,

которые позволяют программировать виртуальные проблемно -ориентиро-

ванные многопроцессорные системы c архитектурами, необходимыми для

9*

259

N

^

о

0

О

о^ v

V

^

^ ^

^а^

^^^\$'^х^^^

^

^

 

 

^

 

 

 

^^ о

 

 

^ ^

^

о

0 ^ о' ^

 

o^

 

 

 

 

 

/4

 

 

 

v

 

 

^

 

 

 

v

^

 

 

1 ^^,^д

 

 

^

х

 

 

^ ^

 

 

^^

 

 

^^^^

^

 

 

oG

о^ ^

УI 1

G,``'^ Gd ¢•^о^^^^a, o^ ^d

е

0

Рис. б.9. Фрейм-архитектура многопроцессорной ВС

6.7. Мультипроцессорные системы со структурно-процедурной организацией

решения конкретных классов задач. Таким образом, фрейм-архитектypа основывается на аппаратных и программных средствах, которые дают пользо-

вателю возможность очень быстро (как до начала решения задачи, так и в

процессе ее решения) программировать и настраивать архитектуру универ-

сaльной ВС.

Очевидно, что в суперВС c массовым параллелизмом легко настраивать виртуaльные архитектуры, адекватные структурам решаемых задач. Настройка архитектуры универсальной суперВС включает программирование:

информационных каналов связи между параллельно работающими процессорами;

поля коммутаторов (системы коммутации);

структуры каждого из процессоров для параллельного выполнения макроопераций;

наборов макроопераций;

структуры распределенной памяти;

процедуры параллельного бесконфликтного доступа процессоров к распределенной памяти;

внутреннего машинного языка высокого уровня;

каналов внешних связен;

структуры распределенного системного программного обеспечения.

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

6.7.2. Структypно-программируемая макропроцессорная элементная база

СуперВС c массовым параллелизмом, программируемой архитектурой и структурно-процедурной организацией вычислении основана на новой макропроцессорной элементной базе. Такая элементная база содержит три основных компонента:

многоканальный макропроцессор c программируемой на выполнение макроопераций структурой;

многоканальный макрокоммyтатор, программируемый на выполнение операции макрокоммутации;

макропамять элемент распределенной памяти c параллельными каналами доступа, программируемый на реализацию операций макрообращений.

Макропроцессор является основным функциональным и конструктивным элементом суперВС c массовым параллелизмом и программируе-

261

6. Мультипроцессорные вычислитЕ'льные системы

мой архитектурой. Он предназначен для выя Волнения макроопераций (из их базового набора, либо дополнительно вводимых). Функциональная структура макропроцессора (рис. 6.10) представляется композицией из множеств элементарных процессоров {ЭПо , ЭП 1 , ... , ЭП п_1 } и модулей

памяти {Мп о , МП 1 , ..., МП т_1 } , коммутатора ;К) и блока управления (БУ).

Следовательно, макропроцессор это муль типроцессор c канонической функциональной структурой (см. рис. 6.1).

Макропроцессор обладает возможност: ,ю программирования своей архитектуры. Это достигается c помощью бло: са управления и коммутатора. Макропроцессор может быть настроен на выполнение любой макрооперации из их базового набора в соответствии c м ^.крокомандой, которая поступает на управляющий вход. Макропроцессор выполняет любую макрооперацию параллельным структурным методом (вместо последовательного процедурного метода, который используется В 3 обычных классических мик-

ропроцессорах).

Любые макpооперации реализуются в магропроцессорах суперВС в оди-

наковые интервалы времени. Это обеспечивае т

согласованную работу всех

 

 

 

 

IЭПп - 1

Информационные

 

Бспо

Бспо

о

 

 

Т I

 

каналы d

 

 

 

 

1—'

 

 

K

 

д,

 

__— ~

__

 

 

 

мп1

мпг

 

Каналы

 

 

 

 

настройки

 

 

 

 

информации

 

 

 

 

C

БСНИ

БЗ

 

БHА

 

 

 

 

 

БСП K

1

Управляющие

 

 

4

 

 

 

 

каналы

БУ

 

БОс

 

Рис. 6.10. Функциональная структура макропроцесора:

ЭП — элементарный процессор; МП — модуль памяти; БУ — блок управления; БСПО —

блок синхронизации потоков операндов; БСПК — блок синхронизации потоков кадров; K —

коммутатор; БСНИ — блок сопряжения c носителям и информации; БЗ — блок заданий;

БНА — блок настройки архитектуры; БОС — блок ОС

262

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]