Крей-1 - Cray-1

Крей-1
Cray-1 large view.png
3D-рендеринг двух Cray-1 с фигурой в масштабе
Дизайн
Производитель Cray Research
Дизайнер Сеймур Крей
Дата выхода 1975 г.
Проданных единиц Более 80
Цена 7,9 млн долларов США в 1977 году (что эквивалентно 33,7 млн ​​долларов США в 2020 году)
Кожух
Габаритные размеры Высота: 196 см (77
дюймов ) в диаметре. (основание): диаметр 263 см (104
дюйма ) . (столбцы): 145 см (57 дюймов)
Масса 5,5 тонны (Cray-1A)
Власть 115 кВт при 208 В 400 Гц
Система
Внешний интерфейс Данные General Eclipse
Операционная система COS и UNICOS
Процессор 64-битный процессор @ 80 МГц
объем памяти 8,39 мегабайт (до 1048 576 слов)
Место хранения 303 мегабайта (блок DD19)
ФЛОПЫ 160 МФЛОПС
Преемник Cray X-MP

Cray-1 был суперкомпьютер разработан, изготовлен и продается компанией Cray Research . Анонсированная в 1975 году первая система Cray-1 была установлена ​​в Лос-Аламосской национальной лаборатории в 1976 году. В конце концов, было продано более 100 Cray-1, что сделало ее одним из самых успешных суперкомпьютеров в истории. Он, пожалуй, наиболее известен своей уникальной формой, относительно небольшим С-образным корпусом с кольцом скамеек вокруг внешней стороны, закрывающим блоки питания и систему охлаждения.

Cray-1 был первым суперкомпьютером, успешно реализовавшим дизайн векторного процессора . Эти системы улучшают производительность математических операций за счет организации памяти и регистров для быстрого выполнения одной операции с большим набором данных. Предыдущие системы, такие как CDC STAR-100 и ASC, реализовали эти концепции, но сделали это таким образом, что серьезно ограничили их производительность. Cray-1 решил эти проблемы и произвел машину, которая работала в несколько раз быстрее, чем любая аналогичная конструкция.

Архитектором Cray-1 был Сеймур Крей ; главным инженером был соучредитель Cray Research Лестер Дэвис. Они продолжили проектировать несколько новых машин, используя те же базовые концепции, и сохранили корону производительности до 1990-х годов.

2-х проекционный чертеж Cray-1 с масштабированием

История

С 1968 по 1972 год Сеймур Крей из Control Data Corporation (CDC) работал над CDC 8600 , преемником его более ранних разработок CDC 6600 и CDC 7600 . 8600 был в основном состоит из четырех 7600s в коробке с дополнительным специальным режимом , который позволил им работать запирание шаг в SIMD моде.

Джим Торнтон, бывший технический партнер Cray по более ранним проектам, начал более радикальный проект, известный как CDC STAR-100 . В отличие от 8600, основанного на грубом подходе к производительности, STAR пошла по совершенно иному пути. Главный процессор STAR имел более низкую производительность, чем 7600, но добавлялось оборудование и инструкции для ускорения особенно распространенных суперкомпьютерных задач.

К 1972 году модель 8600 зашла в тупик; машина была настолько сложной, что невозможно было заставить ее работать должным образом. Даже один неисправный компонент может вывести машину из строя. Крей обратился к Уильяму Норрису , генеральному директору Control Data, и сказал, что необходимо изменить дизайн с нуля. В то время у компании были серьезные финансовые проблемы, и, поскольку STAR тоже готовилась, Норрис не мог вложить деньги.

В результате Крей покинул CDC и основал Cray Research очень близко к лаборатории CDC. На заднем дворе земли, которую он купил в Chippewa Falls , Крей и группа бывших сотрудников CDC начали искать идеи. Поначалу идея создания еще одного суперкомпьютера казалась невозможной, но после того, как технический директор Cray Research приехал на Уолл-стрит и нашел группу инвесторов, готовых поддержать Cray, все, что было необходимо, - это дизайн.

За четыре года Cray Research разработала свой первый компьютер. В 1975 году был анонсирован Cray-1 80 МГц. Волнение было настолько велико, что между Ливерморской национальной лабораторией Лоуренса и Лос-Аламосской национальной лабораторией разразилась война за первую машину , последняя в конечном итоге выиграла и получила серийный номер 001 в 1976 году для шестимесячного испытания. Национальный центр атмосферных исследований (NCAR) был первым официальным заказчиком Cray Research в 1977 году, заплатив миллион $ 8,86 (7900000 $ плюс $ 1 млн для дисков) США на серийный номер 3. НКАР машина была выведена из эксплуатации в 1989 году компания ожидаемому продать, возможно, дюжину машин и установить соответствующую продажную цену, но в итоге было продано более 80 Cray-1 всех типов по цене от 5 до 8 миллионов долларов. Эта машина сделала Сеймура Крея знаменитостью, а его компания добилась успеха, который продлился до крушения суперкомпьютера в начале 1990-х годов.

