Как менялись суперкомпьютеры: путь от вакуумных ламп и транзисторов до квантовых вычислений
Казалось бы, что общего между моделированием термоядерного синтеза, прогнозом погоды, изучением эпидемий и анализом демографических процессов? На самом деле все очень просто, все эти области объединяет одно: для решения их сложнейших задач требуется колоссальная вычислительная мощность, доступная только суперкомпьютерам.
реклама
Суперкомпьютер — это вычислительная система такой невероятной мощности, что она существует словно в отдельной технологической вселенной. Особенно бурное развитие эти системы получили в годы Холодной войны, когда наука, промышленность и оборонный сектор требовали всё более мощных вычислительных ресурсов. Впрочем, понятие "суперкомпьютер" постоянно эволюционирует — то, что считалось невероятно мощным вчера, сегодня может показаться обыденным. Достаточно учесть тот факт, что современный iPhone легко достигает производительности в один терафлопс — показателя, о котором суперкомпьютеры 1990-х могли только мечтать.
Интересный факт - само слово "компьютер" изначально обозначало человека, выполняющего вычисления. Этот термин пришёл из астрономии, где было обычной практикой держать в штате одного или нескольких специалистов-вычислителей. К XIX веку "человеческие компьютеры" активно участвовали в обработке астрономических данных и составлении навигационных таблиц для морского флота. Особую роль в развитии этой профессии сыграли женщины, чей вклад продолжал расти вплоть до XX века. Эта малоизвестная страница истории была прекрасно показана в фильме "Скрытые фигуры" (2016), рассказывающем о женщинах-математиках, работавших в НАСА на заре космической эры.
Впервые термин «суперкомпьютер» появился в исторических документах в 1929 году (тогда это были два слова – «супер компьютер»). Речь шла о машине – специально разработанном табуляторе инженерами IBM для Колумбийского университета. Примечательно, что его производительность описывалась как «равная ста математикам», что ярко иллюстрирует, насколько антропоцентричным было тогда восприятие вычислительных мощностей машин.
реклама
Первые компьютеры, как правило, представляли собой уникальные вычислительные установки, созданные под конкретные научные, промышленные или государственные задачи высшей сложности. Эти уникальные машины разрабатывались для решения специфических вычислительных проблем и зачастую размещались в крупных исследовательских центрах или на правительственных объектах.
Особое место в истории занимает ENIAC (Electronic Numerical Integrator and Computer) — первый программируемый компьютер общего назначения. Созданный по заказу армии США в 1942 году для расчёта артиллерийских таблиц, он начал работу в Баллистической исследовательской лаборатории в декабре 1945 года. Перевозка этого гиганта размером с трёхкомнатную квартиру на полигон Абердин в 1947 году была отдельной инженерной операцией. Там ENIAC верно прослужил до 1955 года.
реклама
Стоит отметить, что разработчики ENIAC, Джон Преспер Эккерт и Джон Мокли, не остановились на достигнутом. Их следующим детищем стал UNIVAC — компьютер, который открыл эру коммерческой вычислительной техники. Первым заказчиком стало Бюро переписи населения США. Особую известность получил UNIVAC I, прославившийся неожиданным образом: в 1951 году он точно предсказал победу Дуайта Эйзенхауэра на президентских выборах 1952 года. Неудивительно, что уже к концу года армия США запросила у Конгресса финансирование на приобретение UNIVAC.
Следующим прорывом стал UNIVAC LARC (Livermore Advanced Research Computer), специально разработанный для Национальной лаборатории Лоуренса Ливермора. Эта машина предназначалась для сложнейших научных расчётов, включая гидродинамическое моделирование при проектировании ядерного оружия. По тем временам LARC был невероятно быстр: операция сложения занимала всего 4 микросекунды.
Все компьютеры той эпохи, включая ENIAC и UNIVAC, работали на электронных лампах. Эта несовершенная схема создавала для разработчиков серьёзные проблемы: каждая лампа могла стать точкой отказа, особенно при включении и выключении машины, когда происходили сильные температурные перепады. Инженерам приходилось регулярно заменять лампы по графику, не дожидаясь их выхода из строя. Однако военные разработки принесли революционное решение — твердотельную электронику, которая превосходила электронные лампы по всем параметрам.
реклама
Несмотря на то, что принцип работы транзисторов был теоретически описан ещё в 1929 году, первый работающий образец появился только в 1947 году в легендарной Bell Labs. В том же году было запатентовано другое революционное изобретение — магнитная память на сердечниках, представлявшая собой искусно сплетённую матрицу из ферромагнитных колец на проводящих нитях.
Память на магнитных сердечниках и метод "LOL"
Ферритовая память (иногда называемая «памятью на магнитных сердечниках» или просто «сердечниками») некоторое время использовалась в академической среде, прежде чем нашла свое главное применение в качестве основной памяти для засекреченного проекта Whirlwind – компьютера на вакуумных лампах, разработанного инженерами Массачусетского технологического университета (MIT) совместно с ВМС США для управления авиасимулятором, предназначенного для обучения экипажей бомбардировщиков. Ферритовая память уже применялась на практике к моменту патентования, и после долгих судебных разбирательств компания IBM выплатила научному сообществу MIT 13 миллионов долларов за права на патент инженера Джея Форрестера – это стало крупнейшей на тот момент сделкой по урегулированию патентного спора.
Каждый сердечник представлял собой крошечный "бублик" из ферромагнитного материала. Пропуская электрический ток через него, можно было изменить его магнитное состояние, которое затем сохранялось. Это состояние соответствовало двоичному биту: нулю или единице. Инженеры быстро поняли, что чем меньше сердечник, тем меньше энергии требуется для изменения его состояния. Поэтому они стремились создавать все более миниатюрные компоненты. К 1966 году размер сердечников сократился с 2,5 мм до всего 0,33 мм. Инженеры шутили, что новые сердечники получаются из "обрезков" предыдущего поколения.
Ферритовая память была достаточно дешевой, поэтому ее использовали в качестве основной памяти вплоть до конца 1960-х годов. По тем же причинам она сыграла важную роль в космической гонке. Ее даже применяли в космической программе "Аполлон". Программное обеспечение для лунного модуля было реализовано с помощью специальной разновидности памяти на сердечниках, называемой "сердечным шнуром".
Плетение такой памяти было кропотливой работой, которую доверяли ловким рукам женщин из общины навахо в Шипроке, штат Нью-Мексико. Женщины, владеющие традиционным ткацким искусством, были настолько важны для этого процесса, что его иногда называли методом «LOL» (от английского "Little Old Ladies") – ласковым сокращением, которое придумала Маргарет Гамильтон, ведущий разработчик программного обеспечения для программы "Аполлон", в знак уважения к "маленьким старушкам", которые создавали эту память.
У ферритовой памяти были и недостатки. Пожалуй, худшее из них заключается в том, что чтение из памяти на сердечниках было разрушающим: оно стирало данные при чтении. Ферритовая память оставалась основой высокопроизводительных вычислительных систем до конца 1960-х годов, включая известный IBM 704, но, как и вакуумные лампы, эта технология плохо масштабировалась по сравнению с твердотельными технологиями, такими как DRAM и транзисторы.
После того как Bell Labs объявила о создании первого рабочего транзистора, такие компании General Electric, Honeywell и IBM быстро внедрили транзисторы в свою продукцию. Более компактные, дешевые и надежные, транзисторы начали вытеснять вакуумные лампы во всех областях – от военных радаров до промышленных систем управления и исследовательских суперкомпьютеров.
IBM и её голубые гиганты
Затем в течение трех лет IBM разработала прототипы точечно-контактных транзисторов и уже в 1955 году представила свой первый полностью транзисторный продукт – калькулятор IBM 608. Первые несколько лет компания закупала чужие транзисторы, но в 1956 году наладила собственное производство и с тех пор занимает лидирующие позиции в исследованиях полупроводников.
Успеху IBM в производстве и продаже компьютеров способствовало ее прошлое: компания образовалась в результате слияния нескольких фирм, производивших широкий спектр измерительных, калибровочных и вычислительных устройств – Computing-Tabulating-Recording Company (CTR). (В 1924 году глава компании Томас Уотсон-старший, устав от «громоздкого» названия через дефис, переименовал ее в International Business Machines.)
IBM сыграла ключевую роль в истории вычислительной техники в США, но ее также обвиняли в патентном рейдерстве – скупке более мелких компаний ради патентов и другой интеллектуальной собственности. Знакомый всем 80-колоночный формат перфокарт IBM доминировал в вычислительной технике до середины XX века. (Этот формат также привлек внимание немецких нацистов, которые активно использовали перфокарты и табуляторы, производимые на заводе IBM Hollerith.)
Прозвище «Синий гигант» (Big Blue) отражало как масштабы IBM, так и ее неформальный дресс-код – темно-синий костюм, белая рубашка и «респектабельный» галстук. Томас Уотсон-старший ввел систему щедрого поощрения продавцов, ориентировал компанию на высокое качество обслуживания клиентов, требовал от сотрудников безупречного внешнего вида и воспитывал в них гордость за компанию и преданность ее делу.
Благодаря своему богатому опыту, в ассортименте IBM были весы, машины для нарезки мяса и сыра, промышленные регистраторы времени, табуляторы и перфокарты, использовавшиеся для хранения цифровых данных, обрабатываемых компьютерами того времени. В конце 1940-х годов IBM начала переход от электромеханических табуляторов к компьютерам с хранимыми программами. В 1952 году компания представила свои первые коммерческие научные компьютеры – серию IBM 700 на вакуумных лампах, начиная с модели IBM 701.
В следующем году инженер IBM Джон Бэкус предложил разработать более удобную альтернативу языку ассемблера, используемому для программирования IBM 704. Так появился язык программирования FORTRAN (Formula Translating System). IBM 709 – ламповый компьютер, выпущенный в 1958 году, работал под управлением новой операционной системы SOS, которая, к слову, поддерживала новый тип сжатых двоичных файлов с названием SQUOZE. Для IBM 709 также был разработан язык SNOBOL – улучшенная версия языка ассемблера для решения линейных уравнений.
В 1959 году IBM представила свой первый транзисторный компьютер – 7090 (первоначально планировавшийся как транзисторная версия 709 под названием 709-T), а в 1961 году – свою первую модель суперкомпьютера – 7030.
IBM 7030 (Stretch)
История модели IBM 7030, получившей ироничное прозвище «Святая Отрыжка» (St. Retch) от команды Illiac II, началась с участия компании IBM в конкурсе на разработку компьютера LARC. В 1956 году Ливерморская национальная лаборатория обратилась к двум компаниям — IBM и Univac — с предложением побороться за контракт на разработку UNIVAC LARC.
Незадолго до подачи официального предложения группа инженеров проекта забила тревогу: конструкция 7030 оказалась принципиально ошибочной. Среди прочих недостатков обнаружились проблемы с системой прерываний, а используемые транзисторы вот-вот должны были морально устареть — на горизонте уже маячили более совершенные диффузионные технологии.
Руководство IBM приняло непростое решение. Они вернулись в Ливермор и, отозвав первоначальную заявку, предложили нечто совершенно новое: "Мы не станем создавать эту машину. Вместо этого мы хотим построить нечто гораздо более совершенное! Пока мы не можем сказать точно, во что это выльется, но, вероятно, потребуется дополнительный миллион долларов и еще год работы. Мы не знаем наверняка, какой будет производительность, но намерены достичь десяти миллионов операций в секунду."
В итоге контракт достался Univac.
Когда стало известно, что Лос-Аламосская национальная лаборатория тоже подумывает о приобретении LARC у Univac, компания IBM поняла, что пора действовать. Инженеры IBM представили Лос-Аламосу усовершенствованную версию проекта, от которого отказался Ливермор. Они снова взялись за разработку 7030, но в случае с проектом Stretch амбиции IBM оказались выше их возможностей. История повторилась: снова были сорваны сроки, снова не удалось достичь заявленной производительности. В 1961 году генеральный директор Томас Дж. Уотсон принял радикальное решение — вдвое снизить цену на "Stretch" и прекратить дальнейшие продажи.
Впрочем, у этой истории есть и светлая сторона. В 1962 году модель 7030 всё же стала самым быстрым компьютером в мире и удерживала этот титул до появления CDC 6600 в 1964 году.
Первый суперкомпьютер: CDC 6600
Именно CDC 6600, детище компании Control Data Corporation, принято считать первым настоящим суперкомпьютером. Главным конструктором выступил Сеймур Крей, и его творение оказалось поистине революционным — CDC 6600 превосходил по производительности многострадальный 7030 в три раза. Более того, с более чем 80 проданными экземплярами он стал настоящим коммерческим хитом.
Историки считают, что Сеймур Крей сделал самый большой вклад в развитие суперкомпьютеров. Его путь в мир вычислительной техники начался под влиянием отца, Сеймура Крея-старшего — инженера-строителя, всячески поощрявшего научные эксперименты сына. Крей-младший тоже выбрал инженерное дело, но специализацию в электротехнике. После службы радиооператором на Тихом океане во время Второй мировой войны он устроился в ERA (Engineering Research Associates) — научное подразделение компании Remington Rand, создавшей UNIVAC.
В компании ERA Сеймур Крей работал в отделе фундаментальных исследований, а не в коммерческом подразделении UNIVAC. Его преданность чистой науке красной нитью прошла через всю его карьеру, отразившись как в созданных им компьютерах, так и в выборе места для их разработки. Неудовлетворенный работой в ERA, он вместе с коллегой Уильямом Норрисом основал Control Data Corporation (CDC). Там Крей создал CDC 1604 и внес весомый вклад в разработку серии CDC 3000, а затем приступил к работе над своим самым знаменитым детищем — CDC 6600.
Именно с CDC 6600 связано появление термина "кремний" как синонима процессора. Инженеры CDC приняли революционное решение — заменили германиевые транзисторы на кремниевые, воспользовавшись их существенно более высокой скоростью переключения. Результат впечатлял: на пике производительности машина выполняла более двух миллионов операций в секунду (2 MIPS). Первые экземпляры CDC 6600 в 1965 году отправились в Национальные лаборатории Ливермора и Лос-Аламоса.
Технические характеристики CDC 6600 для своего времени поражали воображение: 60-битный процессор с тактовой частотой 10 МГц и объемом памяти до 982 КБ. Но главным источником его феноменальной скорости, помимо инновационных материалов, стала конвейерная обработка данных. Вместо традиционного метода, требовавшего постоянного обращения к банкам памяти, данные передавались от одной операции к другой напрямую, как в эстафете.
Успех CDC 6600 стал серьезным ударом по самолюбию IBM. 28 августа 1963 года Уотсон написал своим сотрудникам примечательную записку:
"На прошлой неделе Control Data анонсировала систему 6600. По моим сведениям, в лаборатории, разрабатывающей эту систему, всего 34 человека, включая уборщика. Из них 14 инженеров и 4 программиста... Сравнивая эти скромные усилия с нашей масштабной деятельностью по разработке, я не могу понять, как мы умудрились потерять лидерство в отрасли, позволив кому-то другому создать самый мощный компьютер в мире."
Ответ Крея был лаконичен: "Похоже, мистер Уотсон сам ответил на свой вопрос."
Cray-1
После триумфа CDC 6600 Сеймур Крей представил миру модель 7600, ставшую очередным успехом компании, и 8600, оказавшуюся настоящим провалом из-за проблем с надежностью и перегревом. Но вскоре его отношения с CDC разладились. Крея все больше раздражало вмешательство руководства компании, особенно в вопросах распределения средств при разработке CDC STAR-100. Не радовала его и растущая ориентация компании на "приземленную" бизнес-аналитику.
В 1972 году Крей довольно мирно расстался с CDC и основал собственную компанию Cray Research, получив в том числе 250 тысяч долларов инвестиций от Норриса. После оглушительного успеха CDC 6600 компьютеры Крея доминировали на рынке суперкомпьютеров вплоть до 80-х годов, этот период часто называют "эрой Крея". Его машины неизменно возглавляли списки самых быстрых компьютеров мира, совершая революцию в таких областях, как прогнозирование погоды и молекулярная динамика. В это время IBM безуспешно пыталась создать свой "прибыльный" суперкомпьютер, постоянно догоняя главных соперников на рынке Cray Research и Control Data Corporation.
Как конструктор Сеймур Крей всегда следовал принципу "железного треугольника" суперкомпьютеров: минимальные задержки, оптимальная мощность и эффективное теплоотведение. Он неустанно работал над миниатюризацией компонентов и сокращением длины проводников для уменьшения задержек, связанных со скоростью света. С помощью своего неизменного блокнота он проектировал интегральные схемы, намного более компактные, чем у конкурентов. Однако рост тактовой частоты кремниевых схем породил новые проблемы — уменьшающиеся компоненты становились все более чувствительными к нагреву. Эта проблема, кстати, актуальна и по сей день.
Суперкомпьютер Cray-1, представленный в 1976 году, произвел настоящую революцию благодаря векторной обработке данных, существенно превзойдя по скорости и эффективности скалярную архитектуру CDC 6600. Хотя это был не первый компьютер с векторной обработкой, именно Cray-1 считается первой успешной реализацией этой технологии. В этой машине также использовалась инновационная эмиттерно-связанная логика.
На пике мощности Cray-1 достигал производительности в 160 мегафлопс (миллионов операций с плавающей запятой в секунду). Интересно, что современные процессоры Intel, AMD и ARM до сих пор используют векторную обработку через специальные расширения набора команд — можно сказать, что Cray-1 стал прародителем этой технологии.
Как и CDC 6600, Cray-1 отличался необычной конструкцией. Сам Крей в шутку называл его "самым дорогим диваном в мире" из-за характерной С-образной формы (270-градусной окружности). Такая архитектура решала сразу две задачи: позволяла удобно проложить все необходимые кабели и маскировала блоки питания с системой охлаждения на фреоне.
Согласно газетам 1978 года, "полностью укомплектованная система весила более пяти тонн и потребляла около 150 000 ватт электроэнергии" — цифры, позволяющие оценить, насколько изменились наши представления о "компактных" компьютерах. Стоит отметить, что по поводу энергопотребления Cray-1 существуют разные данные — часто упоминается значение 114 кВт.
Cray-2
Следующее поколение суперкомпьютеров Крея — Cray-2, представленное в 1985 году — тоже оставило заметный след в истории, хотя и не такой однозначный, как Cray-1. Это был первый успешный многопроцессорный суперкомпьютер Крея, поразивший публику революционной системой охлаждения на основе Флюоринерта. Впрочем, путь к успеху был непростым. Первоначальная конструкция оказалась нежизнеспособной, и Крею пришлось разработать принципиально новый метод компоновки печатных плат: они укладывались друг на друга и соединялись при помощи подпружиненных контактов (пого-пинов).
Такая плотная компоновка решила проблему размещения интегральных схем, но создала новую — традиционные методы охлаждения для столь плотной упаковки не годились. И тут на сцену вышел Флюоринерт.
Cray-2, потреблявший 150-200 кВт, получил прозвище "Пузырьки" из-за резервуаров с бурлящим Флюоринертом, необходимым для его "водопадной" системы охлаждения. Сотрудники часто развлекались, помещая в резервуары теплообменника пластиковых рыбок и приклеивая к корпусу картонных лох-несских чудовищ. Однако у этой системы охлаждения обнаружился серьезный недостаток. В 90-х годах исследователи в Ливерморе выяснили, что при длительной работе на высоких температурах небольшая часть Флюоринерта разлагается, образуя перфторизобутилен (PFIB) — газ настолько токсичный, что он подпадает под действие Конвенции о химическом оружии. Обычные фильтры с проблемой не справлялись, пришлось установить специальные каталитические нейтрализаторы.
Производительность Cray-2 по сравнению с предшественником сильно зависела от типа задач. Векторизованные вычисления выполнялись заметно быстрее, а вот прирост в скалярных операциях оказался скромнее. Тор Блох на первой Международной конференции по вычислениям в физике высоких энергий и ядерной физике (CHEP) в 1985 году объяснил это так: хотя тактовый период уменьшился с 12,5 до 4,1 наносекунд, реальное ускорение за счет улучшенной архитектуры составило лишь полтора раза. Остальной прирост достигался за счет уменьшения количества логических вентилей на такт, что негативно сказывалось на скорости скалярных вычислений, поскольку большая часть времени такта тратится на защелкивание промежуточных результатов в конвейере.
Проще говоря, повышение тактовой частоты (с 80 МГц до 243 МГц) частично компенсировалось тем, что Cray-2 выполнял меньше операций за такт, чем Cray-1.
Сравнительный анализ НАСА показал, что Cray-2 зачастую уступал по скорости Cray X-MP (тоже разработанному Cray Research, но более близкому к Cray-1 и созданному Стивеном Ченом), хотя результаты варьировались в зависимости от теста. В тестах, оптимизированных под Cray-2, он демонстрировал значительное превосходство.
В отчете NASA также отмечался огромный объем памяти Cray-2 – от 64 до 512 «мегаслов» (64-битных). В пересчете на современные единицы это составляет от 512 МБ до 4 ГБ – колоссальный объем для того времени. «Следует особо подчеркнуть, что главное преимущество Cray-2 – его огромная память, позволяющая выполнять задачи, которые раньше требовали массивного дискового или твердотельного ввода-вывода, непосредственно в оперативной памяти. Это значительное преимущество, которое нельзя занижать из-за некоторого отставания Cray-2 по скорости в отдельных тестах».
Нашествие микропроцессоров: эра параллельных вычислений
В мире суперкомпьютеров оптимизация задержек и теплоотвода всегда играла ключевую роль, хотя и подчинялась закону убывающей отдачи. Если в "эпоху Крея" все усилия были направлены на совершенствование единственного ядра, то новая эра началась с появлением многопроцессорных систем, а её расцвет пришёлся на время многоядерных процессоров.
На заре суперкомпьютерной эры все машины имели сравнительно небольшое число ядер и работали с общей памятью. Позже произошёл переход к "мультикомпьютерам" — системам из независимых компьютеров, объединённых общим интерфейсом в единое целое.
Этот переходный период ознаменовался явлением, получившим название "Нашествие микропроцессоров" — по названию доклада Юджина Брукса в Ливерморской национальной лаборатории (1990 год) и последовавшей за ним статьи в New York Times (1991 год). В них предсказывался закат эры специализированных суперкомпьютерных архитектур под натиском обычных микропроцессоров массового производства. Хотя такие процессоры тогда существенно уступали специализированным решениям, они развивались намного быстрее и в итоге практически полностью вытеснили их с рынка.
Показательным примером этого перехода служат суперкомпьютерные разработки Intel 1990-х годов. Их первенец, Intel Paragon, базировался на процессоре i860 — первом в мире чипе с миллионом транзисторов, построенном на архитектуре RISC VLIW (со сверхдлинным командным словом). Изначально система объединяла 2048 процессоров, позже их число увеличили до 4096.
Однако переход от нескольких процессоров с общей памятью к стойкам с множеством систем породил новые проблемы с охлаждением.
Кластерные вычисления и рождение Beowulf
Хотя охлаждение всегда происходит естественным путём согласно законам термодинамики, эффективный теплоотвод требует серьёзных затрат. Эта проблема существовала уже в "эпоху Cray": суперкомпьютеры потребляли киловатты энергии и требовали сложных систем жидкостного охлаждения с постоянным обслуживанием. Проблема усугублялась с ростом числа процессоров в одной машине, при этом потребность в вычислительной мощности только увеличивалась.
Учитывая тот факт, что ресурсы ученых, как правило, весьма ограничены. И как бы они ни оптимизировали работу, нагрузка неуклонно росла, а бюджет оставался прежним (в лучшем случае). Понимая неизбежность перемен, ученые попробовали принципиально иной подход. Суперкомпьютеры уже тогда распределяли задачи между множеством процессоров. Так почему бы не распределить и охлаждение? Вместо традиционных монолитных мэйнфреймов исследователи объединили в сеть «кластеры», состоящие из сотен или тысяч недорогих, готовых к использованию устройств, называемых «узлами».
Энтузиасты высокопроизводительных вычислений с ограниченным бюджетом быстро адаптировали концепцию суперкомпьютерного узла к недорогим сетям из стандартного оборудования. Эти системы, получившие название кластеров Beowulf, описываются Яцеком Радаевски и Дугласом Идлайном в их руководстве следующим образом:
"В системе Beowulf клиентские узлы, как правило, максимально просты: чем проще, тем лучше. Узлы конфигурируются и управляются серверным узлом, выполняя только полученные команды. В бездисковой конфигурации клиентский узел узнает свой IP-адрес и имя только от сервера".
Дешевизна, простота и легкая воспроизводимость кластеров Beowulf, построенных на стандартном оборудовании и программном обеспечении, обусловили их выбор для проекта Университета Иллинойса в 2003 году. Тогда ученым удалось создать суперкомпьютер терафлопного уровня из нескольких десятков игровых приставок PlayStation 2, что стало сенсацией. В мае 2003 года в New York Times Джон Маркофф писал: «Пожалуй, самое поразительное в этом проекте на базе Linux — то, что единственной аппаратной доработкой было размещение 70 приставок в стойке и подключение их к высокоскоростному коммутатору Hewlett-Packard».
«Больше всего времени ушло на распаковку приставок», — признался старший научный сотрудник Крейг Стеффен.
В то время как Paragon демонстрировал потенциал взаимосвязанных вычислительных узлов в топовом сегменте, кластеры Beowulf сделали высокопроизводительные вычисления доступными как никогда раньше. Это нестандартное решение стало предвестником появления высокопроизводительных машин на базе x86 всего несколько лет спустя.
ASCI Red: покорение терафлопсного рубежа
Кластеры Beowulf показали возможности стандартного оборудования x86 для научных исследований, а суперкомпьютер ASCI Red (Accelerated Strategic Computing Initiative), запущенный в 1997 году, ознаменовал собой наступление эры «микропроцессоров-убийц». ASCI Red, построенный на базе Intel Paragon, использовал процессоры x86 Pentium Pro, а затем Pentium II OverDrive. Это был первый суперкомпьютер, преодолевший рубеж в 1 терафлопс в тесте Linpack, и он обеспечивал значительно более высокую скорость ввода/вывода по сравнению с предшественниками.
Переход на архитектуру x86 в суперкомпьютерах не был мгновенным. В рейтинге TOP500 до сих пор присутствуют системы на базе архитектуры POWER (шесть штук), а x86 — не единственная широко распространенная архитектура. Например, японский суперкомпьютер Fugaku построен на базе процессоров A64FX от Fujitsu, архитектура которых происходит от ARM. Стоит отметить, что некоторые суперкомпьютеры на базе POWER, например, серия IBM Blue Gene, устанавливали рекорды энергоэффективности с каждым новым поколением.
Тем не менее, ASCI Red стал переломным моментом: архитектура x86 доказала свою способность доминировать во всех сегментах вычислительного рынка — от персональных компьютеров до суперкомпьютеров, о чем в 1975 году, когда Сеймур Крей представил Cray-1, в Intel могли только мечтать.
С 1990-х до начала 2010-х годов развитие суперкомпьютеров шло по пути повышения плотности систем на всех уровнях: росло число ядер на узел, узлов в стойке и стоек в системе. Blue Gene/L начинался со 131072 процессоров; его преемник, Blue Gene/Q (Sequoia), достиг 1,6 миллиона ядер, размещенных в 96 стойках.
Высокопроизводительные вычисления в XXI веке: эра гибридных архитектур
Понятие исторического столетия не всегда точно соответствует периоду в 100 лет. Историки, например, считают, что XX век фактически начался с Первой мировой войны в 1914 году, а период 1900-1913 годов стал скорее затянувшимся прощанием с мировоззрением, ценностями и расстановкой сил великих держав, характерными для викторианской Англии. Аналогично можно утверждать, что развитие суперкомпьютеров в XXI веке определяется скорее тенденциями, возникшими около 2009-2010 годов, а не событиями начала 2000-х.
Ключевой чертой современных суперкомпьютеров стало использование графических процессоров (GPU) для решения задач, которые раньше были прерогативой центральных процессоров (CPU).
Идея применения GPU-подобной архитектуры в суперкомпьютерах не нова. Микропроцессор IBM Cell, использовавшийся в Sony PlayStation 3, и родственный ему IBM PowerXCell 8i имели черты, предвосхитившие архитектуру программируемых GPU. Китайский суперкомпьютер Tianhe-1 в 2009 году сочетал процессоры Xeon E5540 и E5450 с 2560 двухчиповыми графическими процессорами ATI Radeon HD 4870X2. Год спустя в Tianhe-1A их заменили на 7168 GPU Nvidia Tesla M2050.
Нельзя сказать, что развитие многоядерных CPU остановилось. Например, IBM Watson (2011) был построен на 90 процессорах POWER7. Современные суперкомпьютеры, такие как Frontier, достигают огромного числа ядер (606 208) благодаря использованию 64-ядерных процессоров Epyc 7713 в относительно небольшом количестве сокетов (9472).
Суперкомпьютеры, использующие только CPU, до сих пор присутствуют в рейтинге TOП-500. Однако, как показывает последний актуальный анализ, опубликованный на Arxiv, внедрение графических процессоров (GPU) не только повысило производительность, но и существенно увеличило энергоэффективность суперкомпьютеров в целом. На графике ниже гетерогенные системы (с GPU) сравниваются с гомогенными (только CPU).
Авторы исследования отмечают: «График наглядно демонстрирует, что гомогенные системы на порядок менее эффективны, чем гетерогенные, и разрыв между ними продолжает расти».
Эта тенденция имеет и обратную сторону: снижение общей эффективности суперкомпьютеров за последнее десятилетие связано с трудностями оптимизации сложных гибридных архитектур, сочетающих CPU и GPU. Тем не менее, влияние GPU на производительность и энергоэффективность суперкомпьютеров настолько велико, что позволяет говорить о новой эре — эре гибридных архитектур.
Будущее суперкомпьютеров: в погоне за зеттафлопсами
Что касается будущего суперкомпьютеров, то здесь сложно делать прогнозы. История суперкомпьютеров — это история постоянного поиска новых способов уменьшения задержек и энергопотребления, повышения плотности размещения процессорных ядер и вычислительных элементов, а также эффективного охлаждения системы. Будущие суперкомпьютеры, несомненно, продолжат развиваться в этих направлениях. Вместе с тем, возникает вопрос об абсолютном пределе масштабирования вычислительных систем. Достижение зеттафлопсной производительности может потребовать 100 МВт и более.
Самый мощный на сегодняшний день суперкомпьютер Frontier (на базе AMD) обеспечивает 1.74 экзафлопса и потребляет 35 МВт при пиковой нагрузке. Достижение зеттафлопсного уровня при потреблении 100 МВт потребует значительного повышения энергоэффективности. Ведущие специалисты выражают сомнения в возможности масштабирования даже до 10 экзафлопс без новых технологических прорывов, что подтверждается анализом динамики производительности в списке TOП-500. Впрочем, как показывает история, нет предела совершенству. Ожидается, что новый суперкомпьютер El Capitan, который скоро будет запущен в Ливерморе, достигнет производительности в 2 экзафлопса.
А какой суперкомпьютер понравился вам? Привержены ли вы классике Cray или восхищаетесь элегантностью кластеров Beowulf, а может поддерживаете разработки IBM? История суперкомпьютеров — это удивительный путь инноваций, и нас ждут еще более амбициозные достижения. Вперед — к зеттафлопсам и за их пределы!
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила