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

khor32

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

4. б. Анализ конвейерных вычислительных систем

B 2007 г. производительность вы яслительньiх систем, вьцгускаемьх Cray Inc., оценивается в несколько десятков TFLOPS; в 2010 г. системы будут обладать быстродействием один квадрил тяон операций в секунду 1 PFLOP S .

диалектическое развитие архитектуры конвейерных ВС привело к

следующим результатам :

1) конвейерные ВС <апереродились» в распределенные мультипроцес-

сорные системы c МГМД-архитектурой и массовым параллелизмом;

2) каноническая структура конвейера, которая была основой архитектypы суперЭВМ (конвейерных ВС 1970-1980-x годов), получила внедрение

в микропроцессорных больших интегральных схемах (например, в микро-

процессорах Intel Pentium, IBM Power РС, DEC Alpha, AMD Opteron, Intel Xeon);

з) современные «конвейерные» микропроцессоры по своей производительности превосходят векторные суперЭВМ 1970-1980-x годов.

Таким образом, ход развития архитектуры конвейерных вычислительных систем (канонический конвейер, первые ВС, РVР-системы, МРР-систе- мы, сверхвысокопроизводительные ВС) показывает, что фирмы-разработчи-

ки за тридцатилетний период прошли путь от простейших конвейерных ВС (108 опер./c) до PFL0PS-систем, полностью основанных на модели коллек-

тива вычислителеи.

Мировой опыт работы в области конвейерных систем привел к необходимости создания распределенных ВС c программируемой структурой, концепция которых была сформулирована, теоретически и практически обоснована еще в 60-x и 70-x годах ХА столетия в Сибирском отделении

АН СССР.

5. МАТРИЧНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ

Матричные ВС обладают более широкими aрхитектурными возможностя-

ми, чем конвейерные ВС: их каноническая архитектура относится к классу i'1МD. Матричные ВС — системы c массовым параллелизмом (Massively Parallel Processing Systems), следовательно, они не имеют принципиальных

ограничений в наращивании своей производип^ ельности.

Матричные ВС предназначены для решения c Сложных задач, связанных c выполнением операций над векторами, матрицами и массивами данных (Data

Arrays).

Работы по созданию матричных систем были начаты в 60-x годах ХХ столетия, первые высокопроизводительные (108 опер./c) реализации ВС появились в 1970-x годах. Современные ВС, кото1 ые завершают архитектурный ряд матричных систем, обладают быстроде йствием порядка 1012 опер./с.

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

5.1. Каноническая функциональная структура матричного процессора

Матричный, или векторный процессор (Аггау Processor) представляет собой «матрицу» связанных идентичных элементарных процессоров (ЭП), управляемых одним потоком команд (рис. 5.1). Каждый ЭП включает в себя АЛУ, память и локальный коммутатор. Сетi связей между ЭП (точнее, локальными коммутаторами) позволяет осуществлять обмен данными между любыми процессорами. Поток команд поступает на матрицу ЭП от единого устройства управления (SIMD-архитектура, в каноническом виде).

Архитектура матричного процессора бы.1а выбрана в начале 60-x годов ХХ в. и обоснована существовавшими экономическими ограничениями и необходимостью обеспечения высокой прои зводительности при решении сложных задач. B самом деле, в то время осн овная доля стоимости ЭВМ приходилась на схемы устройства управления, a не на схемы АЛУ или

194

5.1. Каноническая функциональная структура матричного процессора

Устройство управления

Рис. 5.1. Матpичный процессор:

ЭП - элементарный процессор

памяти. Поэтому централизация устройства управления и параллелизм уст-

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

процессоров, матричная архитектура вновь стала технико-экономически

привлекательной.

Существует широкий спектр сложных научных, технических и экономических задач, которые эффективно решаются на матричнох процессорах. При решении сложных задач фактически один и тот же алгоритм параллельно (одновременно) реализуется над многими частями исходного массива данныx. Ясно, что перед решением сложной задачи на матричном процессоре

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

