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

khor32

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

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

Средства автоматизации P-прогрaммирования

B качестве вход н х в системе «Минск-222» использовались расширенные язьпси:

автокод АКИ, ЛЯПАС, ALGOL, BASIC. Язык АКИ АвтоКод <4'Iнженер»

относится к мацвшяо-ориентирова пм. Язьпс ЛЯПАС Логический Язык Программирования Алгоритмов Синтеза оригинальный язык, ориентированный для описания алгоритмов решения задач математической логики, теории автоматов, булевой алгебры, теория графов и теории кодиpoвaния (создан

в 1966 г. школой специалистов-логиков Томского госудаpcтвенного универси-

тeтa). Язык ALGOL (ALGOrithmic Language) язык программирования высо-

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

тельньх задач. Язык BASIC (Beginner's А11-ригрове Symb( lic Instruction Сode) это язык пpoгpаммиpoвaния высокого уровня, отличается простотой, легко ус-

ваивается начинающими программистами. B расширенные языки были включены средства для описания взаимодействий между параллельны и ветвями вычислений. Каждый транслятор для ВС имел два блока: маиппшый и системный. Маплппiьий блок представлял собой обычный тpaнслятoр для ЭВМ, системный служил для реализащш межмашиявых взаимодействий в ВС.

Разработка трансляторов для расширенных языков АКИ, ЛЯПАС и ALGOL свелась к созданию системных блоков. Это было обеспечено тем,

что имевшиеся трансляторы для ЭВМ «Минск-22» c языков АКИ, ЛЯПАС

и ALGOL (транслятор ТАМ-2/22) предусматривали возможность использо-

вания библиотеки стандартны программ, записанных в машинных кодах. Любой системный блок представлял собой совокупность программ

для реализации операций настройки, обмена, ОБП и ОУП, которые были включены в библиотеки трансляторов. При использовании языка АКП об-

ращение к программе, реализующей требуемую системную операцию, осу-

ществлялось при помощи оператора КОД; при применении ЛЯПАС по-

средством оператора «•-» перехода к машинному языку; наконец, при при-

менении ALGOL при помощи оператора STANDARD.

Системные блоки, добавляемые к трансляторам ЭВМ, имели относительно небольшое количество команд (см. табл. 7.5). Так, отношение объема

системного блока к общему для трансляторов с АКП и С не превыша-

ло 0,1, a для транслятора c ALGOL (ТАМ -2/22) 0,025. Следовательно, ка-

чество параллельных программ в основном определялось машинными блоками трансляторов ВС «Минск-222».

Язык BASIC включал обычные операторы, системные операторы и

системные стандартные функции. Он позволял описывать как последова-

тельные, так и параллельные вычислительные процессы. Реaлизованный транслятор (вместе c сервисными программами) имел объем 6600 команд, Скорость трансляции 700-800 команд готовой программы в минуту. Транс-

лятордопускалвводиисправлениеисходныхпрограммврежимедиалога.

11*

323

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

 

 

Таблица 7.5

Компоненты программного обеспечения

Общий

Объем

ВС «Минск-222»

объем

системного блока

Трансляторы для языков:

 

 

— АКп

4000

300

—ЛЯПАС

4000

300

юТ lмЛ

— ALGOL (ТАМ-2/22)

— BASIC

 

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

 

P-программ

 

Средства анализа P-прогpамм

пporpaмм-

Адаптирующиеся P-программы

для решения:

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

 

— задач линейной алгебры и матема-

 

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

P

уравнений

Пакет

— информационно-логических задач

— статистического моделирования

 

сложных процессов

Итого слов:

16 000

300

6600

300

2200

640

850

460

3000

250

2200

80

3500

160

4000

75

46 350

2865

Средства отладки и редактирования P-прогрaмм совокупность четырех стандартных программ. Первая программа преобразовывала отлаживаемую P-прогpамму в последовательную 4 выявляла ошибки, не связанные c использованием системных команд. В горая программа служила для моделирования на одной машине выполнения P-прогpаммы из двух ветвей.

Всевозможные (допустимые и недопустимые)взаимодействия ветвей были

., представлены матрицей переходов к моделирующим или авостным подпро-

граммам. Эта же программа могла определят} время простоев машин, время

работы отдельных блоков P-программы и точ: юость вычислений. Третья программа позволяла вывести на печать заданное количество раз содержимое интересующих областей памяти перед выпот.:нением команд обмена в процессе контрольной реализации параллельной программы на ВС «Минск-222».

Четвертаяпрограммаслужиладлякорректирс^вкиP-прогpамм.

Средства анализа P-программ были представлены тремя стандартными программами. Первая программа служила для анализа распределения памяти между блоками исследуемой програм и4ы. Вторая программа предназначaлась для измерения времени простоев г[ашин ВС; она заставляла простаивающую машину считать время своего п зостоя. Третья программа применялась для измерения времени работы участков P-программы; она использовaла одну из машин системы как часы.

324

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

Пакеты прикладных адаптирующихся P-пpoгpaмм . Пакеты были

ориентированы на решение задач повышенной сложности. Параметры таких задач, как правило, не позволяли решать их на ЭВМ <сМинск-22» за удовле-

творительное время. B пакеты были включены адаптирующиеся P-пpoгpaм-

мы, т. e. такие программы, которые могли настраиваться на число машин

ВС как на параметр. Параллельные программы пакета были разделены на четыре группы (см. рис. 7.9).

Из опыта создания ПО для системы «Минск-222» установлено, что его объем отличается от объема программного обеспечения ЭВМ «Минск -22»

неболеечемна10%(табл.7.5).

7.3.4. Области применения и эффективность вычислительной системы «Минск-222»

Система «Минск-222», имевшая программируемую структуру, позволяла решать задачи, представленные как последовательными, так и параллельными программами c различными количествами ветвей. Следовательно, в число областей применения ВС «Минск-222» включались все области, где использовалась ЭВМ «Минск-22». Кроме того, на ВС «Mинск-222» можно было решать научно-технические задачи повышенной трудоемкости. Спектр

таких задач достаточно широк; об этом свидетельствует следующий список:

., 1) решение систем линейных алгебраических уравнений методом простон итерации;

2)решение систем линейных aлгебраических уравнений методом Жордана (варианты a и б);

3)решение систем линейных алгебраических уравнен методом Зейделя;

4)решение систем линейных алгебраических уравнений модифицированным методом Зейделя;

5)решение систем линейных алгебраических уравнений методом Самарского;

6)обращение матриц методом пополнения;

7)отыскание коэффициентов характeристического полинома;

8)умножение матриц;

9)решение систем нелинейных алгебраических уравнений;

10)решение общей задачи линейного программирования;

11)решение транспортной задачи;

12)численное интегрирование;

13)численное дифференцирование;

14)решение задачи интерполирования;

15)решение систем обыкновенных дифференциальных уравнений ме-

тодом Рунге Кутта;

325

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

16)расчет подвесок автопоездов;

17)решение граничных задач для линейных систем;

18)решение граничных задач для нелинейных систем;

19)решение задачи Дирихле для эллиптических уравнений;

20)решение краевой задачи для параболических уравнений;

21)решение задачи Коши для гиперболических уравнений;

22)решение задачи обтекания тела потоком жидкости;

23)моделирование работы группового р :актора;

24)моделирование термодинамических диклов газовых атомных электростанции;

25)моделирование неупрyгого рассеяни а электронов (варианты a и б); 2б) моделирование рассеяния энергии ионизирующего излучения;

27)перспективное изображение непрозрачных объектов;

28)случайный поиск c адаптацией;

29)решение проблем теории статистиче эких решений;

30)решение задачи таксономии;

31)упорядочение массивов;

32)перекрещивание массивов (варианты a и б);

33)поиск информации в больших массивах (вариантах a и б);

34)составление ведомостей (варианты a и б).

Как видно из списка, в него были вклю цены задачи, которые охваты-

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

для своего решения используют основной а )сенал вычислительной математики.

B параллельных программах решеннi iх задач были использованы известные схемы обмена информацией между ветвями: трансляционная T («одна всем»), трансляционно-циклическая ТЦ («каждая всем»), кон- вейерно-парaллельная KП («каждая сво: тм соседям»), коллекторная

