Как получить лучший результат LINPACK и покорить Top500?
Имеется большой кластер Linux HPC с сотнями / тысячами узлов. Каковы ваши лучшие практики для получения наилучшего результата теста LINPACK ( HPL) для отправки в список суперкомпьютеров Top500?
Чтобы дать вам представление о том, какие ответы я хотел бы получить, приведу несколько подвопросов (со ссылками):
- Как вам настроить параметры (
N
,NB
,P
,Q
, выравнивание памяти и т. д.) дляHPL.dat
файл (не тратя слишком много времени на попытки каждой возможной перестановки - особенно с большими размерами задачи N)? - Существуют ли правила подачи в Top500, о которых нужно знать? Что разрешено, а что нет?
- Какой продукт MPI, какая версия? Есть ли разница?
- Какой-нибудь особый порядок хостов в вашем машинном файле MPI?
- Вы используете закрепление процессора?
- Как настроить соединение? Какое соединение?
- Какой пакет BLAS вы используете для какой модели процессора? ( Intel MKL, AMD ACML, GotoBLAS2 и т. Д.)
- Как вы готовитесь к большому пробегу (на всех узлах)? Начать с небольших прогонов на подмножестве узлов, а затем увеличить? Действительно ли необходимо запускать LINPACK с большим прогоном на всех узлах (или разрешена экстраполяция)?
- Как вы оптимизируете для последних процессоров Intel/AMD? Гиперпоточность? НУМА?
- Стоит ли перекомпилировать программный стек или вы используете предварительно скомпилированные двоичные файлы? Какие настройки? Какой оптимизация компилятора, какой компилятор? (А как насчет компиляции на основе профиля?)
- Как получить наилучший результат при ограниченном времени выполнения теста? (Вы можете заблокировать огромный кластер навсегда)
- Как вы готовите отдельные узлы (остановка системных демонов, освобождение памяти и т. Д.)?
- Как вы справляетесь с аппаратными сбоями (разрушая огромный пробег)?
- Существуют ли какие -либо документы или сайты на эту тему, которые необходимо прочитать? Например, я хотел бы услышать о некоторых базовых историях о некоторых современных системах Top500 и о том, как они сделали свой тест LINPACK.
Я намеренно не хочу упоминать конкретные детали оборудования или обсуждать рекомендации по оборудованию, потому что я не хочу ограничивать ответы. Тем не менее, не стесняйтесь упоминать советы, например, для конкретных моделей процессора.
1 ответ
Попробуйте этот инструмент, он может вам помочь, он предлагает настроенные значения для некоторых критических параметров HPL и пошаговое руководство по запуску HPL в кластерах. Инструмент также оценивает ваш рейтинг в списке TOP500 в зависимости от характеристик вашей системы:
http://hpl-calculator.sourceforge.net/
Я надеюсь, что вы найдете это полезным.