свои компоненты векторов или свои локальные массивы данных.

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

Безусловно, матричные процессоры ориентированы на работу в монопрогpаммном режиме (когда решается только одна задача, представленная в параллельной форме). Однако такие процессоры можно использовать и в мультипрограммных режимах (когда решается несколько задач или выполняется несколько параллельных программ c различным числом ветвей в общем случае). Реализация мультипрограммных режимов в матричном процессоре осуществляется за счет разделения и «ремени», и <пространства».

7*

195

5.Матричные вычислительные системы

Всамом деле, в матричном процессоре имеется единственное устройство управления и множество ЭП, следовательно, 3 мультипрограммной ситуа-

ции должны «делиться» время первого и элел%.ентарные процессоры («простpанство») между программами.

Первая матричная ВС SOLOMON (Simultaneous Operation Linked Ordinal MOdular Network вычислительная сеть синхронно функционирую-

щих упорядоченных модулей) была разработана в Иллинойском универси-

тете (University of Illinois) США под рукой водством Даниэль Слотника (Daniel L. Slotnick). Планировалось, что она - 13] будет иметь матрицу из

32 x 32 элементарных процессоров, способную выполнять операции над словами c переменной разрядностью от 1 до 128 разрядов. 'Каждый ЭП должен был иметь в своем составе АЛУ c последовательной поразрядной обработкой и память емкостью 16 K бит. Все ЭП в любой момент времени

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

Устройством управления в системе SOL,ЭMON могла служить серий-

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

Работы по проекту SOLOMON велись c; 1962 г., однако этот проект промышленного воплощения не нашел; в 1963 г. был создан лишь макет ВС размером 3 x 3 элементарных процессора. По: зднее была построена конфи-

гурация ВС размером 10 x 10 ЭП в фирме Westinghouse Electric Corp.

5.2. Вычислительная система ILLIAC IV

Матpичная ВС ILLIAC IV создана Ил линойским университетом и корпорацией Бэрроуз (Burroughs Corporation). Р .боты по созданию ILLIAC IV

были начаты в 1966 г. под руководством Д.Л. Слотника. Монтаж системы

был закончен в мае 1972 г. в лаборатории фирмы Burroughs (Паоли, штат

Панама), a установка для эксплуатации осуществлена в октябре 1972 г. в Научно-исследовательском центре НАСА им. Эймса в штате Калифорния

(NASA's Ames Research Center; NASA

National Aeronautics and 5расе

Administration

Национальное управление аронавтики и космоса). Коли-

чество процессоров в системе

64; быстрод. йствие

2 108 опер./c; ем-

кость оперативной памяти

1 Мбайт; полезное время составляло 80...85 %

общего времени работы ILLIAC IV, стоимость 4 • 10' долл., вес

75 т, за-

нимаемая площадь 930 м2

196

5.2. Вычислительная система ILLIAC IV

Система ILLIAC IV была включена в вычислительную сеть ААРА (Advanced Research Projects Agency Управление перспективных исследо-

вании и разработок Министерства обороны США) и успешно эксплуатировалась до 1981 г.

Публикация o проекте SOLOMON* появилась примерно через шесть

месяцев после первой печатной работы [14] по однородным ВС, изданной в

Сибирском отделении АН СССР; вариант ILLIAC IV ** реализован через

шесть лет после создания советской системы <сМинск-222» [5].

5.2.1. Функциональная структура системы ILLIAC IV

Матричная ВС ILLIAC IV (рис. 5.2) должна была состоять из четырех

квадрантов (К1 -K4), подсистемы ввода-вывода информации, ведyщей ВС B 6700 (или B 6500), дисковой памяти (ДП) и архивной памяти (АП). Пла-

нировaлось, что ВС обеспечит быстродействие 10 9 опер./c. B реализованном

варианте ILLIAC IV содержался только один квадрант, что обеспечило быстродействие 2 10в опер./c. При этом ILLIAC N оставалась самой быстро-

действyющей ВС вплоть до 80-x годов ХХ в.

