ИСТОРИЯ РАЗВИТИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
8.1. Первые суперкомпьютеры



Пожалуй, не существует точного определения для понятия суперкомпьютер. Определений суперкомпьютерам пытались давать много, иногда серьезных, иногда ироничных, Кен Батчер предложил такой шуточный вариант: Суперкомпьютер - это устройство, сводящее проблему вычислений к проблеме ввода/вывода. Производительность персональных компьютеров с процессором Pentium-II/300МГц сравнима с производительностью суперкомпьютеров начала 70-х годов, но для своего времени это обычный персональный компьютер.
К классу суперкомпьютеров относят компьютеры, которые имеют максимальную на время их выпуска производительность. Критерий мощности суперкомпьютера на настоящее время установили в США, наложив ограничения на экспорт за границу вычислительных средств, при помощи которых можно проводить численное моделирование ядерных реакций.
Первые суперкомпьютеры появились уже среди компьютеров второго поколения (1955 - 1964, см. компьютеры второго поколения), они были предназначены для решения сложных задач, требовавших высокой скорости вычислений. Это LARC фирмы UNIVAC, Stretch фирмы IBM и "CDC-6600" (семейство CYBER) фирмы Control Data Corporation, в них были применены методы параллельной обработки (увеличивающие число операций, выполняемых в единицу времени), конвейеризация команд (когда во время выполнения одной команды вторая считывается из памяти и готовится к выполнению) и параллельная обработка при помощи процессора сложной структуры, состоящего из матрицы процессоров обработки данных и специального управляющего процессора, который распределяет задачи и управляет потоком данных в системе. Компьютеры, выполняющие параллельно несколько программ при помощи нескольких микропроцессоров, получили название мультипроцессорных систем.
В годы с 1955 по 1961 в США фирмой IBM разрабатывался проект "Stretch", оказавший большое влияние на развитие структуры универсальных компьютеров. В проекте были воплощены все известные к 1960 году структурные принципы повышения производительности, такие как:
-совмещение операций, характерное для мультипрограммирования,
-разделение времени работы различных блоков и устройств, выполняющих одну команду,
-cовмещение во времени подготовки и выполнения нескольких команд одновременно,
-параллельное выполнение нескольких независимых программ.
В 1964 году был создан компьютер CDC6600, а в 1969 году - CDC7600, вошедшие в семейство CYBER (см.компьютеры третьего поколения). Для повышения быстродействия в суперкомпьютерах семейства CYBER использовались методы конвейерной и параллельной обработки при помощи процессора сложной структуры, состоящего из матрицы процессоров обработки данных и специального управляющего процессора, который распределяет задачи и управляет потоком данных в системе.
В 1972 году был создан сверхпроизводительный компьютер ILIAC4 (США) с конвейерной архитектурой, включавшей 64 процессора. Это был наиболее крупный проект среди компьютеров третьего поколения. Разрабатывали компьютер сотрудники Илинойского университета во главе с Д.Слотником. Компьютер был предназначен для решения системы уравнений в частных производных при помощи итерационных разностных схем. Решение такой задачи может быть ускорено в 64 раза по сравнению с последовательным вычислением на однопроцессорном компьютере. Максимальное быстродействие компьютера составляло 200Млн.операций в секунду.