K («все одной») и дифференцированная Д («любая любой»). Классификация задач по типам схем обмена . триведена в табл. 7.6, из которой видно, что не менее 90 % всех схем соста 3ляют первые три схемы обмена. Это обеспечивает в основном параллель ную работу ЭМ системы при обменах. Сравнительная редкость применени: г коллекторной и дифференцированной схем обменов гарантирует незначит ^льные простои машин ВС при реализации параллельных программ.

Примененные схемы обмена между ветвями P-программы приводят к их простой программной реализации. Благщ;аря этому при решении задач на ВС «Минск-222» системные команды в .Р-прогpаммах составляли, как правило, менее 10 % их общего объема (таЕ л. 7.7). Следовательно, можно считать, что затраты при составлении параллельных и эквивалентных им последовательных программ имеет один и тот же порядок.

326

нелинейный рост производительности

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

Номера задач

 

 

 

 

4, 10, 326, 336, 346

 

 

 

 

1, 2а, 3, 6, 9, 11, 15, 16, 18,25а,28,29

 

 

 

 

8, 13, 19, 21, 23, 26, 32а, ЗЗа, 34а

o

o

o

W

12, 256, 27

24

 

 

 

 

14, 17, 20, 22

 

 

 

 

2б, 7

 

 

 

 

5

 

 

 

 

Итого :

8

19

16

3

5лица 7.6

Д

оо оо -

оо о

1

Было установлено, что для ВС «Mинск-222» доля затрат времени на системные взаимодействия (включая синхронизацию) составляет, как правило, несколько процентов, что является следствием применения методики крупноблочного распараллеливания задач. Кроме того, выяснилось, что за счет большей емкости оперативной памяти в системе «Mинск-222» по сравнению c одной ЭВМ «Mинск-22» и за счет быстродействия каналов связи, сравнимого c быcтpoдействием ЭВМ при вьшолнении опера, получается дополнительный значительный выигрыш во времени решения задач на ВС (см. табл. 7.7).

 

 

 

 

 

 

Таблица 7.7

Номер

Число команд

Время Т1 решения на ВС

 

Т1

 

из N мaшин, мин

 

E _

задачи

 

 

 

 

NT1V

общее

системных

1

2

3

 

 

 

 

1

277

16

3-5

1,5

-

1,0-1,7

6

656

51

42

21,8

5,7

1,0-2,5

7

272

104

144

-

2,0

16

857

45

67

19

14

1,6-1,8

22

800

29

65

25

16,7

1,3

23

1167

50

195

34

-

2,9

24

1000

16

10-23

0,25-0,3

-

20-40

256

400

10

1680

840

-

1,0

26

890

8

-

600

-

 

 

Следует обратить особое внимание на парадокс параллелизма (см.

BC при пoвьпцeнии коли-табл.7.7)-

чecтвa N ЭМ (что противоречит якобы здравому смыслу, см. paзд. 333). Пa- paдoкc пapaллeлизмa был впервые обнаружен при работе на BC <dVlинcк-222».

327

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

Реакцию на обнаруженный факт легко восстановить, если учесть, что в 60-x годах ХХ в. существовало устойчивое мнение o невозможности создания параллельных средств обработки информации c большим количеством АЛУ. Считалось и «доказывалось», что увеличение б эlстродействия ВС происходит только при наращивании количества АЛУ до 10, после чего наблюдается замедление, обусловленное накладными расходаг ш на организацию совместной работы нескольких АЛУ. Да, все это было пра: зильно, только неверными были концептуальные подходы к организации параллельных ВС.

Экспертные оценки показали, что сложность программирования для ВС «Минск-222» (по сравнению со сложностью программирования для од-

ной ЭВМ «Минск-22 ») возрастает на 10...20 %, a при развитой библиотеке стандартных параллельных программ на 5.. .10 % .

Вычислительные системы «Минск-222> в течение многолетней эксплуатации в различных организациях СССР показали высокую эффективность при решении широкого круга задач.

Следует особо подчеркнуть, что архитектурные решения, реализованные в ВС <сМинск-222», стали, по сути, каноническими. Схемы обмена ин-

формацией между ветвями P-программ (см. 1^азд. 3.3.5) и рассмотренные в данном параграфе системные команды нашли отражение в современном инструментарии, используемом при построении распределенных и параллель-

ных ВС. Так, в MPI (Message Passing Interf асе) библиотеке функций,

