- •Предпроектный анализ
- •Введение
- •Анализ кластерных технологий в контексте лабораторного практикума
- •Типы кластеров
- •Кластеры высокой доступности
- •Кластеры распределения нагрузки
- •Вычислительные кластеры
- •Системы распределенных вычислений (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.
Разработка лабораторного комплекса «кластерные системы»
Разработка методического обеспечения для лабораторного комплекса
Лабораторный комплекс «Кластерные системы» состоит из 3-х лабораторных работ. В ходе каждой из них студенту предлагается ознакомиться с новым материалом, а затем приступить к выполнению работы.
Лабораторная работа №1 знакомит студента с распределёнными вычислениями на примере технологии MPI и её реализации MPICH2 для Windows. Студенту предлагается освоить следующие процессы:
связывание нескольких компьютеров в один аппаратный ресурс;
настройка службы менеджера процессов MPICH2;
адаптация среды разработки под компиляцию MPI-программ;
написание и компиляция программ MPI-программ;
запуск MPI-программ на нескольких узлах;
анализ результатов работы программы.
К лабораторной работе №1 разработано ПО, устраняющее один из недостатков пакета MPICH2 – отсутствие возможности балансировки нагрузки в случае консолидации разных по производительности узлов(см. раздел Разработка программного обеспечения для лабораторного комплекса). Этим ПО, представляющем собой пользовательский интерфейс для утилиты mpiexec.exe и рекомендуется пользоваться для запуска MPI-программ в условиях объединения различных по производительности вычислительных узлов.
В ходе выполнения лабораторной работы №2 студент осваивает:
работу с кластером МИИТ Т-4700 через протокол SSH;
работу с менеджером распределённых ресурсов Torque.
Как и в первой лабораторной работе, студенту предстоит освоить написание, компиляцию и запуск программ, но уже на linux-кластере и в пакетном режиме и проанализировать результаты выполнения.
Третья работа посвящена, показателям эффективности параллельных алгоритмов. В ней студент, используя данные, полученные в первых двух лабораторных работах, должен рассчитать следующие показатели: ускорение, эффективность и стоимость параллельных вычислений.
Каждая работа для наглядности сопровождается построением графиков.
Содержание лабораторных работ
Рабочее задание для лабораторной работы №1
Средствами MPICH2 организовать кластер из настольных компьютеров. Для этого установить и настроить MPICH2 на каждом компьютере, который будет использоваться в качестве вычислительного или управляющего узла кластера.
Написать и откомпилировать параллельную программу для запуска в интерактивном режиме на реализованном кластере. Для этого требуется установить среду разработки, например Visual C++, добавить в неё библиотеку MPICH2 и откомпилировать написанную программу.
Произвести многократный запуск программы с занесением выходных данных о времени выполнения данных в таблицу. Для запуска параллельных программ используется программа, входящая в пакет MPICH2 mpiexec.exe, которую нужно запустить из командной строки с передачей таких параметров как путь к параллельной программе, кол-во вычислительных узлов, их IP-адреса или имена, число процессов параллельной программы и т.д. Ввиду сложности такой команды предусмотрен пользовательский интерфейс для генерации такой команды на основании исходных данных, вводимых пользователем. На основании предложенного варианта необходимо выполнить параллельную программу несколько раз и занести данные в Таблицу 2.1.
Таблица 2.1. Лабораторная работа №1. Результаты выполнения MPI-программ.
Вычислительные узлы |
Сложность задачи (Число итераций ) |
Время выполнения |
|
Равномерно распределённая нагрузка |
Сбалансировано распределенная нагрузка |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Построить зависимости времени выполнения программы от сложности задачи для равномерно и сбалансировано распределенной нагрузки на основании данных таблицы.