Теория и практика параллельных вычислений

       

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


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

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

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


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

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

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

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

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

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

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


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

В области "Выполнение эксперимента" представлены процессоры вычислительной системы и структура линий коммутации.


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

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

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

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

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

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


Содержание раздела