Квадрант матричный процессор, включавший в себя устройство управления и 64 ЭП. Устройство управления представляло собой специализированнyю ЭВМ, которая использовалась для выполнения операций над скалярами и формировала поток команд на матрицу ЭП. Элементарные про-

Подсистема ввода-вывода

вC

в 6700

Сеть

Периферийные

ARPA

устройства

Быстродействующие телефонные каналы

Рис. 5.2. Функциональная структура системы ILLIAC IV:

K квадрант; ДП дисковая память; АП архивная память

*Slornick D.L. e. a. The SOLOMON Computer//Proc. EJCC. 1962. P. 97-107.

**Cлотник Д и др. Система HJULHAK ГУ/ГГI'H4ЭР, 1972. T. 60. N9. 4. C. 36-62.

197

5. Матричные вычислительные системы

56

57

^

 

54

55

L ^

 

 

 

О -I 1 --k-

k-1

k+8 - ••• - 62

- 63-

 

 

 

 

1 T T

8

9

 

 

б

7

56

57

а

 

 

 

o

1 -2

 

 

T

 

к-

 

8

9

 

 

 

k -i

 

 

 

k+ 8

 

 

 

_1_

55

 

 

54

61 -62-63 -

-т т

6 7

б

Рис. 5.3. Варианты изображения структуры квадранта ILLIAC IV

цессоры матрицы регулярным образом были c 3язаны друг c другом. Структура квадранта системы ILLIAC IV представл. ^лась двумерной решеткой, в

которой граничные ЭП были связаны по канонической схеме (см. рис. 5.1). Позднее подобные структуры стали называть ;я Дп-графами (термин предложен в Отделе вычислительных систем СО АН СССР [5]), и еще позже, в 90-x годах ХХ в., циркулянтными графаг4и. Структура квадранта ВС

ILLIAC IV представляла собой D2-граф вида {б4; 1, 8} (см. разд. 3.1.2).

Следовательно, в этой структуре, например, П c номером 0 был связан c ЭП, имевшими номера 1, 8, 56, 63 (рис. 5.3).

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

одновременное выполнение скалярных и векторных операций . Таким обра-

зом, в ILLIAC IV была заложена возможно ять параллельной работы не

только ЭП в матрице, но и устройства управления и матрицы в целом.

B системе ILLIAC IV использовалось слово длиной 64 двоичных раз-

ряда. Числа могли представляться в следующи:; форматах: 64 или 32 разряда c плавающей запятой, или 48, или 24, или 8 рарядов c фиксированной запятой. При использовании б4-, 32- и 8-разрядны: форматов матрица из 64 ЭП могла обрабатывать векторы операндов, состоявшие из б4, 128 и 512 компо-

нентов. Система ILLIAC IV при суммировании 512- и 8-разрядных чисел

198

гистp, использовавшийся как временная память,
имела быстродействие почти

5.2. Вычислительнaя система ILLIAC IV

1010 опер./c, a при сложении 64-разрядных чи-

сел c плавающей запятой 1,5 • 10в опер./c.

Каждый ЭП имел накапливающий сумматор, регистр второго операнда, регистр передаваемой информации (из данного ЭП в соседний ЭП), ререгистр модификации ад-

ресного поля команды, регистр состояния данного ЭП..,Элементарный про-

цессор мог находиться в одном из двух состояний

активном или

пассивном. В первом состоянии ему разрешалось, a во втором запрещалось выполнять команды, постyпавшие из устройства управления. Состояние ЭП задавалось при помощи специальных команд. Среди них, например, была команда, устанавливавшая в пассивное состояние все ЭП, y которых передаваемая информация была больше содержимого накапливающего сумматора. Накапливающий сумматор и все регистры ЭП были программно адресуемы. Они имели б4 разряда, кроме регистров модификации адреса и состояния, которые состояли из 16 и 8 разрядов соответственно.

