Машины размером с зал, потребляющие электричество небольшого города, решающие задачи, недоступные обычному ПК. Разбираем, как устроены и зачем нужны.
Суперкомпьютер — вычислительная система, значительно превосходящая по производительности обычные компьютеры. Измеряется в FLOPS — операциях с плавающей точкой в секунду.
Современные суперкомпьютеры преодолели экзафлопсный барьер — 1018 (квинтиллион) операций в секунду. Это в миллиарды раз мощнее вашего ноутбука.
От мегафлопс до экзафлопс: шкала мощностей
| Приставка | Степень | Пример |
|---|---|---|
| MFLOPS | 10⁶ | Калькулятор |
| GFLOPS | 10⁹ | Смартфон, ноутбук |
| TFLOPS | 10¹² | Игровая видеокарта (RTX 4090 ≈ 83 TFLOPS) |
| PFLOPS | 10¹⁵ | Крупный кластер, «Ломоносов-2» |
| EFLOPS | 10¹⁸ | Frontier (США), Fugaku (Япония) |
Кластер: тысячи узлов, связанных сверхбыстрой сетью
Современный суперкомпьютер — это кластер: множество вычислительных узлов (серверов), соединённых высокоскоростной сетью (InfiniBand, 200+ Гбит/с).
| Компонент | Назначение |
|---|---|
| Управляющий узел | Планирование задач (SLURM, PBS), мониторинг |
| Вычислительные узлы | CPU (AMD EPYC, Intel Xeon) + GPU (NVIDIA H100) |
| Сеть | InfiniBand NDR (400 Гбит/с) или Slingshot |
| Хранилище | Параллельные ФС: Lustre, GPFS (петабайты данных) |
| Охлаждение | Жидкостное (вода 45°C) — эффективнее воздушного |
Видеокарты — не только для игр: тысячи ядер для науки
| CPU | GPU | |
|---|---|---|
| Ядер | 4–96 (мощных) | 10 000+ (простых) |
| Тактовая частота | 3–5 ГГц | 1–2 ГГц |
| Архитектура | MIMD (разные задачи) | SIMD (одна операция, много данных) |
| Лучше для | Сложная логика, ветвления | Матрицы, графика, нейросети |
| Память | DDR5, до 2 ТБ | HBM3, до 80 ГБ (быстрая) |
CUDA (NVIDIA) — платформа для программирования GPU. OpenCL — открытый стандарт для любых GPU.
Примеры задач для GPU: обучение нейросетей, молекулярная динамика, рендеринг, криптография.
Рейтинг мощнейших компьютеров мира, обновляется дважды в год
С 1993 г. каждые полгода (июнь и ноябрь) публикуется список 500 самых мощных суперкомпьютеров мира. Тест: Linpack — решение системы линейных уравнений.
| # | Название | Страна | Производительность | Особенности |
|---|---|---|---|---|
| 1 | Frontier | 🇺🇸 США | 1.2 EFLOPS | Первый экзафлопсный (2022). AMD EPYC + MI250X |
| 2 | Aurora | 🇺🇸 США | 1.0 EFLOPS | Intel Xeon + Ponte Vecchio GPU (2024) |
| 3 | Eagle | 🇺🇸 США | 561 PFLOPS | Microsoft Azure, облачный суперкомпьютер |
| 4 | Fugaku | 🇯🇵 Япония | 442 PFLOPS | ARM-процессоры A64FX (бывший #1) |
| 5 | LUMI | 🇫🇮 Финляндия | 380 PFLOPS | AMD EPYC + MI250X, европейский флагман |
Российские суперкомпьютеры: «Ломоносов-2» (МГУ, ~2.5 PFLOPS), «Червоненко» (Росатом). В рейтинге — единицы систем из-за ограничений на поставки.
Где нужны квинтиллионы операций в секунду
Моделирование атмосферы Земли с разрешением 1 км. Чем мощнее компьютер — тем точнее и дальше прогноз.
Молекулярная динамика: моделирование взаимодействия белков и лекарств. Folding@home — 2.4 EFLOPS (добровольцы).
Обучение больших языковых моделей (GPT, LLaMA) требует тысяч GPU и недель вычислений.
Квантовая химия, термоядерный синтез, моделирование ядерных реакций, астрофизика.
Рендер-фермы студий Pixar, Weta Digital — тысячи ядер для создания спецэффектов.
Подбор ключей шифрования, анализ уязвимостей. Связь с главой 5 (TLS, RSA).
Как написать программу для тысяч ядер: MPI и OpenMP
| Технология | Тип памяти | Как работает |
|---|---|---|
| OpenMP | Общая | Директивы в коде (#pragma omp parallel). Потоки внутри одного процесса. Просто добавить параллелизм в существующий код. |
| MPI | Распределённая | Обмен сообщениями между узлами кластера. Каждый узел — отдельный процесс. Масштабируется на тысячи узлов. |
| CUDA / OpenCL | GPU | Параллельные вычисления на видеокартах. Тысячи потоков, SIMD-архитектура. |
В отличие от закона Амдала, Густафсон (1988) утверждает: если увеличивать объём задачи пропорционально числу ядер, ускорение растёт почти линейно.
Практический смысл: суперкомпьютеры решают большие задачи, а не ускоряют маленькие.