Программная система ПараЛаб для изучения и исследования методов параллельных вычислений
12.3. Формирование модели вычислительной системы
Для формирования модели вычислительной системы необходимо определить топологию сети, количество процессоров, производительность каждого процессора и характеристики коммуникационной среды ( латентность, пропускную способность и метод передачи данных). Следует отметить, что в рамках системы ПараЛаб вычислительная система полагается однородной, т.е. все процессоры обладают одинаковой производительностью, а все каналы связи имеют одинаковые характеристики.
12.3.1. Выбор топологии сети
Топология сети передачи данных определяется структурой линий коммутации между процессорами вычислительной системы. В системе ПараЛаб обеспечивается поддержка следующих типовых топологий:
- полный граф ( completely-connected graph или clique ) – система, в которой между любой парой процессоров существует прямая линия связи; как результат, данная топология обеспечивает минимальные затраты при передаче данных, однако является сложно реализуемой при большом количестве процессоров;
- линейка ( linear array или farm ) – система, в которой каждый процессор имеет линии связи только с двумя соседними (с предыдущим и последующим) процессорами; такая схема является, с одной стороны, просто реализуемой, с другой стороны, соответствует структуре передачи данных при решении многих вычислительных задач (например, при организации конвейерных вычислений);
- кольцо ( ring ) – данная топология получается из линейки процессоров соединением первого и последнего процессоров линейки;
- решетка ( mesh ) – система, в которой граф линий связи образует прямоугольную двумерную сетку; подобная топология может быть достаточно просто реализована и, кроме того, может эффективно использоваться при параллельном выполнении многих численных алгоритмов (например, при реализации методов блочного умножения матриц);
- гиперкуб ( hypercube ) – данная топология представляет частный случай структуры N -мерной решетки, когда по каждой размерности сетки имеется только два процессора (т.е. гиперкуб содержит 2N процессоров при размерности N ); данный вариант организации сети передачи данных достаточно широко распространен на практике и характеризуется следующим рядом отличительных признаков:
- два процессора имеют соединение, если двоичное представление их номеров имеет только одну различающуюся позицию;
- в N -мерном гиперкубе каждый процессор связан ровно с N соседями;
- N -мерный гиперкуб может быть разделен на два (N-1) -мерных гиперкуба (всего возможно N различных таких разбиений);
- кратчайший путь между двумя любыми процессорами имеет длину, совпадающую с количеством различающихся битовых значений в номерах процессоров (данная величина известна как расстояние Хэмминга).
Правила использования системы ПараЛаб
- Запуск системы. Для запуска системы ПараЛаб выделите пиктограмму системы и выполните двойной щелчок левой кнопкой мыши (или нажмите клавишу Enter ). Далее выполните команду Выполнить новый эксперимент (пункт меню Начало ) и нажмите в диалоговом окне Название эксперимента кнопку ОК (при желании до нажатия кнопки ОК может быть изменено название создаваемого окна для проведения экспериментов).
- Выбор топологии вычислительной системы. Для выбора топологии вычислительной системы следует выполнить команду Топология пункта меню Система. В появившемся диалоговом окне (рис. 12.2) щелкните левой клавишей мыши на пиктограмме нужной топологии или внизу в области соответствующей круглой кнопки выбора (радиокнопки). При нажатии кнопки Помощь можно получить справочную информацию о реализованных топологиях. Нажмите кнопку ОК для подтверждения выбора и кнопку Отмена для возврата в основное меню системы ПараЛаб.
12.3.2. Задание количества процессоров
Для выбранной топологии система ПараЛаб позволяет установить необходимое количество процессоров. Выполняемый при этом выбор конфигурации системы осуществляется в соответствии с типом используемой топологии. Так, например, число процессоров в двумерной решетке должно являться полным квадратом (размеры решетки по горизонтали и вертикали совпадают), а число процессоров в гиперкубе – степенью числа 2.
Под производительностью процессора в системе ПараЛаб понимается количество операций с плавающей запятой, которое процессор может выполнить за секунду (floating point operations per second – flops). Важно отметить, что при построении оценок времени выполнения эксперимента предполагается, что все машинные команды являются одинаковыми и соответствуют одной и той же операции с плавающей точкой.
Правила использования системы ПараЛаб
1. Задание количества процессоров. Для выбора числа процессоров необходимо выполнить команду Количество Процессоров пункта меню Система. В появившемся диалоговом окне (рис. 12.3) вам предоставляется несколько пиктограмм со схематическим изображением числа процессоров в активной топологии. Для выбора щелкните левой клавишей мыши на нужной пиктограмме. Пиктограмма, соответствующая текущему числу процессоров, выделена ярко-синим цветом.
Нажмите кнопку ОК для подтверждения выбора или кнопку Отмена для возврата в основное меню системы ПараЛаб без изменения числа процессоров.
2. Определение производительности процессора. Для задания производительности процессоров, составляющих многопроцессорную вычислительную систему, следует выполнить команду Производительность Процессора пункта меню Система. Далее в появившемся диалоговом окне (рис. 12.4) при помощи бегунка нужно задать величину производительности. Для подтверждения выбора нажмите кнопку ОК (или клавишу Enter ). Для возврата в основное меню системы ПараЛаб без изменений нажмите кнопку Отмена (или клавишу Escape ).