- •Государственное образовательное учреждение
- •1 Параллельная обработка данных в вычислительных системах кластерного типа
- •1.1 Параллельная обработка данных
- •1.1.1 Основные определения
- •1.1.2 Два основных подхода к достижению параллельности
- •1.2 Модели и схемы параллелизма
- •1.2.1 Простейшая модель параллельного программирования (pram)
- •1.2.2 Простейшая классификация схем параллелизма
- •1.3 Существующие параллельные вычислительные средства класса mimd
- •1.4 Архитектура кластерных систем
- •1.5 Сетевое оборудование
- •1.5.1 Коммуникационная технология sci
- •1.5.2 Коммуникационная технология Myrinet
- •1.6 Системы программирования для кластеров
- •1.6.1 СтандартOpenMp
- •1.6.2 Стандарт mpi
- •1.6.3 Реализации mpi
- •1.7 Выводы по главе 1
- •2 Эффективность кластера и алгоритмы, используемые в параллельных и распределенных приложениях
- •2.1 Эффективность
- •2.2 Структура программы с двухточечным обменом данными между процессами
- •2.3 Алгоритмы
- •2.3.1 Вычисление частных сумм последовательности числовых значений
- •2.3.2 Умножение матрицы на вектор
- •2.3.3 Матричное умножение
- •2.3.4 Сортировка
- •2.3.5 Интегрирование
- •2.4 Выводы по главе 2
- •3 Практическая реализация системы кластерного типа
- •3.1 Создание кластера
- •3.2 Тестирование кластерной системы
- •3.3Выводы по главе 3
- •4 Руководство по эксплуатации кластерной системы
- •4.1 Руководство программиста
- •4.1.1 Среда разработки
- •4.1.2 Программный пакет wmpi 1.3
- •4.1.3 Состав пакетаWmpi1.3
- •4.1.4 Основные функцииMpi
- •4.2 Руководство пользователя
- •4.2.1 Построение программы
- •4.2.2 Запуск
- •4.3 Выводы по главе 4
- •Заключение
- •Список использованных источников
3.2 Тестирование кластерной системы
Осуществим тестирование созданных приложений на основе параллельных алгоритмов рассмотренных выше в главе Алгоритмы.
Рассмотрим результаты тестирований приложений представленные в виде графиков зависимостей.
Вычисление частных сумм последовательности числовых значений (см. рис. 3.3), где ось Х – количество элементов подлежащих суммированию, У – получаемое ускорение, ломаные линии определенного цвета – результат, полученный при использовании определенного количества процессоров для вычисления.
Рис. 3.3 Зависимость ускорения вычислений от количества элементов и числа
процессоров
Умножение матрицы на вектор (см. рис. 3.4), где ось Х – размер стороны квадратной матрицы, У – получаемое ускорение, ломаные линии определенного цвета – результат, полученный при использовании определенного количества процессоров для вычисления.
Рис. 3.4 Зависимость ускорения вычислений от размера матрицы, вектора и числа
процессоров
Матричное умножение (см. рис. 3.5), где ось Х – размер стороны квадратной матрицы, У – получаемое ускорение, ломаные линии определенного цвета – результат, полученный при использовании определенного количества процессоров для вычисления.
Рис. 3.5 Зависимость ускорения перемножения матриц от их размера и числа
процессоров
Сортировка (см. рис. 3.6), где ось Х – количество элементов подлежащих сортировке, У – получаемое ускорение, кривые линии с обозначениями – результат, полученный при использовании определенного количества процессоров для вычисления.
Рис. 3.6 Зависимость ускорения процесса сортировки от количества элементов и числа
процессоров
Интегрирование (см. рис. 3.7), где ось Х – количество интервалов интегрирования, У – получаемое ускорение, ломаные линии определенного цвета – результат, полученный при использовании определенного количества процессоров для вычисления.
Рис. 3.7 Зависимость ускорения вычислений от количества интервалов и числа
процессоров
Тестирование различных программ на созданном кластере дало следующие результаты:
Ускорение вычислений при увеличении числа процессоров;
Ускорение вычислений при использовании больших объемов данных.
Результаты вычислений наглядно показывают, что применение кластерной системы позволяет получить существенное ускорение при решении данной задачи. Также возможно получить лучшие результаты при работе с большими объемами данных. Эта особенность связана с техническими характеристиками используемой коммуникационной технологии Fast Ethernet, а именно с латентность (задержкой) при передаче данных. Чем больше данные мы посылаем на обработку, тем больше уходит время на полезную обработку, а не на передачу, так как задержка постоянна при любом объеме передаваемых данных.
3.3Выводы по главе 3
Рассмотрен процесс создания кластера на основе существующего компьютерного класса. Последовательность действий для его установки и запуска программ на нем. Были показаны результаты тестирования параллельных приложений на созданном кластере. Анализ результатов позволяет сделать вывод, что созданный кластер способен более эффективно решать параллельные задачи по сравнению с последовательными. Если в алгоритме задачи возможна параллельная обработка данных, то в зависимости от доли параллельных операций в алгоритме и количества узлов кластера можно добиться ускорения в несколько раз.