предназначенной для поддержки параллельных процессов применяются

как дифференцированный (Point-to-point Соmmunication), так и коллективные взаимодействия (Collective Communications). В табл. 7.8 приведены ос-

новные виды системных взаимодействий и реализующие их команды ВС

«Минск-222» и функции MPI.

Таблица 7.8

Вид взаимодействия

Команды ВС «Минск-: 22»

Дифференцированный

П, ПР

обмен

 

Трансляционный обмен

П, ПР

Трансляционно-

П, ПР,

циклический обмен

n итераций

Коллекторный обмен

П, ^^'

n — 1 итерация

 

Синхронизация

ОУПо

элементарных машин

 

Разбиение ВС

н'

на подсистемы

Функции MPI

MPISend, MPIRecv

— —

MPI_Bcast

MPI_Alltoall или MPIпAllscatter

МР' Gather

МР'_Barrier

MPI_Сотт_group MPI_Group_incl MPI Comm create

MPI_Сагн_create

328

7.4. Вычислительная система МИНИМАКС

Полученный опыт по проектированию, математической и технической

эксплуатации «Минск -222» был использован в последующих проектах

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

7.4. Вычислительная система МHIШИМАКС

Вычислительные системы, которые формировались из аппаратурно-

программньх средств мини-ЭВМ, относились к группе мини -ВС. Построе-

ние таких ВС было одной из основных тенденций развития ВТ 1970-x годов

(см. § 6.2 и 6.6). Опыт эксплуатации показал, что при решении большого круга задач мини-ВС были более эффективны c точки зрения производительности, надежности, живучести и стоимости, чем одна или даже несколько больших ЭВМ третьего поколения.

Работы по созданию ВС из мини-машин достаточно интенсивно велись в США. Однако общей концепции построения таких систем американские специалисты не выработали. Анализ проектов показывает, что использовaлись в основном три способа организации ВС: системы c общей памятью; ВС c общей шиной (или системой шин), к которой подк.тпочались

процессоры, запоминающие и другие устройства; системы, в которых ма-

шины взаимодействовали через общую группу устройств ввода-вывода ин-

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

При создании мини-ВС в Советском Союзе за основу была взята кон-

цепция ВС c программируемой структурой (см. рaзд. 3.4.2, § 7.1, 7.2, [5]). Архитектурные решения в области мини-ВС, опыт их проектирова-

ния, разработки системного и прикладного ПО нашли массовое применение только в конце ХХ в. Именно вычислительные кластеры являются по существу многопроцессорными или многомашинньции ВС, конфигурируемыми из микропроцессоров или персональных ЭВМ (например, ЭВМ РС). При этом заметна архитектурная близость мини-ЭВМ и современны персональных компьютеров.

Ниже описывается МИНИМАшииная программно Коммутируемая Система (МИН C), созданная Институтом математики СО АН СССР

(Отделом вычислительных систем) и Научно-производственным объедением «Импульс» Министерства приборостроения, средств автоматизации и систем управления СССР (г. Северодонецк). Технический проект МИЕМАКС разработан в 1974 г., a опытно-промышленный образец системы был изготовлен и отработан в 1975 г.

Архитектура системы МИНИМАКС:

• МГМД-архитектура;

329

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

распределенность средств управления, обработки и памяти;

параллелизм, однородность, модульностi

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

двумерная (циркулянтная) топология;

масштабируемость;

живучесть;

максимальное использование промышлеi iных средств мини-ЭВМ.

7.4.1. Функциональная структура мини-ВС МИНИМАКС

Функциональная структура мини-ВС МИНИМАКС композиция из произвольного количества элементарных машин и программно настраиваемой сети связей между ними. Мини-ВС МИНИМАКС обладала свойством масштабируемости: в ней количество ЭМ не было фиксировано и определялось сферой применения.

Взаимодействия между ЭМ в системе МИНИМАКС осуществлялись через сеть связей (рис. 7.10), которая формировалась из одномерных 1 и двумерных 2 полудуплексных каналов. Одномерные каналы связи 1 были управляющими; они служили для программирован я соединений между ЭМ по каналам связи 2, a также для передачи между ЭМ управляющей информации, регламентирующей использование общих ресурсов (внешних устройств, сервисных программ, файлов и т. п.). двyмерные каналы связи 2 являлись рабо-

