Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВС13 / ЛабРаб / Диплом.doc
Скачиваний:
34
Добавлен:
17.03.2015
Размер:
1.48 Mб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение

высшего профессионального образования

«Сибирский государственный аэрокосмический университет

имени академика М. Ф. Решетнева»

(СибГАУ)

ФАКУЛЬТЕТ ИСУ

НАПРАВЛЕНИЯ552800(230100)

КАФЕДРА ИВТ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к выпускной работе

Организация высокопроизводительной вычислительной системы кластерного типа для решения параллельных и распределенных задач программирования

Дипломник:

( _______________________ )

Руководитель:

( _______________________ )

Допускается к защите

Зав. кафедрой ( А.Н. Ловчиков )

«_________» ______________________200 г.

Красноярск 2006 г.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 3

1 ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА ДАННЫХ В ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ КЛАСТЕРНОГО ТИПА 5

1.1 Параллельная обработка данных 5

1.1.1 Основные определения 5

1.1.2 Два основных подхода к достижению параллельности 6

1.2 Модели и схемы параллелизма 8

1.2.1 Простейшая модель параллельного программирования (PRAM) 8

1.2.2 Простейшая классификация схем параллелизма 9

1.3 Существующие параллельные вычислительные средства класса MIMD 10

1.4 Архитектура кластерных систем 11

1.5 Сетевое оборудование 13

1.5.1 Коммуникационная технология SCI 14

1.5.2 Коммуникационная технология Myrinet 15

1.6 Системы программирования для кластеров 16

1.6.1 Стандарт OpenMP 16

1.6.2 Стандарт MPI 16

1.6.3 Реализации MPI 17

1.7 Выводы по главе 1 18

2 ЭФФЕКТИВНОСТЬ КЛАСТЕРА И АЛГОРИТМЫ, ИСПОЛЬЗУЕМЫЕ В ПАРАЛЛЕЛЬНЫХ И РАСПРЕДЕЛЕННЫХ ПРИЛОЖЕНИЯХ 20

2.1 Эффективность 20

2.2 Структура программы с двухточечным обменом данными между процессами 22

2.3 Алгоритмы 23

2.3.1 Вычисление частных сумм последовательности числовых значений 23

2.3.2 Умножение матрицы на вектор 24

2.3.3 Матричное умножение 25

2.3.4 Сортировка 28

2.3.5 Интегрирование 30

2.4 Выводы по главе 2 31

3 ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ СИСТЕМЫ КЛАСТЕРНОГО ТИПА 32

3.1 Создание кластера 32

3.2 Тестирование кластерной системы 33

3.3 Выводы по главе 3 36

4 РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ КЛАСТЕРНОЙ СИСТЕМЫ 37

4.1 Руководство программиста 37

4.1.1 Среда разработки 37

4.1.2 Программный пакет WMPI 1.3 38

4.1.3 Состав пакета WMPI 1.3 38

4.1.4 Основные функции MPI 39

4.2 Руководство пользователя 41

4.2.1 Построение программы 41

4.2.2 Запуск 42

4.3 Выводы по главе 4 44

ЗАКЛЮЧЕНИЕ 45

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 47

ВВЕДЕНИЕ

Проблема временных затрат для решения какой-либо задачи была всегда. Особенно актуально она в системах реального времени, где от времени принятия решения и скорости выполнения задачи зависит производственный процесс, дорогостоящее оборудование или даже человеческие жизни. Решения или улучшение состояния этой проблемы является повышение производительности вычислительных систем, оптимизация алгоритмов и программ. С момента появления первых компьютеров идет развитие в направлении повышения выполненных операций за единицу времени. Для этого за долгие годы развития программных и аппаратных средств были разработаны множество решений, и одними из самых эффективных является параллельная обработка, как на программном, так и на аппаратном уровне.

Стремительный рост уровня Информационных Технологий позволил организовать доступную вычислительную систему кластерного типа, которая может сочетать в себе эти возможности. Она представляет собой массив из отдельных машин (рабочих станций или персональных компьютеров), соединенных каналом связи, предназначенный для решения задач (представленных в виде параллельных приложений) требующих больших вычислительных мощностей.

Распараллеливание программ, в частности, может быть применено при решении задач моделирования, управления объектами в режиме реального времени, при разработке сложных интерактивных систем, таких, как системы автоматизированного проектирования, где время ожидания ответа сказывается на эффективности работы пользователя. Существует так же множество других области применения параллельных вычислений. Это автомобилестроение, авиационная промышленность, атомная промышленность, космические исследования, разведка нефти и газа, фармакология, прогноз погоды, сейсмическая разведка, химическая промышленность, системы принятия решений.

Сегодня, разработка и решения таких задач стала возможна с помощью кластерных систем без приобретения дорогих специальных высокопроизводительных суперкомпьютеров. Кластер можно достаточно быстро установить и настроить, даже на базе существующего компьютерного класса.

Целью работы является организация высокопроизводительной вычислительной системы кластерного типа и разработка параллельных и распределенных приложений для него. Полученная кластерная система и созданные программы могут быть применены в дальнейшем при создании и решении более сложных задач для научных и исследовательских работ, при изучении параллельного программирования.

Для осуществления поставленной цели решались следующие задачи:

  • изучение предметной области: параллельная обработка, многопроцессорные вычислительные системы, параллельное программирование;

  • выбор и настройка аппаратной составляющей кластера;

  • выбор и установка библиотек сетевого взаимодействия узлов кластера;

  • изучение особенности параллельных и распределенных способов программирования для кластерных систем;

  • создание программных реализаций алгоритмов;

  • настройка среды разработки и подготовка к запуску приложений;

  • тестирование приложений на кластерной системе.

При решении указанных задач использовались подходы теории аналитической геометрии, программирования на языках высшего уровня, организации ЭВМ, сетей ЭВМ, технологии программирования, мировых информационных ресурсов.

Поставленные цель и задачи обусловили основную структуру работы и определили основные этапы ее выполнения.

Содержание работы изложено на 47страницах и состоит из 4 глав. В конце работы приведен список литературы.

В первой главе бакалаврской работы описывается параллельная обработка данных (её модели, схемы, классификации) и представлены составляющие кластерной системы и их типы.

Во второй части работы описываются типичные алгоритмы, используемые в параллельной и распределенной обработке данных, и закон Амдала, по определению эффективности параллельных алгоритмов.

В третьей части – рассмотрен процесс организации кластерной системы, тестирование кластерной системы созданными параллельными приложениями.

В четверной главе описывается руководство по эксплуатации кластерной системы, включающее в себя руководство программиста и руководство пользователя.

Материалы данной работы обсуждались на Всероссийской научно-практической конференции творческой молодежи "Актуальные проблемы авиации и космонавтики" по секции "Информатика и автоматизированные системы" посвященной Дню космонавтики и 45-летию первого полета человека в космос.