Впервые термин "суперЭВМ" был использован в начале 60-х годов, когда группа специалистов Иллинойского университета (США) под руководством доктора Д. Слотника предложила идею реализации первой в мире параллельной вычислительной системы. Проект, получивший название SOLOMON, базировался на принципе векторной обработки, который был сформулирован еще Дж. фон Нейманом, и концепции матричной параллельной архитектуры, предложенной С. Унгером в начале 50-х годов.
Дело в том, что большинство суперкомпьютеров демонстрирует поражающую воображение производительность благодаря именно этому (векторному) виду параллелизма. Любой программист, разрабатывая программы на привычных языках высокого уровня, наверняка неоднократно сталкивался с так называемыми циклами DO. Но мало кто задумывался, какой потенциал увеличения производительности заключается в этих часто используемых операторах. Известный специалист в области систем программирования Д.Кнут показал, что циклы DO занимают менее 4% кода программ на языке FORTRAN, но требуют более половины счетного времени задачи.
Идея векторной обработки циклов такого рода заключается в том, что в систему команд компьютера вводится векторная операция, которая работает со всеми элементами векторов-операндов. При этом реализуются сразу две возможности ускорения вычислений: во-первых, сокращается число выполняемых процессором команд объектного кода, поскольку отпадает необходимость в пересчете индексов и организации условного перехода и, во-вторых, все операции сложения элементов векторов-операндов могут быть выполнены одновременно в силу параллелизма обработки.
Важно отметить еще одну особенность векторной обработки, связанную с количеством элементарных операций цикла: чем больше параллельных операций входит в векторизуемый цикл, тем ощутимее выигрыш в скорости выполнения вычислений, так как сокращается доля непроизводительных временных затрат на выборку, дешифрацию и запуск на исполнение векторной команды.
|
Первой суперЭВМ, использующей преимущества векторной обработки, была ILLIAC IV (SIMD архитектура). В начале 60-х годов группа все того же Слотника, объединенная в Центр передовых вычислительных технологий при Иллинойском университете, приступила к практической реализации проекта векторной суперЭВМ с матричной структурой. Изготовление машины взяла на себя фирма Burroughs Corp. Техническая сторона проекта до сих пор поражает своей масштабностью: система должна была состоять из четырех квадрантов, каждый из которых включал в себя 64 процессорных элемента (ПЭ) и 64 модуля памяти, объединенных коммутатором на базе сети типа гиперкуб. Все ПЭ квадранта обрабатывают векторную инструкцию, которую им направляет процессор команд, причем каждый выполняет одну элементарную операцию вектора, данные для которой сохраняются в связанном с этим ПЭ модуле памяти. Таким образом, один квадрант ILLIAC IV способен одновременно обработать 64 элемента вектора, а вся система из четырех квадрантов - 256 элементов. В 1972 г. первая система ILLIAC IV была установлена в исследовательском центре NASA в Эймсе. Результаты ее эксплуатации в этой организации получили неоднозначную оценку. С одной стороны, использование суперкомпьютера позволило решить ряд сложнейших задач аэродинамики, с которыми не могли справиться другие ЭВМ. Даже самая скоростная ЭВМ для научных исследований того времени - Control Data CDC 7600, которую, к слову сказать, проектировал "патриарх суперЭВМ" Сеймур Крей, могла обеспечить производительность не более 5 MFLOPS, тогда как ILLIAC IV демонстрировала среднюю производительность примерно в 20 MFLOPS. С другой стороны, ILLIAC IV так и не была доведена до полной конфигурации из 256 ПЭ; практически разработчики ограничились лишь одним квадрантом. Причинами явились не столько технические сложности в наращивании числа процессорных элементов системы, сколько проблемы, связанные с программированием обмена данными между процессорными элементами через коммутатор модулей памяти. Все попытки решить эту задачу с помощью системного программного обеспечения потерпели неудачу, в результате каждое приложение требовало ручного программирования передач коммутатора, что и породило неудовлетворительные отзывы пользователей.
|
Если бы разработчикам ILLIAC IV удалось преодолеть проблемы программирования матрицы процессорных элементов, то, вероятно, развитие вычислительной техники пошло бы совершенно другим путем и сегодня доминировали бы компьютеры с матричной архитектурой. Однако ни в 60-х годах, ни позднее удовлетворительное и универсальное решение двух таких принципиальных проблем, как программирование параллельной работы нескольких сотен процессоров и при этом обеспечение минимума затрат счетного времени на обмен данными между ними, так и не было найдено. Потребовалось еще примерно 15 лет усилий различных фирм по реализации суперЭВМ с матричной архитектурой, чтобы поставить окончательный диагноз: компьютеры данного типа не в состоянии удовлетворить широкий круг пользователей и имеют весьма ограниченную область применения, часто в рамках одного или нескольких видов задач.
|
По мере освоения средств сверхскоростной обработки данных разрыв между совершенствованием методов векторизации программ, т.е. автоматического преобразования в процессе компиляции последовательных языковых конструкций в векторную форму, и чрезвычайной сложностью программирования коммутации и распределения данных между процессорными элементами привел к достаточно жесткой реакции пользователей в отношении матричных суперЭВМ - широкому кругу программистов требовалась более простая и "прозрачная" архитектура векторной обработки с возможностью использования стандартных языков высокого уровня типа FORTRAN. Решение было найдено в конце 60-х годов, когда фирма Control Data, с которой в то время сотрудничал Крей, представила машину STAR-100, основанную на векторно-конвейерном принципе обработки данных. Отличие векторно-конвейерной технологии от архитектуры матричных ЭВМ заключается в том, что вместо множества процессорных элементов, выполняющих одну и ту же команду над разными элементами вектора, применяется единственный конвейер операций, принцип действия которого полностью соответствует классическому конвейеру автомобильных заводов Форда. Даже такая архаичная по современным понятиям суперЭВМ, как STAR-100, показала предельную производительность на уровне 50 MFLOPS. При этом существенно, что векторно-конвейерные суперЭВМ значительно дешевле своих матричных "родственников". К примеру, разработка и производство ILLIAC IV обошлись в 40 млн. долл. при расходах на эксплуатацию порядка 2 млн. долл. в год, тогда как рыночная стоимость первых суперкомпьютеров фирм CRAY и Control Data находилась в пределах 10 - 15 млн. долл., в зависимости от объема памяти, состава периферийных устройств и других особенностей конфигурации системы.
Второй существенной особенностью векторно-конвейерной архитектуры является то, что конвейер операций имеет всего один вход, по которому поступают операнды, и один выход результата, тогда как в матричных системах существует множество входов по данным в процессорные элементы и множество выходов из них. Другими словами, в компьютерах с конвейерной обработкой данные всех параллельно исполняемых операций выбираются и записываются в единую память, в связи с чем отпадает необходимость в коммутаторе процессорных элементов, ставшем камнем преткновения при проектировании матричных суперЭВМ.
Следующий удар по позициям суперЭВМ с матричной архитектурой нанесли две машины фирмы Control Data Corp. - CYBER-203 и CYBER-205. Пиковая производительность первой составила 100, а второй - уже 400 MFLOPS.
CRAY-1 совершает переворот Векторно-конвейерный суперкомпьютер STAR-100 и машины серии CYBER- 200, образно говоря, явились только "нокдауном" для матричной архитектуры. Нокаутирующий удар был нанесен в 1974 г., когда Крей, к тому времени покинувший корпорацию CDC и основавший собственную фирму Cray Research, объявил о выпуске CRAY-1 - векторно-конвейерной суперЭВМ, ставшей эпохальным событием в мире вычислительной техники. Эта малогабаритная машина (ее высота немного превосходит средний человеческий рост, а занимаемая процессором площадь чуть больше 2,5 кв.м), имела производительность 160 MFLOPS и емкость оперативной памяти 64 Мбайт. После непродолжительной пробной эксплуатации в Лос-Аламосской лаборатории, где новинка получила самые высокие отзывы программистов и математиков, Cray Research наладила серийный выпуск машин CRAY-1, которые активно раскупались в США. Любопытно, что администрация США в должной степени оценила стратегическую ценность CRAY-1 и контролировала поставки этого компьютера даже в дружественные государства. Появление CRAY-1 вызвало интерес не только у пользователей, нуждающихся в средствах сверхскоростной обработки данных, но и у специалистов по архитектуре суперкомпьютеров. Для многих неожиданным (а для разработчиков CYBER-205 даже неприятным) стал тот факт, что с большинством задач маленький компьютер CRAY-1 справлялся быстрее, чем значительно превосходящий его по габаритам и пиковой производительности CYBER-205. Так, при тестировании на пакете решения линейных уравнений LINPACK Джек Донгарра из Национальной лаборатории в Аргонне оценил производительность CRAY-1S в пределах 12 - 23 MFLOPS в зависимости от способа программирования, тогда как CYBER-205 показал производительность лишь 8,4 MFLOPS. Объяснение нашлось, как только вспомнили о законе Амдала (G.Amdahl), который известный архитектор системы IBM/360 сформулировал в 1967 г. в виде следующего постулата: "Производительность вычислительной системы определяется самым медленным ее компонентом". Применительно к векторным суперЭВМ парадокс Амдала преломляется следующим образом. Любая задача, выполняемая в суперЭВМ, состоит из двух взаимосвязанных частей - векторных команд, сгенерированных компилятором при векторизации исходной программы, и скалярных операций, которые компилятор не сумел перевести в векторную форму. Если представить себе суперкомпьютер, который умеет одинаково быстро производить скалярные и векторные операции, то парадокс Амдала "не срабатывает" и такая система с равной скоростью будет выполнять задачи любой степени векторизации. Но само собой, что скалярная обработка занимает больше времени, плюс ко всему CRAY-1 при цикле 12,5 нс обладает большим быстродействием скалярной обработки по сравнению с компьютером CYBER-205, у которого цикл равен 20 нс.
Существует еще одна причина, по которой CRAY-1 превосходит CYBER-205 по скорости решения большинства прикладных задач. Впервые в практике сверхскоростной обработки данных, а возможно, и вообще в вычислительной технике CRAY-1 был разработан как компьютер с полностью законченной архитектурой "регистр-регистр". Все операции обработки данных, которые выполняет центральный процессор этой машины, выбирают операнды и записывают результаты вычислений, используя не оперативную память, как это было сделано в CYBER-205 и более ранних суперкомпьютерах, а специально предназначенные для этой цели программно-адресуемые регистры. Для реализации этой архитектуры в CRAY-1 было введено принципиальное новшество - векторные регистры, которые адресовались командами центрального процессора подобно обычным регистрам данных, но могли запомнить до 64 элементов вектора каждый при 64- разрядном формате отдельных элементов. Естественно, что по сравнению с CYBER-205 каждая отдельная векторная команда в CRAY-1 выполнялась быстрее, поскольку операции типа "регистр-регистр" отличаются от операций типа "память-память" меньшими временными затратами на чтение операндов и запись результата. Однако решающие преимущества CRAY-1 перед суперЭВМ CDC и матричными суперкомпьютерами определяются не столько лучшей сбалансированностью показателей производительности, сколько простотой и удобством эксплуатации, а также высоким качеством системного программного обеспечения. При разработке своей первой суперЭВМ Крей принял во внимание то важное обстоятельство, что большинство существующих пакетов прикладных программ написано на языках последовательного типа, чаще всего на языке FORTRAN. Поэтому в состав программного обеспечения CRAY-1 был включен интеллектуальный FORTRAN-компилятор CFT, способный обнаруживать параллелизм в программах последовательного действия и преобразовывать их в векторизованный код. Естественно, что при таком подходе все имеющееся у пользователя программное обеспечение с незначительными доработками может быть перенесено на суперЭВМ.
Кроме векторизации циклических конструкций, в компиляторе CFT суперкомпьютера CRAY-1 было введено еще одно принципиальное новшество - автоматический поиск в исходной программе и построение многоконвейерных цепочек. Суть его заключается в следующем: если в программе встречаются две связанные векторные операции (т.е. результат первой служит операндом второй), то в отличие от случая связанных скалярных операций, когда выполнение второй операции начинается только после завершения предыдущей, обе векторные команды могут обрабатываться практически параллельно, что удваивает производительность системы.
В целом CRAY-1 продемонстрировал то, как надо сочетать простоту и эффективность технических решений в области аппаратного и программного обеспечения суперкомпьютера с простотой и удобством его использования и, в первую очередь программирования в привычной для большинства разработчиков среде "классических" последовательных языков типа FORTRAN.
Спустя некоторое время, специалисты из Fujitsu, Hitachi и Nippon Electric (NEC) в короткие сроки сумели выдать настоящий ответ Крею из шести моделей суперЭВМ, мало уступающих CRAY-1 по основным характеристикам, а кое в чем и превосходящих свой американский прототип.
Дело в том, что в начале 70-х годов Япония включилась в гонку суперкомпьютеров, объявив о начале государственной программы создания ЭВМ сверхвысокой производительности. В качестве основных исполнителей этой программы были выбраны три ведущие компьютерные фирмы Японии. Корпорация NEC образовала совместное предприятие с Honeywell под названием Honeywell-NEC Supercomputers (HNS), а фирма Fujitsu сумела заключить соглашение с Джином Амдалом, который к тому времени ушел из IBM и основал собственную компанию Amdahl Corp. Плодом этого союза стала машина AMDAHL V/6, открывшая эру компьютеров на больших интегральных схемах и заставившая всерьез поволноваться руководство IBM, когда выяснилось, что эксплуатационные характеристики AMDAHL V/6 не оставляют серьезных шансов на победу ни одному из компьютеров IBM того времени. Обладая технологией и опытом разработки ЭВМ на БИС, которых американцы в ту пору не имели, так как CYBER-200 и CRAY-1 были разработаны на микросхемах средней степени интеграции, японские фирмы пошли в наступление на фронте суперкомпьютеров.
В начале 80-х годов свет увидели сразу три семейства суперЭВМ японского производства, причем каждый суперкомпьютер из Страны Восходящего Солнца имел свою архитектурную изюминку. Во-первых, во всех японских суперЭВМ по сравнению с CRAY-1 было увеличено число скалярных и векторных регистров (например, NEC SX располагает 256 скалярными и 256 векторными регистрами против восьми регистров обоих типов в CRAY-1). За счет этого удалось снизить нагрузку на оперативную память системы, а также, что значительно существеннее, получить большие возможности для эффективной векторизации программ. Еще одно интересное новшество ввели разработчики суперЭВМ семейства NEC SX, объединив векторную архитектуру "регистр-регистр" с принципом многоконвейерной обработки, ранее реализованном в суперкомпьютерах STAR-100, CYBER-203 и CYBER-205 фирмы Control Data.
Правда, здесь следует отметить следующее: во-первых, многоконвейерная обработка требует установки дополнительных модулей, что увеличивает стоимость центрального процессора, во-вторых, исполнение одной векторной команды на нескольких параллельных конвейерах приводит к возрастанию доли непроизводительных временных затрат на запуск команды, подготовку операндов и запись результата. Например, если конвейер, выполняющий одну элементарную операцию за пять тактов, заменить на четыре таких же конвейера, то при длине векторов в 100 элементов векторная команда ускоряется всего в 3,69, а не в 4 раза. Эффект "отставания" роста производительности от увеличения числа конвейеров особенно заметен, когда процессор затрачивает значительное время на обмен данными между конвейером и памятью. Это обстоятельство не было должным образом оценено при разработке CYBER-205, и в результате архитектура "память-память" данной модели настолько ухудшила динамические параметры четырех конвейеров ее векторного процессора, что для достижения производительности, близкой к 200 MFLOPS, потребовалась очень высокая степень векторизации программ (порядка 1 тыс. элементов в векторе), т.е. потенциально самая мощная суперЭВМ 70-х годов реально могла эффективно обрабатывать только ограниченный класс задач. Конечно, подобный просчет негативно отразился на рыночной судьбе CYBER-205 и на всей программе суперЭВМ компании Control Data. После CYBER-205 фирма CDC прекратила попытки освоения рынка суперЭВМ.
Использование в суперкомпьютерах NEC SX архитектуры "регистр-регистр" позволило нейтрализовать недостатки многоконвейерной обработки, и модель NEC SX-2 с 16 векторными конвейерами стала первой суперЭВМ, преодолевшей рубеж в миллиард операций с плавающей точкой за секунду - ее пиковая производительность составила 1,3 GFLOPS. Фирма Hitachi пошла по другому пути. В суперкомпьютерах серии S-810 ставка была сделана на параллельное выполнение сразу шести векторных команд. Далее Hitachi, продолжает линию этого семейства моделями S-810/60 и S-810/80; последняя занимает достойное третье место по результатам тестирования производительности на пакете LINPACK, уступая только грандам из CRAY и NEC. Относительную коммерческую стабильность суперкомпьютеров Hitachi можно объяснить тем, что они, как и суперЭВМ фирмы Fujitsu, полностью совместимы с системой IBM/370 по скалярным операциям. Это позволяет применять программы, созданные на IBM VS FORTRAN и в стандарте ANSI X3.9 (FORTRAN 77), а также использовать стандартную операционную среду MVS TSO/SPF и большинство системных расширений IBM, включая управление вводом/выводом для IBM-совместимых дисковых и ленточных накопителей. Другими словами, японские суперЭВМ фирм Hitachi и Fujitsu первыми в мире суперкомпьютеров использовали дружественный интерфейс для пользователей наиболее распространенной в то время вычислительной системы - IBM/370.
Натиск японских производителей был впечатляющим, но тут С. Крей наносит своевременный контрудар - в 1982 г. на рынке появилась первая модель семейства суперкомпьютеров CRAY X-MP, а двумя годами позже в Ливерморской национальной физической лаборатории им. Лоуренса был установлен первый экземпляр суперЭВМ CRAY-2. Машины от Cray Research опередили конкурентов в главном - они ознаменовали зарождение нового поколения ЭВМ сверхвысокой производительности, в которых векторно-конвейерный параллелизм дополнялся мультипроцессорной обработкой. Крей применил в своих компьютерах неординарные решения проблемы увеличения производительности. Сохранив в CRAY-2 и CRAY X-MP архитектуру и структурные наработки CRAY- 1, он сокрушил конкурентов сразу на двух фронтах: достиг рекордно малой длительности машинного цикла (4,1 нс) и расширил параллелизм системы за счет мультипроцессорной обработки. В итоге Cray Research сохранила за собой звание абсолютного чемпиона по производительности: CRAY-2 продемонстрировала пиковую производительность 2 GFLOPS, обогнав NEC SX-2 - самую быструю японскую суперЭВМ - в полтора раза. Для решения проблемы оптимизации машинного цикла Крей пошел дальше японцев, которые уже владели технологией ECL-БИС, позволившей в Fujitsu VP достичь длительности машинного цикла в 7,5 нс. Помимо того что в CRAY-2 были использованы быстродействующие ECL-схемы, конструктивное решение блоков ЦП обеспечивало максимальную плотность монтажа компонентов. Для охлаждения такой уникальной системы, которая выделяла ни много ни мало 195 кВт, была использована технология погружения модулей в карбид фтора - специальный жидкий хладагент производства американской фирмы 3M.
Второе революционное решение, реализованное в суперкомпьютере CRAY- 2, заключалось в том, что объем оперативной памяти был доведен до 2 Гбайт. С.Крею удалось выполнить критерий балансировки производительности и емкости оперативной памяти по Флинну: "Каждому миллиону операций производительности процессора должно соответствовать не менее 1 Мбайт емкости оперативной памяти". Суть проблемы заключается в том, что типичные задачи гидро- и аэродинамики, ядерной физики, геологии, метеорологии и других дисциплин, решаемые с помощью суперЭВМ, требуют обработки значительного объема данных для получения результатов приемлемой точности. Eстественно, при таких объемах вычислений относительно малая емкость оперативной памяти вызывает интенсивный обмен с дисковой памятью, что в полном соответствии с законом Амдала ведет к резкому снижению производительность системы.
Все-таки новый качественный уровень суперкомпьютера CRAY-2 определялся не столько сверхмалой длительностью машинного цикла и сверхбольшой емкостью оперативной памяти, сколько мультипроцессорной архитектурой, заимствованной у другой разработки Cray Research - семейства многопроцессорных суперЭВМ CRAY X-MP. Его три базовые модели - X-MP/1, X-MP/2 и X-MP/4 - предлагали пользователям одно-, двух- или четырехпроцессорную конфигурацию системы с производительностью 410 MFLOPS на процессор. Спектр доступных вариантов расширялся за счет возможности установки памяти разного объема (от 32 до 128 Мбайт на систему). Такой ориентированный на рынок подход к построению суперкомпьютера впоследствии принес фирме Cray Research ощутимый коммерческий эффект. Мультипроцессорная архитектура суперкомпьютеров производства CRAY была разработана с учетом достижений и недостатков многопроцессорных мэйнфреймов, в первую очередь фирмы IBM. В отличие от "классических" операционных систем IBM, которые используют для взаимодействия процессов механизм глобальных переменных и семафоров в общей памяти, мультипроцессорная архитектура CRAY предполагает обмен данными между процессорами через специальные кластерные регистры, кроме того, для обслуживания взаимодействия процессов в архитектуре CRAY предусмотрены аппаратно-реализованные семафорные флажки, которые устанавливаются, сбрасываются и анализируются с помощью специальных команд, что также ускоряет межпроцессорный обмен и в итоге увеличивает системную производительность. В результате этих новшеств коэффициент ускорения двухпроцессорной суперЭВМ CRAY X-MP/2 по отношению к однопроцессорной CRAY X-MP/1 составляет не менее 1,86.
В отличие от семейства CRAY X-MP, модели которого работают под управлением операционной системы COS (Cray Operating System), CRAY-2 комплектовалась новой операционной системой CX-COS, созданной фирмой Cray Research на базе Unix System V.
Во второй половине 80-х годов Control Data, "сошедшая с дистанции" после неудачи с моделью CYBER-205 вновь появляется на рынке сперЭВМ. Строго говоря, за разработку новой восьмипроцессорной суперЭВМ взялась ETA Systems - дочерняя фирма CDC, - однако в этом проекте был задействован практически весь потенциал Control Data. Вначале проект под названием ETA-10, получивший поддержку правительства через контракты и дотации потенциальным пользователям вызвал оживление среди специалистов по сверхскоростной обработке. Ведь новая суперЭВМ должна была достичь производительности в 10 GFLOPS, т.е. в пять раз превзойти CRAY-2 по скорости вычислений. Первый образец ETA-10 с одним процессором производительностью 750 MFLOPS был продемонстрирован в 1988 г., однако дальше дела пошли хуже. Во втором квартале 1989 г. Control Data объявила о свертывании деятельности компании ETA Systems из-за нерентабельности производства.
Не остался в стороне от проблем сверхвысокой производительности и гигант компьютерного мира - фирма IBM. Не желая уступать своих пользователей конкурентам из Cray Research, компания приступила к программе выпуска старших моделей семейства IBM 3090 со средствами векторной обработки (Vector Facility). Самая мощная модель этой серии - IBM 3090/VF-600S оснащена шестью векторными процессорами и оперативной памятью емкостью 512 Мбайт. В дальнейшем эта линия была продолжена такими машинами архитектуры ESA, как IBM ES/9000-700 VF и ES/9000-900 VF, производительность которых в максимальной конфигурации достигла 450 MFLOPS.
Еще одна известная в компьютерном мире фирма - Digital Equipment Corp. - в октябре 1989 г. анонсировала новую серию мэйнфреймов с векторными средствами обработки. Старшая модель VAX 9000/440 оснащена четырьмя векторными процессорами, повышающими производительность ЭВМ до 500 MFLOPS.
Высокая стоимость суперЭВМ и векторных мэйнфреймов оказалась не по карману достаточно широкому кругу заказчиков, потенциально готовых воспользоваться компьютерными технологиями параллельных вычислений. К их числу относятся мелкие и средние научные центры и университеты, а также производственные компании, которые нуждаются в высокопроизводительной, но сравнительно недорогой вычислительной технике.
С другой стороны, такие крупнейшие производители суперЭВМ, как Cray Research, Fujitsu, Hitachi и NEC, явно недооценили потребности "средних" пользователей, сосредоточившись на достижении рекордных показателей производительности и, к сожалению, еще более рекордной стоимости своих изделий. Весьма гибкой оказалась стратегия Control Data, которая после неудачи с CYBER-205 основное внимание уделила выпуску научных компьютеров среднего класса. На конец 1988 г. производство машин типа CYBER-932 вдвое превысило выпуск старших моделей серии CYBER-900 и суперЭВМ с маркой CDC. Основным конкурентом Control Data на рынке малогабаритных параллельных компьютеров, которые получили общее название "мини-суперЭВМ", стала будущий лидер в мире мини-суперкомпьютеров фирма Convex Computer. В своих разработках Convex первой реализовала векторную архитектуру с помощью сверхбольших интегральных схем (СБИС) по технологии КМОП. В результате пользователи получили серию относительно недорогих компьютеров по цене менее 1 млн. долл., обладающих производительностью от 20 до 80 MFLOPS. Спрос на эти машины превзошел все ожидания. Явно рискованные инвестиции в программу Convex обернулись быстрым и солидным доходом от ее реализации. История развития суперкомпьютеров однозначно показывает, что в этой сложнейшей области инвестирование высоких технологий, как правило, дает положительный результат - надо только, чтобы проект был адресован достаточно широкому кругу пользователей и не содержал слишком рискованных технических решений. Convex, которая, получив такое преимущество на старте, стала успешно развиваться. Сначала она выпустила на рынок семейство Convex C-3200, старшая модель которого C-3240 имеет производительность 200 MFLOPS, а затем - семейство Convex C-3800, состоящее из четырех базовых моделей в одно-, двух-, четырех- и восьмипроцессорной конфигурации. Самая мощная машина этой серии Convex C-3880 имеет производительность, достойную "настоящей" суперЭВМ 80-х годов, и при тестировании на пакете LINPACK обогнала по скорости вычислений такие системы, как IBM ES/9000-900 VF, ETA-10P и даже CRAY-1S. Отметим, что Cray Research, выпускает мини-суперЭВМ CRAY Y-EL, также реализованную на технологии КМОП-СБИС. Этот компьютер может поставляться в одно-, двух- или четырехпроцессорной конфигурации и обеспечивает производительность 133 MFLOPS на процессор. Объем оперативной памяти изменяется в зависимости от пожеланий заказчика в диапазоне 256-1024 Мбайт.
Доминирование векторных суперкомпьютеров в государственных программах и устойчивое положение "царя горы", занятое Cray Research, явно не устраивало сторонников MIMD-параллелизма. Первоначально в этот класс были включены многопроцессорные мэйнфреймы, а впоследствии к ним добавились суперЭВМ третьего поколения с мультипроцессорной структурой. И те и другие основаны на сформулированном фон Нейманом принципе управления вычислительным процессом по командам программы, или управления потоком команд (Instruction Flow). Однако примерно с середины 60-х годов математики стали обсуждать проблему разбиения задачи на большое число параллельных процессов, каждый из которых может обрабатываться независимо от других, а управление выполнением всей задачи осуществляется путем передачи данных от одного процесса к другому. Этот принцип, известный как управление потоком данных (Data Flow), в теории выглядит очень многообещающим. Теоретики DataFlow-параллелизма предполагали, что систему можно будет организовать из небольших и потому дешевых однотипных процессоров. Достижение сверхвысокой производительности целиком возлагалось на компилятор, осуществляющий распараллеливание вычислительного процесса, и ОС, координирующую функционирование процессоров. Внешняя простота принципа MIMD-параллелизма вызвала к жизни множество проектов.
Из наиболее известных разработок систем класса MIMD стоит упомянуть IBM RP3 (512 процессоров, 800 MFLOPS), Cedar (256 процессоров, 3,2 GFLOPS; компьютер одноименной фирмы), nCUBE/10 (1024 процессора, 500 MFLOPS) и FPS-T (4096 процессоров, 65 GFLOPS). К сожалению, ни один из этих проектов не завершился полным успехом и ни одна из упомянутых систем не показала объявленной производительности. Дело в том, что, как и в случае с матричными SIMD-суперкомпьютерами, слишком много технических и программных проблем было связано с организацией коммутатора, обеспечивающего обмен данными между процессорами. Кроме того, процессоры, составляющие MIMD- систему, оказались на практике не столь уж маленькими и дешевыми. Как следствие, наращивание их числа приводило к такому увеличению габаритов системы и удлинению межпроцессорных связей, что стало совершенно очевидно: при существовавшем в конце 80-х годов уровне элементной базы реализация MIMD-архитектуры не может привести к появлению систем, способных конкурировать с векторными суперкомпьютерами.
Неординарное решение проблемы коммутационной сети процессоров MIMD- системы предложила мало кому известная фирма Denelcor, которая выполнила разработку многопроцессорной модели HEP-1. Этот суперкомпьютер был задуман как MIMD-система, содержащая от 1 до 16 исполнительных процессорных элементов и до 128 банков памяти данных по 8 Мбайт каждый. Система из 16 процессоров должна была обладать максимальной производительностью 160 MFLOPS при параллельной обработке 1024 процессов (по 64 процесса в каждом из 16 ПЭ). Любопытной архитектурной особенностью HEP-1 было то, что MIMD-обработка множества процессов выполнялась без использования коммутационной сети, которую заменила так называемая "вертушка Флинна".
Напомним, что идея "вертушки Флинна" заключается в организации мультипроцессора как нелинейной системы, состоящей из группы процессоров команд (ПрК), каждый из которых "ведет" свой поток команд, и общего для всех ПрК набора арифметических устройств, циклически подключаемых к каждому из ПрК для выполнения их команд. Нетрудно заметить, что эффект "вертушки Флинна" состоит в сокращении объема, занимаемого арифметическими устройствами в многопроцессорной системе, поскольку на "арифметику" может приходиться до 60% аппаратных ресурсов центрального процессора.
На первый взгляд структура HEP-1 практически не отличается от классической "вертушки Флинна" - такой же циклический запуск команд, принадлежащих разным процессам, и те же общие для множества процессов арифметические устройства. Однако на входе исполнительных устройств переключаются не процессоры команд, а процессы с помощью специального механизма выборки, сохранения и восстановления слов состояния каждого исполняемого процесса. Во-вторых, в HEP-1 применяются конвейерные исполнительные устройства, что позволяет арифметическим устройствам обрабатывать существенно больше операций, чем прототипам мэйнфреймов. Казалось бы, наконец найдено решение, объединяющее достоинства MIMD- архитектуры и конвейерной обработки данных (отсюда название "MIMD-конвейеризация") и к тому же исключающее основной недостаток MIMD-структуры - наличие сетевого коммутатора процессоров. Однако после довольно успешных тестов суперЭВМ HEP-1 и одобрительных отзывов аналитиков запущенный в производство проект следующей подобной машины HEP-2 был закрыт по причине отсутствия заказов. Подобно множеству других проектов создания суперкомпьютеров с MIMD- архитектурой, программа HEP не получила одобрения пользователей из-за недостатков системного ПО. Дело в том, что в отличие от векторных суперкомпьютеров, которые успешно справляются с задачами, представленными на стандартных языках последовательного типа, для эффективного программирования MIMD-систем потребовалось введение в обиход совершенно новых языков параллельного программирования.
Если проектировщикам суперкомпьютеров класса MIMD удастся разрешить проблемы системного ПО, доступных языков параллельного программирования, а также компиляторов для этих языков, то в развитии вычислительной техники надо ожидать весьма крутого и драматического поворота событий.
После коммерческого успеха моделей CRAY X-MP фирма Cray Research выпустила модифицированное семейство суперкомпьютеров CRAY Y-MP, обладающих большим числом процессоров (до восьми) и пониженной длительностью машинного цикла (6 нс). Старшая модель этого семейства CRAY Y-MP/832 имела пиковую производительность 2666 MFLOPS и занимала двенадцатую позицию в рейтинге Дж. Донгарра по результатам тестирования на пакете LINPACK.
Первые же пять позиций принадлежали представителям CRA Y-MP C90, старшая модель которого - 16-процессорная машина CRAY Y-MP C90/16256 - имела оперативную память емкостью 2 Гбайт и могла демонстрировать производительность на уровне 16 GFLOPS. Все 16 процессоров и оперативная память этого компьютера размещались в одной стойке весьма скромных размеров: 2,95x2,57x2,17 м3. Подсистема ввода/вывода CRAY Y-MP C90 имела до 256 каналов с общей пропускной способностью 13,6 Гбайт/с, встроенный кремниевый диск емкостью 16 Гбайт и поддерживала дисковую память общей емкостью до 4 Тбайт. "Суперпараметры" модели CRAY Y-MP C90 эффектно дополняются развитым программным обеспечением, центральным ядром которого являются компиляторы CF77 Fortran, Cray Standard C Compiler, Cray ADA и Pascal.