Информатика в техническом университете / Информатика в техническом университете. Архитектура вычислительных систем
.pdf4.6.Анализ конвейерных вычислительных систем
•оборона и военные приложения; моделирование и планирование обороны, наступления и боя; управление сложными техническими системами; предсказание климата после военны действий и погоды после боя; борьба c биотерроризмом и эпидемиями;
•промышленность, машиностроение, энергетика, металлургия; создание новых материалов; нанотехнологии и наноматериaлы; анализ, проектирование и обеспечение безопасности в автомобилестроении; нефтехимическии сейсмический анализ и др.
4.6.Анализ конвейерныx вычислительных систем
Значительный интерес (на протяжении более Зо последних лет ХХ в.) к конвейерным ВС объяснялся тем, что они позволили преодолеть барьер производительности машин третьего поколения и давали рекордную производительность.
Конвейерные процессоры являются пределом модификации архитектypы последовательной ЭВМ. Следовательно, возможности повышения быстродействия средств ВТ при помощи конвейерной обработки информации принципиально ограничены: последовательность операции при передаче результатов по конвейеру не может быть произвольно длинной хотя бы изза ограниченной надежности элементарных блоков обработки.
Конвейерные процессоры в архитектурном плане занимают промежуточное место среди средств обработки информации, базирующихся на модели вычислителя, и средств, основанных на модели коллектива вычислителей. Существует тенденция к неуклонному совершенствованию архитектуры конвейерных ВС в направлении к коллективу вычислителей. Высокий уровень быстpодействия был достигнут в конвейерных ВС за счет мультиконвейерности (параллельной работы множества конвейеров) и конвейеризации на микроуровне (на уровне фаз выполнения арифметическиx операций).
Параллельно-векторные системы (PVP-systems) отражают предельный вариант в совершенствовании архитектуры конвейерных ВС. B самом деле,
РVР-система это коллектив, образованный из процессоров, a последние, в свою очередь, есть ни что иное, как композиция конвейеров. Следовательно,
PVP-системы основываются на самой совершенной платформе на MIMD-
архитектуре и распределенности ресурсов.
Разнообразие конвейерных ВС следствие возможностей в технической реализации модели коллектива вычислителей. Три принципа (см. рaзд. 3.1.1), положенные в основу коллектива вычислителей, достаточно ярко проявляются во всех конвейерных системах.
191
4. Конвейерные вычислительные системы
1.Парaллельность выполнения операций в конвейерных системах обес-
печивается на различных уровнях. На макроуровне параллельность выража-
ется в возможности параллельной работы пропзвольного числа процессоров
(Cray-2 до 4, Cray Y-МР до 8, Cray С90 -- до 16, Cray Т90 до 32). На
уровне процессоров предусматривается возможность параллельной работы
порядка 10 конвейеров (в STAR-100 трех, в Cray-1 |
12). На микроуровне |
закладывается возможность организации конве иеров из Десятков элементар-
ных блоков обработки информации (Cray-1 о т 1 до 14, STAR-100 до 30).
2. Программируемость структуры п.)инцип, который c развитием архитектуры конвейерных ВС находит все более полное воплощение. Так, например, в STAR-100 обеспечивалась избирательная обработка компонентов
векторов данных путем введения специального булевского вектора. B Cray-1
стало возможным программировать последовательность использования
12 конвейеров процессора. B последующих раз: заботках систем Cray реализо-
вана возможность программирования межпроцс;:ссорных взаимодействии.
3. Конструктивная однородность принцип, который в конвейерных ВС проявляется достаточно четко. Даже для простых конвейерных систем характерно наличие нескольких идентич Еiых (или почти идентичных) конвейеров, небольшое разнообразие элементарных блоков обработки для формирования конвейеров, регулярность связй между блоками в конвейере, наличие нескольких одинаковых блоков в конвейере. Мультиконвейерные ВС (РУР-системы) полностью основаны на принципе однородности: это композиция множества однородных процессоров. B мультиконвейерных ВС каждый процессор это композиция конвейеров c канонической структурои.
Мультиконвейерные ВС (PVP-systems) т юзволили достичь быстродействия, измеряемого в десятках GigaFLOPS.
Технико-экономические соображения и необходимость достижения высокой производительности и архитектурного с эвершенства обусловили пере-
ход Cray Research Inc. на платформу распреде пенных средств обработки ин-
формации, полностью основанных на модели коллектива вычислителей. Это дало возможность фирме создать ВС, обладаю гцие быстpодействием в диапа-
зоне от GigaFLOPS до TeraFLOPS (см. МРР-системы: Cray ТЗD и Cray ТЗЕ).
Архитектурным совершенством начала XXI в. обладают сверхвысо-
копроизводительные ВС семейства Cray X. Данное семейство полностью
основывается на модели коллектива вычисл^ителеи, оно в высшей степени
впитало в себя архитектурные, функциональные и структурные достижения
РУР- и МРР-систем.
Конвейерные ВС стартовали в 1970-x годах c производительностью
порядка 100 MFLOPS (STAR-100, 1973 г.; Сrа у-1, 1976 г.); к 1990 г. они достигли быстродействия 1 GFLOPS (Cray-2, 1986 г. и Cray Y-МР, 1989 г.).
192
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 |
AП |
в 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
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
