Информатика в техническом университете / Информатика в техническом университете. Архитектура вычислительных систем
.pdf7.2. Архитектурные особенности ВС c программируемой структурой
мы, которые будут получены машиной в процессе решения задачи от ЭМ, хранящих программы или ее сегменты.
Таким образом, при распределенном способе обработки информации
полностью используются возможности ВС c архитектурой MIMD. Матрич-
ный и конвейерный способы обработки информации обеспечивают
частичное использование возможностей архитектуры ВС. Архитектура MIMD при первом способе трансформируется в архитектуру SIND, a при втором в архитектуру MISD (см. § 3.4).
7.2.3. Арxитектypные аспекты
при создании операционных систем ВС
Отметим те из архитекгурньх особенностей ВС c программяруемой
структурой, которые оказывают определяющее влияние на ОС комплекс
средств для управления работой ВС. Архитектура ВС должна удовлетворять
главнейшемy требованию реализации в системе параллельных вычислен во всех режимах. Рассмотренная в § 3.3 методика крутшоблочного распараллеливания позволяет для сложны задач представить вычисления в виде совокуп-
ноcти большого числа слабо связных ветвей. Анализ показал, что круг задач,
допускающих такое представление, достаточно широк. Более того, методика,
как правило, обеспечивает построение идентичныхветвей и таких, что каждая из них состоит в основном из операторов-преобразователей данных, находя-
щихся в памяти выделенной для этой ветви ЭМ, и относительно редко требует
обращен к памяти других ЭМ. данное свойство снижает влияние структуры ВС сети межмашипх связей и, в частности, системного устройства на
время обращения к общей рассредоточенной по ЭМ памяти системы.
Опыт распарaллеливания сложных задач, составления параллельных
программ и их вложения в структуры ВС показал, что около 90 % всех об-
ращений ЭМ к памяти других машин составляют групповые и регулярные схемы обмена информацией, a именно: трансляционная схема («одна всем», т. e. когда информация передается из одной ЭМ всем остальным машинам, участвующим в реализации параллельной программы), трансляци- онно-циклическая схема («каждая всем») и конвейерно-парaллельнaя («каждая своим соседям»). Групповые схемы обмена информацией выдвигают требование простоты их реализации в структуре ВС (достаточной приспособленности системных устройств к их выполнению), a также предопределяют наличие в ОС средств организации этих обменов.
B основе организации параллельных вычислений в ВС лежит представление вычислении в виде совокупности совместно протекающих асинхронных взаимодействующих процессов. Под процессом здесь понимается совокупность последовательных действий (операций) при реализации в ре-
311
7. Вычислительные системы c программ руемой структурой
aльном времени некоторого алгоритма, использующего часть ресурсов системы. Совместность процессов означает не только обычную для мультипрограммных систем (в частности, систем рЕ зделения времени) одновременность реализации алгоритмически независимых процессов (разделение ресурсов ВС), но и существование связи между отдельными процессами,
которая обусловлена тем, что они представляя от собой части одного сложного алгоритма (объединение ресурсов ВС).
B общем случае для ВС характерен мулi типрограммный режим работы даже при решении задач, представленных ц; параллельной форме. Муль-
типрограммирование является следствием разд мления ресурсов ВС между:
•процессами, относящимися к различны) л параллельным программам пользователей;
•процессами пользовательских программ и процессами операционной системы;
•отдельными процессами, относящимися к одной программе решения задачи.
Управление работой ВС в мультипрогра] ►lмном режиме возлагается на ядро (резидентную часть) ОС и непосредствeнно осуществляется c помо-
щью операции управления процессами.
Базовый набор средств, обеспечивающий управление процессами (как процессами пользователей, так и процессами самой ОС) каждой ЭМ ВС, составляют средства для порождения и уничтожения процессов и для реализации взаимодействий между ними. На основе базового набора строятся все процессы ОС элементарной машины ВС : уп давление распределением ресурсов, связь c внешними устройствами и c по гiьзователями, связь c ОС дру-
гих ЭМ. Последние обеспечивают слияние идентичных операционных систем ЭМ в операционную систему ВС. Ясно, что такой способ построения для ВС операционной системы делает ее расп ределенной, приводит к высокой живучести ВС как единого аппаратypно-п зограммного комплекса, дела- ет ВС приспособленной к развитию и сокращeнию, следовательно, позволяет просто подобрать конфигурацию ВС, ко горая будет адекватна сфере применения.
Временное и пространственное распред ление аппаратурно-программ-
ных ресурсов системы (процессоров, оперативной памяти, внешних устройств,
системных устройств, линий связи, программ, ,анных) между совместно про-
текающими процессами обеспечивается благодаря полноте реализации в ВС трех канонических принципов модели коллеi:тива вычислителей. Так, программируемость структуры позволяет уже на этапе программирования сложной задачи не только указывать послед овательность реализации процессов (подчиненность процессов по данным и по управлению), но и задавать размещение этих процессов в пространстве ресурсов ВС. Это размеще-
312
7.2. Архитектурные особенности ВС c программируемой структурой
ние осуществляется c учетом характера взаимодействия процессов, свойств самих процессов и структуры обрабатываемых данных. Оно определяет структуру подсистемы области ВС, выделяемой для решения задачи. Программируемость структуры ВС позволяет и в условиях мультипро-
граммности осуществлять временное и пространственное распределение ресурсов между совокупностями процессов, относящимися к различным
задачам.
Программируемость структуры ВС достигается аппаратурно-прогpамм-
ныпми средствами, среди которых уже известные системные устройства и специальные программные блоки ОС. Последние обеспечивают управление
структурой ЭМ, управление структурой связей между ними (настройку сети
межмацпшных связей), a также организацию взаимодействий между процессами, реализуемыми в разных ЭМ системы (межматцинньх взаимодействий).
Межмашинные взаимодействия в ВС осуществляются c помощью системных операций (представляемых в виде либо команд, либо микропрогpамм, либо подпрограмиi). Один из возможных полных наборов системных операций дифференцирует все взаимодействия между ЭМ системы на:
• обмен информацией, предназначенной для указания отношений меж-
дy машинами ВС и режимов их функционирования (настройку ВС зада-
., ние для системных ресурсов состояний, которые используются при реализа-
ции взаимодействий между процессами);
•обмен рабочей информацией (пересылку данных или программ между оперативными памятями ЭМ обмен между процессами или порождение процессов);
•обмен информацией, предназначенной для выработки значения некоторой булевой функции (которая используется для определения отношения машин системы к выполняемой программе, следовательно, для синхронизации процессов и осуществления условных переходов при протекании процессов);
•обмен командами, позволяющий из любой ЭМ осуществлять управление работой других машин (изменение состояний процессов, уничтожение процессов).
Все отмеченные архитектурные возможности достигаются в ВС c про-
., .,
граммируемои структурой c помощью специальных средств, которые в комплексе c традиционными средствами организации функционирования и составляют ОС. Функции ОС, как правило, реализуются c помощью прогpаммных средств. Однако уже в современны условиях технологии микропроцессорных БИС возможна и аппаратypная реализация основных функций ОС.
B общем случае ОС имеет иерархическую структуру. За начальное условие для решения проблемы управления берется описание операционной
313
7. Вычислительные системы c программ^'руемой структурой
обстановки в ВС. Оно включает сведения o текущем состоянии реализуемых процессов и o распределении между ними ресу^сов системы. Описание операционной обстановки разбивается на уровни, соответствующие функциональной обособленности ресурсов ВС (наприN:ер, ресурсы любой ЭМ обособлены от ресурсов остальных машин; ресурсы подсистемы от ресурсов других подсистем). Каждому уровню функцис нальной обособленности ресypсов ВС соответствует свой уровень ОС. За Ь:им закрепляются параметры, значения которых вырабатываются на основе а iализа соответствующей части описания операционной обстановки и служат исходными данными для вышестоящего уровня. Каждый уровень ОС до: iускает представление в виде совокупности процессов, реализуемых в разлит ных ЭМ ВС.
7.3. Вычислительная система «Минск-222»
Интерес к практической реализации ВС c программируемой структурой постоянно проявлялся, начиная c 60-x го, 1ов ХХ в. Первоначально он поддерживался прежде всего необходимостьк проверки теоретических основ построения ВС, необходимостью отработки архитектурных решений и
функциональной структуры ВС, a также параллельных вычислительных
технологий. Позднее возрастающую роль стал играть утилитарный компонент целей создания ВС, в 1970-x годах этот компонент стал превалировать над исследовательским. Последнее обосновывается потребностью в ВС, обладающих и высокой производительностью, надежностью и живучестью.
Работы по построению ВС, основанных на принципах коллектива вычислителей, были инициированы в Институте математики (ИМ) Сибирского отделения АН СССР в 1964 г. Вскоре в ИМ С() АН СССР было организовано и мини-производство ВС.
Ниже будет описана первая ВС c прогpаммируемой структурой
«Минск-222». В проекте «Минск-222» было отработаны архитектурные, технические и программные решения, значитЕ;льная часть из которых была
«канонизирована» разработчиками не-фон-не ймановских вычислительных средств. Описание архитектуры системы «Минск-222» будет сделано c полнотой, достаточной для учебных целей.
Система «Минск-222» была разработана и построена Отделением вычислительной техники ИМ CO АН СССР совмЕ -стно c Конструкторским бюро завода им. Г.K. Орджоникидзе Министерства радиопромышленности СССР
(г. Минск). Руководитель работ по созданию В C «Минск-222» Э.B. Евреинов; основные разработчики: B.Г. Хорошевский, Б.A. Сидристый, Г.П. Лопато (1924-2001; чл.-кор. РАН c 1979 г.), A.H. Вас илевский. Работы по проектированию ВС «Минск-222» были начаты в 1965 г., a первый ее образец был
314
7.3. Вычислительная система «Минск- 222»
установлен в апреле 1966 г. в Институте математики АН БССР. Системы «Минск-222» были смонтированы в нескольких организациях Советского Союза и эксплуатировались более 15 лет.
Архитектура ВС «Минск-222»:
•МIМД-архитектура, распределенность ресурсов;
•параллелизм, однородность, прогpаммиpуемость структуры;
•одномерная (кольцевая) топология;
•масштабируемость: 1-16 элементарных машин (ЭМ);
• быстродействие: S2 = ANco, где N число ЭМ, со быстродействие одной ЭМ, A > 1 (при крупноблочном распараллеливании сложных задач);
• использование промышленных ЭВМ второго поколения.
7.3.1. Функциональная cтpyктypа вычислительной системы оминск-222»
По структуре ВС «Минск-222» относилась к одномерным (точнее, кольцевым) системам (рис. 7.8). Для связи между элементарными машинами в ВС применялись двусторонние каналы. Количество N ЭМ в системе могло изменяться в пределах от 1 до 16. Каждая ЭМ системы «Mинск-222» имела свой абсолютный номер i Е {0, 1, ..., N — 1} .
Элементарная машина состояла из вычислительного модуля и системного устройства (СУ). B качестве ВМ были использованы серийные ЭВМ «Минск-2» или «Минск-22», выпускавшиеся заводом им. Г.K. Орджоникид-
зе (г. Минск). Указанные ЭВМ имели одну и ту же архитектуру и были не только совместимы, a, по сути, являлись конфигурациями одной и той же двухадресной машины. Машина «Минск-22» в сравнении c «Mинск-2» об-
ладaла магнитной памятью удвоенной емкости (8 K 37-разрядных слов) и
имела дополнительный набор устройств ввода-вывода информации.
Каналы |
Каналы |
|
ЛКо |
ЛК 1в |
|
PH |
zPH |
г |
^ |
|
|
BM
Рис. 7.8. Функциональная структура системы «Минск-222»:
ЛК — локальный коммyтатор; БОС — блок операций системы; РН — регистр настройки;
ВМ — вычислительный модуль; b — рабочий канал; --* — управляющий канал
315
7. Вычислительные системы c программ лруемой структурой
Обращаем внимание читателей на то, что подход к построению параллельных ВС, ориентированный на применение ерийных ЭВМ, был впервые применен в Сибирском отделении АН СССР [ 5], a не за рубежом (см., например, разработки 70-x годов ХХ в. Униворситета Карнеги Меллона, § 6.2 и 6.6, a также современные кластерные ВС).
B состав СУ входили локальный коммута' гор (ЛК) каналов связи и блок операций системы (БОС). Коммутатор ЛК1 состоял из вентилей, которые открывали или закрывали канал связи, идущий к соседней справа ЭМ, т. e. к коммутатору ЛК,, где j = i + 1(тод N). (Запи+^ь j(тод N) означает число
j по модулю N.) Вентили управлялись сигналами, поступавшими из БОС. Блок операций системы включал в се я регистр настройки (РН) и
узел, реализующий системные команды. Сод ^ржимое РН определяло вид соединительной функции коммутатора и степень участия ЭМ при системных взаимодействиях. Регистр настройки состоял из трех разрядов:
TR, TQ, ТSZ.
Триггер TR позволял разбивать систем) на функционально изолированные подсистемы. Для того чтобы образова-ъ подсистему из машин c номерами i + 1(тод N), i + 2(тод N), ..., i + m(mod N), где m < N, достаточно
было в разряды TR регистров настройки элемент,арньх машин i и i + m(mod N)
и машин i + 1(тод N), i + 2(тод N), ..., i + m —1(тод N) записать соответственно 1 и 0.
Триггеры TQ и ТК^ конкретизировали степень участия машин в выполнении некоторых системных команд. B час ,тности, триггеры Ю использовали для выделения машин, участвовавших в выработке обобщенного признака Qk (k = 1, 2, 3), который управлял ходом вычислений. Признак
SZk |
& О)kl , k= 1,23, |
(7.6) |
|
iEE |
|
где Е подмножество номеров машин, управлявших ходом вычислений (т. e. отмеченных единицей в разряде 7n), E <_ { 0, 1, ..., N —1}; (.k1 при-
знаки, вырабатываемые ЭМ c номером i, при чем (О1 г = 1, если знак последнего вычислительного результата был меньше нуля, 0 2i = 1, если происхо-
дило переполнение, о = 1, если последни й вычислительный результат арифметико-логического устройства был равен нулю. B конфликтных ситyациях приоритет имела машина c меньшим .омером.
Системное устройство было реализовано на 80 стандартных элементах и составляло менее 1, 5 % объема обод ^удования АЛУ и устройства управления ЭВМ «Минск-22».
316
7.3.Вычислительная система «Минск-222»
7.3.2.Системные команды вычислительной системы «Минск-222»
K системным относят команды, обеспечивающие функциональную целостность множества ЭМ как коллектива. C другой стороны, системные команды это средства для организации и реализации параллельных вычислительных процессов, в частности, обменов управляющей информацией и данными между ветвями параллельной программы (см. § 3.3). Набор системных команд ВС «Минск -222» составляли команды настройки, обмена, обобщенных безусловного и условного переходов. B методическом плане целесообразно дать детальное описание системных команд.
Команды в ЭВМ <сМинск-222» представлялись 37-разрядными двоич-
ными числами и имели следующую структуру:
|
0 1 ... |
б 7... 12 13... 24 25... 36 |
|
|
Al I A2 |
где ±КОП |
код операции, О |
6-разрядное поле, два разряда которого |
определяли номер блока памяти, a четыре остальных адрес индекс-ячей- ки, А 1 и А2 соответственно первый и второй адреса.
Команда настройки (Н): 01 о0А1А2. Команда H имела три модификации: Н0, Н1 , Н2, отличавшиеся содержимым а29 и а34 соответственно 29-гo и 34-гo разрядов (табл. 7.3).
Модификация Н0 изменяла содержимое только РН той ЭМ, в которой
она находилась и записывала по Al прежнее содержимое RQS2 регистра настройки, содержимое тpиггера P режима округления и значение (о3 при-
знака нуля. Модификация Н2 выполняла все, что и Но, и, кроме того, изменяла содержимое тpиггеров режима округления и признака О.Ь.
Модификация Н1 изменяла содержимое РН тех ЭМ подсистемы, которые были отмечены единицами в ее соответствующих разрядах. Соответствие между разрядом j (13 < j < 28) команды Н1 и номером i настраиваемой.
ЭМ определялось формулой j = i + 13. Ни при каких условиях команда Н 1
не могла изменять содержимое РН той ЭМ, в которой она выполнялась. Информация, предназначавшаяся для РН, являлась содержимым
аз i , а32 , а33 разрядов 31, 32, 33 команды H. При выполнении H настpоечнaя информация либо засылалась в РН без изменения (при а30 = 0) , либо пораз рядно логически складывалась c содержимым РН при (аз0 = 1). При выполнении Н2, кроме того, засылались а 35 и а36 в тpиггеры режима округления и признака о соответственно.
При выполнении Но и Н2 предыдущее содержимое R, Q, S2, P, О за-
поминалось соответственно в разрядах 31, 32, 33, 35, 36 ячейки памяти c адресом Al; остальные разряды этой ячейки содержали нули.
317
bC.. |
о |
^x |
Настройка |
а30 =1 |
о |
о |
tнительн |
|
|
при |
|
|
0£= |
|
|
udn n |
|
т'о х^
U V ^
^
Запись по Al
а32 |
U33 |
s^ |
|
|
V V |
n |
|
|
|
Q Sг |
:— |
|
|
|
= |
:= |
|
|
|
: |
|
|
|
|
Q |
|
|
|
|
|
££^ |
и ^о |
— |
N м |
|
I I. |
I I. |
II |
|
=: |
|
|||
=_.. |
•^ |
•у |
||
|
ZS^ |
|||
|
|
•^ |
||
|
|
а |
11м |
|
|
|
U |
|
|
м |
|
m |
|
|
^ |
|
|
|
|
|
|
^ |
|
|
1 |
|
^д1 |
|
|
1 |
|
|
|
|
|
|
zH |
|
^м |
Q |
- |
I |
о^ |
|
О |
|
в |
O |
— |
|
Ох |
^ |
|
|
^ |
|
|
|
СС3 |
^ |
|
|
x |
|
|
|
^ |
^ |
|
|
o |
|
|
|
х |
^ x |
|
|
7.3. Вычислительная система «Минск-222»
Таким образом, c помощью команд Но и Н2 осуществлялась самонастройка элементарной машины, a c помощью Н1 настройка из данной ЭМ остальных машин ВС. Следовательно, команды Но, Н1, Н2 представляют
собой средства самонастpойки ВС. C помощью этих команд программиро-
вaлись структура ВС (связность машин, т. e. канал межмашинных связей) и
участие каждой ЭМ в выполнении системных функций. Они позволяли разбивать систему на подсистемы, a значит, и создавать «среду» для мулътипрогpаммной обработки данных.
Команды обмена это команда передачи (П): 56 00 1 б и команда приема (ПР): 57 00 h в. Команда П (табл. 7.4) предназначалась для выдачи из передающей ЭМ в канал связи 1 кодов начиная c кода, расположенного в ячейке a памяти. После передачи 1 кодов в передающей ЭМ выполнялась очередная команда. По команде ПР осуществлялся прием из канaла h кодов в ячейки 13, (3 + 1, ... , R + h —1 оперативной памяти принимающей
ЭМ. Прием из канала разрешался лишь при условии, что в него поступило очередное слово из передающей ЭМ. Машина, выполнявшaя команду приема, могла приступить к выполнению следующей команды только после приема h кодов. B случае h > 1 ЭМ находилась в состоянии приема, пока не поступали остальные (h —1) кодов. Очевидно, что перед началом обмена
требовались настройка межмашинного канала и синхронизация.
Такой способ организации обменов информацией между машинами подобен функционированию радио- и телепередающих систем. B самом деле, передатчик осуществляет безадресную выдачy информации в эфир (передающая ЭМ направляет данные в межмашинный канал без указания адре-
сов ЭМ), a прием этой информации из эфира будет выполняться только теми
приемниками, которые настpоены на частоту электромагнитных волн передатчика (a прием данных из канала будет реализовываться только ЭМ, выполняющими команду приема).
Предлагаемый способ реализации межмашинных обменов информацией не зависит от числа ЭМ в системе и позволяет избежать трудностей с, адресацией машин. Это особенно важно для ВС c массовым параллелизмом. Как уже отмечалось ранее, современные ВС обладают, в частности, двумя свойствами :
•большемасштабности (количество ЭМ в системе может иметь порядок 106);
•масштабируемости (архитектура ВС должна быть рассчитана на переменное количество ЭМ, в современных условиях в пределах от 10 до 10 6).
Следовательно, при введении прямой адресации машин в системе потребовались бы специальное адресное слово длиной в 20 двоичных разрядов
319
•г
т^хи `иитadg |
481 + 5 2 |
1/189L+ |
|
Пояснение |
ес еспамяти |
||
|
памяти |
|
|
Условие выполнения |
адр |
адр |
|
начальный |
R |
||
|
|
начальный |
|
|
а = |
||
Отличие |
кодов, A2= |
кодов, A2 |
|
Мод |
числопередаваемых числопринимаемых |
||
фика - |
|
|
|
и ция |
|
|
|
^ |
|
|
|
^ |
l h |
||
^ |
|||
= = |
|||
^ |
|||
Al Al |
|||
|
|||
|
- 9 |
L |
|
Команда |
циiаид (дц) дацв^lавн) (ц |
||
96 |
001 |
ЭМ i исполняет ко- |
манду из ячейки A2 управляющей ЭМ Передача |
жидает |
ожидает |
ЭМiо |
ЭМ iне |
цу0° |
цвО |
|
00 0 |
|
00 00 |
||
|
. 1- |
er |
1- |
1- |
|
Zv1 |
|
11 |
11 |
II |
|
управления альше |
|
|
., NNc^ NNм |
||
оц |
|
^ |
|
^.л |
|
|
с |
|
|
0 0 |
|
|
^ |
|
11 |
II |
II |
|
|
|
|
|
|
д |
|
|
|
|
|
L |
о |
|
|
|
|
|
|
|
|
|
|
^ |
|
|
|
|
|
х |
|
|
|
|
|
^ |
|
|
|
|
|
м |
|
|
|
|
|
х |
|
|
|
|
|
о $ 33 |
|
||||
^ |
|
|
|
|
|
^ |
|
|
|
|
|
x |
|
|
|
|
|
х |
|
|
|
|
|
V |
|
|
|
|
|
О -- |
N м |
|
|||
0000
|
|
000^ |
|||
1 |
I |
000 |
|||
1 |
1 |
000 |
|||
|
|
1 |
1 |
1 |
1 |
|
N |
|
|
|
|
ныйбез- |
переход |
|
а |
|
|
|
о |
|
|
||
|
^ |
|
|
||
|
|
|
a |
|
|
|
|
^^ ^ |
|
|
|
., |
x |
^х |
|
|
|
Обобщен условный (ОБП) |
^ |
|
ф |
|
|
|
|
o |
|
|
|
|
|
ю |
|
|
|
