Тестовые прогоны на модели ОА-архитектуры dataflow-ВС задач бенчмарка GREP - алгоритма сопоставления файловых строк шаблонам команды - Преимущества применения dataflow-парадигмы в вычислительных системах

Ниже представлены результаты моделирования теста Grep на ОА-архитектуре. Моделирование проводилось при следующих параметрах анализируемого текста:

    1) Число знаков - 18000; 2) Число строк - 1000.
зависимость времени выполнения (t) от числа исполнительных (rd) и виртуальных устройств (fu)

Рисунок 34. Зависимость времени выполнения (T) от числа исполнительных (Rd) и виртуальных устройств (Fu).

зависимость коэффициента параллелизма p от числа исполнительных (rd) и виртуальных устройств (fu)

Рисунок 35. Зависимость коэффициента параллелизма P от числа исполнительных (Rd) и виртуальных устройств (Fu).

зависимость дисперсии (d) среднего коэффициента параллелизма от числа исполнительных (rd) и виртуальных устройств (fu)

Рисунок 36. Зависимость дисперсии (D) среднего коэффициента параллелизма от числа исполнительных (Rd) и виртуальных устройств (Fu).

зависимость коэффициента использования оборудования (a) от числа исполнительных (rd) и виртуальных устройств (fu)

Рисунок 37. Зависимость коэффициента использования оборудования (A) от числа исполнительных (Rd) и виртуальных устройств (Fu).

4.4 Анализ результатов тестовых прогонов на модели ОА-архитектуры dataflow-ВС

Запуск тестовых приложений на модели суперкомпьютера потребовал разработки индивидуальных способов реализации dataflow-архитектуры вычислительного процесса, настроенной на решение той или иной вычислительной задачи. В результате проведенных исследований было показано, что для максимально полного использования преимуществ dataflow-организации вычислений в параллельной суперкомпьютерной системе необходимо очень тщательно подходить к выбору "номенклатуры" (типов), "зернистости" (количества и размеров) и "качества" (функционального наполнения) ФУ архитектуры ВС. Набор ФУ ОА-архитектуры суперкомпьютерной системы может достаточно существенно различаться от задачи к задаче, что выдвигает на первый план задачу разработки эффективных методов адаптации архитектуры ВС к решению задач различной природы и топологии.

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

В задачах, для решения которых используются сеточные методы, анализируемая область разбивается на отдельные элементы, информационно связанные со своими "соседями". В этом случае для реализации вычислительной задачи на dataflow-ВС ОА-архитектуры каждый узел сетки оформляется в виде отдельного ВФУ, которое осуществляет вычисления и обменивается данными с помощью милликоманд со своими "соседями". По проведенным тестам, можно сделать вывод, что коэффициент использования аппаратуры зависит от числа "волн" вычислений. Иными словами, чем меньше устройств участвует в вычислении одной и той же "волны", тем ниже коэффициент использования аппаратуры.

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

Наиболее высокие результаты тестирования видны в задаче поиска по тексту большого объема. Это объясняется тем, что число "мини-задач", т. е. (число поиска вхождений в одной заданной строке) намного превышает число функциональных устройств. Алгоритм данной задачи построен таким образом, что весь объем текстовых данных (все строки) в самом начале работы программы распределяется между функциональными устройствами, таким образом, у каждого устройства сразу создается очередь задач на выполнение. При таком распределении время "простоя" некоторого устройства без задачи минимально, что является причиной высокой производительности ВС в данной задаче.

Для обеспечения максимально эффективной работы dataflow-ВС (с точки зрения использования доступных вычислительных ресурсов и достижения высокой степени параллелизма вычислений) требуется ее адаптация к решению конкретной вычислительной задачи, что подразумевает (по возможности автоматическую) подстройку ВП, представленного множеством ВФУ, под возможности имеющейся вычислительной среды. Критериями качества адаптации суперкомпьютерной ОА-системы к выполнению той или иной прикладной задачи может служить максимальный коэффициент использования оборудования.

Методы адаптации ОА-системы делятся на два класса:

    - ручные, когда настройка конфигурации ВС и программы осуществляется программистом и инженером перед запуском ВП, включая выбор нужной топологии ВС, распределение сегментов расчетной сетки по вычислительным узлам, подбор оборудования с наиболее оптимальными характеристиками (число процессорных ядер в вычислительном узле, скорость передачи данных коммуникационным оборудованием и т. п.); - автоматические, когда автоматическая корректировка вычислений (набор, количество и качество ВФУ) осуществляется непосредственно во время ВП.

