Комплексная методика тестирования производительности суперкомпьютеров. Профессиональный подход. В.С. Горбунов, Л.К. Эйсымонт Абрау-Дюрсо, 26 сентября 2013 Комплексная методика тестирования производительности суперкомпьютеров. Профессиональный подход. В. Горбунов, Л. Эйсымонт HPEC Challenge Green-500 ЦТСС Graph-500 HPC Challenge ТОP-500 Абрау-Дюрсо, 26 сентября 2013 Динамика роста Top500 Тop500 год месяц июнь 2010 ноябрь июнь 2011 ноябрь июнь 2012 ноябрь 1 1759.0 XT5 2566.0 Tianhe-1A 8162.0 K-comp 10510.0 K-comp 16324.8 BG/Q 17590.0 XK7 Место в рейтинге (Tflops) 2 3 4 1271.0 1042.0 831.7 Nebulae Roadrunner XT5 1759.0 1271.0 1192.0 XT5 Nebulae Tsubame 2566.0 1759.0 1271.0 Tianhe-1A XT5 Nebulae 2566.0 1759.0 1271.0 Tianhe-1A XT5 Nebulae 10510.0 8162.0 2897.0 K-comp BG/Q IBM-cluster 16324.8 10510.0 8162.4 BG/Q K-comp BG/Q 5 825.5 BG/P 1054.0 XE6 1192.0 Tsubame 1192.0 Tsubame 2566.0 Tianhe-1A 4141.2 BG/Q Динамика 2012/2005 (Nov, разы) 62.69 178.8 165.78 133.81 108.13 Динамика 2012/2010 (Nov, разы) 6.86 9.28 8.27 6.85 3.93 Динамика роста Graph500 Место в рейтинге (GTEPS(scale)) Graph500 год 2010 месяц ноябрь июнь 2011 ноябрь июнь 2012 ноябрь Динамика 2012/2010 (разы) 1 2 3 4 5 6.6 (36) 5.22 (32) 1.22 (29) 1.17 (29) 0.533 (29) BG/P XT4 XMT XMT X5670+IB 43.47 (37) 25.08 (37) 19.96 (36) 18.51 (38) 18.42 (38) Lomonosov XE6 XT4 BG/P BG/P 253.4 (32) 112.7 (37) 103.1 (37) 99.86 (36) 92.34 (36) BG/Q XE6 Lomonosov Tsubame BG/P 3541 (38) 3541 (38) 508.1 (35) 358.1 (38) 317.09 (35) BG/Q BG/Q p7-775 K-comp HP-cluster 15383 (40) 10461 (39) 5848 (38) 5524 (40) 2567 (37) BG/Q BG/Q BG/Q K-comp BG/Q 2330 2004 4793 4721 4816 Динамика роста HPC Challenge HPCC Awards (Nov) 2005 2006 2007 2008 2009 2010 2011 2012 Динамика 2012/2006 (разы) Динамика 2012/2010 (разы) G-HPL (TFlops) G-RandomAccess (GUPS) G-FFT (TFlops) EP-Stream-Triad (Tbyte/s) 1 2 1 2 1 2 1 2 259 BG/L 259 BG/L 259 BG/L 902 XT5 1533 XT5 1533 XT5 2118 K-comp 9796 K-comp 67 BG/L 94 XT3 259 BG/L 736 XT5 736 XT5 1533 XT5 1533 XT5 35 BG/L 35 BG/L 35.5 BG/L 103 BG/P 117 BG/P 117 BG/P 121 K-comp 2021 p7-775 17 BG/L 33.6 XT3 35.5 BG/L 103 BG/P 103 BG/P 117 BG/P 472 K-comp 2.3 BG/L 2.311 BG/L 2.870 XT3 5.080 BG/P 11.0 BG/P 11.88 SX-9 34.7 K-comp 205.9 K-comp 1.122 XT3 2.311 BG/L 2.870 XT3 8.0 BG/P 11.7 XT5 11.88 SX-9 132.7 p7-775 160 BG/L 160 BG/L 160 BG/L 330 XT5 398 XT5 398 XT5 812 K-comp 3857 K-comp 55 p5-575 77 XT3 160 BG/L 267 BG/P 267 BG/P 398 XT5 525 p7-775 37.8 22.88 57.75 7.62 89.52 118.27 24.01 4.27 6.4 2.08 17.27 4.58 17.33 11.34 9.69 1.97 Зачем нужны тесты? Задачи: A = {A1, А2 … АN} Компьютер S: Hw – аппаратная часть SwOS - операционная система SwRT/LIB - run-time системы и библиотеки SwC - компиляторы Схема 1: Узнать как работает существующий компьютер на задачах Const(А, Hw, SwOS , SwRT/LIB , SwC) Схема 2: Улучшить существующий компьютер на задачах Const(А, Hw), Var(SwOS , SwRT/LIB , SwC) Схема 3: Задачи не сформулированы, узнать какие характеристики и возможности компьютера Const(Hw, SwOS , SwRT/LIB , SwC ), Var(A) Схема 4: Разработка компьютера Var(Hw, SwOS, SwRT/LIB, SwC) Многоуровневая методика оценочного тестирования тест APEX Общий тест подсистемы памяти APEX-map тесты граничных точек apex-поверхности G-RandomAccess, G-HPL (High Performance Linpack), G-StreamTriad, G-FFT (Fast Fourier Transform) sysmark - тесты Специальные системные тесты компонентов (Euroben, Pallas MPI Benchmark) stressmark - тесты Тесты базовых алгоритмов для выявления влияния системных характеристик DGEMM, SpMV, QR, SVD kernel benchmark тесты Тесты – ядра приложений NAS Parallel benchmark (CG, EP, FT, IS, MG) benchmarks (compact application) Тесты – компактные приложения NAS Parallel benchmark (BT, LU, SP, UA ) application Тесты приложения Тест APEX – интегральная оценка эффективности подсистемы памяти Цель: оценка времени доступа к элементу памяти в зависимости от пространственно-временной локализации Пространственная локализация Временная локализация Временная локализация Пространственна я локализация L хорошая хорошая F хорошая плохая T плохая хорошая G плохая плохая Пример профиля работы с памятью для задачи DIS-класса (FFT-одномерное быстрое преобразование Фурье) HPC Challenge Пример профиля работы с памятью задачи CF-класса (DGEMM) Пространственная локализация Временная локализация Пример профиля работы с памятью для задачи DIS-класса (RandomAccess) Пакет тестов Euroben, группы операций тест Euroben (модуль mod1a) 31 тест простых операций с векторами Цели: Оценка производительности вычислительных элементов в зависимости от схемы доступа и соотношения числа вычислительных операций и операций доступа к памяти Сравнение компиляторов и опций Пакет тестов Euroben Intel E5-2660 Sandy Bridge (Rpeak 17,6 Гфлоп/c) Группа 1 Группа 2 Коммуникационная сеть «коллективные операции» Цели: Оценка эффективности выполнения операций на уровне пользовательской библиотеки MPI Сравнение библиотек MPI и алгоритмов выполнения коллективных операций Allgather Alltoall Allreduce Barrier Коммуникационная сеть PingPong, межузловой PingPong, внутриузловой Ускорение коллективных операций для 2-х адаптеров на узле Коммуникационная сеть Message Rate Цель: оценка темпа выдачи сообщений в сеть Сеть «МВС-Экспресс», gen2 Сеть Cray Gemini HPCG (SpMV) vs SpMV установка 2 x Intel Xeon X5680 (Westmere) 2 x Intel Xeon E5-2670 (Sandy Bridge) NVIDIA Tesla C2050 (Fermi). Tesla K20 (Kepler) Intel Xeon Phi HPL DGEMM реальная производительность (% от пиковой) SpMV 0,7 - 1,3 1,2 - 2,3 1,2 - 5,3 0,4 - 1,2 0,5 - 4,5 NAS Parallel Benchmarks (NPB) Цели: Оценка производительности на приложениях Сравнение компиляторов и библиотек MPI Выбор оптимальных параметров запуска EP CG FT IS Embarrassing Parallel Conjugate Gradient Fast-Fourier Transform Parallel Sort Накопление двумерной статистики псевдослучайных чисел с распределением Гаусса. Метод сопряженных градиентов нахождения приближения наименьшего собственного значения разреженной матрицы. Быстрое преобразование Фурье для решения дифференциального уравнения с частными производными. Сортировка целых чисел. Позволяет оценить наибольшую производительность на задачах с интенсивными вычислениями с плавающей точкой. Находится в области плохой временной и пространственной локализации обращения в память. Тяжелый тест на производительность при обменах между процессорами. Затраты на коммуникации в разы превосходят затраты на вычисления. . NPB EP и CG, OpenMP, класс С двухсокетные узлы производительность NPB EP NPB CG NPB UA и EP, OpenMP, класс С, результаты NPB UA узел 8 x Intel Westmere-EX Рост в 2,5 раза привязка и оптимальное размещение процессов по ядрам узла NPB EP узел 2 x Intel E5-2660 Sandy Bridge Рост в 2 раза выбор оптимального компилятора Технология оптимизации на основе профилирования тестирование профилирование, вычисление локализаций (SL, TL) построение APEXповерхности отображение на APEX поверхность определение резервов оптимизации Моделирование будущих архитектур повышение толерантности улучшение локализации Заключение HPGAS (Hierarchical PGAS) 4 - ый уровень общая память общая память 3 - ий уровень общая память общая память общая память общая память общая память локальная локальная локальная локальная локальная локальная локальная локальная память память память память память память память память процесс процесс 2 1 ... 2 - ой уровень 1 - ый уровень процесс N HPGAS – результаты тестирования используются при составлении и использовании модели Спасибо за внимание