Эффективность выполнения тестов NAS NBP 2.3

Результаты получены в Марте 2002 г.

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

Для DVM-программ вопрос эффективности выполнения носит принципиальный характер, поскольку эти программы должны при запуске динамически (без перекомпиляции) настраиваться на количество и производительность выделенных для их выполнения процессоров. Для оценки эффективности выполнения DVM-программ были разработаны соответствующие версии тестов NAS (NPB 2.3).

Эти тесты хорошо отражают характер вычислительных задач различных классов, за исключением задач с нерегулярными сетками. В Таблице 1 дается краткая характеристика тестов, и приводятся их размеры в строках для трех версий каждой программы – последовательной версии, MPI-версии и DVM-версии. А ниже для каждого теста приведены отношения времени выполнения его MPI-версии к времени выполнения DVM-версии на ЭВМ МВС-1000М.

Таблица 1. Описание тестов NAS NPB 2.3
Таблица 1. Описание тестов NAS NPB 2.3
Тест Характеристики теста SEQ MPI DVM MPI/SEQ DVM/SEQ
BT 3D Навье-Стокс, метод переменных направлений 3929 5744 3991 1.46 1.02
CG Оценка наибольшего собственного значения симметричной разреженной матрицы 1108 1793 1118 1.62 1.01
EP Генерация пар случайных чисел Гаусса 641 670 649 1.04 1.01
FT Быстрое преобразование Фурье, 3D спектральный метод 1500 2352 1605 1.57 1.07
IS Параллельная сортировка 925 1218 1067 1.32 1.17
LU 3D Навье-Стокс, метод верхней релаксации 4189 5497 4269 1.31 1.02
MG 3D уравнение Пуассона, метод Multigrid 1898 2857 2131 1.50 1.12
SP 3D Навье-Стокс, Beam-Warning approximate factorization 361 5020 3630 1.49 1.08
S 17551 25151 18460 1.43 1.05
SEQ последовательная программа
MPI параллельная программа с использованием Fortran 77 + MPI или C (IS) + MPI
DVM параллельная программа на языке Fortran-DVM или C-DVM (IS)
Отношения времен выполнения MPI-версий тестов к временам выполнения DVM-версий на ЭВМ МВС-1000М
MVS-1000m-classA
Рис. 1. Отношения времен выполнения MPI-версий тестов (class A) к временам выполнения DVM-версии на ЭВМ МВС-1000М
MVS-1000m-classC
Рис. 2. Отношения времен выполнения MPI-версий тестов (class C) к временам выполнения DVM-версии на ЭВМ МВС-1000М

Замечание. В таблице отсутствуют результаты сравнения для тестов IS и MG на 512-ти процессорах, поскольку не удалось пропустить MPI-версии этих тестов.

Конечно, сравнение на тестах NPB 2.3 не вполне правомерно – они написаны на очень высоком профессиональном уровне и являются объектом пристального внимания многих специалистов. При разработке реальных параллельных программ, как правило, достижение высокой эффективности требует многократных изменений программы для поиска наилучшей схемы ее распараллеливания. Успешность такого поиска определяется простотой модификации программы. Кроме того, прикладному программисту трудно реализовать многие часто используемые приемы распараллеливания так же эффективно, как они реализуются системами программирования. Поэтому на реальных программах MPI-подход очень часто проигрывает по эффективности DVM-подходу.