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

khor32

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

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-разрядных слов) и

имела дополнительный набор устройств ввода-вывода информации.

Каналы

Каналы

 

ЛКо

ЛК

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нительн

 

при

 

 

=

 

 

udn n

 

т'о х^

U V ^

^

Запись по Al

а32

U33

s^

 

 

V V

n

 

 

Q

:—

 

 

=

:=

 

 

 

:

 

 

 

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

 

 

 

 

 

ю

 

 

 

(ОУП): б5 00 Al A2.

7.3.Вычислительная система Минск -222»

идостаточно сложная aппаратypнaя поддержка (особенно в многомерны ВС). Создание средств прямой адреса, рассчитанных на предельное количество ЭМ, конечно, обеспечивает масштабируемость «низ» (в направлен умень-

шения числа ЭМ). Однако ясно, что конфигурации ВС c числом ЭМ, менее предельного, обладают бесполезной аппаратурной избьггочностью. C другой cтороны, такой ((предел» c развитием ВТ и технологии вычислений постоянно отодвигается «верх» (в сторону увеличения числа ЭМ). Описанные команды межмацп няого обмена информацией не требуют сложной аппаратурной поддержки, они адекватны большемаспггабным и масштабируемьпиi ВС.

Команда обобщенного безусловного перехода (ОБП): 02 а,0 0000 А2. Команда ОБП предназначалась для безусловного управления параллельными вычислительными процессами. Она имела две модификации: ОБН О и ОБП1, отличавшиеся значением a, (см. табл. 7.4). Управляющая машина при выполнении ОБП засылала в канал содержимое ячейки A2 своей памяти, которое воспринималось как команда только ЭМ подсистемы, содержащими

единицу в разрядах TQ регистров настройки. B случае ОБПo поступившая

команда выполнялась после окончания текущей, a в случае ОБП, немедленно (прерывая выполнение текущей).

B управляющей ЭМ после выполнения команды ОБП осуществлялась реализация следующей команды. Во всех управляемых ЭМ поступившей команде присваивались номера последних из исполнявшихся команд (т. e. в них происходила блокировка изменения счетчика адресов).

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

Команда обобщенного условного перехода Эта команда служила для управления параллельными вычислительными

процессами по обобщенному условию (7.6). Команда ОУП употреблялась в

четырех модификациях: ОYПk, k Е {0, 1, 2, 3}, которые отличались значени-

ем вектора а1за14а15 (см. табл. 7.4). Команда ОУП могла быть выполнена в машине, в регистре настройки которой было содержимое S2 = 1; в противном случае команда ОУП воспринималась как пустая команда +00. Реализация перехода по команде ОУП осуществлялась одновременно во всех машинах (имевших Q =1) после их выхода на команду ОУП. При выполнении модификации ОУПо всегда осуществлялся переход к следующей

11 - 685

321

7. Вычислительные системы c программируемой структурой

команде. Следовательно, ОУПо служила для с Синхронизации машин подсистемы. При реализации оУПк, k =1, 2, 3, в м; шине происходила передача

управления либо следующей команде при SZk = 0, либо команде по адресу

A2 при S2k 1.

Команда ОУП использовалась, в частности, для организации ветвлении в параллельных вычислениях, для реализации параллельных циклов.

7.3.3. Программное обеспечение вычислительной системы «Минск-222»

Программное обеспечение вычислительнс й системы «Mинск-222» это расширенное ПО ЭВМ «Минск-22». Возможно мсти ЭВМ «Mинск-22», являвшейся машиной второго поколения, были весьма ограничены. Поэтому расшиpeние ПО было ориентировано лишь на реалия зацию в монопpогpаммном режиме параллельных программ (Р-программ) реш жия сложных задач. Программное обеспечение ВС «Mинск-222» состояло из двyx частей (pис. 7.9): системы

P-пpогpaммирования и пакета прикладных адам:ирующихся P-прогpамм.

Система P-программирования. Сисх ема параллельного программирования включала средства автоматизациv P-прогpаммирования, отладки, редактирования и анализа P-программ.

по вС «Минск-222

по ЭВМ «Минск- 22

-

Пакеты прикладных

Система Р прогpаммирования

адаптирующихся Р-прогpамм

 

Средства автоматизации

 

Р-прогpаммирования

Э адачи линейной алгебры

 

и математического

Aки

программирования

 

ALGOL

Сг стемы дифференциальных

 

ypавнении

 

V

ЛЯПАС

 

BASIC

Информационно-

логические задачи

 

Средства отладки

Задачи статистического

и редактирования Р-прогpамм

 

моделирования сложных

Средства анализа

процессов

 

Р-прогpамм

 

Рис. 7.9. Программное обеспечение ВС «Минск-222»

322

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