Jump to content

Все-всем (параллельная схема)

Визуализация комплексной связи с четырьмя процессорами и m=1.

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

Первоначально каждый процессор содержит p сообщений размером m каждое, и цель состоит в том, чтобы обменять i-е сообщение процессора j на j-е сообщение процессора i.

Количество раундов связи и общий объем связи являются мерами оценки качества алгоритма «все со всеми». В этой статье мы рассматриваем однопортовую полнодуплексную машину. На такой машине алгоритм «все ко всем» требует как минимум коммуникационные раунды. Далее минимум передаются единицы данных. Оптимум по обеим этим мерам не может быть достигнут одновременно. [1]

В зависимости от топологии сети (полносвязная, гиперкуб , кольцо ) требуются разные алгоритмы «все-все».

Алгоритмы «все-всем», основанные на топологии

[ редактировать ]
Визуализация алгоритма «все-всем» в кольцевой топологии.
Визуализация алгоритма «все-всем» в ячеистой топологии.

Мы рассматриваем однопортовую машину. Способ маршрутизации данных по сети зависит от ее базовой топологии. Мы рассмотрим алгоритмы «все-все» для распространенных сетевых топологий.

Гиперкуб

[ редактировать ]

Гиперкуб ​​это топология сети, в которой два процессора имеют общую ссылку, если расстояние Хэмминга их индексов равно единице. Идея алгоритма «все-всем» заключается в объединении сообщений, принадлежащих одному субкубу, а затем их распределении.

Алгоритм «все ко всем» в кольцевой топологии очень интуитивно понятен. Первоначально процессор отправляет сообщение размера m(p-1) одному из своих соседей. Связь осуществляется в одном направлении на всех процессорах. Когда процессор получает сообщение, он извлекает принадлежащую ему часть и пересылает оставшуюся часть сообщения следующему соседу. После (p-1) раундов связи каждое сообщение доставляется по назначению.

Время, затрачиваемое этим алгоритмом, равно . [2] Здесь - начальная стоимость связи, и — стоимость передачи единицы данных. Этот срок можно дополнительно улучшить, когда половина сообщений отправляется в одну, а другая половина — в другую сторону. Таким образом, сообщения доходят до места назначения раньше.

Для сетки мы смотрим на сетка. Этот алгоритм легко адаптируется для любой сетки. Алгоритм «все-всем» в сетке состоит из двух фаз связи. Сначала каждый процессор группирует сообщения в группы, каждая из которых содержит сообщения. Сообщения попадают в одну группу, если их процессоры назначения используют одну и ту же строку. Затем выполняется операция «все ко всем» среди строк. Теперь каждый процессор содержит всю необходимую информацию о процессорах в своем столбце. Опять же, сообщения необходимо переставить. После еще одной операции «все-всем», на этот раз в отношении столбцов, каждый процессор получает свои сообщения.

Общее время связи для этого алгоритма составляет . Кроме того, время локальной перестановки сообщений увеличивает общее время работы алгоритма.

1-факторный алгоритм

[ редактировать ]
Визуализация однофакторного алгоритма.

Опять же, мы рассматриваем однопортовую машину. Тривиальный алгоритм заключается в отправке (p-1) асинхронных сообщений в сеть для каждого процессора. Производительность этого алгоритма низкая, что связано с перегрузкой, возникающей из-за ширины сети пополам. [3] Более сложные алгоритмы объединяют сообщения, чтобы уменьшить количество операций отправки и попытаться контролировать перегрузку.

Для больших сообщений стоимость запуска невелика по сравнению со стоимостью передачи полезной нагрузки. Быстрее отправлять сообщения непосредственно по назначению. В следующем алгоритме алгоритм «все ко всем» выполняется с использованием (p-1) маршрутизации «один к одному».

// p odd:
// pe index 
for i := 0 to p-1 do
    Exchange data with PE 
// p even:
// pe index 
for i := 0 to p-2 do
    idle := 
    if j = p-1 then
        exchange data with PE idle
    else
        if j = idle then
            exchange data with pe p-1
        else
            exchange data with PE 

Алгоритм ведет себя по-разному независимо от того, является ли p нечетным или четным. Если p нечетно, на каждой итерации один процессор простаивает. При четном p этот простаивающий процессор связывается с процессором с индексом p-1. Общее время, затраченное на для четного p, и для нечетного p соответственно.

Вместо объединения процессора j с процессором на итерации i мы также можем использовать исключающее ИЛИ j и i для определения отображения. Этот подход требует, чтобы p было степенью двойки. В зависимости от базовой топологии сети один подход может быть лучше другого. Подход «исключающее или» предпочтительнее при выполнении попарных маршрутизаций «один к одному» в гиперкубе или толстом дереве. [4]

  1. ^ Брук, Иегошуа; Хо, Цзин-Тянь; Кипнис, Шломо; Уэзерсби, Деррик (1997). «Эффективные алгоритмы комплексной связи в многопортовых системах передачи сообщений» (PDF) . Транзакции IEEE в параллельных и распределенных системах . 8 (11): 1143–1156. дои : 10.1109/71.642949 .
  2. ^ Грама, Анант (2003). Введение в параллельные вычисления .
  3. ^ Хамбруш, Сюзанна Э .; Хамид, Фарук; Хохар, Ашфак А. (май 1995 г.). «Коммуникационные операции на крупнозернистых сетчатых архитектурах» . Параллельные вычисления . 21 (5): 731–751. дои : 10.1016/0167-8191(94)00110-В .
  4. ^ Тхакур, Раджив; Чоудхари, Алок (26–29 апреля 1994 г.). Общение «все со всеми» в сетках с маршрутизацией «червоточины» . Материалы 8-го Международного симпозиума по параллельной обработке. Канкун, Мексика.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 09e3992cd6928e547a89c8ee3a381645__1703987160
URL1:https://arc.ask3.ru/arc/aa/09/45/09e3992cd6928e547a89c8ee3a381645.html
Заголовок, (Title) документа по адресу, URL1:
All-to-all (parallel pattern) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)