Временные затраты для выполнения операции умножения матриц
разного порядка
Время T, с
Размер
Компиляторы
N=1000 N=1500
Borland
C++ for Win32 Compiler 5.5
9,60 32,47
Microsoft
32-bit C/C++ Optimizing Compiler
3,76 13,86
Intel
C++ Compiler 5.0 (включены оптимизи-
рующие опции)
1,50 4,99
Библиотека PLAPACK (Intel
C++ Compiler
5.0)
2,66 8,87
Заключение
В работе приводится описание выполненных вычислительных экс-
периментов, по результатам которых оказалось возможным:
1) проанализировать возможности эффективной организации вы-
числений с использованием архитектурных особенностей современ-
ных процессоров производства корпорации Интел; при проведении
экспериментов были разработаны программы для контрольной задачи
матричного умножения, которые выполняются быстрее не менее чем
на 75% по сравнению с соответствующей процедурой библиотеки
PLAPACK 3.0 (для проведения расчетов библиотека PLAPACK ис-
пользует программную систему MKL разработки корпорации Интел);
2) осуществить выбор системного программного обеспечения для
организации параллельных вычислений в многопроцессорных (кла-
стерных) системах; выбранный вариант библиотеки MP-MPICH обес-
печивает более чем на 50% лучшую производительность по сравнению
50
с MPICH, являющейся одной из наиболее широко применяемых реали-
заций стандарта MPI;
3) сравнить эффективность возможных способов разработки па-
раллельных программ для многопроцессорных вычислительных сис-
тем с общей памятью; результаты выполненных экспериментов пока-
зывают, что использование технологии OpenMP позволяет повысить
эффективность параллельных вычислений по сравнению с применени-
ем средств передачи сообщений стандарта MPI (эффект ускорения
может достигать порядка 40%);
4) оценить возможности технологии комбинированной разработки
параллельных программ, при которой для организации взаимодействия
между узлами вычислительной системы используются средства MPI, а
для обеспечения эффективных вычислений в пределах отдельных мно-
гопроцессорных узлов с общей памятью применяется способ распа-
раллеливания на основе OpenMP;
5) изучить масштабируемость (изменение производительности)
вычислений при увеличении количества процессоров вычислительной
системы для широко применяемой в практических приложениях биб-
лиотеки параллельных методов PLAPACK 3.0; эксперименты показа-
ли, что увеличению числа процессоров соответствует практически ли-
нейный рост производительности вычислений (для задач матричного
умножения и решения систем линейных уравнений);
6) проанализировать эффективность вычислений при использова-
нии разных параллельных методов для решения одной и той же зада-
чи; на примере задачи матричного умножения проведено сравнение
методов Фокса и Кеннона и ленточного алгоритма; результаты экспе-
риментов показали, что при относительно малых размерах решаемой
задачи лучшую эффективность имеет ленточный алгоритм; для матриц
более высокого порядка более предпочтительными являются блочные
алгоритмы Фокса и Кеннона (различие эффективности может дости-
гать более 200%).
Литература
1. Андреев А.Н., Воеводин Вл.В. Методика измерения основных ха-
рактеристик программно-аппаратной среды. (www.dvo.ru/bbc/
benchmarks.html)
2. Воеводин В.В. Модели и методы в параллельных процессах. – М.:
Наука, 1986.
51
3. Воеводин В.В. Математические основы параллельных вычисле-
ний. – М.: МГУ, 1991.
4. Гергель В.П., Стронгин Р.Г. Параллельная глобальная оптимиза-
ция в многопроцессорных вычислительных системах. // Труды
Всероссийской научной конференции «Высокопроизводительные
вычисления и их приложения». М.: Изд-во МГУ, 2000. С. 87–92.
5. Гергель В.П., Стронгин Р.Г. Параллельные вычисления в задачах
глобально-оптимальных решений для многопроцессорных кла-
стерных систем // Труды Международной научной конференции
«Математическое моделирование». Самара, 2001. С. 89–92.
6. Гергель В.П., Стронгин Р.Г.. Высокопроизводительный вычисли-
тельный кластер Нижегородского университета. // Труды Между-
народной научной конференции» Телематика 2001». СПб.: Изд-во
СПбГИТМО, 2001. С. 160–161.
7. Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для
многопроцессорных вычислительных систем. Н.Новгород: Изд-во
ННГУ, 2001.
8.
Barker, M. (Ed.) Cluster Computing Whitepaper at
http://www.dcs.port.ac.uk/~mab/tfcc/WhitePaper/. 2000.
9. Bertsekas, D.P., Tsitsiklis, J.N.. Parallel and Distributed Computation.
Numerical Methods. – Prentice Hall, Englewood Cliffs, New Jersey,
1989.
10. Chandra, R., Menon, R., Dagum, L., Kohr, D., Maydan, D., McDonald,
J. Parallel Programming in OpenMP. Morgan Kaufmann Publishers,
2000.
11. Geist, G.A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, B., Sun-
deram, V. PVM: Parallel Virtual Machine – A User's Guide and Tuto-
rial for Network Parallel Computing. MIT Press, 1994.
12. Group, W., Lusk, E., Skjellum, A. Using MPI. Portable Parallel Pro-
gramming with the Message-Passing Interface. The MIT Press, 1994.
13. Kumar, V., Grama, A., Gupta, A., Karypis, G. Introducrion to Parallel
Computing. – The Benjamin/Cummings Publishing Company, Inc.,
1994.
14. Pfister, G. P. In Search of Clusters. Prentice Hall PTR, Upper Saddle
River, NJ (2
nd
edn., 1998).
15. Xu, Z., Hwang, K. Scalable Parallel Computing Technology, Architec-
ture, Programming. McGraw-Hill, Boston, 1998.
52
16. Zomaya, A.Y. Parallel and Distributed Computing Handbook. / Ed.
A.Y. Zomaya. – McGraw-Hill, 1996.
Достарыңызбен бөлісу: |