(124.0 КБ)

advertisement
Смирнов В. В. (ВТ-51)
Научный руководитель – к.т.н., доцент Петрова С.И.
ИССЛЕДОВАНИЕ ПРОИЗВОДИТЕЛЬНОСТИ
ВЫЧИСЛИТЕЛЬНОГО КЛАСТЕРА
НА ЧЕТРЕХЪЯДЕРНЫХ ПРОЦЕССОРАХ
Введение
В настоящий момент использование многопроцессорных систем является
важнейшим этапом развития компьютерной техники. И одной из заметных частей
таких многопроцессорных систем являются вычислительные кластерные системы,
которые предназначены для выполнения численных расчетов, имеющих высокие
требования к ресурсам ЭВМ.
Проблема эксплуатации кластерных систем и проведения параллельных
вычислений является очень актуальной. Ежегодно ей посвящают одно из
направлений всероссийской суперкомпьютерной конференции «Научный сервис в
сети Интернет: масштабируемость, параллельность, эффективность», проходящей
в городе Новороссийске.
Технические характеристики кластера
Вычислительный кластер ТОГУ состоит из 6 узлов. На каждом узле
расположено по четыре четырехъядерных процессора Intel Xeon E7340, 32 Гб
(PC2 – 5300) оперативной памяти. Узлы кластера соединены между собой при
помощи сетевого интерфейса Infiniband. На всех узлах кластера установлена
операционная система Novell SuSe Linux Enterprice Server 10. Из средств
разработки имеются Intel C++ Compiler, Intel Fortran Compiler, Intel MPI Library,
Intel Trace Analyzer and Collector, Intel Math Kernel Library для кластеров, Intel MPI
Benchmarks, Intel Debugger, библиотеки Intel Cluster OpenMP for Intel Compilers for
Linux.
Для организации параллельных вычислений и взаимодействия между собой
процессов на вычислительном кластере ТОГУ могут быть использованы
библиотеки MPI, которые являются наиболее распространённым стандартом
интерфейса обмена данными в параллельном программировании. Основным
средством коммуникации между процессами в MPI является передача сообщений
друг другу.
Описание решаемой задачи
Существуют различные методы оценки производительности вычислительных
кластерных систем. Один из наиболее известных методов – оценка при помощи
тестов Linpack. Программа тестирует производительность системы при решении
различных задач линейной алгебры.
Для тестирования производительности вычислительного кластера ТОГУ была
разработана программа, реализующая перемножение матриц размерностью 10000
* 10000 типа double. Теоретически (без учета затрат времени на обмен данными),
задача умножения матриц распараллеливается очень хорошо (выходные данные
вычисляются по единому алгоритму на основе исходных и в процессе вычисления
1
не изменяют последних). Однако при практическом распараллеливании
(разработке программы) необходимо учитывать как задержки времени при
обменах, так и распределение по вычислительным узлам вычислений и блоков
данных [5].
Ниже предлагается вариант программы решения этой задачи, который в
достаточно полной мере учитывает специфику алгоритма перемножения матриц.
Поскольку для вычисления каждого матричного элемента матрицы С необходимо
выполнить скалярное произведение строки матрицы А на столбец матрицы В, то
матрица А разложена на одномерную сетку процессоров по строкам, а матрица В
– по столбцам. Матрица С разложена по строкам, как матрица А (рис. 1).
A
B
C
P0
P0
P1
P2
P1
X
P0
P1
P2
P3
=
P3
P2
P3
Рис. 1. Распределение матриц на одномерную сетку процессоров
При таком распределении строка матрицы А, необходимая для вычисления
некоторого матричного элемента, гарантированно находится в данном
процессоре, а матрица B передается по мере необходимости. В процессе
выполнения программы матрица B будет полностью передана каждому процессу,
т.к. для нахождения каждой строки результирующей матрицы С необходимы все
столбцы матрицы B[6]. Поэтому в программе каждому процессу будет полностью
передаваться матрица В.
Измерение производительности вычислительного кластера
На рис. 2 представлен график, иллюстрирующий зависимость времени
перемножения матриц от количества процессов, на которые распараллелена
задача. Нагрузка между узлами распределяется последовательно, вначале
полностью загружается первый узел (все 16 ядер), потом загружается следующий.
Если количество процессов превышает суммарное количество ядер на всех узлах,
то снова загружается первый узел.
Табл. 1
Название таблицы
2
Заключение
В ходе исследований было рассмотрено решение задачи перемножения
матриц. Использование в каждом процессоре свыше одного ядра не дало
сопоставимого увеличения производительности. Это говорит о том, что
существует узкое место в подсистеме памяти процессора.
Поэтому, в некоторых случаях, использование большого числа ядер может
являться нецелесообразным. Так, например, при покупке программного
обеспечения, стоимость которого исчисляется в зависимости от задействованных
процессоров, наиболее оптимальное отношение цена/производительность будет
получено при покупке 4 лицензий на узел. Дальнейшее увеличение количества
задействованных
процессоров
не
даст
сопоставимого
увеличения
производительности кластера.
Список использованных источников (эта лит-ра не по ГОСТу, просто пример)
1. Корж А. А. Исследование производительности многоядерных процессоров
на тестах с нерегулярным доступом к памяти // Научный сервис в сети Интернет:
масштабируемость, параллельность, эффективность: Труды Всероссийской
суперкомпьютерной конференции (21-26 сентября 2009 г., г. Новороссийск).- М.:
Изд-во МГУ, 2009. – С.168-172
2. Кудрявцев М. В., Мошкин Д. В., Полунин М.А., Эйсымонт Л.К. Оценочное
тестирование кластеров на базе процессоров AMD BARCELONA и SHANGHAI с
сетями Infiniband DDR и QDR // Вычислительные методы и программирование /
изд-во НИВЦ МГУ. – 2009. С.69-77.
3. Мальковский С. И., Пересветов В.В. Оценка производительности
вычислительного кластера на четырехядерных процессорах // Информационные и
коммуникационные технологии в образовании и научной деятельности:
материалы межрегиональной научно-практической конференции, Хабаровск, 2123 сентября 2009г. / под научн. ред. А.И. Мазура. - Хабаровск: изд-во ТОГУ.2009. С.261-268.
4. Сидоров А. А. Исследование производительности многоядерных
процессоров на тестах с нерегулярным доступом к памяти // Научный сервис в
сети Интернет: масштабируемость, параллельность, эффективность: Труды
Всероссийской суперкомпьютерной конференции (21-26 сентября 2009 г., г.
Новороссийск).- М.: Изд-во МГУ, 2009. – С.168-172
5. Петров М. В., Мошкин Д. В., Полунин М.А., Эйсымонт Л.К. Оценочное
тестирование кластеров на базе процессоров AMD BARCELONA и SHANGHAI с
сетями Infiniband DDR и QDR // Вычислительные методы и программирование /
изд-во НИВЦ МГУ. – 2009. С.69-77.
6. Иванов С. И., Пересветов В.В. Оценка производительности
вычислительного кластера на четырехядерных процессорах // Информационные и
коммуникационные технологии в образовании и научной деятельности:
материалы межрегиональной научно-практической конференции, Хабаровск, 2123 сентября 2009г. / под научн. ред. А.И. Мазура.- Хабаровск: изд-во ТОГУ.2009. С.261-268
3
Download