Введение

Суперкомпьютерная модель 1985 года Cray 2 – это суперкомпьютер с четырьмя векторными процессорами, разработанный компанией Cray Research, начиная с 1985 года. При пиковой производительности 1,9 GFLOPS он был самым быстрым компьютером в мире на момент выпуска, заменив Cray X MP. В свою очередь, в 1988 году его сменил Cray Y MP. Cray 2 стал первым проектом Сеймура Крэя, успешно использовавшим несколько процессоров. Попытки этого были предприняты в CDC 8600 в начале 1970-х годов, но транзисторы с эмиттерно-связанной логикой (ECL) того времени было слишком сложно упаковать в работоспособную машину. Cray 2 решил эту проблему за счет использования интегральных схем ECL, размещая их в инновационной трехмерной проводке, что значительно увеличило плотность схемы. Плотная упаковка и возникающие тепловые нагрузки были серьезной проблемой для Cray 2. Она была решена уникальным способом: электрически инертная жидкость Fluorinert прокачивалась под давлением через схему, а затем охлаждалась за пределами корпуса процессора. Уникальная система охлаждения типа "водопад" стала символом высокопроизводительных вычислений и на протяжении некоторого времени использовалась во многих информационных фильмах и в качестве кинореквизита. В отличие от оригинального Cray 1, Cray 2 испытывал трудности с достижением пиковой производительности. Другие компьютеры компании, такие как X MP и Y MP, значительно превзошли Cray 2 по объему продаж. Когда Cray начал разработку Cray 3, компания решила вместо этого разработать серию Cray C90. Это была та же последовательность событий, что и при разработке 8600, и, как и в том случае, Крей покинул компанию.

Первоначальный проект

