Опубликован: 28.07.2007 | Доступ: свободный | Студентов: 2008 / 493 | Оценка: 4.53 / 4.26 | Длительность: 25:10:00
ISBN: 978-5-9556-0096-3
Специальности: Программист
Лекция 12:

Программная система ПараЛаб для изучения и исследования методов параллельных вычислений

< Лекция 11 || Лекция 12: 123456789101112
Аннотация: В лекции описывается программная система Параллельная Лаборатория (сокращенное наименование – ПараЛаб), которая предназначена для учебного применения студентами и преподавателями вузов в целях исследования и изучения параллельных алгоритмов решения сложных вычислительных задач в рамках лабораторного практикума по различным учебным курсам в области параллельного программирования

12.1. Введение

Программная система Параллельная Лаборатория (сокращенное наименование – ПараЛаб) обеспечивает возможность проведения вычислительных экспериментов с целью изучения и исследования параллельных алгоритмов решения сложных вычислительных задач. Система может быть использована для организации лабораторного практикума по различным учебным курсам в области параллельного программирования, в рамках которого обеспечивается возможность:

  • моделирования многопроцессорных вычислительных систем с различной топологией сети передачи данных;
  • получения визуального представления о вычислительных процессах и операциях передачи данных, происходящих при параллельном решении разных вычислительных задач ;
  • построения оценок эффективности изучаемых методов параллельных вычислений.

Проведение такого практикума может быть организовано на "обычных" однопроцессорных компьютерах, работающих под управлением операционных систем MS Windows 2000 или MS Windows XP (режим многозадачной имитации параллельных вычислений). Кроме режима имитации, в системе ПараЛаб может быть обеспечен удаленный доступ к многопроцессорной вычислительной системе для выполнения экспериментов в режиме "настоящих" параллельных вычислений для сопоставления результатов имитации и реальных расчетов.

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

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

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

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

12.2. Общая характеристика системы

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

При проведении имитационных экспериментов ПараЛаб предоставляет для пользователя возможность:

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

Одной из важнейших характеристик системы является возможность выбора способов проведения экспериментов. Эксперимент может быть выполнен в режиме имитации, т.е. проведен на одном процессоре без использования каких-либо специальных программных средств типа библиотек передачи сообщений. Кроме того, в рамках системы ПараЛаб обеспечивается возможность проведения реального вычислительного эксперимента.

При построении зависимостей временных характеристик от параметров задачи и вычислительной системы для экспериментов, выполненных в режиме имитации, используются теоретические оценки в соответствии с имеющимися моделями параллельных вычислений (см., например, [ [ 2 ] , [ 94 ] ]). Для реальных экспериментов на многопроцессорных вычислительных системах зависимости строятся по набору результатов проведенных вычислительных экспериментов.

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

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

Демонстрационный пример

Для выполнения примера, имеющегося в комплекте поставки системы:

  • выберите пункт меню Начало и выполните команду Загрузить ;
  • выберите строку first.prl в списке имен файлов и нажмите кнопку Открыть ;
  • выберите пункт меню Выполнение и выполните команду В активном окне.

В результате этих действий на экране дисплея будет представлено окно для выполнения вычислительного эксперимента (рис. 12.1). В этом окне демонстрируется решение задачи умножения матриц при помощи ленточного алгоритма.

В области "Выполнение эксперимента" представлены процессоры вычислительной системы и структура линий коммутации. Рядом с каждым процессором изображены те данные, которые он обрабатывает в каждый момент выполнения алгоритма (для ленточного алгоритма умножения матриц это несколько последовательных строк матрицы А и несколько последовательных столбцов матрицы В ). При помощи перемещающихся прямоугольников (пакетов) желтого цвета изображается обмен данными, который осуществляют процессоры.

В области "Результат умножения матриц" изображается текущее состояние матрицы – результата умножения. Поскольку результатом перемножения полос исходных матриц А и В является блок матрицы С, получаемая результирующая матрица имеет блочную структуру. Темно-синим цветом обозначены уже вычисленные блоки, голубым цветом выделены блоки, еще подлежащие определению.

В списке "Выполняемая задача" представлены параметры решаемой задачи: название, метод решения, объем исходных данных. В списке " Вычислительная система " приводятся атрибуты выбранной вычислительной системы: топология, количество и производительность процессоров, характеристики сети.

Окно вычислительного эксперимента

Рис. 12.1. Окно вычислительного эксперимента

Ленточный индикатор "Эксперимент" отображает текущую стадию выполнения алгоритма. В строках "Общие затраты времени" и "Затраты на передачу данных" представлены временные характеристики алгоритма.

После выполнения эксперимента (восстанавливается главное меню системы) можно завершить работу системы. Для этого выберите пункт меню Архив и выполните команду Завершить.

< Лекция 11 || Лекция 12: 123456789101112