- •Государственное образовательное учреждение
- •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
- •Заключение
- •Список использованных источников
4.3 Выводы по главе 4
В данной главе описывается Руководство программиста и Руководство пользователя.
В Руководстве программиста рассмотрена причины и особенности применения языка С/С++ в параллельном и распределенном программировании, а также описана используемая при программировании среда разработки Microsoft Visual C++. Представлено описание выбранного программного пакета WMPI 1.3, используемого для обеспечения параллельной работы кластера. Дан состав пакета и его преимущества по сравнению с другими реализациями. Так как в реализации WMPI используется стандарт MPI, то в данном разделе представлены основные функции, которые предоставляет программисту стандарт MPI.
В части Руководство пользователя описывается процесс создания и настройки проекта с параллельным приложением для создания исполняемого файла параллельной программы. Также рассмотрены этапы запуска программы, возможные проблемы с запуском и их исправление.
Заключение
В работе были рассмотрены параллельная обработка данных (её модели, схемы, классификации) и основные составляющие кластерной системы. Рассмотрены основные подходы к достижению параллельности, модели параллелизма и типы алгоритмов считывания и записи данных при использовании модели, описана классификация схем функционирования параллельных компьютеров. Также были рассмотрены основные составляющие кластерной системы: вычислительные узлы, коммуникационное оборудование, программное обеспечение.
Были рассмотрены вопросы целесообразности и эффективности кластерной системы. Представлены формулы (закон Амдала) позволяющие на предварительном этапе выяснить эффективность параллельного алгоритма по сравнению с последовательным. Рассмотрено взаимодействие параллельных ветвей задачи в виде структуры программы с двухточечным обменом данными между процессами. Рассмотрены типичные алгоритмы, используемые в параллельном программировании. Такие как:
Вычисление частных сумм последовательности числовых значений
Умножение матрицы на вектор
Матричное умножение
Сортировка
Интегрирование
Представлены этапы организации кластерной системы на основе существующего компьютерного класса, последовательность действий для его установки и запуска программ на нем. Представлено описание выбранного программного пакета WMPI 1.3, используемого для обеспечения параллельной работы кластера. Дан состав пакета и его преимущества по сравнению с другими реализациями, представлены основные функции, которые предоставляет программисту стандарт MPI. Описывается процесс создания и настройки проекта с параллельным приложением для создания исполняемого файла параллельной программы. Также рассмотрены этапы запуска программы, возможные проблемы с запуском и способы их исправления.
Были показаны результаты тестирования параллельных приложений на созданном кластере. Анализ результатов позволяет сделать вывод, что созданный кластер способен более эффективно решать параллельные задачи по сравнению с последовательными. Если в алгоритме задачи возможна параллельная обработка данных, то в зависимости от доли параллельных операций в алгоритме и количества узлов кластера можно добиться ускорения в несколько раз.
Основные результаты, полученные в ходе выполнения работы:
Создана вычислительная система кластерного типа.
Рассмотрены типы архитектур кластерных систем.
Показаны этапы создания кластерной вычислительной системы и запуска на нем приложений.
Представлены типичные алгоритмы, используемые в задачах параллельной обработки, и на их основе созданы приложения, которые были протестированы на кластерной системе.
Дальнейшие пути развития работы заключаются в:
разработке более производительного кластера и его оптимизации;
реализации на кластерной системе ресурсоемких задач и их оптимизация;
построение имитационной модели кластерной системы;
исследование система разработки параллельных программ DVM.