После успешного запуска своего знаменитого Cray 1, Сеймур Крей приступил к разработке его преемника. К 1979 году он устал от вмешательства руководства в работу, которая велась в уже крупной компании, и, как он поступал и раньше, решил уйти с управленческой должности и создать новую лабораторию. Как и в случае с его переездом в Чиппева-Фолс, штат Висконсин, из штаб-квартиры Control Data в Миннеаполисе, штат Миннесота, руководство Cray понимало его потребности и поддержало его переезд в новую лабораторию в Боулдере, штат Колорадо. Работая независимым консультантом в этих новых лабораториях, начиная с 1980 года, он собрал команду и начал работу над совершенно новым проектом. Эта лаборатория позже была закрыта, а через десять лет открылось новое предприятие в Колорадо-Спрингс. Ранее Крей решал проблему повышения скорости тремя одновременными усовершенствованиями: увеличением количества функциональных блоков для повышения параллелизма системы, более плотной компоновкой для уменьшения задержек сигнала и использованием более быстрых компонентов для достижения более высокой тактовой частоты. Классическим примером такой конструкции является CDC 8600, в котором четыре машины, подобные CDC 7600, на основе ECL-логики были упакованы в цилиндр размером 1 × 1 метр и работали с циклом 8 нс (125 МГц). К сожалению, плотность, необходимая для достижения этой скорости цикла, привела к краху машины. Печатные платы внутри были плотно заполнены компонентами, и поскольку даже один неисправный транзистор мог привести к отказу всего модуля, увеличение их количества на платах значительно повышало вероятность отказа. Охлаждение плотно упакованных отдельных компонентов также представляло собой серьезную проблему. Одним из решений этой проблемы, к которому уже перешли большинство производителей компьютеров, было использование интегральных схем (ИС) вместо отдельных компонентов. Каждая ИС включала в себя набор компонентов из модуля, предварительно соединенных в схему автоматизированным производственным процессом. Если ИС не работала, пробовалась другая. В то время, когда разрабатывался 8600, простая технология на основе MOSFET не обеспечивала необходимой скорости для Cray. Однако неустанные улучшения изменили ситуацию к середине 1970-х годов, и Cray 1 смог использовать новые ИС и при этом работать на достойной частоте 12,5 нс (80 МГц). Фактически, Cray 1 был даже немного быстрее, чем 8600, поскольку благодаря небольшому размеру ИС он упаковал в систему значительно больше логики. Хотя конструкция ИС продолжала совершенствоваться, физический размер ИС в значительной степени ограничивался механическими ограничениями; полученный компонент должен был быть достаточно большим, чтобы его можно было припаять к системе. Значительное увеличение плотности было возможно, как показывало быстрое улучшение в разработке микропроцессоров, но для типа ИС, используемых Cray, представляющих собой лишь небольшую часть полной схемы, конструкция достигла плато. Чтобы добиться десятикратного увеличения производительности по сравнению с Cray 1, цели, которую преследовал Cray, машина должна была стать более сложной. Поэтому он снова обратился к решению, подобному 8600, удвоив тактовую частоту за счет увеличения плотности, добавив больше этих меньших процессоров в базовую систему и затем попытавшись решить проблему отвода тепла от машины. Другой проблемой конструкции был растущий разрыв в производительности между процессором и основной памятью. В эпоху CDC 6600 память работала с той же скоростью, что и процессор, и основной проблемой было обеспечение ее данными. Cray решил эту проблему, добавив в систему десять небольших компьютеров, позволяя им обрабатывать более медленное внешнее хранилище (диски и ленты) и "перекачивать" данные в память, когда основной процессор был занят. Это решение больше не давало никаких преимуществ; память была достаточно большой, чтобы в нее можно было загрузить целые наборы данных, но процессоры работали намного быстрее памяти, поэтому они часто тратили много времени в ожидании поступления данных. Добавление четырех процессоров только усугубило эту проблему. Чтобы избежать этой проблемы, в новой конструкции была применена банковская память, а два набора регистров (регистры B и T) были заменены на блок самой быстрой возможной памяти объемом 16 КWord, называемый локальной памятью, а не кэшем. К ней были подключены четыре фоновых процессора с помощью отдельных высокоскоростных каналов. Эта локальная память получала данные от выделенного процессорa переднего плана, который, в свою очередь, был подключен к основной памяти через канал Gbit/s на процессор; X MP, напротив, имели 3 канала для 2 одновременных загрузок и записи, а Y MP/C 90s – 5 каналов для предотвращения узкого места фон Неймана. Задача процессора переднего плана заключалась в "управлении" компьютером, обработке хранилища и эффективном использовании множественных каналов в основную память. Он управлял фоновыми процессорами, передавая им инструкции для выполнения через восемь 16-словных буферов, вместо того чтобы использовать существующие каналы кэша для фоновых процессоров. Современные процессоры используют вариацию этой конструкции, хотя процессор переднего плана теперь называется блоком загрузки/выгрузки и не является полноценной машиной сам по себе. Банки основной памяти были организованы в квадранты для одновременного доступа, что позволяло программистам распределять свои данные по памяти для повышения параллелизма. Недостатком этого подхода была относительно высокая стоимость настройки блока scatter/gather в процессоре переднего плана. Конфликты шагов, соответствующие количеству банков памяти, приводили к снижению производительности (задержке), как это иногда происходило в алгоритмах FFT на основе степени двойки. Поскольку Cray 2 имел гораздо больший объем памяти, чем Cray 1 или X MP, эту проблему можно было легко решить, добавив дополнительный неиспользуемый элемент в массив для распределения нагрузки.

Упакованные платы с электрическими схемами и новые идеи дизайна

