- •Предпроектный анализ
- •Введение
- •Анализ кластерных технологий в контексте лабораторного практикума
- •Типы кластеров
- •Кластеры высокой доступности
- •Кластеры распределения нагрузки
- •Вычислительные кластеры
- •Системы распределенных вычислений (grid)
- •Показатели эффективности параллельного алгоритма
- •Средства разработки и поддержки параллельных приложений
- •Принципы работы среды mpich
- •Кластер миит т-4700
- •Обоснование целесообразности разработки
- •Требования к документации
- •Требования к техническому обеспечению
- •Требования к рабочим станциям
- •Требования к разрабатываемому по
- •Требования к показателям назначения
- •Анализ исходных данных
- •Разработка лабораторного комплекса «кластерные системы»
- •Разработка методического обеспечения для лабораторного комплекса
- •Содержание лабораторных работ
- •Рабочее задание для лабораторной работы №1
- •Рабочее задание для лабораторной работы №2
- •Рабочее задание для лабораторной работы №3
- •Разработка программного обеспечения для лабораторного комплекса
- •Настройка mpich2
- •Создание общего сетевого ресурса
- •Описание хода лабораторной работы №1 Создание mpi-программы в Visual Studio
- •Листинг программы mpi-программы
- •Запуск mpi-программ
- •Балансировка
- •Результаты выполнения mpi-программы
- •Построение графиков
- •Лабораторная работа №2
- •Подготовка рабочего места для выполнения лабораторной работы №2
- •Описание хода лабораторной работы №2 Подключение к кластеру миит т-4700
- •Компиляция программы
- •Листинг программы mpi-программы
- •Составление скрипта задания
- •Запуск заданий
- •Занесение данных в таблицу
- •Построение диаграмм
- •Системотехнический расчёт: расчёт показателей эффективности вычислений
- •Описание показателей эффективности параллельных вычислений
- •Описание хода лабораторной работы №3
- •Анализ человеко-машинного взаимодействия
- •Обзор теории тестовых заданий (Item response theory).
- •Процедура расчёта
- •Построение характеристических кривых для заданий
- •Обсуждение результатов и дальнейших действий
- •Экономическая часть
- •Постановка экономической задачи.
- •Расчет затрат, связанных с разработкой лабораторного комплекса.
- •Экономическая эффективность
- •Расчёт показателей эффективности
- •Расчет затрат по эксплуатации лабораторного комплекса.
- •Расчёт эффективности разработки.
- •Список источников
- •Приложения
- •Приложение 1. Листинг разработанного по
- •Листинг программы Интерфейс для mpich
- •Листинг тестирующей mpi-программы
- •Приложение 2. Инструкция по написанию и запуску заданий на кластере миит т-4700.
Запуск mpi-программ
Для запуска MPI-программ в комплект MPICH2 входит программа с графическим интерфейсом Wmpiexec, которая представляет собой оболочку вокруг соответствующей утилиты командной строки Mpiexec. Однако Wmpiexec не обладает функцией балансировки нагрузки между узлами с разной производительностью. Поэтому для запуска предлагается воспользоваться программой Интерфейс для MPICH(Рис. 2.13).
Рис. 2.13. Скриншот программы Интерфейс для MPICH.
Балансировка
Для балансировки нагрузки, необходимо:
Внести данные в таблицу(имя компьютера или IP-адрес).
Указать сетевой путь к тестирующей программе, и сетевой путь к выходному файлу.
Нажать кнопку «Балансировка».
В результате успешного завершения балансировки значения в столбце число процессов установятся на рекомендованные.
Для запуска программы, необходимо, чтобы таблица узлов была полностью заполнена. При этом пользователь может изменить рекомендованные программой значения. Также должен быть указан путь к mpiexec.exe и сетевой путь к MPI-программе. После введения данных нужно нажать «Запуск».
Результаты выполнения mpi-программы
В ходе дальнейшего выполнения лабораторной работы необходимо выполнить MPI-программу несколько раз и занести данные о времени выполнения программы в таблицу №1. В столбце Вычислительные узлы нужно перечислить узлы, на которых выполняется задание. Сложность задачи это параметр, который определяет объем вычислений для решения проблемы. В общем случае это может быть заданная точность вычислений, объём входных данных и т.д. В нашем случае это число итераций вычисления интеграла. После выполнения MPI-программы с заданными (согласно варианту) сложностью и конфигурацией кластера, необходимо внести время выполнения программы в секундах в таблицу. Если задача решается нескольких узлах то необходимо произвести запуск в 2-х режимах: с равномерно распределённой нагрузкой и сбалансировано распределённой.
В данном примере запуск MPI-программы производится на следующих конфигурациях:
2 узла с двухядерными процессорами(Рис 2.14);
1 узел с одним ядром(если назначить 1 узлу только один процесс, то он будет выполняться на одном ядре, т.е. последовательно);
1 узел с числом процессов, назначенных ему, растущим как 2x ,где x – номер опыта (т.е. 1, 2, 4, 8, 16, 32, 64), для демонстрации влияния накладных расходов распараллеливания задачи на общее время выполнения программы.
Естественно, о сбалансированном режиме в случае работы одного узла, говорить не имеет смысла, поэтому в соответствующей ячейке стоит прочерк.
Рисунок. 2.14. Схема кластера из 2-х узлов.
Таблица №2.5. Результаты выполнения MPI-программ на кластере на базе MPICH2.
Вычислительные узлы |
Сложность задачи |
Время выполнения |
|
Равномерно распределённая нагрузка |
Сбалансировано распределенная нагрузка |
||
Узел 1 Узел 2
|
1 |
0.137732 |
0.010345 |
1000 |
0.003373 |
0.003709 |
|
1000000 |
0.010750 |
0.006647 |
|
10000000 |
0.061743 |
0.150230 |
|
100000000 |
0.536879 |
0.428189 |
|
500000000 |
2.368173 |
1.638354 |
|
1000000000 |
4.806102 |
3.204190 |
|
2000000000 |
9.413170 |
6.402070 |
|
Узел 1 последовательное выполнение |
1 |
0.000311 |
- |
1000 |
0.000274 |
- |
|
1000000 |
0.008735 |
- |
|
10000000 |
0.088661 |
- |
|
100000000 |
0.885291 |
- |
|
500000000 |
4.463532 |
- |
|
1000000000 |
8.913408 |
- |
|
2000000000 |
17.874241 |
- |
|
Узел 1:1 процесс |
1000000 |
0.008860 |
- |
Узел 1:2 процесса |
1000000 |
0.004488 |
- |
Узел 1:4 процесса |
1000000 |
0.004782 |
- |
Узел 1:8 процессов |
1000000 |
0.005014 |
- |
Узел 1:16 процессов |
1000000 |
0.006190 |
- |
Узел 1:32 процесса |
1000000 |
0.007988 |
- |
Узел 1:64 процесса |
1000000 |
0.013651 |
- |