Проблема выбора
Тест NAS
Тест ЕР
Заключение
Литература

Во многих исследовательских центрах решение наиболее "емких" вычислительных задач, например задач численного аэродинамического моделирования, связывается с многопроцессорными архитектурами, обеспечивающими максимальную степень параллелизма. Уже готовы использовать суперкомпьютеры в своих приложениях и коммерческие организации, однако при этом возникает весьма непростой вопрос о выборе конкретной архитектуры и об оценке адекватности ее соответствия решаемым задачам. Дело в том, что, как отмечают многие исследовательские центры, традиционные тесты SPEC, ТРС и LINPACK, применяемые в настоящее время, не всегда адекватно отражают возможности многопроцессорных архитектур. В исследовательском центре NASA Ames Research Center в рамках программы lVAS по численному моделированию в аэродинамике был недавно разработан комплекс тестов, позволяющих оценивать производительность суперкомпьютерных архитектур.

На рынке компьютерных технологий сейчас широко представлены и активно продолжают разрабатываться различные суперпроизводительные процессоры: Alpha, MIPS, PowerPC/POWER2, HP7200/8000, Pentium Pro, превосходящие на различных тестах многие вычислительные системы, построенные на процессорах предыдущего поколения. Однако, несмотря на впечатляющие успехи микропроцессорных технологий чипов, разработчики по-прежнему продолжают уделять большое внимание новым архитектурным решениям, обеспечивающим более существенный рост производительности за счет различных способов организации работы. многих микропроцессоров. Архитектуры SMP, МРР, кластеры снова стали в центре внимания компьютерной общественности.

Во многих исследовательских центрах решение наиболее "емких" вычислительных задач, например задач численного аэродинамического моделирования, связывается именно с суперкомпьютерными архитектурами, обеспечивающими максимальную степень параллелизма. Так, например, NASA Ames Research Center, определяя требуемые вычислительные мощности на уровне их тысячекратного увеличения, активно ведет различные исследовательские работы именно по суперпараллельным архитектурам.

Если исследования и реальное использование крупнейшими исследовательскими центрами (Cornell University, NASA, Air Force High Performance Computing Center) систем массового параллелизма не является чем-то неожиданным, то практическое использование этих систем для бизнес-приложений уже само по себе является несколько неожиданным и, кроме того, имеет целый ряд особенностей.

Специфика коммерчееких приложений требует повышения производительности прежде всего для задач. И сегодня ведущие поставщики уже разработали и поставляют на рынок коммерческих приложений вычислительные системы с архитектурой массового параллелизма IBM SP2, SNI RM1000, CRAY T916 Intel/Paragon и другие. Фактически это позволяет говорить о завершении этапа исследовательских работ по новым вычислительным архитектурам и программному обеспечению, включающему вычислительные методы, ОС, мониторы параллельной обработки транзакций, библиотеки параллельных вычислений и т.п.

Многими аналитиками отмечается необычайно быстрый переход от стадии исследовательских работ к внедрению и применению суперкомпьютерных вычислительных систем в коммерческих компаниях. Отмечается также "агрессивная" программа внедрения новых технологий в сферу коммерческих приложений, согласованная фирмами производителями и исследовательскими центрами. Более того, сами производители, участвуя в перепроектировании и оптимизации существующих приложений под конкретную Mpp-архитектуру, подвигают потребителей к выбору этих систем. Так, например, двадцатимесячная комплексная программа продвижения системы массового параллелизма SP2 компанией IBM привела к тому, что более чем половина заказов на эту систему именно от коммерческих организаций для бизнес-приложений.

Проблема выбора

Компании, которые решили перейти на суперкомпьютерные системы, оказываются перед проблемой оценки конкретной архитектуры и конфигурации на основе критериев и тестов, адекватно отражающих возможности компьютера. По сообщению многих исследовательских центров, широко используемые системы benchmark SPEC, ТРС и LINPACK, применяемые сегодня для традиционных архитектур, неприемлемы для MPP-архитектур. Например, тесты SPEC позволяют определить лишь производительность самих процессоров, ТРС и LINPACK, хотя и учитывают текущую конфигурацию вычислительной системы в целом и позволяют сделать оценку для задач класса 0LTP и DSS, все же недостаточны для многопроцессорных архитектур. Все эти тесты не учитывают всех архитектурных особенностей и преимуществ конкретных систем МРР, вычислительных алгоритмов и программного обеспечения. К тому же объемы используемых в этих тестах данных (даже для теста LINPACK TPP - матрица размером 1000x1000) не позволяют полностью загрузить вычислительные ресурсы для получения реальных оценок.

