Комплексная методика тестирования производительности

advertisement
Комплексная методика
тестирования производительности
суперкомпьютеров.
Профессиональный подход.
В.С. Горбунов, Л.К. Эйсымонт
Абрау-Дюрсо, 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 – результаты тестирования используются
при составлении и использовании модели
Спасибо
за внимание
Download