Эффективность выполнения
DVM-программ (март 2002 года)Эффективность выполнения программ всегда являлась очень важным фактором, определявшим в значительной степени успех и распространение языков программирования, предназначенных для создания вычислительных программ.
Для
DVM-программ вопрос эффективности выполнения носит принципиальный характер, поскольку эти программы должны при запуске динамически (без перекомпиляции) настраиваться на количество и производительность выделенных для их выполнения процессоров. Для оценки эффективности выполнения DVM-программ были разработаны соответствующие версии тестов NAS (NPB 2.3).Эти тесты хорошо отражают характер вычислительных задач различных классов, за исключением задач с нерегулярными сетками. Ниже дается краткая характеристика тестов, и приводятся их размеры в строках для трех версий каждой программы – последовательной версии,
MPI-версии и DVM-версии.
Тест |
Характеристика теста |
SEQ |
MPI |
DVM |
MPI/ |
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 |
Быстрое преобразование Фурье, 3 D спектральный метод |
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 |
3361 |
5020 |
3630 |
1.49 |
1.08 |
S |
. | 17551 | 25151 | 18460 | 1.43 | 1.05 |
SEQ – поcледовательная программа
MPI – параллельная программа с
использованием
Ниже для каждого теста приведены отношения времени выполнения его
MPI-версии к времени выполнения DVM-версии на ЭВМ МВС-1000М.Замечание.
В таблице отсутствуют результаты сравнения для тестов IS и MG на 512-ти процессорах, поскольку не удалось пропустить MPI-версии этих тестов.Конечно, сравнение на тестах
NPB 2.3 не вполне правомерно – они написаны на очень высоком профессиональном уровне и являются объектом пристального внимания многих специалистов. При разработке реальных параллельных программ, как правило, достижение высокой эффективности требует многократных изменений программы для поиска наилучшей схемы ее распараллеливания. Успешность такого поиска определяется простотой модификации программы. Кроме того, прикладному программисту трудно реализовать многие часто используемые приемы распараллеливания так же эффективно, как они реализуются системами программирования. Поэтому на реальных программах MPI-подход очень часто проигрывает по эффективности DVM-подходу.< Данные об эффективности выполнения тестов NAS (июль 2001 года)>