Память каждого ЭП обладала емкостью 2048 64-разрядных слов, была реализована на биполярных интегральных схемах и время цикла составляло 300 нс. K каждой памяти непосредственный доступ имел собственный ЭП. Обмен информацией между памятями различных ЭП осуществляется по сети связи при помощи специальных команд пересылок.

Подсистема ввода-вывода состояла из устройства управления, буфер-

ного запоминающего устройства и коммутатора. Комплекс этих устройств обеспечивал обмен информацией между квадрантами ILLIAC N и средст-

вами ввода-вывода: ЭВМ В 6700, дисковой и архивной памятью, периферийными устройствами, сетью ААРА.

Ведущая ВС B 6700 мультипроцессорная система корпорации

Burroughs; могла иметь в своем составе от 1 до 3 центральных процессоров

и от 1 до 3 процессоров ввода-вывода информации и обладала быстродействием (1...3) • 106 опер./c. Она использовалась для реализации функций операционной системы (включая ввод-вывод информации, операции по компиляции и компоновке программ, распределение аппаратных ресурсов, исполнение служебных программ, например таких, как программы перезаписи

«перфокарты диски», «перфокарты ленты» и т. п.). По сути, система

В 6700 являлась быстродействующим периферийяым устройством ILLIAC N.

дисковая память (ДП) состояла из двух дисков и обрамляющих электpонных схем, она имела емкость порядка 109 бит и была снабжена двумя каналами, по каждому из которых можно было параллельно передавать и принимать информацию со скоростью 0,5 • 109 бит/c. Среднее время обращения к диску составляло 20 мс.

Архивнaя память (АП) постоянная лазерная память c однократной

записью, разработанная фирмой Precision Instrument Company емкостью

199

5. Матричные вычислительные системы

1012 бит. Запись двоичных данных осуществлв :лась аргоновым лазером путем прожигания микроскопических отверстии в металлической пленке, нанесенной на полоски полиэфирной подложки. На каждой полоске можно было записать около 2,9 млрд бит. Имелось 400 информационных полосок, которые размещались на вращающемся барабане. Время поиска данных на любой из 400 полосок достигало 5 c; время писка в пределах полоски 200 нс. Существовало два канала обращения к архивной памяти, скорость счи-

ть вания и записи данных по каждому из которыx . была равна 4. 10 6 бит/c.

B системе ILLIAC IV насчитывалось бс лее 6 • 10 6 электронных ком-

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

5.2.2. Программное обеспечение ВС ILLIAC IV

Главная цель разработки ILLIAC IV

Создание мощной ВС для ре-

шения задач c большим числом операций (см. разд. 3.34). Программы таких задач были структурно единообразны, они содержали три части.

1. «Предпроцессорная» часть обеспечив aла инициирование задачи и десятично-двоичные преобразования. Эта часть обычно имела последовательную форму представления.

2.«Ядро» осуществляло собственно реш :ние задачи и представлялось

впараллельной форме. Размер ядра составлял 5...10 % полного объема программы, но его исполнение на последовательной машине требовало 80...95 % рабочего времени.

3.«Постпроцессорная» часть осуществляла запись результатов в архивные файлы, двоично-десятичные преобраз )вания, вычерчивание графиков, вывод результатов на печать и т. п. Эта часть, как правило, имела последовательнyю форму представления. Из «постпроцессорной» части управление могло быть передано в «ядро» д: iя выполнения последующих итерации.

Главная цель создания ILLIAC IV и предопределила возможности

программного обеспечения: операционной сис темы и средств программирования.

Операционная система ILLIAC IV состояла из набора асинхронных программ, выполнявшихся под управлением главной управляющей программы B 6700. Она работала в двух режимах: в первом режиме выполнялся контроль и диагностика неисправностей в ква дранте и в подсистеме ввода-

200

5.2. Вычислительная система ILLIAC IV

вывода информации; во втором

осуществлялось управление работой

ILLIAC Гу при поступлении на B 6700 заданий от пользователей. Задание для ILLIAC IV обычно состояло из перечисленных ниже составных частей.

1. Программы B 6700, написанные, как правило, на версиях языков