чими; они применялись для следующих целен: реализации основных межма-

L г г г

I2

H

в ЭM

:::

1

г i

 

- =_l=::

i

Рис. 7.10. Функциональная структура мини-ВС МИНИМАКС:

ЭМ — элементарная машина; 1 — одномерные управлт ющие каналы; 2 — двумерные рабо-

чие каналы

330

7.4. Вычислительная система МИНИМАКС

ШИННЫХ взаимодействий, пересылки массивов данных между памятями пере-

дающем ЭМ и одной или нескольких принимающих ЭМ, передачи адресов из одной ЭМ в другую и обмена логическими переменными между мaшинами.

Системные взаимодействия, осуществлявшиеся в мини-ВС, были сле- дующих типов :

1)программное изменение структуры мини-ВС и степени участия ЭМ

всистемных взаимодействиях (настройка);

2)передача информации из оперативного запоминающего устройства одной ЭМ в памяти других (обмен);

3)выполнение ОВП;

4)синхронизация работы ЭМ;

5)реализация ОУП по значению признака S.

Выбором размерности связей между ЭМ достигался компромисс междy архитектурной гибкостью и живучестью системы, c одной стороны, и сложностью системных устройств ЭМ c другой. Именно учет интенсивностей взаимодействий типов 2-5 при функционировании мини -ВС и стремление обеспечить гибкость и живучесть системы обусловили двумерность каналов связи 2. Сравнительная редкость взаимодействий 1-гo типа позволила ограничиться для их выполнения одномерными каналами связи 1. Необходимая живучесть мини-ВС в целом обеспечивалась замыканием связей 1 в кольцо и возможностью обхода дефектов связей 1 по связям 2 (см. рис. 7.10).

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

Структура системы MHHHMAKC, приведенная на рис. 7.10, была удобна для реализации параллельных программ сложных задач. Однако в опре-

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

структуры (в смысле структурной живучести, см. разд. 7.2.1). Поэтому при

компоновке мини-ВС, состоявшей из N ЭМ, использовались для отождествления полюсов связей 1 (см. рис. 7.10) одномерные структуры, a для отож-

дествления полюсов связей 2 оптимальные двyмерные структуры, точнее,

Д2-графы. Оптимальные структуры мини-ВС MHHHMAKC при количестве ЭМ от 5 до 10 показаны на рис. 7.11, a при числе ЭМ более 10 могут быть выбраны из каталога оптимальных структур (см. табл. 7.1, 7.2 и 2.4 в [5]).

B пределах мини-ВС МИIШМАКС допускалось формирование произвольного числа подсистем из любого количества ЭМ. Подсистему составляли

331

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

a

6

в

г

д

e

Рис. 7.11. Оптимальные СТРУКТУРЫ мини-ВС МИНI (МАКС, D2-графы вида: a — {5; 1,2}; б — {б; 1,2}; в — {7; 1,2}; г — {8; 1,3}; д — {9; 1,4}; e — {1О; 1,4}

взаимодействовавшие друг c другом ЭМ вместе c машинами, которые использовались в качестве транзитных пунктов передачи информации. Каждая ЭМ могла входить только в одну из подсистем (ПС2), образованных по связям 2. Вместе c тем она могла входить и в одну из подсистем (ПС 1), образованных по связям 1. Машина, принадлежавша: i подсистемам ПС1 и ПС2, не могла одновременно участвовать в нескольких взаимодействиях. Подсистемы

ПС2 могли сохраняться в течение нескольки следующих друг за другом взаимодействий. Подсистемы ПС1 образовывались только на время одного взаимодействия и разрушались после его выпо.т:нения.

7.4.2. Элементарная машина мине: -ВС МИНИМАКС

Вычислительная система МИНИМАКС компоновалась из ЭМ-много- полюсников (рис. 7.12). Каждая ЭМ это ком iпозиция из ВМ и СУ. Структура ЭМ данной мини-ВС не была жестко заданной и определялась областью применения. Состав каждой ЭМ допусв:ал варьирование; компоновка ЭМ проводилась по правилам, которые были приняты для агрегатных средств ВТ на микроэлектронной основе (АС ВТ-М) или для средств систе-

332

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