Ранние модели Cray 2 вскоре остановились на конструкции с использованием больших печатных плат, заполненных интегральными схемами. Это делало их сборку крайне сложной, а плотность все еще была недостаточной для достижения целевых показателей производительности. Команды работали над проектом около двух лет, прежде чем даже сам Крей «сдался» и решил, что лучше всего будет просто отменить проект и уволить всех, кто над ним работал. Лес Дэвис, бывший соратник Крэя по разработке, который остался в штаб-квартире Cray, решил, что проект следует продолжить в режиме низкого приоритета. После некоторых незначительных перестановок в персонале команда продолжила работу почти как прежде. Через полгода Крэя осенило. Он собрал главных инженеров на совещание и представил новое решение проблемы. Вместо создания одной большой печатной платы каждая «карта» должна была состоять из трехмерной стопки из восьми плат, соединенных посередине с помощью штырьков, выступающих с поверхности (известных как «погос» или «z-штырьки»). Карты располагались вплотную друг к другу, поэтому получившаяся стопка была высотой всего около 30 мм. При такой плотности любая традиционная система воздушного охлаждения была бы невозможна – для циркуляции воздуха между интегральными схемами было слишком мало места. Вместо этого система должна была быть погружена в резервуар с новой инертной жидкостью Fluorinert от компании 3M. Охлаждающая жидкость под давлением прокачивалась сквозь модули вбок со скоростью примерно один дюйм в секунду. Нагретая жидкость охлаждалась с помощью водяных теплообменников с охлажденной водой и возвращалась в основной резервуар. Работа над новой конструкцией началась в 1982 году, спустя несколько лет после первоначальной даты старта. В это же время Cray X MP разрабатывался под руководством Стива Чена в штаб-квартире Cray и представлял серьезную конкуренцию Cray 2. Чтобы противостоять этой внутренней угрозе, а также серии новых японских машин, подобных Cray 1, система памяти Cray 2 была значительно улучшена как по объему, так и по количеству «каналов» к процессорам. Когда машина была наконец поставлена в 1985 году, задержки были настолько велики, что значительная часть прироста производительности была обусловлена более быстрой памятью. Покупка машины имела смысл только для пользователей, которым требовалась обработка огромных объемов данных. Первый поставленный Cray 2 обладал большим объемом физической памяти (256 Мслов) по сравнению со всеми ранее выпущенными машинами Cray вместе взятыми. Моделирование перешло из двухмерного или грубого трехмерного пространства в более детализированное трехмерное, поскольку вычислениям больше не приходилось полагаться на медленную виртуальную память.

Использование и преемники

Cray 2 разрабатывался преимущественно для Министерства обороны и Министерства энергетики США. Его применение было связано, как правило, с исследованиями в области ядерного оружия или разработкой океанографических (сонарных) систем. Однако первый Cray 2 (серийный номер 1) использовался в Национальном компьютерном центре термоядерных исследований при Национальной лаборатории Лоуренса Ливермора для проведения несекретных энергетических исследований. Он также находил применение в гражданских ведомствах (например, в Исследовательском центре NASA Ames), университетах и корпорациях по всему миру. Так, компании Ford и General Motors использовали Cray 2 для обработки сложных моделей кузовов автомобилей методом конечных элементов, а также для проведения виртуальных краш-тестов компонентов кузова до начала производства. Cray 2 должен был быть сменен Cray 3, но из-за проблем при разработке был построен лишь один Cray 3, за который так и не заплатили. Духовным преемником Cray 2 является Cray X1, предлагаемый компанией Cray.

Сравнение с более поздними компьютерами

В 2012 году Пётр Лушчек (бывший аспирант Джека Донгарры) представил результаты, демонстрирующие, что производительность iPad 2 в тесте LINPACK для встраиваемых систем сопоставима с исторической производительностью Cray 2.

Интересные факты

Из-за использования жидкостного охлаждения Cray 2 получил прозвище "Пузырьки", и распространённые шутки вокруг компьютера отсылали к этой уникальной системе. Среди них были таблички "Не ловить рыбу", картонные изображения чудовища Лох-Несса, поднимающегося из бака теплообменника, пластиковые рыбки внутри теплообменника и тому подобное. Потребляемая мощность Cray 2 составляла 150–200 кВт. Исследования, проведённые в Национальной лаборатории Лоуренса Ливермора в начале 1990-х годов, показали, что в некоторой степени перфторированный полиэфир, использовавшийся для охлаждения схем Cray 2, разлагался с образованием крайне токсичного газа – перфторизобутилена. В то время Cray создал плакат, демонстрирующий прозрачную "пузырьковую камеру", через которую для визуального эффекта прокачивалась охлаждающая жидкость, с разливом того же вещества, блестящим на полу – шутка заключалась в том, что в случае реального разлива объект пришлось бы эвакуировать. Производитель жидкости разработал скруббер, который можно было установить в линию с насосом для каталитического разложения этого токсичного продукта распада. Каждый вертикальный блок логических модулей располагался над блоком силовых модулей, которые питали 5-вольтовые шины, каждая из которых обеспечивала около 2200 ампер. Cray 2 питался от двух двигателей-генераторов, принимавших трёхфазное напряжение 480 В.