ALGOL или FORTRAN и осуществлявшие подготовку (и преобразование)

двоичных файлов. Эти программы представляли собой «предпро-

цессорнyю» часть программы решаемой задачи.

2. Программы ILLIAC IV, обычно написанные на языках Glynpir или FORTRAN, которые использовались ILLIAC IV (составляли «ядро») для об-

работки файлов, подготовленных программами B 6700, a также для форми-

рования двоичных выходных файлов.

з . Программы B 6700 ( на версиях языков ALGOL или FORTRAN), которые преобразовывали двоичные файлы ILLIAC IV в требуемый выходной

формат. Они составляли <аiостпроцессорную» часть программы решаемой задачи.

4. Программа на управляющем языке Iiliac , определявшая задание.

Эта программа ориентировала операционную систему на работу, предусмотpеннyю заданием. (допускалось использование операционной системы для одновременного выполнения нескольких программ на управляющем языке.)

Средства программирования ILLIAC IV включали язык ассемблера

(AssemЫer Language) и три языка высокого уровня: Tranquil, Glynpir, FORTRAN.

Язык ассемблера ILLIAC IV традиционный язык программирова-

ния, адаптированный под архитектуру ВС. B частности, он имел сложные

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

., дартных операций ввода-вывода и других операции связи между програм-

мами B 6700 и ILLIAC IV. Кроме того, в языке ассемблера были предусмот-

рены псевдооперации, использовавшиеся для распределения памяти и элементарных процессоров.

Языки высокого уровня благодаря архитектурным особенностям

ILLIAC IV отличались от соответствующих языков ЭВМ.

1. Распределение двyмерной памяти. Была разрешена адресация от - дельных слов в памяти ЭП и строк (из 64 слов) в пределах запоминающих устройств матрицы ЭП. Адресация по «столбцy» группы слов в памяти одного ЭП была недопустима.

2. Параллелизм и управление режимом обработки. Параллелизм ВС

предопределяет работу c векторами данных. Следовательно, языки ILLIAC ГУ

должны были допускать операции над векторами данных или строками

матриц. Размерность вектора и количество подлежащих обработке элемен -

тов вектора определялись словами режима. Языки ILLIAC IV обеспечива-

201

5. Матричные вычислительные системы

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

З. Вид команд пересылок и индексации. Каждый из языков ILLIAC IV

должен был содержать команды пересылок 4 индексации c различными приращениями в каждом элементарном процессоре.

Tranquil подобен языку ALGOL и полное тью не зависел от архитектуры ILLIAC IV. Он был разработан для обеспечония параллельной обработки массивов информации. Компилятор языка Tran quil потребовал больших системных затpат, связанных c маскированием аритектуры ILLIAC IV. Поэто-

му работы по созданию компилятора были про постановлены и предприняты

шаги по модификации языка Tranquil.

Glynpir являлся языком также алгольног^ з типа c блочной структурой.

Он позволял опытному программисту исполь ювать значительные возмож-

ности архитектуры ВС ILLIAC IV.

Язык FORTRAN был разработан для рядо.3ых пользователей ILLIAC IV. Он в отличие от Glynpir освобождал пользова геля от детального распреде-

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

вательной и выполнить ее на одном ЭП. Иныг мни словами, FORTRAN давал

возможность отлаживать параллельные прогр2 ммы на одном элементарном

процессоре. B языке FORTRAN нашли отражение многие операционные свойства языков Tranquil и Glynpir. B результ ате длительной эксплуатации системы ILLIAC IV установлена высокая эффЕ ктивность транслятора c языка FORTRAN на Glynpir.

5.2.3. Применение ВС ILLIAC IV

Вычислительная система ILLIAC IV вход мила в состав сети ААРА. Она

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

учитывать, что ВС ILLIAC IV управлялась одним потоком команд, т. e.

структура системы позволяла одновременно F.ыполнять одинаковые операции над 64 множествами данных, записанных в памяти различных ЭП. Сле-

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

202

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