Смекни!
smekni.com

Развитие суперкомпьютеров (стр. 2 из 5)

Существует еще одна причина, по которой 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.