При запуске и тестировании имитационной модели dataflow-ВС ОА-архитектуры варьировались следующие параметры ВС:

    - количество вычислительных узлов в ВС; - способ разбиения вычислительной сетки на сегменты - топология вычислительной сети, объединяющей вычислительные узлы; - скорость передачи данных по линиям связи; - количество ИУ на вычислительном узле; - количество ФУ на вычислительном узле.

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

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

    1. Среднее количество виртуальных функциональных устройств, задействованных в вычислениях, должно быть близко к числу ИУ, т. е. ядер системы. При такой конфигурации ВС тратит минимальное время на планирование вычислений, и ей требуется минимальный объем ОП. В том случае, когда NФУ < nиу, коэффициент использования аппаратуры будет равен kиа nфу; и при nфу > neu коэффициент использования kиа близок к единице, однако с дальнейшим увеличением числа функциональных устройств убывает. при nфу = nиу коэффициент использования оборудования kиа достигает своего максимума и примерно равен единице. 2. Пропускная способность канала (каналов) передачи данных должна быть больше поступающего потока данных из вычислительной сетки. В противном случае на ФУ "Шлюз" (ФУ, обеспечивающее передачу данных между вычислительными узлами) будет образовываться очередь из милликоманд, ожидающих передачу на соседний вычислительный узел. Милликоманды, ожидающие отправления, помещаются в буфер Шлюза и ожидают отправления. Зависимость объема буфера передаваемых милликоманд в ситуации, когда пропускная способность канала меньше поступающего из сегмента потока данных, выражается формулой: VMkBuf (VМК *NFUGateway - U)*Nit*Tit, где NFUGateway - число ФУ, передающих данные через Шлюз, VМК - объем памяти, занимаемый одной милликомандой, U - скорость передачи информации по каналу связи, Nit - номер итерации, Tit - время между итерациями (генерациями вычислительных волн). 3. Для задач с использованием сеточных методов средняя скорость прохождения (UCountWave) вычислительной волны должна быть примерно одинаковой во всех вычислительных узлах системы. Скорость прохождения вычислительной волны - это среднее время, за которое вычислительная волна продвигается по сетке на ФУ вперед (рис. 90). В случае, если в сегменте число требуемых для вычисления ФУ меньше или равно числу ИУ в вычислительном узле, данную величину можно вычислить по формуле: UCountWave=(ТWaveEnd - ТWaveStart)/(Lx+Ly), где ТWaveStart и ТWaveEnd - времена начала и конца вычислительной волны в сегменте сетки, Lx и Ly - размерность вычислительной сетки по x и y. В противном случае на данную величину могут влиять следующие факторы: среднее количество задействованных в вычислительной волне ФУ, количество ИУ в вычислительном узле, период генерации вычислительных волн, пропускная способность Шлюзов, осуществляющих передачу сгенерированных в сегменте данных на другие вычислительные узлы, время планировки вычислений (время выделения вычислительного ядра для ФУ). Для выполнения данного требования оператор и инженер, производящий конфигурацию ВС, должны оптимальным образом осуществить разбивку вычислительной сетки на сегменты и их распределение по вычислительным узлам, подобрать коммуникационное и вычислительное оборудование с наиболее подходящими параметрами.

Анализ результатов исследования методов адаптации суперкомпьютерной системы показал эффективность ручных методов адаптации. Также анализ выявил неэффективность автоматического анализа учета трафика (учета номера итерации) передаваемых через ФУ "Шлюз" милликоманд и эффективность учета номера итерации планировшиком (балансиром) во время планирования вычислений (ФУ, принявшее милликоманду с наименьшим номером итерации, помещается в начало очереди ожидания ресурсов) и эффективность метода информирования Шлюзом Топ-менеджера об опасности переполнения буфера передаваемых сообщений. Эффективность последнего способа снижается при увеличении размерности вычислительной сетки.

Dataflow вычислительный алгоритм

Похожие статьи




Тестовые прогоны на модели ОА-архитектуры dataflow-ВС задач бенчмарка GREP - алгоритма сопоставления файловых строк шаблонам команды - Преимущества применения dataflow-парадигмы в вычислительных системах

Предыдущая | Следующая