Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей Слепухин)
1. Суперкомпьютеры сегодня и завтра:
архитектура, проблемы, перспективы
Андрей Слепухин
Главный системный архитектор, «Т-Платформы»
andrey.slepuhin@t-platforms.ru
4. Тест Linpack и Top500
• Linpack: Ax=B
• Сложность: 2/3n3+2n2 операций
• Top500: публикуется 2 раза в год, начиная с
2003
• 1997: 1Tflops, ASCI Red
• 2008: 1Pflops, IBM Roadrunner
• 2018: 1Eflops???
6. Top500 за 20 лет
Современный ноутбук (~70Gflops)
Современный смартфон (~1Gflops)
7. Из чего устроен суперкомпьютер?
• Вычислительные узлы
• Фабрика высокоскоростной сети
• Вспомогательные сети
(управление/мониторинг)
• Система хранения данных
• Вспомогательные серверы (узлы
доступа/компиляции/мониторинга и т.п.)
• Инфраструктура (системы бесперебойного
электропитания и охлаждения)
8. Суперкомпьютинг vs. HighLoad
Суперкомпьютинг HighLoad
Научные и промышленные расчеты Обработка информации
Количество операций с плавающей Количество обработанных
точкой транзакций, запросов и т.д.
Много коротких задач/много
Длительная задача/один результат
результатов
Специализированные
Ethernet и TCP/IP
высокоскоростные сети и протоколы
Отказоустойчивость на программном
Требует высоконадежного «железа»
уровне
9. Суперкомпьютерные архитектуры
Векторная
• Cray Y-MP, Cray C90/T90, NEC SX-*
С общей памятью
• SGI Altix, SGI UltraViolet
Кластерная
• В основном на базе архитектуры x86
Массивно-параллельная
• Intel Paragon, ASCI Red, IBM BlueGene, Cray XE6
Гибридная
• Сочетает одну из упомянутых архитектур с ускорителями
Специализированная
• QPACE, MD-GRAPE, ANTON
10. Процессоры в суперкомпьютерах
Производи- Модель Количество Количество Тактовая Производи- Энергопо- Пиковая Технологи-
тель (серия) ядер/потоков flops/такт частота, тельность, требление, пропускная ческий
GHz Gflops W способность процесс
памяти,
GB/sec
Intel Xeon E5- 8/16 8 2.0-2.9 128-185.6 95-135 51.2 22nm
26xx
AMD Opteron 16/16 4 2.1-2.4 134.4-153.6 115 51.2 32nm
63xx
IBM A2 (BG/Q) 16+2/64 8 1.6 204.8 55 42.4 45nm
IBM POWER7+ 8/32 8 ~5 ~320 ?? 100 32nm
Fujitsu SPARC64 16/32 8 1.85 236.6 115 102 32nm
IXfx
Fujitsu SPARC64 X 16/32 8 ~3 382 ?? 102 28nm
Jiāngnán ShenWei 16/16 4 1.8 140.8 ?? 68 65nm
Lab. SW1600
11. Ускорители
• GPGPU
• MIC
• Custom ASIC
• FPGA
• Характеристики (GPGPU/MIC)
– Пиковая производительность >1 Tflops (DP)
– Энергопотребление – 225-300W
– Средства разработки: CUDA (Nvidia), OpenCL, OpenACC, compiler offload extensions (Intel)
• Pros:
– Высокая производительность/ватт
• Cons:
– Подходят не для всех задач
– Проблемы с адаптированием приложений
– Ограниченный объем локальной памяти
12. Интерконнект
• Max Bandwidth: до 14Gbps/lane (FDR
InfiniBand)
• Min Latency: 300ns (BG/Q), 700ns (InfiniBand)
• Max Message rate: >108 сообщений в
секунду (BlueGene/Q, Cray Aries)
• RDMA
• Lossless transmission
13. Интерконнект
• Аппаратная поддержка групповых и атомарных операций
– Broadcast
– Reduce
– Барьерная синхронизация
– Read-Modify-Write
– Поддержана полностью или частично в большинстве
проприетарных интерконнектов, отсутствует в InfiniBand
• Проблемы
– Надежность: отказ линка/маршрутизатора, деградация линка
– Утилизация системных ресурсов при большом размере системы
– Deadlock-free маршрутизация
– Переупорядочивание пакетов при адаптивной маршрутизации
– Энергопотребление
14. Топологии интерконнекта
• Fat Tree (Clos Network)
– Основная топология для InfiniBand
– Pros:
• Маленький диаметр сети
• Высокая теоретическая бисекционная пропускная способность
• Deadlock-free маршрутизация
– Cons:
• Большое количество маршрутизаторов
• Реальная пропускная способность падает при большом размере
сети из-за коллизий
• Ограниченные возможности адаптивной маршрутизации
• Нерегулярность: требует наличия выделенных корневых
маршрутизаторов
15. Топологии интерконнекта
• N-мерный тор/решетка
– Pros:
• Очень эффективная топология для определенных классов задач
• Маршрутизатор легко интегрируется в процессор (мало портов)
• Простая и регулярная кабельная инфраструктура
– Cons:
• Большой диаметр сети
• Низкая бисекционная пропускная способность
– Для устранения недостатков можно увеличивать количество
измерений:
• K Computer (2011) – 6D тор
• BlueGene/Q – 5D тор
– Может масштабироваться до 100000 узлов и более
(BlueGene/Q)
16. Топологии интерконнекта
• N-мерный гиперкуб
– Граничный случай N-мерной решетки с длиной стороны 2
– Pros:
• Меньший диаметр по сравнению с тором
• Бóльшая пропускная способность
– Cons:
• Для построения больших систем требуется значительное число
портов в маршрутизаторе
17. Топологии интерконнекта
• Dragonfly
– Наиболее перспективная топология для exascale-систем
– Существующие реализации:
• IBM PERCS
• Cray Aries (2013)
– Pros:
• Маленький диаметр сети
• Очень высокая бисекционная пропускная способность
• Наиболее эффективная топология при обмене all-to-all
• Хорошо подходит для решения нерегулярных задач
– Cons:
• Требует наличия адаптивной маршрутизации для эффективной
работы
• Сложная прокладка кабельных коммуникаций
19. Энергоэффективность
• Энергопотребление современных суперкомпьютеров исчисляется
мегаваттами
• 1MW ≈ $1M в год
• PUE: отношение общей потребляемой мощности к полезной
– Для лучших реализаций традиционного воздушного охлаждения PUE ≈ 1.5
– Цель – достижение PUE на уровне 1.05-1.08
• Методы обеспечения высокого PUE
– Увеличение эффективности системы электропитания на всех уровнях
– Повышение рабочей температуры компонентов системы
• Осторожно! Увеличение рабочей температуры ведет к увеличению токов утечки, а
следовательно и энергопотребления
– Охлаждение внешним воздухом
• Дополнительные затраты на воздухоподготовку: фильтрация, увлажнение и т.д.
– Охлаждение теплой (горячей) водой
• Позволяет обеспечить более низкую температуру компонентов по сравнению с
воздухом той же температуры
• Требует принятия дополнительных мер по обеспечению защиты от протечек
20. Операционные системы
• Более 90% систем в Top500 используют Linux
• Проблемы
– OS jitter из-за большого количества внутриядерных
процессов и прерываний
– Механизмы управления памятью не ориентированы на
выполнение высокопроизводительных приложений
• Проекты по доработке Linux применительно к HPC
– CNL (Compute Node Linux): low-jitter Linux от Cray
– ZeptoOS: Linux для BlueGene с улучшенными механизмами
управления памятью
– Kitten: легковесное ядро, обеспечивающее совместимость
со стандартными Linux-приложениями
– Ядро CNK для BlueGene/Q частично совместимо со
стандартными системными вызовами Linux
21. Файловые системы
• Практически повсеместно применяются параллельные файловые
системы с объектной архитектурой
• Lustre
– Open Source
– Используется в большинстве систем из Top500
– Разработка в настоящее время контролируется Intel
• IBM GPFS
• Panasas PanFS
– Законченное аппаратно-программное решение
– Отказоустойчивость обеспечивается с помочью software RAID на уровне
файлов
• Особенности обработки данных в HPC
– Большие файлы, требующие параллельной обработки
– Структурированные научные данные (HDF5, другие форматы)
– Поддержка серий данных, параметрические выборки
22. Файловые системы
• Перспективы развития
– Lustre в течение ближайших лет останется наиболее
распространенной файловой системой
– Проект Colibri (Xyratex, Peter Braam – один из авторов Lustre) – нет
детальной информации, проект строго засекречен
– Потенциальное использование решений из BigData (distributed
key-value storage, etc.)
– PCIe flash, появление новых видов постоянной памяти могут
привести к радикальному изменению архитектуры хранения
данных (random access, иерархическая структура, локальность
данных)
– Специализированные файловые системы для контрольных точек
– Exascale I/O Workgroup (EIOW) – рабочая группа, занимающаяся
исследованиями направлений развития СХД и файловых систем
для Exascale
• http://www.eiow.org
23. Средства параллельного
программирования
• MPI (Message Passing Interface)
– Более 90% параллельных приложений написаны с
использованием MPI
– Останется основным инструментом для разработки в ближайшие
5 лет
– MPI 3.0 (принят 21 сентября 2012)
• Расширенная поддержка коллективных операций, включая
неблокируемые
• Расширенная поддержка односторонних коммуникаций
• Поддержка механизмов отказоустойчивости
• Поддержка Fortran 2008
• PGAS (Partitioned Global Address Space)
– Перспективная технология параллельного программирования
– GASnet – экспериментальная реализация
– UPC, CAF – языки программирования с поддержкой PGAS
– Широкое применение возможно не ранее, чем через 2-3 года
24. Средства параллельного
программирования
• OpenMP
– Основной стандарт параллельного программирования для систем
с общей памятью
– Активное развитие библиотек и методов многопоточного
программирования для многоядерных процессоров может
привести к постепенному отходу от использования этого стандарта
• Программные средства для GPU и акселераторов
– CUDA, OpenCL, OpenACC, OpenHMPP
26. Exascale Challenge
2012 (BG/Q) 2018-2020 Относительно
(Exascale) 2012
System peak 20 Pflops 1 Eflops O(102)
Power 8.6 MW ~20 MW
System memory 1.6 PB 32-64 PB O(10)
Node performance 205 Gflops 1.2 or 15 Tflops O(10)-O(102)
Node memory BW 42.6 GB/s 2-4 TB/s O(103)
Node concurrency 64 threads O(103) or O(104) O(102)-O(103)
Node interconnect BW 20 GB/s 200-400 GB/s O(10)
System size (nodes) 98304 O(105) or O(106) O(10)-O(102)
Total concurrency 5.97 M O(109) O(103)
MTTI 4 days O(<1 day) -O(10)
27. Энергетический барьер
• Переход на новые технологические процессы – обратная сторона
медали:
– Напряжение не масштабируется
– Токи утечки растут
• Энергопотребление суперкомпьютеров за 20 лет выросло в 16 раз
– 1993: 500KW (Fujitsu Numerical Wind Tunnel)
– 1997: 850KW (ASCI Red)
– 2002: 3.2MW (NEC Earth Simulator)
– 2007: 2.3MW (BlueGene/L)
– 2012: 8MW (LLNL Sequoia)
• Энергопотребление ограничено
– Инфраструктурными возможностями
– Размером системы/плотностью мощности в стойке
• Цель для exascale: 20MW
28. Memory Wall
• Аппаратная задержка доступа к памяти DRAM составляет ~10ns и
останется неизменной
• Пропускная способность на канал памяти DDRx (64-бит)
– 2003: 3.2GB/sec
– 2007: 6.4GB/sec
– 2012: 12.8GB/sec
– 2015: ~20GB/sec
– 2017: ~25-30GB/sec
• Пропускная способность памяти GDDR5 для ускорителей:
– Сегодня: 200-320GB/sec
– Конец жизненного цикла памяти GDDR – через 2-3 года
• Для Exascale необходима пропускная способность памяти 2-4TB/sec на
узел
• Необходимо уменьшить энергопотребление и увеличить надежность
29. I like to move it, move it
• Вычисления «холодные», перемещение данных
«горячее»
2011 2020
DP FMADD flop 100 pJ 10 pJ
DP DRAM read 4800 pJ 1920 pJ
Local Interconnect 7500 pJ 2500 pJ
Cross System 9000 pJ 3500 pJ
• В exascale-системе интерконнект может составить
до 50% общего энергопотребления системы
30. Надежность и отказоустойчивость
• Большинство существующих алгоритмов для HPC-приложений не
обеспечивают отказоустойчивость
• Среднее время наработки на отказ в системе LLNL Sequoia (#1 в
Top500) составляет примерно 4 дня
– Дизайн BlueGene/Q специально разрабатывался с целью обеспечить
максимальную надежность работы системы
• Среднее время наработки на отказ Cray Jaguar (#6 в Top500) – 35 часов
• Основная причина отказов – сбои оперативной памяти и
интерконнекта
– ECC является недостаточным механизмом для обеспечения устойчивой
работы системы
– Для интерконнекта необходимо иметь BER не хуже 10-17
• Основным методом обеспечения отказоустойчивой работы является
создание контрольных точек
– С ростом количества процессоров система хранения становится
«бутылочным горлышком»
33. Перспективы развития технологий
• 2015-2016:
– Интеграция интерконнекта в процессор
– Интеграция процессора и памяти в одном корпусе
(system-in-a-package)
– Общая память для гибридных процессоров
• 2017-2018
– Оптические коммуникации на уровне платы
– Non-volatile Memory
– 3D-stacking процессора и памяти
• 2019-2020
– Silicon Photonics
34. Альтернативные процессорные
архитектуры
• Мобильные процессоры
– ARM
• Октябрь 2011 – анонсирована 64-разрядная архитектура ARMv8
– Поддержка большого набора векторных операций и release-consistency memory
model
• 2013 – первые чипы на базе новой архитектуры
• Середина 2013 – 64-разрядное ядро от ARM
• 2015 – до 32 ядер, интеграция с GPU
• Развитая экосистема (ОС, средства разработки)
• Низкое энергопотребление
– MIPS
• Используется различными (в основном китайскими) производителями
• 64-разрядная архитектура давно существует
• Менее развитая экосистема
• Неопределенное будущее компании
35. Альтернативные процессорные
архитектуры
• Проект Montblanc (суперкомпьютерный центр Барселоны)
– Гибридная система на базе процессоров ARM и графических
ускорителей
– Текущая установка: ARM Cortex A9 + Nvidia GPU
– В разработке: система на базе мобильного процессора Samsung
Exynos 5450 (4 x Cortex A15 + Mali 658)
• По сравнению с x86+GPU Примерно в 4 раза лучшая
производительность/ватт, примерно в 10 раз лучшая
цена/производительность
• Nvidia Denver
– Интеграция 64-разрядных ядер на базе архитектуры ARM и GPU
– Доступность – 2014-2015
– Базовая разработка для экзафлопной архитектуры Echelon (~2017)
36. Альтернативные процессорные
архитектуры
• Многоядерные процессоры
– Tilera TILE-Gx
• 36 ядер
• 28W при 1.2GHz
– Cavium Octeon
• 32 ядра при 1.5GHz (65nm)
• 48 ядер при 2.5GHz (28nm)
• Проект Thunder: 64 ядра ARMv8
– Adapteva Epiphany
• 64 ядра при 0.8GHz (28nm)
• 50Gflops/W (SP)
37. Технологии памяти
• Hybrid Memory Cube (HMC)
– 3D интеграция нескольких кристаллов памяти и логического
контроллера с помощью технологии TSV
– Высокоскоростной последовательный интерфейс
• На сегодняшний день: 64GB/sec в каждом направлении на чип
(демонстратор технологий, 2011)
• 2014: до 120GB/sec в каждом направлении на чип
• 2015: поддержка ultra-short протокола для интегрированной памяти
(значительное уменьшение энергопотребления)
– Встроенная избыточность для обеспечения высокой надежности
– Открытая спецификация:
• Gen2: конец 2012
• Gen3: 2013, поддержка атомарных операций
• Wide I/O memory
– Очень низкое энергопотребление
– Ориентирована на 3D стекирование
38. Non-volatile Memory
• Необходимость: Registers,
O(KB)
– Увеличение требований к объему памяти с 1 cycle
ростом количества ядер Cache,
– Высокое энергопотребление памяти DRAM O(MB)
10 cycles
– Необходимость значительного сокращения
времени создания контрольных точек => Memory, O(GB)
100 cycles
наличие постоянной памяти на
вычислительном узле
Latency Gap
• Технологии
– Сегодня: NAND flash
Disk, O(TB)
– ~2015 -2016: PCM (Phase-Change Memory), на 10000 cycles
текущий момент начато производство первых
серийных микросхем
– ~2018-2020: STT-MRAM
• По характеристикам может в некоторых случаях
заменить DRAM при условии выполнения прогнозов
– После 2020: новые перспективные технологии
(например, Redox Memory)
39. Оптические технологии
• Рост скорости передачи данных
– 10Gbps=>14Gbps=>25Gbps=>40Gbps=>…
– При скорости 10Gbps максимальная длина сигнальных линий на
плате из стандартного материала FR4 составляет ~30см
• Для стандартных материалов 10Gbps является практическим пределом
• Более эффективные материалы (например, Megtron 6) поддерживают
большие скорости при примерно в 5 раз большей цене
– Для медных кабелей: 10Gbps=>7м, 14Gbps=>4м, 25Gbps=>~2м
• Энергоэффективность
– Оптические технологии передачи данных примерно в 5 раз более
энергоэффективны, это соотношение растет с увеличением
скорости
• Плотность
– Оптические разъемы обеспечивают в 10-100 раз большую
плотность по сравнению с электрическими
40. Оптические технологии
• Перспективы развития оптических технологий
(оценки по появлению рыночных продуктов)
– Интеграция оптических трансиверов в одном модуле с
логическими устройствами (опытные образцы есть уже
сейчас): 2015-2016
– Интеграция оптических волноводов на печатную плату:
2017-2018
– Кремниевая фотоника, оптические коммуникации
внутри микросхемы: после 2018
41. Новые классы задач
• Big data is coming!
– Graph500: новый бенчмарк для data-oriented приложений
– Аналитика, data mining
• Мультидисциплинарные задачи
– Например: СFD+mechanics+chemistry
• Нерегулярные шаблоны коммуникаций
• Локальность данных жизненно необходима
• Статический параллелизм + синхронизация => динамический
параллелизм
– Транзакционная память
– Новые средства многопоточного программирования (SMPSs, ETI
SWARM, etc.)
– Активные сообщения
42. Вместо заключения
• До середины 1990-х суперкомпьютеры были полностью
уникальными системами
• Развитие микропроцессоров и других электронных
компонентов привело к значительной коммодитизации
суперкомпьютерных архитектур
• Следует ожидать, что дальнейшее развитие
суперкомпьютерной отрасли будет еще более тесно связано с
развитием технологий для широкого рынка
• Увеличение из года в год стоимости разработки отдельных
электронных компонентов означает, что суперкомпьютерные
технологии будут все более активно внедряться в других
сегментах (BigData, Cloud Computing, Web, etc.)
• Значительная часть проблем суперкомпьютинга лежит в
области алгоритмического и программного обеспечения
43. Немного помечтаем…
• Exascale-компьютер – какой он?... (мнение автора)
• 256 стоек
• 100-200KW на стойку
• Вариант A
– 512K узлов/процессоров
• Однородная архитектура, легкие ядра
• 32 ядра @2GHz, 16 flops/cycle
– 5D/6D тор, ~150-200Gbps/link
• Вариант B
– 64K узлов/256К процессоров
• Гибридная архитектура на базе мобильных технологий
• 4 Tflops/CPU
– Dragonfly, 48-64 port high-radix router, ~10TB/sec switching capacity
• Вариант C
– 32K узлов/128К процессоров
• Гибридная архитектура на базе «тяжелых» процессоров и GPU
• 8 Tflops/CPU
– Dragonfly, 48-64 port high-radix router, ~10TB/sec switching capacity