Эффективность выполнения тестов NAS NBP 2.3
Результаты получены в Марте 2002 г.
Эффективность выполнения программ всегда являлась очень важным фактором, определявшим в значительной степени успех и распространение языков программирования, предназначенных для создания вычислительных программ.
Для DVM-программ вопрос эффективности выполнения носит принципиальный характер, поскольку эти программы должны при запуске динамически (без перекомпиляции) настраиваться на количество и производительность выделенных для их выполнения процессоров. Для оценки эффективности выполнения DVM-программ были разработаны соответствующие версии тестов NAS (NPB 2.3).
Эти тесты хорошо отражают характер вычислительных задач различных классов, за исключением задач с нерегулярными сетками. В Таблице 1 дается краткая характеристика тестов, и приводятся их размеры в строках для трех версий каждой программы – последовательной версии, MPI-версии и DVM-версии. А ниже для каждого теста приведены отношения времени выполнения его MPI-версии к времени выполнения DVM-версии на ЭВМ МВС-1000М.
Таблица 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М
Замечание. В таблице отсутствуют результаты сравнения для тестов IS и MG на 512-ти процессорах, поскольку не удалось пропустить MPI-версии этих тестов.
Конечно, сравнение на тестах NPB 2.3 не вполне правомерно – они написаны на очень высоком профессиональном уровне и являются объектом пристального внимания многих специалистов. При разработке реальных параллельных программ, как правило, достижение высокой эффективности требует многократных изменений программы для поиска наилучшей схемы ее распараллеливания. Успешность такого поиска определяется простотой модификации программы. Кроме того, прикладному программисту трудно реализовать многие часто используемые приемы распараллеливания так же эффективно, как они реализуются системами программирования. Поэтому на реальных программах MPI-подход очень часто проигрывает по эффективности DVM-подходу.