Оценка коммуникационной трудоемкости параллельных алгоритмов
3.5. Краткий обзор лекции
Данная лекция посвящена оценке коммуникационной сложности параллельных алгоритмов.
В подразделе 3.1 представлена общая характеристика алгоритмов маршрутизации и методов передачи данных. Для подробного рассмотрения выделены метод передачи сообщений и метод передачи пакетов, для которых определены оценки времени выполнения коммуникационных операций.
В подразделе 3.2 определены основные типы операций передачи данных, выполняемых в ходе параллельных вычислений. К основным коммуникационным операциям относятся:
- передача данных между процессорами сети;
- передача данных от одного процессора всем остальным процессорам сети и двойственная ей операция приема на одном процессоре сообщений от всех остальных процессоров сети;
- передача данных от всех процессоров всем процессорам сети и двойственная ей операция приема сообщений на каждом процессоре от всех процессоров сети;
- обобщенная1Обобщение операции состоит в том, что разным процессорам рассылаются различные сообщения; для обратной операции приема все собираемые сообщения также являются разными. передача данных от одного процессора всем остальным процессорам сети и обратная операция обобщенного приема сообщений на одном процессоре от всех остальных процессоров сети;
- обобщенная передача данных от всех процессоров всем процессорам сети.
Для всех перечисленных операций передачи данных рассмотрены алгоритмы их выполнения на примере топологий кольца, решетки и гиперкуба. Для каждого из представленных алгоритмов приведены оценки их временной трудоемкости как для метода передачи сообщений, так и для метода передачи пакетов.
В подразделе 3.3 рассмотрены методы логического представления топологий на основе конкретных (физических) межпроцессорных структур. Использование логических топологий позволяет получить более простое изложение для ряда алгоритмов передачи данных, снизить затраты на реализацию коммуникационных операций и т.п.
В подразделе 3.4 более подробно обсуждаются модели, при помощи которых могут быть получены оценки времени выполнения операций передачи данных для кластерных вычислительных систем. Точность формирования временных оценок сравнивается при помощи проведения вычислительных экспериментов. По результатам экспериментов определена наиболее точная модель (модель B ). Кроме того, отмечается, что для предварительного анализа временной трудоемкости коммуникационных операций целесообразно использовать более простую модель – модель C ( модель Хокни ).
3.6. Обзор литературы
В качестве дополнительного учебного материала для данной лекции могут быть рекомендованы работы [51, 63].
Вопросы построения моделей для оценки времени выполнения коммуникационных операций широко обсуждаются в литературе. При изучении лекции могут быть полезны работы [ [ 5 ] , [ 28 ] , [ 68 ] ]. Модель Хокни впервые была опубликована в [ [ 46 ] ]. Модель B из подраздела 3.4 представлена в работе [ [ 3 ] ].
3.7. Контрольные вопросы
- Какие основные характеристики используются для оценки топологии сети передачи данных? Приведите значения характеристик для конкретных типов коммуникационных структур (полный граф, линейка, решетка и др.).
- Какие основные методы применяются при маршрутизации передаваемых данных по сети?
- В чем состоят основные методы передачи данных? Приведите для этих методов аналитические оценки времени выполнения.
- Какие операции передачи данных могут быть выделены в качестве основных?
- В чем состоят алгоритмы выполнения передачи данных от одного процессора всем процессорам сети для топологий кольца, решетки и гиперкуба? Приведите оценки временной трудоемкости для этих алгоритмов.
- В чем состоят алгоритмы выполнения передачи данных от всех процессоров всем процессорам сети для топологий кольца, решетки и гиперкуба? Приведите оценки временной трудоемкости для этих алгоритмов.
- В чем состоят возможные алгоритмы выполнения операции редукции? Какой из алгоритмов является наилучшим по времени выполнения?
- В чем состоит алгоритм выполнения операции циклического сдвига?
- В чем состоит полезность использования логических топологий? Приведите примеры алгоритмов логического представления структуры коммуникационной сети.
- В чем состоит различие моделей для оценки времени выполнения операций передачи данных в кластерных вычислительных системах? Какая модель является более точной? Какая модель может быть использована для предварительного анализа временной трудоемкости коммуникационных операций?
3.8. Задачи и упражнения
- Разработайте алгоритмы выполнения основных операций передачи данных для топологии сети в виде 3-мерной решетки.
- Разработайте алгоритмы выполнения основных операций передачи данных для топологии сети в виде двоичного дерева.
- Примените модель B из подраздела 3.4 для оценки временной сложности операций передачи данных. Сравните получаемые показатели.
- Примените модель C из подраздела 3.4 для оценки временной сложности операций передачи данных. Сравните получаемые показатели.
- Разработайте алгоритмы логического представления двоичного дерева для различных физических топологий сети.