Назначения с массовым параллелизмом



Pdf просмотр
страница1/3
Дата14.02.2017
Размер2.52 Mb.
Просмотров716
Скачиваний0
  1   2   3

1
ПС-2000 – МНОГОПРОЦЕССОРНЫЙ КОМПЬЮТЕР ОБЩЕГО
НАЗНАЧЕНИЯ С МАССОВЫМ ПАРАЛЛЕЛИЗМОМ
Ю.С. Затуливетер, Е.А. Фищенко
Институт проблем управления им. В. А. Трапезникова РАН
zvt@ipu.rssi.ru, elena.fish@mail.ru
Введение
В настоящее время активно развивается новая ниша компьютерного рынка по созданию однокристальных многоядерных компьютеров общего назначения (General Purpose – GP) с массовым параллелизмом. Этот рынок охватывает весь диапазон применений – от массовых устройств мобильной связи и встраиваемых систем управления, до суперкомпьютеров производительностью 1-1000 Пфлопс и более. Наиболее известными примерами таких компьютеров служат графические процессорные устройства GP GPU (General Purpose Graphics Processing Units), выпускаемые фирмами nVIDIA и AMD (ATI), гетерогенные мультипроцессоры CELL, MIC Intel и другие, которые изначально специализировались и балансировалась под узкие классы задач. Так производители nVIDIA и
AMD (ATI) начинали осваивать массовые рынки с изготовления графических ускорителей
(видеоплат) для ПК. Входе их развития к середине х сформировался новый рыночный класс однокристальных многопроцессорных компьютеров – GPU (Graphics Processing Units) Одним из родоначальников класса высокопроизводительных компьютеров общего назначения с массовым параллелизмом стал отечественный многопроцессорный компьютер ПС [1-5]. Это был один из первых в мире суперкомпьютеров, который выпускался большой промышленной серией и имел широкое народнохозяйственное применение в е годы, а на некоторых объектах использовался до концах. Его оригинальная, структурно масштабируемая многопроцессорная архитектура доказала свою высокую вычислительную эффективность и экономическую рентабельность во многих сферах промышленной обработки данных, в научно-инженерных расчётах, в системах обработки потоков данных реального времени и больших объёмов данных (в том числе обработка космической телеметрии, гидроакустических сигналов дальнего обнаружения и др. В сфере промышленной обработки геофизических данных он более чем успешно конкурировал с приобретёнными в обход эмбарго зарубежными суперкомпьютерами лучших мировых производителей. Уступая в десятки раз по рабочей частоте, ПС не уступал в реальной производительности и на порядки выигрывал в себестоимости производства и эксплуатации. Подтверждённый экономический эффект лишь на десятой части эксплуатировавшихся центров обработки сейсмоданных в целях поиска нефти и газа к середине х составил сотни млн. в долларовом эквиваленте. Важнейшая особенность высокопараллельной архитектуры ПС состоит в том, что её эффективность не определяется жёсткой привязкой к особенностям технологической базы. Это нашло подтверждение в том, что, несмотря на более чем скромные возможности задействованной элементной базы, по показателям абсолютной и реальной производительности компьютеры ПС благодаря преимуществам своей архитектуры в е годы длительное время находились на достойных позициях мирового списка суперкомпьютеров Top500. Притом, что рабочая частота в десятки раз уступала соседям по списку. По потенциалу совершенствования экономического показателя производительность/стоимость эта архитектура остаётся одной из лучших в своём классе ив настоящее время. По признанию зарубежных специалистов [6,7] ПС был одним из самых продвинутых и быстродействующих советских компьютеров. По сути, ПС с опережением более чем на 2 десятилетия стоял у истоков нового класса высокопроизводительных систем – многопроцессорных компьютеров общего назначения для задач с массовым параллелизмом, отвечающих индустриальным требованиям многотиражного производства, применения и программирования.

2 Искусство творения компьютеров имеет свои вершины мастерства. Высокопараллельные многопроцессорные архитектуры, выходя за пределы классической модели последовательного счета, требуют от создателей нестандартного научного и здравого инженерного мышления. Здесь несогласованные мысли могут взлетать очень высоко, чтобы затем разбиться о жесткие реалии. В этой рекордной области архитектурных тайн и сегодня остается значительно больше, чем найдено решений. И тем ценнее достижения, прошедшие проверку практикой большого промышленного производства и применения. Оригинальные, выстроенные с большим, опережающим своё время, идеологическим запасом, архитектуры, не уходят в небытие вслед за устаревшей элементной базой.
1.

Востребованные миллиарды
Создание высокопроизводительных вычислительных систем для обработки больших объёмов данных к середине х годов стало высокоприоритетной народнохозяйственной задачей. Такие системы были необходимы при промышленной обработке геофизических данных сейсморазведки для поиска месторождений нефти и газа, при обработке в реальном времени изображений, поступающих со спутников Земли для сельского хозяйства, картографии, метеорологии и т. п. Еще более мощные системы требовались при обработке в реальном времени телеметрической и акустической гидролокационной информации. Особенностью таких задач является то, что они эффективно решаются алгоритмами с массовым параллелизмом (на уровне простых операций и выше. Ранее отечественное (как и зарубежное) компьютеростроение в разработках высокопроизводительных систем ориентировалось в первую очередь на задачи оборонного характера [3]. Закрытые институты, занимавшиеся многопроцессорными архитектурами, решали задачи специального назначения. Их многолюдные и крайне дорогостоящие разработки изначально не отвечали требованиям экономической рентабельности, поэтому не предназначались для удовлетворения быстрорастущих потребностей народного хозяйства. Переход компьютеростроения в хна выпуск ЭВМ третьего поколения (ЕС-ЭВМ – аналог серии IBM-360/370), не давал решения для многих острейших народнохозяйственных задач из- за недостаточной производительности, чрезмерной стоимости и сложности в обслуживании. Так, для промышленной обработки собираемых в стране данных сейсморазведки месторождений нефти и газа, требовалась суммарная вычислительная мощность порядка 10-100 млрд. операций в секунду, что на порядки превышало совокупную мощность имевшегося в стране парка ЭВМ. Стало совершенно ясно, что кардинального увеличения производительности для решения важнейших народохозяйственных задач невозможно достичь за счет простого наращивания парка малопроизводительных, громоздких и дорогостоящих ЭВМ, выпускавшихся промышленностью.
2.

Инновационный прорыв
Привлекательная новизна проектов академической науки далеко не всегда отвечает возможностям промышленного производства. Проблемы преодоления пропасти между наукой и производством остаются для нашей страны суперактуальными и сейчас. Тем более достоин внимания весьма успешный инновационный опыт компьютерного марш-броска из интеллектуально-заоблачного храма науки наземную твердь заводских линий сборки большой промышленной серии. Для решения перечисленных выше задач в 1972-1975 г.г. в Институте проблем управления
(ИПУ), находившимся в совместном подчинении Академии наук СССР и Министерства приборостроения СССР была предложена и научно обоснована структура и архитектура многопроцессорного компьютера ПС. Небольшому авторскому коллективу в режиме свободного научного поиска удалось найти оригинальное структурное решение, которое соединило относительную простоту управления высокопараллельными вычислениями посредством единого потока команд с необычайно высокой гибкостью программирования и высокой эффективностью обработки многих потоков данных. Найденные учёными ИПУ решения впервые ориентировали конструкторов на

3 проектирование сверхэкономичных суперкомпьютеров с рекордно высоким показателем
производительности в расчете на единицу стоимости. Предварительные исследования и расчеты впоследствии подтвердились. Производительность серийных вычислительных комплексов ПС (рис. 1), достигала 200 млн. операций в секунду при весьма доступных стоимостных показателях до 800 тыс. руби низких расходах на эксплуатацию.

Рис. 1. Многопроцессорный компьютер ПС, содержащий 32 ПЭ. На переднем плане слева
три светлые стойки
В нашем случае сроки прохождения компьютером ПС инновационного маршрута от научного замысла и результата к промышленному изделию оказались на удивление малыми. Притом, что маршрут относился к категории особо сложных, поскольку оригинальная высокопараллельная архитектура не имела прямых аналогов (торить дорогу много труднее опытно конструкторская разработка велась на предприятии далеко не самого могучего министерства ив рамках весьма скромного бюджета. За период с 1975 по 1980 г.г. ИПУ совместно с НИИ УВМ (г. Северодонецк), входящим в состав НПО "Импульс (Министерство приборостроения, средств автоматизации и систем управления СССР, выполнили полный комплекс НИОКР, разработку и изготовление опытной партии серийных образцов высокопараллельного многопроцессорного компьютера ПС. В декабре 1980 г. Госкомиссия приняла серийные образцы и санкционировала серийное производство высокопроизводительных вычислительных комплексов (ВК) промышленной обработки данных ПС.
Восемь экземпляров всех конфигураций ВК ПС, демонстрировавшихся перед комиссией
на геофизических задачах, давали общую производительность около миллиарда операций в
секунду,
что превышало
суммарную
вычислительную производительность
парка
вычислительных машин страны. Столь высокая производительность достигалась на хорошо распараллеливаемых задачах, которые характерны для многих практических применений. На серийных ВК ПС входе промышленного решения таких задач достигалось рекордное значение показателя "производительность/стоимость". С 1981 по 1988 гг. Северодонецким приборостроительным заводом, входящим в НПО Импульс, было выпущено 242 многопроцессорных компьютеров ПС.
Отечественное компьютеростроение впервые в мире большим тиражом выпустило
1
Научно-производственные объединения – промышленные инновационные оргструктуры, цель которых – преодоление комплексных проблем своевременного обновления продукции, выпускаемой промышленным предприятием.
2
Далее – Минприбор

4
высокопроизводительный существенно многопроцессорный и высоко рентабельный
компьютер общего назначения.
Важнейшую роль в преодолении дистанции между разработанным в ИПУ научным решением и возможностями технической реализации, которыми располагали производственники, сыграли два фактора. Первый
– фундаментальные качества высокопараллельной многопроцессорной архитектуры, сбалансированной и по арифметическим ресурсами по ресурсам памяти и ввода/вывода. Благодаря такой балансировке, а также совместному использованию высокоэффективных способов распараллеливания на уровне простых арифметических операций, действий с внутренней памятью на широких классах задач с массовым параллелизмом архитектура обеспечивала высокие (околопиковые) уровни полезной загрузки вычислительных ресурсов (процессорных элементов, памяти, ввода/вывода). Структурная масштабируемость архитектуры позволяет с увеличением числа процессоров пропорционально наращивать общую производительность – как арифметическую, таки пропускную способность памяти и ввода/вывода. Важнейшее качество архитектуры – инвариантность относительно элементной и технологической базы, что позволило в условиях жестких технических ограничений и существенных ментальных расхождений между учеными и проектировщиками найти приемлемый по эффективности и трудозатратам вариант воплощения Второй фактор – организационный. Институт проблем управления был в двойном подчинении – Академии науки Минприбора. Инновационный маршрут начинался от академической науки. Тесная связь ИПУ с академией и промышленным министерством резко снизила многочисленные барьеры на путях принятия решений о проведении ОКР на одном из лучших профильных предприятий министерства.
3.

Многопроцессорный компьютер ПС
Многопроцессорный компьютер ПС [1-5] предназначен для задач, обладающих массовым параллелизмом на уровне простых операций, и ориентированна высокопроизводительную обработку данных по хорошо распараллеливаемым регулярным алгоритмам. Синхронная высокопараллельная обработка многих потоков данных в нем осуществляется под управлением общего потока команд, что свойственно SIMD-архитектурам один поток команд, много потоков данных.
3.1.

Архитектура
ПС-2000 состоит из набора однотипных процессорных элементов (ПЭ), связанных регулярными магистральным каналом, и общего устройства управления (ОУУ), см. рис. 2.

5

Рис. 2 Структура многопроцессорного компьютера ПС
Каждый ПЭ, а также ОУУ состоят из нескольких функциональных устройств, включающих самую быструю в компьютере программно доступную регистровую память. Совокупность этих устройств (как в ОУУ, таки всех ПЭ) образует разветвленный конвейерный агрегат с программно конфигурируемыми связями. Каждое функциональное устройство составляет конвейерную ступень. Обмен данными между этими устройствами производится через общий для соседних ступеней регистр. Состав и назначение функциональных устройств каждого ПЭ приведены в табл. 1.
Таблица 1. Компоненты процессорного элемента
Обозна-
чение
Название
Назначение
T
логическое устройство активации параллельное вычисление в наборе всех ПЭ одинакового программно задаваемого логического условия (активация ПЭ)
S
арифметико-логическое устройство для чисел с фиксированной и плавающей запятой с регистрами общего и специального назначения параллельное выполнение в наборе всех активированных ПЭ арифметико-логических операций с промежуточными данными в одноименных регистрах
M
модуль оперативной памяти данных с произвольным доступом к слову хранение одиночных данных и массивов в наборе модулей памяти всех ПЭ; быстродействие оперативной памяти меньше скорости регистров (в данной реализации – в три раза)
L
целочисленное арифметическое устройство с регистрами для хранения адресов программно задаваемое параллельное вычисление во всех активированных ПЭ адресов доступа к соответствующим модулям оперативной памяти M

6
B
регистр регулярного канала массовый обмен данными между соседними ПЭ в режиме двунаправленного кольца, число одновременно вращающихся колец задаётся программно посредством его сегментации по 8, 16, 32, 64 ПЭ. Общее устройство управления (ОУУ) обеспечивает прим, хранение и исполнение программы многопроцессорного компьютера ПС, генерацию и передачу общих для всех
ПЭ управляющих сигналов, синхронизацию процессов обработки и ввода-вывода, тестирование
ПЭ, а также связь с внешней мониторной подсистемой (МПС), которая обеспечивает системные и пользовательские функции вычислительного комплекса (ВК). Состав и назначение функциональных устройств ОУУ приведены табл. 2.
Таблица 2. Компоненты общего устройства управления
Обозна-
чение
Название
Назначение
W
арифметико-логическое устройство для чисел с фиксированной запятой с регистрами общего и специального назначения выполнение скалярных арифметико-логических операций с одиночными данными в регистрах ОУУ
H
модуль оперативной памяти данных с произвольным доступом к слову хранение одиночных данных и массивов обычно, быстродействие оперативной памяти, меньше скорости регистров (в данном случаев раза)
HL
целочисленное арифметическое устройство с регистрами для хранения адресов программно задаваемое вычисление значения адреса доступа к модулю оперативной памяти H
KU
регистр магистрального канала реализует передачу в режимах один ко многим, при этом данные из KU доступны в качестве операнда в устройствах S всех активированных ПЭ; от многих к многим, при этом передача данных из активированных ПЭ -передатчиков осуществляется последовательно по цепи очерёдности.
G
память программ память для хранения программ, от которой поступает многокомпонентный поток операций, задающий на каждом такте множество одновременно выполняемых действий для всех вышеперечисленных устройств всех
ПЭ и ОУУ. Перечислим особенности архитектуры ПС, которые обеспечили ей высокую гибкость и эффективность вычислений. Команды отличаются повышенной функциональной гибкостью управления разнообразными видами аппаратного параллелизма. Это качество достигается за счет многоуровневого иерархического структурирования большого множества одновременно исполняемых операций. Виды программно управляемого машинного параллелизма одновременное выполнение во всех ПЭ множества разнотипных действий (активация, вычислительные операции, вычисление адресов, доступ к модулям оперативной

7 памяти, межпроцессорные пересылки данных по регулярному каналу одновременное выполнение любого, программно задаваемого подмножества разнотипных действий (действия в ПЭ; ОУУ; параллельный обмен данным между модулями оперативной памяти ПЭ и набором дисководов через автономные каналы системы внешней памяти – СВП; действия в мониторной подсистеме, управление процессами внешней операционной системы. Наличие значительных объемов регистровой памяти ПЭ, в которых параллельно во всех активных ПЭ реализуются массовые вычисления и межпроцессорные обмены при исполнении циклических участков программ. Для циклов с большим числом повторений доля обращения к более медленным модулям оперативной памяти ПЭ может быть малой. В этом случае регистры реализуют положительный эффект кэширования (причем с параллельным выполнением действий во многих ПЭ).

Межпроцессорная конвейеризация регистровых вычислений через регистры B регулярного канала обеспечивает режим программируемых систолических структур, что дает предельно достижимый уровень параллелизма. Набор однотипных устройств адресной арифметики L ПЭ обеспечивает параллельный доступ к памяти М по набору адресов с возможностями инкрементной модификации этих адресов, а также параллельного доступа к памяти по произвольно вычисляемым наборам адресов. Набор однотипных устройств активации ПЭ обеспечивает высокий уровень параллелизма при ассоциативной обработке больших массивов данных (поиски сортировки по программно задаваемым предикатным функциям, теоретико- множественные операции, обработка растровой графики, событийное управление вычислительными действиями и др. Оригинальная архитектура ПС соединила относительную простоту аппаратных решений систем управления одним потоком команд с беспрецедентно высокой гибкостью программирования высокопараллельной обработки одновременно многих потоков данных. Уникальная гибкость управления ПС ломает привычные представления о функциональных возможностях компьютеров. Невероятно, нов серийном ПС было сделано, казалось, совершенно немыслимое для компьютеров этого класса. В ресурсах ПС на программном уровне была эмулирована многопроцессорная архитектура MIMD (много потоков команд, много потоков данных. При этом все ПЭ, работая параллельно под управлением устройств активации, могли одновременно выполнять каждый свою программу, загруженную в собственный модуль оперативной памяти. Например, процессорный компьютер ПС смог параллельно выполнять 64 потока разных программ. Существовавшие на тот момент компьютеры этого делать не могли.
3.2.

Система команд
Программирование ПС производится на уровне высокопараллельных строго иерархически структурированных команд, обеспечивающих наглядное и высокоэффективное управление всеми устройствами ПЭ и ОУУ [4,8]. Два верхних уровня иерархии структуры команды показаны на рис. 3.

8

Рис. 3. Структура команды
Все команды имеют одинаковую "ширину" (в данной реализации – 64 бита) и разделены на две равные части – левую и правую. Каждая из частей разделена на поля. В каждом из полей задается набор трехадресных операций с регистрами для соответствующего устройства. В полях левой части задаётся управление устройством активации Т и, далее, либо арифметикой S, либо каналами - регулярным В и магистральным КВ полях правой части задаётся управление устройствами либо Ми, либо W и H и HL, либо G (рис. По усмотрению программиста любые поля в команде могут не заполняться. Чем больше действий "упаковано" в каждой команде, тем выше параллелизм программы, больше эффективность использования вычислительных ресурсов и, естественно, скорость её выполнения. Искусство программирования данного многопроцессорного компьютера состоит в написании как можно более наполненных действиями полей команд. Все заданные в каждой команде действия исполняются параллельно. Команда в формальном виде отражает синхронно функционирующую структуру ПС, что позволяет при программировании из нескольких независимых участков последовательных программ проводить (статически) их конвейеризацию посредством совмещения водном уплотненном участке программы (см. рис. 4).

Рис. 4. Уплотнение независимых участков программ
Эффективность распараллеливания повышается за счет совмещения во времени разнотипных действий. Так, выполнение массовых вычислений в устройствах S ПЭ, совмещается с сопутствующими операциями (подготовка настроек, модификация адресов операндов, считывание операндов, запись результатов, управление конфигурацией решающего поля и т. п. Таким образом, ПС-2000 характеризуется максимальной глубиной

9
распараллеливания на нескольких аппаратных уровнях, вплоть до уровня мельчайших операций
с регистрами.
Эффективное управление реализуется на основе следующих принципов [8]: применение раздельных блоков памяти для хранения команд, векторных и скалярных данных с возможностью одновременного доступа к ним применение значительных объёмов регистровой памяти в функциональных вычислительных устройствах взаимодействие с памятью через независимые от вычислений действия чтение/запись с инкрементной/декрементной прямой, либо косвенной регистровой адресацией, и одновременно с общей, либо локально вычисляемой для каждого ПЭ (фигурной) адресацией применение форматов команд одинакового размера, разбитых на поля, в которых задаются независимые трёхадресные регистровые операции простая дешифрация команд аппаратная поддержка исполнения команд совмещение программным путём нескольких параллельно исполняемых действий разной длительности (совмещение нескольких статических конвейеров. Подобные принципы получили распространение в более поздних зарубежных разработках компьютеров с VLIW-архитектурами [9]. Развитие предложенных принципов в применении к высокопараллельным компьютерным архитектурам актуально ив настоящее время. Параллельная архитектура ПС позволяет эффективно решать независимые одинаковые задачи без обменов между ПЭ и с доступом к памяти ПЭ по общим адресам. Хорошо структурируемые программно настраиваемые каналы обменов данными и возможность доступа к локальной памяти ПЭ по наборам индивидуальных в каждом ПЭ адресам позволяют также эффективно решать задачи с массовыми регулярными обменами между ПЭ и сложными алгоритмами расчета адресов доступа. Наличие вычисляемой по программируемым условиям активации ПЭ и возможности быстрого (на уровне регистров B) обмена данными между ПЭ позволяют решать задачи со сложными вычисляемыми условиями, динамически определяющими требуемую последовательность исполнения команд.
3.3.

Масштабируемость
Многопроцессорный компьютер компонуется из модулей трёх типов, каждый из которых размещается водной стойке. Модули масштабирования компонуются из устройства обработки
(УО), состоящего только из 8 ПЭ, и ОУУ. Состав модулей следующий модуль базовый, имеет одно УО (8 ПЭ) и одно ОУУ; модуль наращивания 1, имеет одно УО (8 ПЭ); модуль наращивания 2, имеет два УО (16 ПЭ). На рис. 5 показаны разные по числу ПЭ конфигурации многопроцессорного компьютера в стоечном исполнении модулей масштабирования.

10

Рис. 5. Масштабирование ПС на уровне стоек
Размеры стойки 1800х1000х450 мм. Минимальная конфигурация (8 ПЭ) состоит из одной стойки (риса. Максимальная конфигурация (64 ПЭ) состоит из пяти стоек, размещённых в виде "звезды" (рис. г.
Масштабируемость архитектуры ПС обеспечивается программно на уровне системы команд, позволяющей изменять количество ПЭ и объём памяти в ПЭ. Регулировка числа ПЭ обеспечивается сегментацией регулярного и магистрального каналов.
Инкрементная/декрементная прямая или косвенная регистровая адресация памяти M позволяет адресовать от 4 до 16Кслов в каждом ПЭ при общей и локальной адресации.



Поделитесь с Вашими друзьями:
  1   2   3


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал