Суперкомпьютер

«Cray-2» — самый быстрый компьютер 19851989 годов.

Суперкомпью́тер (англ. Supercomputer, СверхЭВМ, СуперЭВМ, сверхвычисли́тель) — специализированная вычислительная машина, значительно превосходящая по своим техническим параметрам и скорости вычислений большинство существующих в мире компьютеров.

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


Определение понятия суперкомпьютер[ | ]

Определение понятия «суперкомпьютер» не раз было предметом многочисленных споров и обсуждений.

Чаще всего авторство термина приписывается Джорджу Майклу (George Anthony Michael) и Сиднею Фернбачу (Sidney Fernbach), в конце 60-х годов XX века работавшим в Ливерморской национальной лаборатории, и компании CDC. Тем не менее, известен тот факт, что ещё в 1920 году газета New York World (англ.) рассказывала о «супервычислениях», выполнявшихся при помощи табулятора IBM, собранного по заказу Колумбийского университета.

В общеупотребительный лексикон термин «суперкомпьютер» вошёл благодаря распространённости компьютерных систем Сеймура Крэя, таких как, CDC 6600, CDC 7600, Cray-1, Cray-2, Cray-3 (англ.) и Cray-4 (англ.). Сеймур Крэй разрабатывал вычислительные машины, которые по сути становились основными вычислительными средствами правительственных, промышленных и академических научно-технических проектов США с середины 60-х годов до 1996 года. Не случайно в то время одним из популярных определений суперкомпьютера было следующее: — «любой компьютер, который создал Сеймур Крэй». Сам Крэй никогда не называл свои детища суперкомпьютерами, предпочитая использовать вместо этого обычное название «компьютер».

Компьютерные системы Крэя удерживались на вершине рынка в течение 5 лет с 1985 по 1990 годы. 80-е годы XX века охарактеризовались появлением множества небольших конкурирующих компаний, занимающихся созданием высокопроизводительных компьютеров, однако к середине 90-х большинство из них оставили эту сферу деятельности, что даже заставило обозревателей заговорить о «крахе рынка суперкомпьютеров».

Ныне каждый суперкомпьютер представляет собой уникальную систему, создаваемую одним из «традиционных» игроков компьютерной индустрии (например: IBM, Hewlett-Packard, NEC и другими), которые приобрели множество ранних компаний, вместе с их опытом и технологиями. Компания Cray по-прежнему занимает достойное место в ряду производителей суперкомпьютеров.

Из-за большой гибкости самого термина до сих пор распространены довольно нечёткие представления о понятии «суперкомпьютер». Шутливая классификация Гордона Белла и Дона Нельсона, разработанная приблизительно в 1989 году, предлагала считать суперкомпьютером любой компьютер, весящий более тонны. Современные суперкомпьютеры действительно весят более 1 тонны, однако далеко не каждый тяжеловесный компьютер достоин чести считаться суперкомпьютером. В общем случае, суперкомпьютер — это компьютер намного более мощный, чем доступные для большинства пользователей машины. При этом скорость технического прогресса сегодня такова, что сегодняшний суперкомпьютер-лидер завтра легко может сдать лидерскую позицию.

Архитектура также не может считаться признаком принадлежности к классу суперкомпьютеров. Ранние компьютеры CDC были обычными машинами, всего лишь оснащёнными быстрыми для своего времени скалярными процессорами, скорость работы которых была в несколько десятков раз выше, чем у компьютеров, предлагаемых другими компаниями.

Большинство суперкомпьютеров 70-х оснащались векторными процессорами, а к началу и середине 80-х небольшое число (от 4 до 16) параллельно работающих векторных процессоров практически стало стандартной основой конфигурацией суперкомпьютеров. Конец 80-х и начало 90-х годов охарактеризовались сменой магистрального направления развития суперкомпьютеров от векторно-конвейерной обработки к большому и сверхбольшому числу параллельно соединённых скалярных процессоров.

Массово-параллельные системы стали объединять в себе сотни и даже тысячи отдельных процессорных элементов, причём ими могли служить не только специально разработанные, но и массово производимые и, следовательно, доступные в свободной продаже процессоры. Большинство массово-параллельных компьютеров создавалось на основе мощных процессоров с архитектурой RISC, наподобие PowerPC или PA-RISC.

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

В настоящее время суперкомпьютерами принято называть компьютеры с огромной вычислительной мощностью («числодробилки» или «числогрызы»). Такие машины используются для выполнения программ, реализующих наиболее интенсивные вычисления (например, прогнозирование погодно-климатических условий, моделирование ядерных взрывов и т. п.), что в том числе отличает их от серверов и мэйнфреймов (англ. mainframe) — компьютеров с высокой общей производительностью, призванных решать типовые задачи (например, обслуживание больших баз данных или одновременная работа с множеством пользователей).

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

История суперкомпьютеров[ | ]

Одним из первых суперкомпьютеров считается Cray-1, созданный в 1974 году. С помощью поддержки векторных операций эта суперЭВМ достигала производительности в 180 миллионов операций в секунду над числами с плавающей точкой (FLOPS).

По применению суперкомпьютеров Россия сильно отстаёт от США, Китая, Европы и Японии. Если в 2018 г. доля России в мировом ВВП составила 1,8 %, то в мировой производительности суперкомпьютеров лишь 0,32 %.[1]

Применение[ | ]

Суперкомпьютеры используются во всех сферах:

  • где для решения задачи применяется численное моделирование, сопряженное с очень большим объемом сложных вычислений;
  • там, где требуется огромный объём сложных вычислений, обработка большого количества данных в реальном времени, или решение задачи может быть найдено простым перебором множества значений множества исходных параметров (см. Метод Монте-Карло).

Совершенствование методов численного моделирования происходило одновременно с совершенствованием вычислительных машин, — чем сложнее были задачи, тем выше были требования к создаваемым машинам. Чем быстрее были машины, тем сложнее были задачи, которые на них можно было решать. Поначалу суперкомпьютеры применялись почти исключительно для оборонных задач: расчёты по ядерному и термоядерному оружию, ядерным реакторам, проектированию подводных кораблей. Потом, по мере совершенствования математического аппарата численного моделирования, развития знаний в других сферах науки — суперкомпьютеры стали применяться и в «мирных» расчётах, создавая новые научные дисциплины, как то:

Ниже приведён далеко не полный список областей применения суперкомпьютеров:

  • Вычислительная химия и медицина: изучение строения вещества и природы химической связи как в изолированных молекулах, так и в конденсированном состоянии, поиск и создание новых катализаторов и лекарств

Производительность[ | ]

Производительность суперкомпьютеров чаще всего оценивается и выражается в количестве операций над числами с плавающей точкой в секунду (FLOPS). Это связано с тем, что задачи численного моделирования, под которые и создаются суперкомпьютеры, чаще всего требуют вычислений, связанных с вещественными числами, зачастую с высокой степенью точности, а не целыми числами. Поэтому для суперкомпьютеров неприменима мера быстродействия обычных компьютерных систем — количество миллионов операций в секунду (MIPS). При всей своей неоднозначности и приблизительности, оценка во флопсах позволяет легко сравнивать суперкомпьютерные системы друг с другом, опираясь на объективный критерий.

Первые суперкомпьютеры имели производительность порядка 1 кфлопс, то есть 1000 операций с плавающей точкой в секунду. В США компьютер, имевший производительность в 1 миллион флопсов (1 Мфлопс) (CDC 6600), был создан в 1964 году. Известно, что в 1963 году в московском НИИ-37 (позже НИИ ДАР) был разработан компьютер на основе модулярной арифметики с производительностью 2,4 млн оп/с. Это экспериментальный компьютер второго поколения (на дискретных транзисторах) Т340-А[8] (гл. конструктор Д. И. Юдицкий). Однако следует отметить, что прямое сравнение производительности модулярных и традиционных ЭВМ некорректно. Модулярная арифметика оперирует только с целыми числами. Представление вещественных чисел в модулярных ЭВМ возможно только в формате с фиксированной запятой, недостатком которого является существенное ограничение диапазона представимых чисел.

  1. Планка в 1 миллиард флопс (1 Гигафлопс) была преодолена суперкомпьютерами NEC SX-2 в 1983 году с результатом 1.3 Гфлопс.
  2. В 1996 году суперкомпьютером ASCI Red взят барьер в 1 триллион флопс (1 Тфлопс).
  3. Рубеж 1 квадриллион флопс (1 Петафлопс) перейден в 2008 году суперкомпьютером IBM Roadrunner.

В 2010-х годах несколькими странами ведутся работы, нацеленные на создание к 2020 году экзафлопсных компьютеров, способных выполнять 1 квинтиллион операций с плавающей точкой в секунду и потребляющих при этом не более нескольких десятков мегаватт. К 2021 году корпорации Intel и Cray планируют создать первую в США экзафлопсную систему под названием Aurora для Аргоннской национальной лаборатории Министерства энергетики США[9][10].

Программное обеспечение суперкомпьютеров[ | ]

Наиболее распространёнными программными средствами суперкомпьютеров, так же, как и параллельных или распределённых компьютерных систем, являются интерфейсы программирования приложений (API) на основе MPI и PVM, и решения на базе открытого программного обеспечения, наподобие Beowulf и openMosix, позволяющего создавать виртуальные суперкомпьютеры даже на базе обыкновенных рабочих станций и персональных компьютеров. Для быстрого подключения новых вычислительных узлов в состав узкоспециализированных кластеров применяются технологии наподобие ZeroConf. Примером может служить реализация рендеринга в программном обеспечении Shake, распространяемом компанией Apple. Для объединения ресурсов компьютеров, выполняющих программу Shake, достаточно разместить их в общем сегменте локальной вычислительной сети.

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

Top500[ | ]

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

Самым мощным суперкомпьютером в июне 2021 году по этому списку стал Фугаку, работающий в Центре вычислительных наук Института физико-химических исследований (RIKEN) в Кобе, Япония. Скорость вычислений, производимых им, составляет 442.01 петафлопс (10 в 15 степени вычислительных операций с плавающей запятой в секунду). По этому показателю он в три раза быстрее и в три раза эффективнее предыдущего рекордсмена — Summit, работающего в Ок-Риджской национальной лаборатории в Ок-Ридж, США.

Распределение суперкомпьютеров из списка Top500 по странам мира (июнь 2021 года)[11]
Страна Количество суперкомпьютеров
Китай Китай 187
Соединённые Штаты Америки США 122
Япония Япония 35
Германия Германия 23
Франция Франция 16
Нидерланды Голландия 16
Ирландия Ирландия 14
Великобритания Великобритания 11
Канада Канада 11
Италия Италия 6
Бразилия Бразилия 6
Саудовская Аравия Саудовская Аравия 6
Республика Корея Южная Корея 5
Польша Польша 4
Сингапур Сингапур 4
Россия Россия 3
Швейцария Швейцария 3
Норвегия Норвегия 3
Швеция Швеция 3
Индия Индия 3
Словения Словения 2
Австралия Австралия 2
Люксембург Люксембург 2
Объединённые Арабские Эмираты ОАЭ 2
Финляндия Финляндия 2
Чехия Чехия 2
Китайская Республика (Тайвань) Тайвань 2
Болгария Болгария 1
Марокко Марокко 1
Австрия Австрия 1
Гонконг Гонконг 1
Испания Испания 1

На всех суперкомпьютерах из списка Top500 по состоянию на июнь 2021 года используется операционная система Linux[12]. Linux стал использоваться на всех суперкомпьютерах списка с ноября 2017 года, вытеснив последним операционную систему UNIX OS.

Из Linux-систем 64,2% не детализируют дистрибутив, 12,6% используют CentOS, 8,6% — Cray Linux, 5% — SUSE, 3% — RHEL, 0,6% — Scientific Linux, 0,6% — Ubuntu.

См. также[ | ]

Примечания[ | ]

Литература[ | ]

Ссылки[ | ]