Приведем параметры суперкомпьютера CONVEX C-3440. Суперкомпьютер включал в себя 4 векторных процессора, 1 процессор ввода-вывода, объем физической памяти составлял 512 Мб, объем виртуальной памяти до 4 Гб, объем памяти на жестких дисках 4,5 Гб, 9-дорожечный накопитель на магнитной ленте, интерфейс Ethernet (10 Мбит/сек), 16-канальный мультиплексор. Пиковая производительность суперкомпьютера составляла 800 Мфлоп/сек.
До середины 80-х годов в списке крупнейших производителей суперкомпьютеров в мире были фирмы Sperry Univac и Burroughs. Первая известна, в частности, своими мэйнфреймами UNIVAC-1108 и UNIVAC-1110, которые широко использовались в университетах и государственных организациях. Мэйнфреймы Burroughs от B5000 до B78xx широко применялись в коммерческих, банковских, приложениях. Фирма выпускала и совместимые с ними миникомпьютеры, которые использовались и в нашей стране. Фирма Burroughs вообще отличалась своими разработками в области компьютерных архитектур, ею были разработаны суперкомпьютеры Illiac-IV и BSP.
После слияния Sperry Univac и Burroughs объединенная фирма UNISYS продолжала поддерживать обе линии мэйнфреймов с сохранением совместимости снизу вверх в каждой. Это является ярким свидетельством непреложного правила, поддерживавшего развитие мэйнфреймов - сохранение работоспособности ранее разработанного программного обеспечения.
В 1989 году была пущена в опытную эксплуатацию векторно-конвейерная супер-ЭВМ “Электроника ССБИС” разработки Института проблем кибернетики РАН и предприятий электронной промышленности. Производительность в однопроцессорном варианте составляла 250 MFLOPS, передача данных между массовой интегральной памятью и оперативной памятью осуществлялась под управлением специализированного процессора, реализующего произвольные методы доступа. Разработку супер-ЭВМ вели В.А. Мельников, Ю.И. Митропольский, В.З. Шнитман, В.П. Иванников.
В 1990 году в Советском Союзе была введена в эксплуатацию векторно-конвейерная супер-ЭВМ "Эльбрус 3.1" на базе модульных конвейерных процессоров (МКП), разработанная в ИТМ и ВТ имени С.А. Лебедева группой конструкторов, в которую входили Г.Г. Рябов, А.А. Соколов, А.Ю. Бяков. Производительность суперкомпьютера в однопроцессорном варианте составляла 400 MFLOPS.

В 1996 году японская компания Fujitsu пополнила класс суперкомпьютеров новой машиной VPP700, позволяющей подключать до 256 рабочих мест, имеющую производительность 500 миллиардов операций с плавающей точкой в секунду. Этот векторный компьютер был предназначен для научных и технических расчетов. Размер дисковой памяти мог варьироваться от 4 до 512 Гбайт.

В мире суперкомпьютеров известна и компания Intel. Многопроцессорные компьютеры Paragon фирмы Intel в семействе многопроцессорных структур с распределенной памятью стали такой же классикой, как компьютеры фирмы Cray Research в области векторно-конвейерных суперкомпьютеров.
Рассмотрим подробнее компьютер CRAY1.


На фотографии Вы видите суперкомпьютер CRAY1 (слева) с производительностью не менее 100млн. арифметических операций в сек. Справа переплетение соединительных проводов одной из стоек компьютера (общее их количество составляло более 300 тысяч).


 
Один из модулей компьютера CRAY1.Блок питания компьютера
на интегральных микросхемах (1976г.)

Об организации компьютера с интересом рассказывает один из разработчиков - Ричард М. Расселл.
Расселл относит Cray-1 к классу сверхвысокопроизводительных векторных компьютеров. К этому классу относятся также машины Иллиак-IV, STAR-100, ASC.
В состав центрального процессора Cray-1 входят:
1. Основная память, объемом до 1048576 слов, разделенная на 16 независимых блоков, емкостью 64К слов каждый;
2. Регистровая память, состоящая из пяти групп быстрых регистров, предназначенных для хранения и преобразования адресов, для хранения и обработки векторных величин;
3. Фу
циональные модули, в состав которых входят 12 параллельно работающих устройств, служащих для выполнения арифметических и логических операций над адресами, скалярными и векторными величинами. Двенадцать фу
циональных устройств машины Cray-1, играющие роль арифметико-логических преобразователей, не имеют непосредственной связи с основной памятью. Так же как и в машинах семейства CDC-6000, они имеют доступ только к быстрым операционным регистрам, из которых выбираются операнды и в которые записываются результаты выполнения операций;
4. Устройство, выполняющее фу
ции управления параллельной работой модулей, блоков и устройств центрального процессора;
5. 24 канала ввода-вывода, организованные в 6 групп с максимальной пропускной способностью 500000 слов в секунду (2 млн. байт в сек.);
6. Три группы операционных регистров, непосредственно связанных с арифметико-логическими устройствами, называются основными. К ним относятся восемь А-регистров, состоящих из 24 разрядов каждый. А-регистры связаны с двумя фу
циональными модулями, выполняющими сложение (вычитание) и умножение целых чисел. Эти операции используются главным образом для преобразования адресов, их базирования и индексирования. Они также используются для организации счетчиков циклов. В ряде случаев А-регистры используются для выполнения арифметических операций над целыми числами.
В следующую группу основных операционных регистров входят восемь 64-разрядных S-регистров, непосредственно связанных с функциональными устройствами выполнения арифметических действий со скалярными величинами, представленными в формате с фиксированной и плавающей точкой. Эти S-регистры аналогичны по назначению регистрам операндов в машине CDC-6600.
Особый интерес представляют восемь 64-элементных векторных регистров, которые предназначены для хранения восьми операндов-векторов. Каждый такой операнд состоит из 64 компонент (элементов). В свою очередь каждая компонента представляет собой 64-разрядное слово, в котором хранится число с плавающей или фиксированной запятой. Компоненты вектора могут представлять собой элементы некоторой таблицы. В системе команд машины предусмотрены специальные операции, в качестве операндов которых выступают многокомпонентные векторы. Не во всех задачах требуется обрабатывать векторы размерности 64. Специальный управляющий регистр центрального процессора задает требуемую размерность (число элементов). Этот регистр программно-управляем, что позволяет в процессе вычислений изменять размерность обрабатываемых векторов. Кроме того, в центральном процессоре предусмотрен регистр маски, с помощью которого можно блокировать выполнение арифметико-логических действий над некоторыми компонентами вектора, т. е. осуществлять выборочные покомпонентные действия. Регистр маски по своему назначению аналогичен регистру маски машины Иллиак-IV.
В вычислительных методах линейной алгебры часто встречается процедура, состоящая в том, что строку матрицы (все элементы строки матрицы) умножают на некоторую скалярную величину и затем вычитают из элементов другой строки, с тем чтобы получить, например, нулевой коффициент при некотором неизвестном. На этой процедуре основан метод исключения Гаусса при решении систем линейных алгебраических уравнений. Выполнение такой процедуры можно запараллелить двумя способами, приводящими, естественно, к одинаковому результату.
Поскольку в машине Cray-1 устройства, выполняющие операции умножения и вычитания, могут работать одновременно, то эти процедуры можно запараллелить так. Умножить первую компоненту первого вектора на скалярную величину, после этого приступить к выполнению операции вычитания результата из первой компоненты второго вектора, а пока происходит вычитание, параллельно выполнить операцию умножения скаляра на вторую компоненту первого вектора. Механизм, позволяющий совмещать различные арифметические действия, Расселлом назван цепочкой. Этот принцип организации параллелизма принято называть конвейрным. Сочетание конвейерного параллелизма с "покомпонентным", по мнению разработчиков машины Cray-1, составляет одну из важных особенностей и достоинств ее структурной организации.
В состав регистровой памяти центрального процессора входят две группы вспомогательных буферных регистров, сокращающих число обращений к главной памяти. В первую группу входят 64 В-регистра, которые служат для накопления операндов, поступающих из А-регистров или направляемых в А-регистры из основной памяти. Во вторую группу входят 64 буферных регистра операндов, связанных с S-регистрами. Они называются Т-регистрами и служат тем же целям в отношении основной памяти, что и В-регистры. Совместно В- и Т- регистры можно рассматривать как единый буфер для хранения часто используемых операндов и их адресов.
Поскольку к регистрам В и Т можно обращаться из программы, то их можно рассматривать как промежуточную, доступную для программы память, хранящую 24-разрядные операнды (В-регистры) и 64-разрядные операнды (Т- регистры). Пересылками между памятью и В- и Т-регистрами управляют программы пользователя. Это означает, что В- и Т-регистры можно рассматривать как программно управляемые буферы. В этом состоит отличие от механизма управления буферной памятью в компьютере IBM-370, который реализован аппаратным путем.
Кроме того, в состав центрального процессора машины Cray-1 входит регистровая буферная память значительного объема для промежуточного храпения команд программы, исполняемой в данный момент. Эта буферная память состоит из четырех секций, каждая по 16 слов. Последовательность команд программы предварительно поступает в буфер. Если она содержит условный переход, то в буфере накапливаются также команды, относящиеся к последовательности, на которую возможен этот условный переход. Буфер команд является средством ускорения работы устройства управления, так как заметно минимизирует время ожидания команд из главной памяти.
Система команд машины Cray-1 прямо отражает регистровую структуру центрального процессора, своеобразие связи функциональных модулей с операционными регистрами и связи их с главной памятью. Команды машины Cray-1 двух форматов: короткие команды - 16 разрядов и длинные - 32 разряда.
Семь первых разрядов определяют код операции, затем следуют трехразрядные поля i, j, k, определяющие соответственно номер регистра результата и номера регистров исходных операндов.
В одном слове машины Cray-1 может размещаться до четырех команд короткого формата. Длинные команды могут начинаться в одном слове и продолжаться в следующем. Это позволяет плотно упаковывать команды в памяти машины, что в какой-то степени ускоряет их выборку.
К главным управляющим регистрам машины относятся следующие: счетчик команд, способный адресовать каждую четвертую часть слова, регистр базы (ВА), который служит для образования абсолютного адреса при обращении к памяти и одновременно является верхней границей адресного пространства программы; регистр границы адресов (LA), содержащий нижнюю границу доступных для текущей программы адресов, регистры ВА и LA служат для защиты памяти, выделенной для программы, активной в мультипрограммном режиме. Тем самым в машине Cray-1 применен метод защиты по границам, используемый во многих машинах, в частности в машине Минск-32.
В составе центрального процессора имеется девятиразрядный регистр F, фиксирующий причину прерываний, а именно: прерывания по нормальному окончанию задачи, окончанию по ошибке, по вводу- выводу, по появлению ошибок в операндах, по переполнениям, по меткам времени и сигналам с пульта оператора. Специальный регистр режимов исполнения программ позволяет блокировать некоторые группы прерываний.
Система прерываний в машине Cray-1 построена по образу и подобию системы, принятой для машин-предшественников семейства CDC, такая же, как у CDC-7600.
Схемами управления автоматически содержимое всех управляющих и основных операционных регистров прерванной программы, при появлении прерывания, заносится в область основной памяти. Адрес начала сохраняемых данных указан в специальном управляющем регистре. После этого управление автоматически передается программам операционной системы, которые анализируют причину прерывания и, при необходимости, запоминают в основной памяти содержимое всех групп промежуточных и буферных регистров (В, Т и V). В основной памяти для каждой задачи, выполняемой в мультипрограммном режиме, выделены массивы, в которых сохраняется вся информация, необходимая для продолжения прерванной программы.
Защита памяти и система прерываний организованы так, что значительная доля работы по запоминанию информации для возврата, по организации процесса переключения с одной задачи на другую, возлагается на операционную систему. Отсутствие достаточно развитых аппаратных средств динамического перераспределения памяти, упрощенный аппарат преобразования программных адресов в физические (аппаратное базирование), вполне допустимы в машинах, предназначенных для решения крупных научных задач. Этот режим "научных" вычислений характерен сравнительно редким появлением ситуаций, требующих переключения с решения одной задачи на другую. Это в свою очередь позволяет по- иному реализовать защиту и прерывания, не заботясь о быстром аппаратном их выполнении.
Для представления чисел с плавающей запятой в компьютере Cray-1 на мантиссу со знаком выделено 49 разрядов, на двоичный порядок выделено 15 разрядов. Тем самым цена младшего разряда мантиссы 2-48, а диапазон представления чисел приблизительно оценивается величиной +214.
Математическое обеспечение машины Cray-1, так же как и у ее предшественников машин фирмы CDC, "Фортранно-ориентировано". Это означает, что в качестве основного входного языка выбран Фортран, интенсивно использовавшийся в научных расчетах. Для машины Cray-1 создан специальный оптимизирующий транслятор со стандартного Фортрана, учитывающий специфику этой векторной машины.
С переходом к распределенным вычислениям и к технологии клиент-сервер ведущие позиции мэйнфреймов были подорваны, но на первых порах распределенная обработка информации оказалась не дешевле, как это предполагалось, а дороже централизованной. Это связано с большими затратами на обслуживание распределенных систем. С другой стороны, переход к идеологии клиент-сервер является сложным процессом, и далеко не все фирмы-потребители смогли с ним сразу справиться. Дороговизна мэйнфреймов и большие затраты на поддержку их системы жизнеобеспечения были их основными недостатками. Переход на КМОП-технологию вызвал резкое удешевление этих компьютеров. Одновременно резко снизились их требования к площадям, системам электропитания и охлаждения. В результате многие мэйнфреймы стали работать в оффисном окружении. Учитывая необходимость в поддержке большого количества работающих на мэйнфреймах приложений, можно понять, почему позиции мэйнфреймов на рынке средств вычислительной техники на какое-то время стабилизировались.
При построении суперкомпьютеров обладающих производительностью порядка 1,5 млрд. операций в секунду используются масштабируемые архитектуры с массовым параллелизмом. Суперкомпьютеры строятся как многопроцессорные системы или системы, объединяющие в единую множество высокопроизводительных вычислительных систем.
К данному классу можно отнести компьютеры Intel Paragon, IBM SP1, Parsytec, IBM SP2 и CRAY T3D/T3E. К этому же классу можно отнести и сети обычных компьютеров, которые все чаще рассматривают как дешевую альтернативу дорогим суперкомпьютерам.



