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

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

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

12.5. Определение графических форм наблюдения за процессом параллельных вычислений

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

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

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

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

  • "Текущее состояние массива" при выполнении алгоритма сортировки ;
  • "Результат умножения матриц" при выполнении матричного умножения;
  • "Результат обработки графа" при выполнении алгоритмов на графах.

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

В правом нижнем углу располагается ленточный индикатор выполнения эксперимента и его текущие временные характеристики.

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

12.5.1. Область "Выполнение эксперимента"

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

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

  1. режим " Выделение каналов " — выделяются красным цветом те линии коммутации, по которым происходит обмен;
  2. режим " Движение пакетов " — визуализация обмена при помощи движущихся между процессорами прямоугольников (конвертов). Если изучаются параллельные алгоритмы матричного умножения, то на конверте изображается номер блока, который пересылается.

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

Правила использования системы ПараЛаб

1. Изменение способа отображения пересылки данных. Для задания способа отображения коммуникации процессоров выполните команду Пересылка данных пункта меню Графика. В появившемся списке выделите название желаемого способа отображения.

Выбор способа отображения пересылки данных

Рис. 12.12. Выбор способа отображения пересылки данных

2. Выбор темпа демонстрации. Для выбора темпа демонстрации необходимо выполнить команду Темп демонстрации пункта меню Графика. В появившемся диалоговом окне (рис. 12.13) предоставляется возможность выбора величины задержки между итерациями алгоритма и скорости движения пакетов (времени цветового выделения канала) при отображении коммуникации процессоров.

Диалоговое окно выбора темпа демонстрации

Рис. 12.13. Диалоговое окно выбора темпа демонстрации

Нажмите ОК ( Enter ) для подтверждения выбора темпа демонстрации. Для возврата в основное меню системы ПараЛаб без сохранения изменений нажмите Отмена ( Escape ).

3. Настройка цветовой палитры. Для изменения цветов, которые используются в системе ПараЛаб для визуализации процесса решения задач, выполните команду Настройка цвета пункта меню Графика. В появившемся диалоговом окне (рис. 12.14) вы увидите прямоугольник с линейным перетеканием более светлого цвета в более темный и квадрат, залитый цветом выделения. При выполнении алгоритмов сортировки более светлый (левый) цвет используется для отображения минимальных элементов сортируемого массива, а более темный – для отображения максимальных элементов. При выполнении алгоритмов на графах более светлый цвет используется для изображения дуг графа, имеющих минимальный вес, а темный – для дуг максимального веса. Цвет выделения используется при выполнении алгоритмов умножения матриц для отображения в области "Выполнение эксперимента" блоков матриц, расположенных на процессорах, и в алгоритмах на графах для отображения минимального охватывающего дерева ( алгоритм Прима ) и дерева кратчайших путей ( алгоритм Дейкстры ).

Диалоговое окно настройки цветовой палитры

Рис. 12.14. Диалоговое окно настройки цветовой палитры

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

Для изменения цветовой палитры нажмите кнопку ОК ( Enter ) в диалоговом окне "Настройка цвета". Для возврата в основной режим работы системы ПараЛаб нажмите Отмена ( Escape ).

12.5.2. Область "Текущее состояние массива"

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

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

Изначально массив – случайный набор элементов. После выполнения сортировки массив (при достаточно большом объеме исходных данных) изображается в виде прямоугольного треугольника с плавным перетеканием цвета из голубого в темно-синий.

12.5.3. Область "Результат умножения матрицы на вектор"

Эта область находится в правой верхней части окна и отображает состояние вектора-результата в процессе выполнения параллельного алгоритма умножения матрицы на вектор.

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

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

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

12.5.4. Область "Результат умножения матриц"

Эта область находится в правой верхней части окна и отображает состояние матрицы-результата в процессе выполнения параллельного алгоритма матричного умножения.

Матрица C представляется разбитой на квадратные блоки. Каждый процессор многопроцессорной вычислительной системы отвечает за вычисление одного (алгоритмы Фокса и Кэннона) или нескольких (ленточный алгоритм) блоков результирующей матрицы С.

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

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

Область "Результат умножения матриц" при выполнении алгоритма Фокса

Рис. 12.15. Область "Результат умножения матриц" при выполнении алгоритма Фокса

12.5.5. Область "Результат решения системы уравнений"

Эта область расположена в правой верхней части окна вычислительного эксперимента и отображает текущее состояние матрицы линейной системы уравнений в ходе выполнения алгоритма Гаусса. Темно-синим цветом изображаются ненулевые элементы, а голубым – нулевые. После выполнения прямого хода алгоритма Гаусса ниже главной диагонали расположены только нулевые элементы. После выполнения обратного хода все ненулевые элементы расположены на главной диагонали.

12.5.6. Область "Результат обработки графа"

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

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

12.5.7. Выбор процессора

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

Вид окна демонстрации работы процессора

Рис. 12.16. Вид окна демонстрации работы процессора

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

Далее в появившемся окне "Демонстрация работы процессора" будет детально поясняться ход выполняемых на процессоре вычислений.

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