По мнению специалистов из исследовательского центра NASA Ames Research Center, сегодня фактически отсутствует стратегия для разработки систем тестирования для многопроцессорных суперкомпьютерных архитектур. В этом центре были сформулированы основополагающие требования, которым должны удовлетворять тестовые методики оценки производительности суперкомпьютерных многопроцессорных систем, особенно MPP:

  • системы с массовым параллелизмом часто требуют новых алгоритмических и программных решений, а их конкретные реализации могут существенно зависеть от архитектуры компьютера и, как следствие, соответственно отличаться друг от друга;
  • тестовые "смеси" должны носить "общий" характер и не следовать какой-либо конкретной архитектуре, что исключает использование архитектурно-зависимого кода, например "message passing code",
  • корректность результатов должна быть легко проверяема, т.е. должны быть точно описаны входные и выходные данные и природа вычислений;
  • используемая память и вычислительные ресурсы должны быть масштабируемыми для повышения производительности;
  • тексты и спецификации используемых тестов должны быть доступны и подтверждаться повторной реализацией.
  • По мнению специалистов NASA, существует единственный подход, удовлетворяющий этим требованиям, а именно: технология "бумага и карандаш", при которой выбор конкретных структур данных, алгоритмов распределения процессоров и выделения памяти, оставляется на усмотрение разработчика и решается в конкретной реализации тестов. Тем не менее, NASA определяет некоторые правила, в рамках которых может разрабатываться система тестирования:

  • все операции с плавающей арифметикой должны быть выполнены с использованием 64-разрядной арифметики;
  • все тесты должны быть запрограммированы на Fortran 90 и Си;
  • не допускается смешение кодов этих языков;
  • возможно использование компилятора High Performance Fortran (HPF) версии от 01.92 или более поздней;
  • все используемые расширения языка и библиотеки должны официально поставляться фирмой-производителем;
  • библиотечные подпрограммы, за исключением оговоренного списка, должны быть написаны на одном из указанных языков.
  • Использование языков Си и Fortran обусловлено их распространенностью для подобного класса вычислительных систем. При этом важен запрет на использование ассемблерного кода, для того чтобы "уравнять" разрабатываемые тесты программ.

    Тест NAS

    В исследовательском центре NASA Ames Research Center был разработан комплекс тестов, позволяющий оценивать производительность суперкомпьютеров и отвечающий перечисленным требованиям. Целью программы NAS, в рамках которой был разработан тест, является достижение к 2000 году возможности проведения за несколько часов полномасштабного численного моделирования полета космического аппарата. Возможно, первой компьютерной системой, способной справиться с этой задачей, будет архитектура МРР.

    Комплекс тестов NAS состоит из пяти тестов NAS kernel benchmark и трех тестов, основанных на реальных задачах гидро- и аэродинамического моделирования. Этот круг задач не покрывает всего спектра возможных приложений, однако на сегодняшний день NAS Benchmarks является лучшим общепризнанным комплексом тестов для оценки параллельных многопроцессорных систем, что собственно и подтверждается практическими наблюдениями - результатами ТОР500.

    Специалисты центра NASA выделяют именно последние три теста как наиболее перспективные для определения производительности систем МРР. Все требования к тестам описаны исключительно на уровне наиболее общего алгоритма, что позволяет производителям компьютеров выбрать наиболее приемлемые с их точки зрения методы решения задачи, структуры данных, дисциплину распределения заданий между процессорами и т.п. Тесты NAS призваны в первую очередь оценить вычислительные возможности компьютерной системы и скорость передачи данных между процессорами в параллельных системах - производительность при выполнении операций ввода/вывода или различных пре- и постпроцессорных функций в данном тесте не оценивается.

    При выполнении каждого теста замеряется время в секундах, необходимое задаче, имеющей конкретный размер. Для более наглядной оценки потенциальных возможностей тестируемой конфигурации вычисляется относительная производительность по сравнению с показателями традиционного векторного суперкомпьютера, в качестве которого обычно выступает одна из моделей Cray. Для NAS kernel benchmark определяются два класса тестов: класс А и класс В, которые фактически отличаются "размерностью" вычислений. Размер задач из класса В превосходит размер задач из класса А примерно в четыре раза. Результаты тестирования в классе А нормируются на производительность однопроцессорного компьютера Cray Y-MP, а класса В - на однопроцессорный Cray C90. По мнению специалистов NASA Ames, тесты класса А адекватно отражают производительность масштабируемых систем с числом процессорных узлов менее 128. При оценке систем с количеством узлов до 512 следует использовать тесты класса В.

    Комплекс тестов NAS Benchmarks kernel включает следующие расчетные задачи:

    1. ЕР (Embarrasinghly Parallel). Вычисление интеграла методом Монте-Карло - тест "усложненного параллелизма" для измерения первичной вычислительной производительности плавающей арифметики. Этот тест минимального межпроцессорного взаимодействия и фактически определяет "чисто" вычислительные характеристика узла при работе с вещественной арифметикой.

    2. MG (3D Multigrid). Тест по решению уравнения Пуассона ("трехмерная решетка") в частных производных - требует высокоструктурированной организации взаимодействия процессоров. Тестирует возможности системы выполнять как дальние, так и короткие передачи данных.

    3. CG (Conjugate Gradient). Вычисление наименьшего собственного значения больших, разреженных матриц методом сопряженных градиентов. Это типичное неструктурированное вычисление на решетке, и поэтому тест применяется для оценки скорости передачи данных на длинные расстояния при отсутствии какой-либо регулярности.

    4. FT (fast Fourier Tranformation). Вычисление методом быстрого преобразования Фурье трехмерного уравнения в частных производных. Данная задача используется как "серьезный" тест для оценки эффективности взаимодействия по передаче данных между удаленными процессорами. При создании программы, реализующей данный тест, могут использоваться библиотечные модули преобразования Фурье различной размерности.

    5. IS (Integer Sort). Тест выполняет сортировку целых чисел и используется как для оценки возможностей работы системы с целочисленной арифметикой (главным образом одного узла), так и для выявления потенциала компьютера по выполнению межпроцессорного взаимодействия.

    Комплекс тестов NAS Benchmarks по модельным задачам включает следующие модули:

    1. LU (LU Solver). Тест выполняет вычисления, связанные с определенным классом алгоритмов (INS3D-LU по классификации центра NASA Ames), в которых решается система уравнений с равномерно разреженной блочной треугольной матрицей 5х5.

    2. SP (Scalar Pentadiagonal). Тест выполняет решение нескольких независимых систем скалярных уравнений - пентадиагональные матрицы с преобладанием недиагональных членов.

    3. ВТ (Block Tridiagonal). Решение серии независимых систем уравнений - блочные трехдиагональные матрицы 5х5 с преобладанием недиагональных элементов.

    Тест ЕР

    Чтобы понять принципы построения тестов NAS и особенности их реализации на конкретных суперкомпьютерных архитектурах, рассмотрим несколько подробнее тест ЕР. Данный тест формулируется следующим образом: формирование двухмерной статистики из большого числа случайно распределенных по Гауссу чисел, которые генерируются наилучшим (оптимальным) образом для каждой конкретной вычислительной архитектуры. Эта постановка является типичной для большинства приложений, использующих метод Монте-Карло. Как и все остальные тесты ядра NAS kernel, данный тест имеет два класса, определяемые в данном случае числом сгенерированных и обработанных случайных чисел: первый 2^28, второй - в четыре раза больше.

    Приведем точную формулировку теста. Пусть n = 230, a = 513 и s = 271828183. Генерируются псевдослучайные вещественные числа rj в интервале (0,1) для 1 <= j <= n. Тогда для множеств (х) и (у), где хi= 2r2j-1-1, yi=2r2j-1 мы получаем произвольно распределенные в интервале (-1,1) пары чисел хi, уi. Далее положим k = 0, и, начиная с j = l будем проверять выполнение условия tj = хj2 + yj2 <= 1. Если условие не выполнено, то пара отвергается и проверяется следующая пара чисел. Если условие выполняется, то положим k= k+1, и вычислим Хk = xjSQRT((-2log tj)/ti) и Yk = уjSQRT((-2log tj)/tj). Таким образом, мы получаем независимые нормально распределенные значения с нулевым основанием и существенным (хорошим) расхождением. Приблизительно n*pi/4 пар должны быть распределены таким образом. И, наконец, для 0 <= l <= 9 сформируем пары (X1, У1) и отберем только те пары, которые удовлетворяют условию 1= < max(|Xk|,|Yk|). Для данного теста интерес представляют первые 10 пар.

    На многопроцессорной архитектуре, состоящей из р-процессоров, каждый из них независимо генерирует статистику для множества из n/p пар. Так как генерация статистик происходит параллельно на каждом процессоре, то фактически не требуется межпроцессорного взаимодействия. И только лишь 10 пар от каждого процессора аккумулируются - пересылаются в один узел, чем, однако, можно пренебречь. Таким образом, ключевым моментом для данного теста является только оптимизация вычислений на узле, что позволяет оценивать вычислительные возможности системы по работе с вещественными числами.

    Для каждой конкретной архитектуры подробное описание особенностей реализации тестов (а следовательно, в определенном смысле, и самой архитектуры) приводится, как правило, разработчиком теста и представляется в литературе. Официально предложенные реализации тестов утверждаются в центре NASA - напомним, что одно из требований системы тестов NAS состоит в возможности их повторения независимой "командой". Отметим еще раз, что фирма-разработчик, имея достаточную свободу при реализации тестов, может максимально эффективно использовать все особенности архитектуры своей системы и достичь, таким образом, максимальных результатов для комплекта NAS. Так, например, для архитектуры SP2 фирмой IBM используются следующие аппаратные особенности процессора, обеспечивающие повышение производительности на данном тесте: совмещенная операция умножения и сложения массивов, использование некоторых особенностей представления чисел, обеспечивающее оптимальное преобразование чисел в формате с плавающей запятой в целое, применяемое для определения индекса в алгоритме генерации случайных чисел. Примерно аналогичным образом обстоит дело и для теста IS.

    Для приоритетного определения "коммуникационных показателей" системы с массовым параллелизмом используются три оставшиеся теста, в основе которых - алгоритмы численных методов на решетке. Основная идея реализации этих алгоритмов, в частности для теста MG, заключается в том, что на процессорах строится логическая модель трехмерной решетки. Это предполагает создание подобластей, в узлах которых параллельно происходят вычисления. Однако при этом существенным моментом является вычисление граничных условий для каждой подобласти, что требует интенсивного взаимодействия между процессорами. Кроме того, не менее существенным моментом, влияющим на эффективность реализации теста, является репликация данных при переходе вычислительного процесса на новые слои решетки, что также определяется эффективностью реализации межпроцессорного взаимодействия.

    Компьютерные системы
    Дата получения
    Число процессоров
    Класс А
    Класс В
    Время в секундах
    Сообщения с CRAY Y-MP/1
    Время в секундах
    Сообщения с CRAY C90/1
    CRAY J916
    фев 95
    1
    2
    4
    8
    16
    10.78
    11.70
    675.71
    340.13
    170.15
    85.49
    43.16
    0.22
    0.43
    0.86
    1.71
    3.39
    CRAY T916
    июль 95
    1
    2
    4
    8
    18.56
    9.54
    4.77
    2.42
    6.80
    13.23
    26.45
    52.14
    76.13
    38.11
    19.12
    9.65
    1.92
    3.84
    7.66
    15.17
    DEC AlphaServer 8400 5/300
    окт 95
    1
    2
    4
    8
    155.60
    77.97
    39.10
    19.71
    0.81
    1.61
    3.23
    6.40
    622.22
    311.90
    156.69
    78.43
    0.24
    0.47
    0.93
    1.87
    NEC SX-4/32
    окт 95
    1
    2
    4
    8
    16
    32
    -
    -
    102.21
    51.23
    25.66
    12.85
    6.48
    3.31
    1.43
    2.86
    5.71
    11.39
    22.59
    44.23
    SGI Power Challenge (90 MHz)
    май 95
    1
    2
    4
    8
    16
    169.10
    87.46
    43.87
    21.98
    11.05
    0.75
    1.44
    2.88
    5.74
    11.42
    676.78
    352.31
    176.52
    87.80
    44.22
    0.22
    0.42
    0.83
    1.67
    3.31
    Компьютерные системы
    Дата получения
    Число процессоров
    Класс А
    Класс В
    Время в секундах
    Сообщения с CRAY Y-MP/1
    Время в секундах
    Сообщения с CRAY C90/1
    CRAY J916
    фев 95
    1
    2
    4
    8
    16
    5.88
    3.82
    3.78
    2.06
    184.88
    94.71
    48.69
    26.60
    16.12
    0.18
    0.36
    0.69
    1.27
    2.10
    CRAY T916
    июль 95
    1
    2
    4
    8
    4.43
    2.28
    1.27
    0.99
    5.02
    9.75
    17.50
    22.44
    20.30
    10.50
    5.54
    4.06
    1.66
    3.22
    6.10
    8.32
    SGI Power Challenge (90 MHz)
    окт 95
    1
    2
    4
    8
    16
    37.97
    20.03
    10.63
    6.55
    5.71
    0.51
    1.11
    2.09
    3.39
    3.89
    176.22
    93.30
    49.45
    30.43
    26.30
    0.19
    0.36
    0.68
    1.11
    1.28
    Компьютерные системы
    Дата получения
    Число процессоров
    Класс А
    Класс В
    Время в секундах
    Сообщения с CRAY Y-MP/1
    Время в секундах
    Сообщения с CRAY C90/1
    CRAY J916
    фев 95
    1
    2
    4
    8
    16
    1.68
    7.10
    532.03
    293.24
    150.92
    80.67
    42.86
    0.23
    0.42
    0.81
    1.52
    2.87
    CRAY T916
    июль 95
    1
    2
    4
    8
    1.95
    1.10
    0.58
    0.38
    6.11
    10.84
    20.55
    31.37
    73.98
    37.79
    19.65
    11.43
    73.98
    37.79
    19.65
    11.43
    SGI Power Challenge (90 MHz)
    май 95

    окт 95
    1
    2
    4
    8
    16
    35.14
    19.58
    8.79
    4.03
    2.54
    0.34
    0.61
    1.35
    2.96
    4.69
    -
    -

    Заключение

    Приведенные выше таблицы с недавно полученными результатами тестирования некоторых известных вычислительных систем позволяют сформировать более ясное представление о тесте NAS. Эти данные заслуживают серьезного внимания, прежде всего со стороны тех, кто реально стоит перед проблемой перехода на системы массового параллелизма, тем более, что данные о практическом использовании тестируемых методом NAS систем весьма точно подтверждаются списком используемых во всем мире суперкомпьютеров - ТОР500. Системы, приводимые в данном списке, располагаются именно в том порядке, какой был предсказан при тестировании NAS.

    Весьма информативным дополнением приведенных фрагментов является таблица, содержащая оценки производительности суперкомпьютера на каждый вложенный доллар.

    Таблица 1.
    Фрагмент недавнего отчета NASA AMES.

    Система
    Np
    Память
    R:C90/1
    Цена
    Пр./Ц
    Convex SPP1000
    16
    8
    3.03
    2.5
    1.21
    Cray T916
    16
    2
    15.98
    15.0
    1.07
    DEC 8400 5/300
    12
    2
    2.23
    0.718
    3.11
    Fujitsu VPP500
    51
    256*
    81.16
    31.0
    2.62
    IBM RS/6000 SP
    64
    128*
    9.73
    5.74
    1.70
    SGI PowerChallenge
    16
    2
    2.61
    1.02
    2.56
    Обозначения: NP - число процессоров; Память (Гбайт), используемая в тестируемой конфигурации; R:C90/1 производительность относительно Cray C90/1; Цена в млн. долл.; ПР./Ц - соотношение производительности к цене; * - объем памяти (Мбайт) на процессорный элемент.

    Сегодня даже самые "зажиточные" суперкомпьютерные центры, выполняющие заказы по расчету научных, коммерческих и промышленных задач, весьма ревниво следят за эффективностью вложенных средств, чему способствуют таблицы, из которых следует, что даже самая быстродействующая система VPP500 по соотношению цена/производительность уступает или сравнима с намного более дешевым сервером DEC 8400, суперкомпьютером SGI Power Challenge или RS/6000 SP.

    Несмотря на то, что тест NAS относительно молод, по признанию многочисленных экспертов, он имеет много шансов стать таким же распространенным, как и популярный тест LINPACK, и таким же информативным, как AIM.

    Подробное описание тестов и их реализаций для конкретных архитектур вычислительных систем с массовым параллелизмом содержится в литературе, список которой приведен ниже. Результаты последних оценок суперкомпьютерных платформ можно найти на WWW-сервере NAS www.nas.nasa.gov/NAS/NPB.

    Автор выражает благодарность Наталье Железняк, сотруднику фирмы IBM, за помощь в подготовке статьи.


    Литература

    [1] D.BAilay, E.Barszcz, L.Dagum, H.Simon. "NAS parallel Benchmark Result 3-94", Report RNR-94-006, NASA Ames Research Center (March, 1994).

    [2] V.K. Naik. "Performunce of NAS Parallel Application - Benchmarks on IBM SP1", Proceedings of the Scalable High Performance Computing Conference, IEEE (1994), рр. 121-128.

    [3] R.C. Agarwal, В. Alpern, L.Carter. "High-performance parallel implementation of the NAS kernel benchmarks on IBM SP2, IBM System Journal, Vol. 34, #2, 1995.