Основываясь на рекомендации исследования Уильяма Перри , АНБ приобрело Cray-1 для теоретических исследований в области криптоанализа . По словам Будянски, «хотя стандартные истории Cray Research будут сохраняться на протяжении десятилетий, утверждая, что первым заказчиком компании была Лос-Аламосская национальная лаборатория, на самом деле это было АНБ ...»

На смену Cray-1 со скоростью 160  MFLOPS в 1982 г. пришел 800 MFLOPS Cray X-MP , первый многопроцессорный компьютер Cray. В 1985 году очень продвинутый Cray-2 , способный обеспечивать пиковую производительность 1,9 GFLOPS, пришел на смену первым двум моделям, но имел несколько ограниченный коммерческий успех из-за определенных проблем с обеспечением стабильной производительности в реальных приложениях. Поэтому более консервативно спроектированный эволюционный преемник моделей Cray-1 и X-MP был создан под названием Cray Y-MP и выпущен в 1988 году.

Для сравнения: процессор в типичном интеллектуальном устройстве 2013 года, таком как Google Nexus 10 или HTC One , работает примерно со скоростью 1 Гфлопс, а процессор A13 в iPhone 11 2020 года - со скоростью 154,9 Гфлопс, что соответствует суперкомпьютерам, пришедшим на смену Cray-1. не дойдет до 1994 года .

Фон

Типичные научные рабочие нагрузки состоят из чтения больших наборов данных, их некоторого преобразования и последующей повторной записи. Обычно применяемые преобразования идентичны для всех точек данных в наборе. Например, программа может добавить 5 к каждому числу в наборе из миллиона чисел.

В традиционных компьютерах программа перебирает все миллионы чисел, добавляя пять, тем самым выполняя миллион инструкций a = add b, c. Внутренне компьютер выполняет эту инструкцию в несколько этапов. Сначала он считывает инструкцию из памяти и декодирует ее, затем собирает любую дополнительную информацию, которая ему нужна, в данном случае числа b и c, а затем, наконец, выполняет операцию и сохраняет результаты. Конечным результатом является то, что компьютеру требуются десятки или сотни миллионов циклов для выполнения этих операций.

Векторные машины

В STAR новые инструкции, по сути, писали циклы для пользователя. Пользователь сообщал машине, где в памяти хранится список чисел, а затем вводил одну команду a(1..1000000) = addv b(1..1000000), c(1..1000000). На первый взгляд кажется, что экономия ограничена; в этом случае машина выбирает и декодирует только одну команду вместо 1 000 000, тем самым экономя 1 000 000 операций выборки и декодирования, что составляет примерно четверть всего времени.

Реальная экономия не так очевидна. Внутри ЦП компьютера состоит из нескольких отдельных частей, предназначенных для выполнения одной задачи, например, для добавления числа или выборки из памяти. Обычно, когда инструкция проходит через машину, в любой момент времени активна только одна часть. Это означает, что каждый последовательный шаг всего процесса должен завершиться, прежде чем можно будет сохранить результат. Добавление конвейера команд меняет это. В таких машинах ЦП будет «смотреть вперед» и начинать выборку следующих инструкций, пока текущая инструкция все еще обрабатывается. В этом режиме сборочной линии для выполнения любой одной инструкции по-прежнему требуется столько же времени, но как только она завершает выполнение, следующая инструкция оказывается сразу за ней, и большинство шагов, необходимых для ее выполнения, уже завершены.

Векторные процессоры используют эту технику с одной дополнительной уловкой. Поскольку структура данных имеет известный формат - набор чисел, последовательно расположенных в памяти, конвейеры могут быть настроены для повышения производительности выборки. При получении векторной инструкции специальное оборудование устанавливает доступ к памяти для массивов и максимально быстро загружает данные в процессор.

Подход CDC в STAR использовал то, что сегодня известно как архитектура память-память . Это относилось к способу сбора данных машиной. Он настроил свой конвейер для чтения и записи в память напрямую. Это позволило STAR использовать векторы любой длины, что сделало его очень гибким. К сожалению, конвейер должен был быть очень длинным, чтобы иметь достаточно инструкций в полете, чтобы компенсировать медленную память. Это означало, что машина понесла высокие затраты при переключении с обработки векторов на выполнение операций с отдельными случайно расположенными операндами. Кроме того, низкая скалярная производительность машины означала, что после того, как произошло переключение и машина выполняла скалярные инструкции, производительность была довольно низкой. Результатом были довольно неутешительные результаты в реальных условиях, что, возможно, можно было предсказать по закону Амдала .

Подход Cray

Крей изучил отказ STAR и извлек из этого урок. Он решил, что в дополнение к быстрой векторной обработке его конструкция также потребует превосходной универсальной скалярной производительности. Таким образом, когда машина переключает режимы, она по-прежнему обеспечивает превосходную производительность. Кроме того, он заметил, что рабочие нагрузки в большинстве случаев можно значительно улучшить за счет использования регистров .

Точно так же, как более ранние машины игнорировали тот факт, что большинство операций применялось ко многим точкам данных, STAR игнорировал тот факт, что те же самые точки данных будут многократно обрабатываться. В то время как STAR будет читать и обрабатывать одну и ту же память пять раз, чтобы применить пять векторных операций к набору данных, было бы намного быстрее прочитать данные в регистры ЦП один раз, а затем применить пять операций. Однако у этого подхода были ограничения. Регистры были значительно дороже с точки зрения схемотехники, поэтому можно было предоставить только ограниченное количество. Это означало, что дизайн Cray будет иметь меньшую гибкость с точки зрения размеров векторов. Вместо того, чтобы читать вектор любого размера несколько раз, как в STAR, Cray-1 должен был бы читать только часть вектора за раз, но затем он мог бы выполнить несколько операций с этими данными перед записью результатов обратно в память. Учитывая типичные рабочие нагрузки, Крей считал, что небольшие затраты, связанные с необходимостью разбивать большие последовательные обращения к памяти на сегменты, стоили того.

Поскольку типичная векторная операция будет включать загрузку небольшого набора данных в векторные регистры и последующее выполнение над ним нескольких операций, векторная система новой конструкции имела свой собственный отдельный конвейер. Например, блоки умножения и сложения были реализованы как отдельные аппаратные средства, поэтому результаты одного могли быть внутренне конвейеризованы в следующем, причем декодирование команд уже было обработано в основном конвейере машины. Крей назвал эту концепцию цепочкой , поскольку она позволяла программистам « связывать воедино» несколько инструкций и добиваться более высокой производительности.

Описание

Новая машина была первой разработкой Cray, в которой использовались интегральные схемы (ИС). Хотя ИС были доступны с 1960-х годов, только в начале 1970-х годов они достигли производительности, необходимой для высокоскоростных приложений. В Cray-1 использовалось только четыре разных типа ИС: двойной вентиль ИЛИ-НЕ-НЕ с 5-4 в ECL (один с 5 входами и один с 4 входами, каждый с дифференциальным выходом), другой более медленный вентиль MECL 10K 5-4 ИЛИ-НЕ, используемый для разветвления адреса. , 16 × 4-битное высокоскоростное (6 нс) статическое ОЗУ (SRAM), используемое для регистров, и 1024 × 1-битное статическое ОЗУ 48 нс, используемое для основной памяти. Эти интегральные схемы были поставлены Fairchild Semiconductor и Motorola . Всего в Cray-1 было около 200 000 ворот.

ИС были установлены на больших пятислойных печатных платах , до 144 ИС на плату. Затем платы были установлены вплотную для охлаждения (см. Ниже) и помещены в двадцать четыре стойки высотой 28 дюймов (710 мм), содержащие 72 двойных платы. Типичный модуль (отдельный процессор) требует одной или двух плат. Всего в машине было 1662 модуля 113 разновидностей.

Каждый кабель между модулями представлял собой витую пару , обрезанную до определенной длины, чтобы гарантировать получение сигналов точно в нужное время и минимизировать электрическое отражение. Каждый сигнал, создаваемый схемой ECL, был дифференциальной парой, поэтому сигналы были сбалансированы. Это, как правило, делало спрос на источник питания более постоянным и уменьшало коммутационный шум. Нагрузка на блок питания была настолько равномерно сбалансирована, что Cray хвастался, что блок питания не регулируется. Для источника питания вся компьютерная система выглядела как простой резистор.

Высокопроизводительная схема ECL генерировала значительное количество тепла, и конструкторы Cray потратили столько же усилий на конструкцию системы охлаждения, сколько на остальную механическую конструкцию. В этом случае каждая печатная плата была соединена со второй, размещенной вплотную друг к другу с листом меди между ними. Медный лист проводил тепло к краям клетки, где жидкий фреон, протекающий по трубам из нержавеющей стали, отводил его в охлаждающую установку под машиной. Первый Cray-1 задержали на шесть месяцев из-за проблем в системе охлаждения; Смазка, которая обычно смешивается с фреоном для поддержания работы компрессора, протекает через уплотнения и, в конечном итоге, покрывает платы маслом, пока они не закорочены. Для правильной герметизации труб пришлось использовать новые методы сварки.

Чтобы вывести машину на максимальную скорость, все шасси было изогнуто в большую С-образную форму. Части системы, зависящие от скорости, были размещены на «внутренней стороне» шасси, где длина проводов была короче. Это позволило уменьшить время цикла до 12,5 нс (80 МГц), не так быстро, как 8 нс 8600, от которого он отказался, но достаточно быстро, чтобы превзойти CDC 7600 и STAR. По оценкам NCAR, общая пропускная способность системы в 4,5 раза выше, чем у CDC 7600.

Cray-1 был построен как 64-битная система, в отличие от 7600/6600, которые были 60-битными машинами (изменения также планировались для 8600). Адресация была 24-битной, с максимумом 1 048 576 64-битных слов (1 мегаворд) в основной памяти, где каждое слово также имело 8 бит четности, всего 72 бита на слово. Было 64 бита данных и 8 контрольных бит. Память была распределена по 16 чередующимся банкам памяти , каждый из которых имел время цикла 50 нс, что позволяло читать до четырех слов за цикл. Меньшие конфигурации могут иметь 0,25 или 0,5 мегаворда основной памяти. Максимальная совокупная пропускная способность памяти составила 638 Мбит / с.

Основной набор регистров состоял из восьми 64-битных скалярных (S) регистров и восьми 24-битных адресных (A) регистров. Они поддерживались набором из шестидесяти четырех регистров, каждый для временного хранилища S и A, известных как T и B соответственно, которые не могли быть просмотрены функциональными блоками. Векторная система добавила еще восемь 64-элементных 64-битных векторных (V) регистров, а также длину вектора (VL) и векторную маску (VM). Наконец, система также включала 64-битный регистр часов реального времени и четыре 64-битных буфера инструкций, каждый из которых содержал шестьдесят четыре 16-битных инструкции. Аппаратное обеспечение было настроено таким образом, чтобы в векторные регистры подавалось одно слово за цикл, в то время как для адресного и скалярного регистров требовалось два цикла. Напротив, весь буфер команд из 16 слов может быть заполнен за четыре цикла.

Cray-1 имел двенадцать конвейерных функциональных единиц. Арифметические операции с 24-битным адресом выполнялись в блоках сложения и умножения. Скалярная часть системы состояла из блока добавления, логического блока, счетчика совокупности , блока начального счета нуля и блока сдвига. Векторная часть состояла из модулей сложения, логики и сдвига. Функциональные блоки с плавающей запятой были общими для скалярной и векторной частей, и они состояли из блоков сложения, умножения и обратного приближения.

Система имела ограниченный параллелизм. Он мог выдавать одну инструкцию за такт для теоретической производительности 80  MIPS , но с векторным умножением и сложением с плавающей запятой, происходящими параллельно, теоретическая производительность составляла 160 MFLOPS. (Блок обратного приближения также мог работать параллельно, но не давал истинного результата с плавающей запятой - для достижения полного деления требовалось два дополнительных умножения.)

Поскольку машина была спроектирована для работы с большими наборами данных, в конструкции также были выделены значительные схемы для ввода-вывода . Ранние разработки Cray в CDC включали отдельные компьютеры, предназначенные для этой задачи, но в этом больше не было необходимости. Вместо этого Cray-1 включал в себя четыре 6-канальных контроллера, каждый из которых получал доступ к основной памяти каждые четыре цикла. Каналы имели ширину 16 бит и включали 3 бита управления и 4 бита для исправления ошибок, поэтому максимальная скорость передачи составляла 1 слово на 100 нс или 500 тысяч слов в секунду для всей машины.

Первоначальная модель Cray-1A весила 5,5 тонны, включая фреоновую систему охлаждения. Сконфигурированный с объемом оперативной памяти 1 миллион слов , машина и ее источники питания потребляли около 115 кВт мощности; охлаждение и хранение, вероятно, увеличили эту цифру более чем вдвое. Миникомпьютер Data General SuperNova S / 200 служил блоком управления техническим обслуживанием (MCU), который использовался для подачи операционной системы Cray в систему во время загрузки, для мониторинга ЦП во время использования и, возможно, в качестве внешнего компьютера. Большинство, если не все, Cray-1A были доставлены с использованием последующего Data General Eclipse в качестве MCU.

Крей-1С

Cray-1S , объявленный в 1979 году, был улучшенный Cray-1 , которая поддерживает большую основную память 1, 2 или 4 миллиона слов. Увеличение объема оперативной памяти стало возможным благодаря использованию биполярных микросхем ОЗУ размером 4096 x 1 бит со временем доступа 25 нс. Миникомпьютеры Data General были при желании заменены 16-разрядными компьютерами собственного производства со скоростью 80 MIPS. Подсистема ввода-вывода была отделена от основной машины и подключена к основной системе через канал управления 6 Мбит / с и высокоскоростной канал передачи данных 100 Мбит / с. Это разделение сделало 1S похожим на две «половинки Crays», разделенные несколькими футами, что позволило расширить систему ввода-вывода по мере необходимости. Системы можно было купить в различных конфигурациях от S / 500 без ввода-вывода и 0,5 миллиона слов памяти до S / 4400 с четырьмя процессорами ввода-вывода и 4 миллионами слов памяти.

Крей-1М

Cray-1М , объявленный в 1982 году, заменил Cray-1S. У него было более быстрое время цикла 12 нс и использовалось менее дорогое MOS RAM в основной памяти. 1M поставлялся только в трех версиях: M / 1200 с 1 миллионом слов в 8 банках или M / 2200 и M / 4200 с 2 или 4 миллионами слов в 16 банках. Все эти машины включали в себя два, три или четыре процессора ввода-вывода, и система добавляла дополнительный второй высокоскоростной канал данных. Пользователи могут добавить твердотельное запоминающее устройство с оперативной памятью MOS от 8 до 32 миллионов слов.

Программное обеспечение

В 1978 году был выпущен первый стандартный пакет программного обеспечения для Cray-1, состоящий из трех основных продуктов:

Штаты Департамент энергетики Соединенных финансируемая сайты из Ливерморской национальной лаборатории , Лос - Аламос научной лаборатории , Sandia National Laboratories и Национальный научный фонд суперкомпьютерных центров (для физики высоких энергий) представлял собой второй по величине блок с LLL в системе Cray Time Sharing (CTSS) . CTSS был написан на Фортране с динамической памятью, сначала названном LRLTRAN, который работал на CDC 7600 , переименованном в CVC (произносится как «Civic»), когда была добавлена ​​векторизация для Cray-1. Cray Research попыталась соответствующим образом поддержать эти сайты. Этот выбор программного обеспечения повлиял на более поздние мини- суперкомпьютеры , также известные как « цветные карандаши ».

NCAR имеет собственную операционную систему (NCAROS).

Агентство национальной безопасности разработало собственную операционную систему (Folklore) и язык (IMP с портами Cray Pascal и C и Fortran 90 позже)

Библиотеки начали с собственных предложений Cray Research и Netlib .

Существовали и другие операционные системы, но большинство языков, как правило, основывались на Фортране или Фортране. Bell Laboratories , как доказательство концепции переносимости и схемотехники, переместила первый компилятор C на свой Cray-1 (без векторизации). Этот акт позже даст CRI шестимесячный старт для переноса Cray-2 на Unix в ущерб ETA Systems , а также первый компьютерный тестовый фильм Lucasfilm « Приключения Андре и Уолли Б.» .

Прикладное программное обеспечение обычно бывает классифицированным ( например, ядерный код, криптоаналитический код) или закрытым ( например, моделирование нефтяных пластов). Это было связано с тем, что между заказчиками и заказчиками университетов было мало общего программного обеспечения. Немногочисленные исключения составляли климатологические и метеорологические программы, пока NSF не отреагировал на японский проект компьютерных систем пятого поколения и не создал свои суперкомпьютерные центры. Даже тогда делились небольшим кодом.

Отчасти потому, что Cray были заинтересованы в рекламе, они поддержали разработку Cray Blitz, которая выиграла четвертый (1983) и пятый (1986) чемпионаты мира по компьютерным шахматам , а также чемпионаты Северной Америки по компьютерным шахматам в 1983 и 1984 годах . Программа Chess , которая доминировала в 1970-х, работала на суперкомпьютерах Control Data Corporation.

Музеи

Cray-1 выставлены в следующих местах:

Другие изображения Cray-1

использованная литература

внешние ссылки

Записи
Предыдущий
CDC 7600
10 мегафлопс
Самый мощный суперкомпьютер в мире
1976–1982 гг.
На смену
Cray X-MP /
4713 мегафлопс