Современный суперкомпьютер
фирмы Cray Research CRAY-T3D


Узел компьютера CRAY-T3D

Применение унифицированных узлов позволяет легко масштабировать вычислительную систему. Каждый узел компьютера CRAY-T3D включает в себя два процессорных элемента (processing element), сетевой интерфейс (network interface), средство поблочной пересылки (block transfer engine). В частности система CRAY-T3D может быть построена на 32, 64, 128, 256, 512, 1024, или 2048 процессорных элементах.
Масштабируемость включает в себя возможности наращивания конфигурации и производительности компьютера по всем основным параметрам: числу процессоров, емкости оперативной памяти и ее пропускной способности, конфигурации внешних устройств (от накопителей на жестких магнитных дисках до сетевых контроллеров), пропускной способности подсистемы ввода-вывода и т. д. Масштабируемость включает и увеличение пропускной способности сетевого соединения при росте числа узлов в системах массового параллелизма (МРР).
При построении многопроцессорной системы может использоваться одна из нескольких архитектур, определяющих схему соединения процессорных элементов между собой, схему связей с устройствами ввода/вывода и блоками памяти.
Симметричная мультипроцессорная обработка (SMP) является архитектурой, в которой несколько процессоров разделяют доступ к единственной общей памяти и работают под управлением одной копии операционной системы. В этом случае задания могут распределяться для выполнения на разных процессорах в пределах имеющихся ресурсов, допуская одновременное выполнение нескольких процессов. Главным преимуществом архитектуры SMP, по сравнению с другими подходами к реализации мультипроцессорных систем, является возможность использования ранее разработанных программных приложений. Этот фактор существенно сокращает время выхода на рынок и готовность традиционных коммерческих приложений на системах SMP по сравнению с другими мультипроцессорными архитектурами. Основной недостаток архитектуры в том, что такие системы нуждаются в высокой пропускной способности шины памяти. Требования к пропускной способности шины возрастают пропорционально числу процессоров, объединенных в систему и ограничивают возможность наращивания вычислительной мощности системы. Поэтому целесообразно использовать кэш память второго уровня (внешние для процессора буферные запоминающие устройства) для уменьшения нагрузки на шину.
Построение кластерных конфигураций из SMP-компьютеров не дает хороших показателей масштабирования, обычно ограничиваются небольшим числом компьютеров в кластере. Ограничение масштабируемости связано с фиксированной пропускной способностью связывающих гиперузлы магистралей. Более масштабируемые кластероподобные системы можно строить с применением сетевых архитектур, таких как Tandem ServerNet.
Архитектура cc-NUMA является одним из путей улучшения масштабируемости по сравнению с традиционным SMP-подходом. Перспективное направление развития МРР-систем с архитектурой сс-NUMA было предложено фирмой Convex (ныне подразделение Hewlett Packard), выпустившей многопроцессорные компьютеры Exemplar SPP1000, SPP1200, SPP1600 и серверы S и X-класса (SPP2000). Особенность архитектуры cc-NUMA в использовании физически распределенной оперативной памяти как единой, но логически разделяемой.
Компанией SGI разработана новая высокомодульная масштабируемая система с высокой пропускной способностью (архитектура S2MP). Особенности архитектуры S2MP, реализованы в компьютерах SGI Origin и Onyx2. Основным строительным блоком в архитектуре S2MP является узел. В компьютерах Origin 2000 узлы реализованы в виде отдельных плат, каждая из которых содержит 1 или 2 64-разрядных RISC-микропроцессора. С развитием этой архитектуры связаны планы создания наиболее мощного в мире суперкомпьютера для Лос-Аламосской лаборатории в США. Министерство энергетики и лаборатория Лос-Аламос заключили контракт с фирмой CRAY Research Inc. на разработку и создание самого мощного в мире компьютера с громадным быстродействием. Эта система с 3072 процессорами должна, как планируется, превзойти уровень производительности 3 TFLOPS (3*1012),а после объединения с еще одной подсистемой максимальное быстродействие возрастет до 4 TFLOPS (операций с плавающей точкой).

Источники информации:
1. Михаил Кузьминский. MPP-системы CrayT3E/CrayT3D.
http://www.osp.ru/cw/1996/14/22.htm
2. Михаил Кузьминский. Крей под микроскопом
http://www.osp.ru/cw/1995/04/27.htm
3. http://parallel.ru/history/cray1.html
Архитектура Cray-1.

Previous First Previous Next
Hosted by uCoz