Алгоритми маршрутизації
Алгоритми маршрутизації визначають шлях передачі даних від процесора — джерела повідомлення, до процесора, до якого повідомлення повинно бути доставлено. Розрізняють наступні можливі способи рішення такої задачі;
- оптимальні які визначають завжди найкоротші шляхи передачі даних, та неоптимальні алгоритми маршрутизації;
- детерміновані і адаптовані методи вибору маршрутів (адаптивні алгоритми визначають шляхи передачі даних в залежності від існуючого завантаження комунікаційних каналів).
До числа найпоширеніших оптимальних алгоритмів відноситься клас методів по координатної маршрутизації (dimension-ordered routing), в яких пошук шляхів передачі даних здійснюється по черзі для кожної розмірності топології мережі комунікації. Так для двомірної решітки такий підхід приводить до маршрутизації, коли передача даних спочатку виконується по одному напрямку (наприклад, по горизонталі до досягнення вертикалі, на якій розташований процесор призначення), а далі дані передаються впродовж другого напрямку (ця схема відома під назвою ). Для гіперкуба по координатна схема маршрутизації може полягати, наприклад, в циклічній передачі даних процесору, який визначається першою відмінною бітовою позицією в номерах процесорів — того, на якому повідомлення розташовується в даний момент часу, та того, на який воно повинно бути передане.
Методи передачі даних
Тривалість передачі даних між процесорами визначає комунікаційну складову (communication latency) тривалості виконання паралельного алгоритму в багатопроцесорній обчислювальній системі. Основний набір параметрів, що описують тривалість передачі даних, складається з наступного ряду величин:
- тривалість початкової підготовки (tn) характеризує тривалість підготовки повідомлення для передачі, пошуку маршруту в мережі тощо;
- тривалість передачі службових даних (tc) між двома сусідніми процесорами (тобто для процесорів, між якими є фізичний канал передачі даних). До службових даних може відноситися заголовок повідомлення, блок даних для виявлення похибок передачі тощо;
- час передачі одного слова даних по одному каналу передачі даних (tk). Тривалість подібної передачі визначається полосою пропускання комунікаційних каналів в мережі.
До числа найпоширеніших методів передачі даних відносяться два основних способи комунікації. Перший із них орієнтований на передачу повідомлень (метод передачі повідомлень, чи МПС) як неподільних (атомарних) блоків інформації ([en] або SFR). При такому підході процесор, який містить повідомлення для передачі, готує весь об’єм даних для передачі, визначає процесор, якому слід направити дані, і запускає операцію пересилки даних. Процесор, якому направлено повідомлення, в першу чергу здійснює прийом повністю всіх даних і тільки потім приступає до пересилки прийнятого повідомлення далі за маршрутом. Тривалість пересилання даних tпд для методу передачі повідомлення розміром m байтів за маршрутом довжиною l визначається виразом:
tпд = tп + (mtk + tc)l
За умови достатньо довгих повідомлень тривалістю передачі службових даних можна знехтувати і вираз для тривалості передачі даних можна записати в простішому вигляді:
tпд = tн + mtkl
Другий спосіб комунікації базується на представленні повідомлень, що пересилаються, у вигляді блоків інформації меншого розміру — пакетів, в результаті чого передача даних може бути зведена до передачі пакетів (метод передачі пакетів або МПП). ЗА умови такого методу комунікації ([en] або CTR) процесор, що приймає, може здійснювати пересилку даних за подальшим маршрутом безпосередньо відразу після прийому чергового пакету, не очікуючи завершення прийому даних всього повідомлення. Тривалість пересилання даних при використанні методу передачі пакетів визначається виразом:
tпд = tу + mtk + tcl
Порівнюючи отримані вирази отримані вирази, можна помітити, що в більшості випадків метод передачі пакетів приводить до більш швидкого пересилання даних; крім того, даний підхід знижує потребу в пам’яті для зберігання даних, що пересилаються, при організації прийому-передачі повідомлень, а для передачі пакетів можуть використовуватися одночасно різні комунікаційні канали. З іншого боку, реалізація пакетного методу потребує розробки більш складного апаратного та програмного забезпечення мережі, може збільшити накладні витрати (тривалість підготовки та тривалість передачі службових даних). Крім того, при передачі пакетів можливе виникнення конфліктних ситуацій (дедлоків).
Аналіз трудомісткості основних операцій передачі даних
При всьому розмаїтті виконуваних операцій передачі даних при паралельних способах розв’язку складних науково-технічних задач, певні процедури взаємодії процесів мережі можна віднести до числа основних комунікаційних дій, або найбільш широко розповсюджених на практиці паралельних обчислень, або тих, до яких можна багато інших процесів прийому-передачі повідомлень. Важливо відмітити, що в рамках подібного базового набору для більшості операцій комунікації існують процедури, обернені за дією вихідним операціям. Як результат, аналіз комунікаційних процедур доцільно виконувати попарно, оскільки в багатьох випадках алгоритми виконання прямої та зворотної операцій можуть бути отримані наслідки не з однакових посилань.
Передача даних між двома процесорами мережі
Складність цієї комунікаційної операції може бути наслідком підстановки довжини максимального шляху () в вирази для тривалості передачі даних при різних методах комунікації.
Топологія | Передача повідомлень | Передача пакетів |
---|---|---|
Кільце | tн + mtk[p/2] | tн + mtk + tc[p/2] |
Решітка-тор | tн + 2mtk[p/2] | tн + mtk + 2tc[p/2] |
Гіперкуб | tн + 2mtklog2p | tн + mtk + tclog2p |
Передача даних від одного процесора всім іншим процесорам мережі.
Операція передачі даних (одного і того ж сполучення) від одного процесора всім іншим процесорам мережі (one-to-all broadcast або single-node broadcast) є однією з найчастіше виконуваних комунікаційних дій. Двоїста до неї операція — прийом на одному процесорі повідомлень від всіх інших процесорів мережі (single-node accumulation). Подібні операції використовуються, зокрема, при реалізації матрично-векторного множення, розв’язку систем лінійних рівнянь методом Гауса, розв’язку задачі пошуку найкоротших шляхів та ін.
Найпростіший спосіб реалізації операції розсилання полягає в її виконанні як послідовності попарних взаємодій процесорів мережі. Проте за такого підходу більша частина пересилань є надлишковою і можливе застосування більш ефективних алгоритмів комунікації.
Передача повідомлень
Для кільцевої технології процесор — джерело розсилання може ініціювати передачу даних відразу двом своїм сусідам, які, у свою чергу, прийнявши повідомлення, організують пересилання далі по кільцю. Трудомісткість виконання операції розсилання в цьому випадку визначатиметься співвідношенням:
tпд = (tн + mtk)[p/2]
Для алгоритм розсилання можна отримати із способу передачі даних, застосованого для кільцевої структури мережі. Так, розсилка може бути виконана у вигляді двох етапної процедури. на першому етапі організується передача повідомлень всім процесорам мережі, розташованим на тій же горизонталі решітки, що й процесор — ініціатор передачі. На другому етапі процесори, які отримали копію даних на першому етапі, розсилають повідомлення по своїм відповідним вертикалям. Оцінка тривалості операції розсилки у відповідності з описаним алгоритмом визначається співвідношенням;
tпд = 2(tн + mtk)|/2|
Для гіперкубу розсилка може бути виконана в ході N-етапної процедури передачі даних. На першому етапі процесор-джерело повідомлення передає дані одному з своїх сусідів (наприклад, по першій розмірності) — у результаті після першого етапу є два процесори, які мають копію даних, що пересилаються (цей результат можна інтерпретувати також як розбиття вихідного гіперкуба на два таких однакових за розміром гіперкуби з розмірністю N – 1, що кожний із них має копію вихідного повідомлення). На другому етапі два процесори, задіяні на першому етапі, пересилають повідомлення своїм сусідам по другій розмірності тощо в результаті такого розсилання тривалість операції оцінюється з використанням виразу:
tпд = (tн + mtk)log2p
Порівнюючи отримані вирази для тривалості виконання операції розсилання, можна відмітити, що найкращі показники мають технології типу гіперкуб; більше того, можна показати, що такий результат є найкращим для вибраного способу комунікації з використанням повідомлень.
Передача пакетів
Для топології типу кільце алгоритм розсилання можна отримати шляхом логічного зображення кільцевої структури мережі у вигляді гіперкубу. В результаті на етапі розсилання процесор — джерело повідомлення передає дані процесору, який знаходиться на відстані p/2 від вихідного процесора. Далі, на другому етапі обидва процесори, які вже мають дані, що розсилаються, після першого етапу, передають повідомлення процесорам, які знаходяться на відстані p/4, і т. д. Трудомісткість виконання операції розсилання за такого методу передачі даних визначається співвідношенням:
tпд = (tн + mtk + tcp/2i) = (tн + mtk)log2p + tc(p – 1)
(як і раніше, за достатньо великих повідомленнях тривалістю передачі службових даних можна знехтувати).
Для топології типу решітка-тор алгоритм розсилання можна отримати із способу передачі даних, застосованого для кільцевої структури мережі, у відповідності з тим же способом, що і у випадку використання методу передачі повідомлень. Отриманий в результаті такого узагальнення алгоритм розсилання характеризується таким співвідношенням для оцінки тривалості виконання:
tпд = (tн + mtk)log2p + 2tc( – 1)
(2.2.8)
Для гіперкуба алгоритм розсилання (та, відповідно, часові оцінки тривалості виконання) при передачі пакетів не відрізняється від варіанту для методу передачі повідомлень.
Передача даних від всіх процесорів всім процесорам мережі
Операція передачі даних від всіх процесорів всім процесорам мережі (all-to-all broadcast або multinode broadcast) є природним узагальненням одиночної операції розсилки, двоїста до неї операція — прийом повідомлень на кожному процесорі від всіх процесорів мережі (multinode accumulation). Подібні операції широко використовуються, наприклад, при реалізації .
Можливий спосіб реалізації множинного розсилання полягає у виконанні відповідного набору операцій одиночного розсилання. Проте такий підхід не є оптимальним для багатьох топологій мережі, оскільки частина необхідних операцій одиночного розсилання потенційно може бути виконана паралельно.
Передача повідомлень
Для кільцевої топології кожний процесор може ініціювати розсилання свого повідомлення одночасно (в якомусь вибраному напрямку по кільцю). У будь-який момент кожний процесор виконує прийом і передачу даних, завершення операції множинного розсилання відбудеться через циклів передачі даних. Тривалість виконання операції розсилання оцінюється співвідношенням:
tпд = (tн + mtk)(p – 1)
Для топології типу решітка-тор множинне розсилання повідомлень може бути виконана з використанням алгоритму, отриманого узагальненням способу передачі даних для кільцевої структури мережі. Схема узагальнення полягає в наступному. На першому етапі організується передача повідомлень роздільно по всім процесорам мережі, які розташовані на одних і тих же горизонталях решітки (в результаті на кожному процесорі однієї і тієї ж горизонталі формуються укрупнені повідомлення з розміром , які об’єднують всі повідомлення горизонталі). Тривалість виконання етапу:
tпд = (tн + mtk)( – 1)
(2.2.10)
На другому етапі розсилання даних виконується по процесорам мережі, які утворюють вертикалі решітки. Тривалість цього етапу:
tпд = (tн + mtk)( – 1)
(2.2.11)
Загальна тривалість операції розсилання визначається співвідношенням:
tпд = 2tн( – 1) + mtk(p – 1)
Для гіперкуба алгоритм множинного розсилання повідомлень можна отримати узагальненням раніше описаного способу передачі даних для топології типу решітки на розмірність гіперкуба N. В результаті такого узагальнення схема комунікації полягає в наступному. На кожному етапі i,1 ≤ i ≤ N виконання алгоритму функціонують всі процесори мережі, які обмінюються своїми даними із своїми сусідами i-ї розмірності і формують об’єднані повідомлення. Тривалість операції розсилання може бути отримана з використанням виразу:
tпд = (tн + 2i–1mtk) = tнlog2p + mtk(p – 1)
Передача пакетів
Застосування більш ефективного для кільцевої структури та топології типу решітка-тор методу передачі даних не приводить до якогось поліпшення тривалості виконання операції одиночного розсилання, на випадок множинного розсилання приводить до перевантаження каналів передачі даних (тобто, до існування ситуацій, коли в один і той же момент для передачі по одній і тій же лінії є декілька пакетів даних, що очікують). Перевантаження каналів приводить до затримок при пересиланні даних, що і не дозволяє з’явитися всім перевагам методу передачі пакетів. Широко поширеним прикладом операції множинного розсилання є задача редукції (reduction), яка визначається в загальному вигляді як процедура виконання тієї чи іншої обробки даних, отриманих на кожному процесорі в ході множинного розсилання. Способи розв’язку задачі редукції полягають в наступному:
- безпосередній підхід полягає у виконанні операції множинного розсилання і, після цього, обробки даних на кожному процесорі зокрема;
- більш ефективний алгоритм можна отримати в результаті застосування операції одиночного прийому даних на окремому процесорі, виконання на цьому процесорі дій з обробки даних і розсилання отриманого результату обробки всім процесорам мережі;
- найкращий спосіб розв’язку полягає в суміщенні процедури множинного розсилання та дій з обробки даних, коли кожний процесор відразу після прийому чергового повідомлення реалізує потрібну обробку отриманих даних (наприклад, виконує додавання отриманого значення з наявною на процесорі частковою сумою. Тривалість рішення задачі редукції при такому алгоритмі реалізації у випадку, наприклад, коли розмір даних, що пересилаються, має одиничну довжину (m=1) і топологія мережі має структуру гіперкуба, визначається співвідношенням:
tпд=(tн+tk)+log2p
Іншим типовим прикладом використання операції множинного розсилання є задача знаходження часткових сум послідовності значень Si
Sk=xi, 1≤k≤p
Вважається, що кількість значень дорівнює кількості процесорів, значення xi розташовується на i-му процесорі, а результат Sk повинен отримуватися на процесорі з номером k. Алгоритм розв’язку цієї задачі також можна отримати з використанням конкретизації загального способу виконання множинної операції розсилання, коли процесор виконує сумування отриманого значення (але тільки в тому випадку, якщо процесор — відправник значення має менший номер, ніж процесор — одержувач.
Узагальнена передача даних від одного процесора всім іншим процесорам мережі
Загальний випадок передачі даних від одного процесора всім іншим процесорам мережі полягає в тому, що всі повідомлення, що розсилаються, різні (one-to-all personalized communication чи single-node scatter). Двоїста операція передачі даних для даного типу взаємодії процесорів — узагальнений прийом повідомлень (single-node gather) на одному процесорі від всіх інших процесорів мережі (відмінність цієї операції від раніше розглянутої процедури збірки даних на одному процесорі полягає в тому, що узагальнена операція збірки не передбачає якоїсь взаємодії повідомлень (наприклад, редукції) в процесі передачі даних). Трудомісткість операції узагальненого розсилання порівнювана із складністю виконання процедури множинної передачі даних. Процесор-ініціатор розсилання посилає кожному процесору мережі повідомлення з розміром, і, тим самим, нижня оцінка тривалості виконання операції характеризується величиною mtk(p – 1).
Проаналізуємо трудомісткість узагальненої розсилки для випадку топології типу гіперкуб. Можливий спосіб виконання операції полягає в майбутньому. Процесор-ініціатор розсилання передає половину своїх повідомлень одному з своїх сусідів (наприклад, за першою розмірністю) — у результаті вихідний гіперкуб стає розділеним на два гіперкуби половинного розміру, в кожному з яких міститься рівно половина вихідних даних. Далі, дії з розсилання повідомлень можуть бути повторені, і загальна кількість повторень визначається вихідною розмірністю гіперкуба. Тривалість операції узагальненого розсилання можна характеризувати співвідношенням:
tпд = tylog2p + mtk(p – 1)
(як і відмічалося раніше, трудомісткість операції збігається з тривалістю виконання процедур множинного розсилання).
Узагальнена передача даних від всіх процесорів всім процесорам мережі
Цей тип передачі даних представляє собою найбільш загальний випадок комунікаційних дій. Необхідність виконання подібних операцій виникає в , транспонування матриць та ін.
Передача повідомлень
Загальна схема алгоритму для кільцевої топології полягає в наступному. Кожний процесор здійснює передачу всіх своїх вихідних повідомлень своєму сусідові ( в якомусь вибраному напрямку по кільцю). Далі процесори здійснюють прийом направлених до них даних, далі серед прийнятої інформації вибирають свої повідомлення, після чого виконують подальше розсилання частини даних, що розсилаються. Тривалість виконання подібного набору передачі даних оцінюється згідно виразу:
tпд = (tн + 1/2mptk)(p – 1)
Спосіб отримання алгоритму розсилання даних для топології решітка-тор той же самий, що і у випадку розгляду інших комунікаційних операцій. На першому етапі організується передача повідомлень роздільно по всім процесорам мережі, які розташовані на одних і тих же горизонталях решітки (кожному процесору по горизонталі передаються тільки ті вихідні повідомлення, що повинні бути направлені процесорам відповідної вертикалі решітки). Після завершення етапу на кожному процесорі збираються повідомлень, призначених для розсилання по одній вертикалі решітки. На другому етапі розсилання даних виконується по процесорам мережі, які утворюють вертикалі решітки. Загальна тривалість всіх операцій розсилань визначається співвідношенням:
tпд = 2(tн + mptk)( – 1)
Для гіперкуба алгоритм узагальненого множинного розсилання повідомлень можна отримати шляхом узагальнення способу виконання операції для топології типу решітка на розмірність гіперкуба. В результаті такого узагальнення схема комунікації полягає в наступному. На кожному i,1≤i≤N, виконується алгоритму функціонують всі процесори мережі, які обмінюються своїми даними із своїми сусідами по - й розмірності і формують об’єднані повідомлення. За організації взаємодії двох сусідів канал зв’язку між ними розглядається як сполучний елемент двох рівних за розміром полі гіперкубів вихідного гіперкуба, і кожний процесор пари посилає іншому процесору тільки ті повідомлення, що призначені для процесорів сусіднього гіперкуба. Тривалість операції розсилання можна отримати з використання виразу:
tпд = (tн + 1/2mptk)log2p
(крім витрат на пересилання, кожний процесор виконує mp log2 p операцій і сортування своїх повідомлень перед обміном інформацією зі своїми сусідами).
Передача пакетів
Як і у випадку множинного розсилання, застосування методу передачі пакетів не приводить до покращення часових характеристик для операції узагальненого множинного розсилання. Для прикладу розглянемо застосування методу виконання даної комунікаційної операції для мережі з топологією типу гіперкуб. У цьому випадку розсилання можна виконати за p – 1 ітерацію. На кожній ітерації всі процесори розбиваються на взаємодіючі пари процесорів, причому це розбиття на пари може бути виконане таким чином, щоб повідомлення, які передаються парами, не використовували одні і ті ж шляхи передачі даних. Як результат, спільна тривалість операції узагальненого розсилання можна визначити у відповідності з виразом:
tпд = (tн + mtk)(p – 1) + 1/2tcplog2p
Циклічний зсув
Окремий випадок узагальненого множинного розсилання є процедурою перестановки (permutation), який представляє собою операцію перерозподілу інформації між процесорами мережі, в якій кожний процесор передає повідомлення визначеному певним способом іншому процесору мережі. Конкретний варіант перестановки — циклічний q-зсув (circular q-shift), коли кожний процесор i,1 ≤ i ≤ N, передає дані процесору з номером (i + q)mod p. Подібна операція зсуву використовується, наприклад, при організації матричних обчислень.
Оскільки виконання циклічного зсуву для кільцевої топології може бути забезпечено з використанням простих алгоритмів передачі даних, розглянемо можливі способи виконання даної комунікаційної операції тільки для топологій решітка-тор та гіперкуб за різних методах передачі даних.
Передача повідомлень
Загальна схема алгоритму циклічного зсуву для топології решітка-тор полягає в наступному. Нехай процесори пронумеровані за стрічками решітки від 0 до p-1. На першому етапі організується циклічний зсув з кроком q mod по кожній стрічці зокрема (якщо при реалізації такого зсуву повідомлення передаються через праві границі стрічок, то після виконання кожної такої передачі необхідно здійснити компенсаційний зсув вверх на 1 для процесорів першого стовпця решітки). На другому етапі реалізується циклічний зсув вверх з кроком [q/ ] для кожного стовпця решітки. Загальна тривалість всіх операцій розсилань визначається співвідношенням:
tпд = (tн + mtk)(2[/2] + 1)
Для гіперкуба алгоритм циклічного зсуву можна отримати шляхом логічного представлення топології гіперкуба у вигляді кільцевої структури. Для отримання такого представлення встановимо взаємно-однозначну відповідність між вершинами кільця та гіперкуба. Необхідна відповідність може бути отримана, наприклад, з використанням відомого коду Грея. Позитивною властивістю вибору такої відповідності є той факт, що для будь-яких двох вершин в кільці, відстань між якими дорівнює l = 2i для деякого значення, шлях між відповідними вершинами в гіперкубі містить тільки дві лінії зв’язку (за виключенням випадку i=0, коли шлях в гіперкубі має одиничну довжину).
Уявимо величину зсуву q у вигляді двоїстого коду. Кількість ненульових позицій коду визначає кількість етапів в схемі реалізації операції циклічного зсуву. На кожному етапі виконується операція зсуву з величиною кроку, яка задається найстаршою ненульовою позицією значення q (наприклад, за умови вихідної величини зсуву q=5=1012 на першому етапі виконується зсув з кроком 4, на другому етапі крок зсуву дорівнює 1). Виконання кожного етапу (окрім зсуву з кроком 1) полягає в передачі даних по шляху, який включає дві лінії зв’язку. Як результат, верхня оцінка для тривалості виконання операції циклічного зсуву визначається співвідношенням
tпд = (tн + mtk)(2log2p – 1)
Передача пакетів
Використання пересилання пакетів може підвищити ефективність виконання операції циклічного зсуву для топології гіперкуб. Реалізація всіх необхідних комунікаційних дій в цьому випадку може бути забезпечена шляхом відправки кожним процесором всіх даних, що пересилаються,безпосередньо процесорам призначення. Застосування методу по координатної маршрутизації дасть змогу уникнути колізій при використанні ліній передачі даних (в кожний момент часу для кожного каналу буде існувати не більше одного готового для відправки повідомлення) Довжина найбільшого шляху за умови такого розсилання даних визначається як log2p-y(q), де y(q) - найбільше ціле значення j таке, що 2j - дільник величини зсуву q. Тоді тривалість операції циклічного зсуву можна охарактеризувати з використанням виразу
tпд = tн + mtk + tc + (log2p – y(q))
(за умови достатньо великих розмірів повідомлень тривалістю передачі службових даних можна знехтувати і тривалість виконання операції можна визначити як tпд=tн+mtk).
Методи логічного зображення топології комунікаційного середовища
Ряд алгоритмів передачі даних припускає простіший виклад в разі використання певних топологій мережі між процесорних з’єднань. Крім того, багато методів комунікації можна отримати з використанням того чи іншого логічного зображення використовуваної топології. Як результат, важливою при організації паралельних обчислень є можливість логічного зображення різноманітних топологій на основі конкретних, фізичних, між процесорних структур.
Способи логічного зображення (відображення) топологій характеризується наступними трьома основними характеристиками:
- ущільнення дуг (congestion), яке виражається як максимальна кількість дуг логічної топології, які відображаються в одну лінію передачі фізичної топології;
- подовження дуг (dilation), яке визначається як шлях максимальної довжини фізичної топології, на якій відображається дуга логічної топології;
- збільшення вершин (expansion), яке обчислюється як відношення кількості вершин в логічній та фізичній топологіях.
Див. також
Література
Andrew S. Tanenbaum. COMPUTER NETWORKS. — Personal Education, 2002.
Sergio Benedetto, Ezio Biglieri. Principles of Digital Transmission: With Wireless Applications. — Springer, 2008. — .
Воеводин В.В. Параллельные вычисления. — БХВ-Петербург, 2008. — .
De Vega F.F., Perez J.I.H. Parallel Architectures and Bioinspired Algorithms. — Springer, 2012.
Примітки
- Dimension Order Routing. www.doc.ic.ac.uk. Процитовано 30 листопада 2016.
- . Архів оригіналу за 1 грудня 2016. Процитовано 30 листопада 2016.
- One-to-all broadcast algorithms. pages.cs.wisc.edu. Процитовано 30 листопада 2016.
- (PDF). Архів оригіналу (PDF) за 26 лютого 2015.
- . Архів оригіналу за 8 грудня 2016.
- Partial Multinode Broadcast and Partial Exchange Algorithms for d-dimensional Meshes'.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Algoritmi marshrutizaciyiAlgoritmi marshrutizaciyi viznachayut shlyah peredachi danih vid procesora dzherela povidomlennya do procesora do yakogo povidomlennya povinno buti dostavleno Rozriznyayut nastupni mozhlivi sposobi rishennya takoyi zadachi optimalni yaki viznachayut zavzhdi najkorotshi shlyahi peredachi danih ta neoptimalni algoritmi marshrutizaciyi determinovani i adaptovani metodi viboru marshrutiv adaptivni algoritmi viznachayut shlyahi peredachi danih v zalezhnosti vid isnuyuchogo zavantazhennya komunikacijnih kanaliv Do chisla najposhirenishih optimalnih algoritmiv vidnositsya klas metodiv po koordinatnoyi marshrutizaciyi dimension ordered routing v yakih poshuk shlyahiv peredachi danih zdijsnyuyetsya po cherzi dlya kozhnoyi rozmirnosti topologiyi merezhi komunikaciyi Tak dlya dvomirnoyi reshitki takij pidhid privodit do marshrutizaciyi koli peredacha danih spochatku vikonuyetsya po odnomu napryamku napriklad po gorizontali do dosyagnennya vertikali na yakij roztashovanij procesor priznachennya a dali dani peredayutsya vprodovzh drugogo napryamku cya shema vidoma pid nazvoyu Dlya giperkuba po koordinatna shema marshrutizaciyi mozhe polyagati napriklad v ciklichnij peredachi danih procesoru yakij viznachayetsya pershoyu vidminnoyu bitovoyu poziciyeyu v nomerah procesoriv togo na yakomu povidomlennya roztashovuyetsya v danij moment chasu ta togo na yakij vono povinno buti peredane Metodi peredachi danihTrivalist peredachi danih mizh procesorami viznachaye komunikacijnu skladovu communication latency trivalosti vikonannya paralelnogo algoritmu v bagatoprocesornij obchislyuvalnij sistemi Osnovnij nabir parametriv sho opisuyut trivalist peredachi danih skladayetsya z nastupnogo ryadu velichin trivalist pochatkovoyi pidgotovki tn harakterizuye trivalist pidgotovki povidomlennya dlya peredachi poshuku marshrutu v merezhi tosho trivalist peredachi sluzhbovih danih tc mizh dvoma susidnimi procesorami tobto dlya procesoriv mizh yakimi ye fizichnij kanal peredachi danih Do sluzhbovih danih mozhe vidnositisya zagolovok povidomlennya blok danih dlya viyavlennya pohibok peredachi tosho chas peredachi odnogo slova danih po odnomu kanalu peredachi danih tk Trivalist podibnoyi peredachi viznachayetsya polosoyu propuskannya komunikacijnih kanaliv v merezhi Do chisla najposhirenishih metodiv peredachi danih vidnosyatsya dva osnovnih sposobi komunikaciyi Pershij iz nih oriyentovanij na peredachu povidomlen metod peredachi povidomlen chi MPS yak nepodilnih atomarnih blokiv informaciyi en abo SFR Pri takomu pidhodi procesor yakij mistit povidomlennya dlya peredachi gotuye ves ob yem danih dlya peredachi viznachaye procesor yakomu slid napraviti dani i zapuskaye operaciyu peresilki danih Procesor yakomu napravleno povidomlennya v pershu chergu zdijsnyuye prijom povnistyu vsih danih i tilki potim pristupaye do peresilki prijnyatogo povidomlennya dali za marshrutom Trivalist peresilannya danih tpd dlya metodu peredachi povidomlennya rozmirom m bajtiv za marshrutom dovzhinoyu l viznachayetsya virazom tpd tp mtk tc l Za umovi dostatno dovgih povidomlen trivalistyu peredachi sluzhbovih danih mozhna znehtuvati i viraz dlya trivalosti peredachi danih mozhna zapisati v prostishomu viglyadi tpd tn mtkl Drugij sposib komunikaciyi bazuyetsya na predstavlenni povidomlen sho peresilayutsya u viglyadi blokiv informaciyi menshogo rozmiru paketiv v rezultati chogo peredacha danih mozhe buti zvedena do peredachi paketiv metod peredachi paketiv abo MPP ZA umovi takogo metodu komunikaciyi en abo CTR procesor sho prijmaye mozhe zdijsnyuvati peresilku danih za podalshim marshrutom bezposeredno vidrazu pislya prijomu chergovogo paketu ne ochikuyuchi zavershennya prijomu danih vsogo povidomlennya Trivalist peresilannya danih pri vikoristanni metodu peredachi paketiv viznachayetsya virazom tpd tu mtk tcl Porivnyuyuchi otrimani virazi otrimani virazi mozhna pomititi sho v bilshosti vipadkiv metod peredachi paketiv privodit do bilsh shvidkogo peresilannya danih krim togo danij pidhid znizhuye potrebu v pam yati dlya zberigannya danih sho peresilayutsya pri organizaciyi prijomu peredachi povidomlen a dlya peredachi paketiv mozhut vikoristovuvatisya odnochasno rizni komunikacijni kanali Z inshogo boku realizaciya paketnogo metodu potrebuye rozrobki bilsh skladnogo aparatnogo ta programnogo zabezpechennya merezhi mozhe zbilshiti nakladni vitrati trivalist pidgotovki ta trivalist peredachi sluzhbovih danih Krim togo pri peredachi paketiv mozhlive viniknennya konfliktnih situacij dedlokiv Analiz trudomistkosti osnovnih operacij peredachi danihPri vsomu rozmayitti vikonuvanih operacij peredachi danih pri paralelnih sposobah rozv yazku skladnih naukovo tehnichnih zadach pevni proceduri vzayemodiyi procesiv merezhi mozhna vidnesti do chisla osnovnih komunikacijnih dij abo najbilsh shiroko rozpovsyudzhenih na praktici paralelnih obchislen abo tih do yakih mozhna bagato inshih procesiv prijomu peredachi povidomlen Vazhlivo vidmititi sho v ramkah podibnogo bazovogo naboru dlya bilshosti operacij komunikaciyi isnuyut proceduri oberneni za diyeyu vihidnim operaciyam Yak rezultat analiz komunikacijnih procedur docilno vikonuvati poparno oskilki v bagatoh vipadkah algoritmi vikonannya pryamoyi ta zvorotnoyi operacij mozhut buti otrimani naslidki ne z odnakovih posilan Peredacha danih mizh dvoma procesorami merezhi Skladnist ciyeyi komunikacijnoyi operaciyi mozhe buti naslidkom pidstanovki dovzhini maksimalnogo shlyahu v virazi dlya trivalosti peredachi danih pri riznih metodah komunikaciyi Trivalist peredachi danih mizh dvoma procesorami Topologiya Peredacha povidomlen Peredacha paketiv Kilce tn mtk p 2 tn mtk tc p 2 Reshitka tor tn 2mtk p 2 tn mtk 2tc p 2 Giperkub tn 2mtklog2p tn mtk tclog2p Peredacha danih vid odnogo procesora vsim inshim procesoram merezhi Operaciya peredachi danih odnogo i togo zh spoluchennya vid odnogo procesora vsim inshim procesoram merezhi one to all broadcast abo single node broadcast ye odniyeyu z najchastishe vikonuvanih komunikacijnih dij Dvoyista do neyi operaciya prijom na odnomu procesori povidomlen vid vsih inshih procesoriv merezhi single node accumulation Podibni operaciyi vikoristovuyutsya zokrema pri realizaciyi matrichno vektornogo mnozhennya rozv yazku sistem linijnih rivnyan metodom Gausa rozv yazku zadachi poshuku najkorotshih shlyahiv ta in Najprostishij sposib realizaciyi operaciyi rozsilannya polyagaye v yiyi vikonanni yak poslidovnosti poparnih vzayemodij procesoriv merezhi Prote za takogo pidhodu bilsha chastina peresilan ye nadlishkovoyu i mozhlive zastosuvannya bilsh efektivnih algoritmiv komunikaciyi Peredacha povidomlen Dlya kilcevoyi tehnologiyi procesor dzherelo rozsilannya mozhe iniciyuvati peredachu danih vidrazu dvom svoyim susidam yaki u svoyu chergu prijnyavshi povidomlennya organizuyut peresilannya dali po kilcyu Trudomistkist vikonannya operaciyi rozsilannya v comu vipadku viznachatimetsya spivvidnoshennyam tpd tn mtk p 2 Dlya algoritm rozsilannya mozhna otrimati iz sposobu peredachi danih zastosovanogo dlya kilcevoyi strukturi merezhi Tak rozsilka mozhe buti vikonana u viglyadi dvoh etapnoyi proceduri na pershomu etapi organizuyetsya peredacha povidomlen vsim procesoram merezhi roztashovanim na tij zhe gorizontali reshitki sho j procesor iniciator peredachi Na drugomu etapi procesori yaki otrimali kopiyu danih na pershomu etapi rozsilayut povidomlennya po svoyim vidpovidnim vertikalyam Ocinka trivalosti operaciyi rozsilki u vidpovidnosti z opisanim algoritmom viznachayetsya spivvidnoshennyam tpd 2 tn mtk p displaystyle sqrt p 2 Dlya giperkubu rozsilka mozhe buti vikonana v hodi N etapnoyi proceduri peredachi danih Na pershomu etapi procesor dzherelo povidomlennya peredaye dani odnomu z svoyih susidiv napriklad po pershij rozmirnosti u rezultati pislya pershogo etapu ye dva procesori yaki mayut kopiyu danih sho peresilayutsya cej rezultat mozhna interpretuvati takozh yak rozbittya vihidnogo giperkuba na dva takih odnakovih za rozmirom giperkubi z rozmirnistyu N 1 sho kozhnij iz nih maye kopiyu vihidnogo povidomlennya Na drugomu etapi dva procesori zadiyani na pershomu etapi peresilayut povidomlennya svoyim susidam po drugij rozmirnosti tosho v rezultati takogo rozsilannya trivalist operaciyi ocinyuyetsya z vikoristannyam virazu tpd tn mtk log2p Porivnyuyuchi otrimani virazi dlya trivalosti vikonannya operaciyi rozsilannya mozhna vidmititi sho najkrashi pokazniki mayut tehnologiyi tipu giperkub bilshe togo mozhna pokazati sho takij rezultat ye najkrashim dlya vibranogo sposobu komunikaciyi z vikoristannyam povidomlen Peredacha paketiv Dlya topologiyi tipu kilce algoritm rozsilannya mozhna otrimati shlyahom logichnogo zobrazhennya kilcevoyi strukturi merezhi u viglyadi giperkubu V rezultati na etapi rozsilannya procesor dzherelo povidomlennya peredaye dani procesoru yakij znahoditsya na vidstani p 2 vid vihidnogo procesora Dali na drugomu etapi obidva procesori yaki vzhe mayut dani sho rozsilayutsya pislya pershogo etapu peredayut povidomlennya procesoram yaki znahodyatsya na vidstani p 4 i t d Trudomistkist vikonannya operaciyi rozsilannya za takogo metodu peredachi danih viznachayetsya spivvidnoshennyam tpd i 1 l o g 2 p displaystyle sum i mathop 1 log 2 p tn mtk tcp 2i tn mtk log2p tc p 1 yak i ranishe za dostatno velikih povidomlennyah trivalistyu peredachi sluzhbovih danih mozhna znehtuvati Dlya topologiyi tipu reshitka tor algoritm rozsilannya mozhna otrimati iz sposobu peredachi danih zastosovanogo dlya kilcevoyi strukturi merezhi u vidpovidnosti z tim zhe sposobom sho i u vipadku vikoristannya metodu peredachi povidomlen Otrimanij v rezultati takogo uzagalnennya algoritm rozsilannya harakterizuyetsya takim spivvidnoshennyam dlya ocinki trivalosti vikonannya tpd tn mtk log2p 2tc p displaystyle sqrt p 1 2 2 8 Dlya giperkuba algoritm rozsilannya ta vidpovidno chasovi ocinki trivalosti vikonannya pri peredachi paketiv ne vidriznyayetsya vid variantu dlya metodu peredachi povidomlen Peredacha danih vid vsih procesoriv vsim procesoram merezhi Operaciya peredachi danih vid vsih procesoriv vsim procesoram merezhi all to all broadcast abo multinode broadcast ye prirodnim uzagalnennyam odinochnoyi operaciyi rozsilki dvoyista do neyi operaciya prijom povidomlen na kozhnomu procesori vid vsih procesoriv merezhi multinode accumulation Podibni operaciyi shiroko vikoristovuyutsya napriklad pri realizaciyi Mozhlivij sposib realizaciyi mnozhinnogo rozsilannya polyagaye u vikonanni vidpovidnogo naboru operacij odinochnogo rozsilannya Prote takij pidhid ne ye optimalnim dlya bagatoh topologij merezhi oskilki chastina neobhidnih operacij odinochnogo rozsilannya potencijno mozhe buti vikonana paralelno Peredacha povidomlen Dlya kilcevoyi topologiyi kozhnij procesor mozhe iniciyuvati rozsilannya svogo povidomlennya odnochasno v yakomus vibranomu napryamku po kilcyu U bud yakij moment kozhnij procesor vikonuye prijom i peredachu danih zavershennya operaciyi mnozhinnogo rozsilannya vidbudetsya cherez cikliv peredachi danih Trivalist vikonannya operaciyi rozsilannya ocinyuyetsya spivvidnoshennyam tpd tn mtk p 1 Dlya topologiyi tipu reshitka tor mnozhinne rozsilannya povidomlen mozhe buti vikonana z vikoristannyam algoritmu otrimanogo uzagalnennyam sposobu peredachi danih dlya kilcevoyi strukturi merezhi Shema uzagalnennya polyagaye v nastupnomu Na pershomu etapi organizuyetsya peredacha povidomlen rozdilno po vsim procesoram merezhi yaki roztashovani na odnih i tih zhe gorizontalyah reshitki v rezultati na kozhnomu procesori odniyeyi i tiyeyi zh gorizontali formuyutsya ukrupneni povidomlennya z rozmirom m p displaystyle m sqrt p yaki ob yednuyut vsi povidomlennya gorizontali Trivalist vikonannya etapu tpd tn mtk p displaystyle sqrt p 1 2 2 10 Na drugomu etapi rozsilannya danih vikonuyetsya po procesoram merezhi yaki utvoryuyut vertikali reshitki Trivalist cogo etapu tpd tn mp displaystyle sqrt p tk p displaystyle sqrt p 1 2 2 11 Zagalna trivalist operaciyi rozsilannya viznachayetsya spivvidnoshennyam tpd 2tn p displaystyle sqrt p 1 mtk p 1 Dlya giperkuba algoritm mnozhinnogo rozsilannya povidomlen mozhna otrimati uzagalnennyam ranishe opisanogo sposobu peredachi danih dlya topologiyi tipu reshitki na rozmirnist giperkuba N V rezultati takogo uzagalnennya shema komunikaciyi polyagaye v nastupnomu Na kozhnomu etapi i 1 i N vikonannya algoritmu funkcionuyut vsi procesori merezhi yaki obminyuyutsya svoyimi danimi iz svoyimi susidami i yi rozmirnosti i formuyut ob yednani povidomlennya Trivalist operaciyi rozsilannya mozhe buti otrimana z vikoristannyam virazu tpd i 1 l o g 2 p displaystyle sum i mathop 1 log 2 p tn 2i 1mtk tnlog2p mtk p 1 Peredacha paketiv Zastosuvannya bilsh efektivnogo dlya kilcevoyi strukturi ta topologiyi tipu reshitka tor metodu peredachi danih ne privodit do yakogos polipshennya trivalosti vikonannya operaciyi odinochnogo rozsilannya na vipadok mnozhinnogo rozsilannya privodit do perevantazhennya kanaliv peredachi danih tobto do isnuvannya situacij koli v odin i toj zhe moment dlya peredachi po odnij i tij zhe liniyi ye dekilka paketiv danih sho ochikuyut Perevantazhennya kanaliv privodit do zatrimok pri peresilanni danih sho i ne dozvolyaye z yavitisya vsim perevagam metodu peredachi paketiv Shiroko poshirenim prikladom operaciyi mnozhinnogo rozsilannya ye zadacha redukciyi reduction yaka viznachayetsya v zagalnomu viglyadi yak procedura vikonannya tiyeyi chi inshoyi obrobki danih otrimanih na kozhnomu procesori v hodi mnozhinnogo rozsilannya Sposobi rozv yazku zadachi redukciyi polyagayut v nastupnomu bezposerednij pidhid polyagaye u vikonanni operaciyi mnozhinnogo rozsilannya i pislya cogo obrobki danih na kozhnomu procesori zokrema bilsh efektivnij algoritm mozhna otrimati v rezultati zastosuvannya operaciyi odinochnogo prijomu danih na okremomu procesori vikonannya na comu procesori dij z obrobki danih i rozsilannya otrimanogo rezultatu obrobki vsim procesoram merezhi najkrashij sposib rozv yazku polyagaye v sumishenni proceduri mnozhinnogo rozsilannya ta dij z obrobki danih koli kozhnij procesor vidrazu pislya prijomu chergovogo povidomlennya realizuye potribnu obrobku otrimanih danih napriklad vikonuye dodavannya otrimanogo znachennya z nayavnoyu na procesori chastkovoyu sumoyu Trivalist rishennya zadachi redukciyi pri takomu algoritmi realizaciyi u vipadku napriklad koli rozmir danih sho peresilayutsya maye odinichnu dovzhinu m 1 i topologiya merezhi maye strukturu giperkuba viznachayetsya spivvidnoshennyam tpd tn tk log2p Inshim tipovim prikladom vikoristannya operaciyi mnozhinnogo rozsilannya ye zadacha znahodzhennya chastkovih sum poslidovnosti znachen Si Sk i 1 k displaystyle sum i mathop 1 k xi 1 k p Vvazhayetsya sho kilkist znachen dorivnyuye kilkosti procesoriv znachennya xi roztashovuyetsya na i mu procesori a rezultat Sk povinen otrimuvatisya na procesori z nomerom k Algoritm rozv yazku ciyeyi zadachi takozh mozhna otrimati z vikoristannyam konkretizaciyi zagalnogo sposobu vikonannya mnozhinnoyi operaciyi rozsilannya koli procesor vikonuye sumuvannya otrimanogo znachennya ale tilki v tomu vipadku yaksho procesor vidpravnik znachennya maye menshij nomer nizh procesor oderzhuvach Uzagalnena peredacha danih vid odnogo procesora vsim inshim procesoram merezhi Zagalnij vipadok peredachi danih vid odnogo procesora vsim inshim procesoram merezhi polyagaye v tomu sho vsi povidomlennya sho rozsilayutsya rizni one to all personalized communication chi single node scatter Dvoyista operaciya peredachi danih dlya danogo tipu vzayemodiyi procesoriv uzagalnenij prijom povidomlen single node gather na odnomu procesori vid vsih inshih procesoriv merezhi vidminnist ciyeyi operaciyi vid ranishe rozglyanutoyi proceduri zbirki danih na odnomu procesori polyagaye v tomu sho uzagalnena operaciya zbirki ne peredbachaye yakoyis vzayemodiyi povidomlen napriklad redukciyi v procesi peredachi danih Trudomistkist operaciyi uzagalnenogo rozsilannya porivnyuvana iz skladnistyu vikonannya proceduri mnozhinnoyi peredachi danih Procesor iniciator rozsilannya posilaye kozhnomu procesoru merezhi povidomlennya z rozmirom i tim samim nizhnya ocinka trivalosti vikonannya operaciyi harakterizuyetsya velichinoyu mtk p 1 Proanalizuyemo trudomistkist uzagalnenoyi rozsilki dlya vipadku topologiyi tipu giperkub Mozhlivij sposib vikonannya operaciyi polyagaye v majbutnomu Procesor iniciator rozsilannya peredaye polovinu svoyih povidomlen odnomu z svoyih susidiv napriklad za pershoyu rozmirnistyu u rezultati vihidnij giperkub staye rozdilenim na dva giperkubi polovinnogo rozmiru v kozhnomu z yakih mistitsya rivno polovina vihidnih danih Dali diyi z rozsilannya povidomlen mozhut buti povtoreni i zagalna kilkist povtoren viznachayetsya vihidnoyu rozmirnistyu giperkuba Trivalist operaciyi uzagalnenogo rozsilannya mozhna harakterizuvati spivvidnoshennyam tpd tylog2p mtk p 1 yak i vidmichalosya ranishe trudomistkist operaciyi zbigayetsya z trivalistyu vikonannya procedur mnozhinnogo rozsilannya Uzagalnena peredacha danih vid vsih procesoriv vsim procesoram merezhi Cej tip peredachi danih predstavlyaye soboyu najbilsh zagalnij vipadok komunikacijnih dij Neobhidnist vikonannya podibnih operacij vinikaye v transponuvannya matric ta in Peredacha povidomlen Zagalna shema algoritmu dlya kilcevoyi topologiyi polyagaye v nastupnomu Kozhnij procesor zdijsnyuye peredachu vsih svoyih vihidnih povidomlen svoyemu susidovi v yakomus vibranomu napryamku po kilcyu Dali procesori zdijsnyuyut prijom napravlenih do nih danih dali sered prijnyatoyi informaciyi vibirayut svoyi povidomlennya pislya chogo vikonuyut podalshe rozsilannya chastini danih sho rozsilayutsya Trivalist vikonannya podibnogo naboru peredachi danih ocinyuyetsya zgidno virazu tpd tn 1 2mptk p 1 Sposib otrimannya algoritmu rozsilannya danih dlya topologiyi reshitka tor toj zhe samij sho i u vipadku rozglyadu inshih komunikacijnih operacij Na pershomu etapi organizuyetsya peredacha povidomlen rozdilno po vsim procesoram merezhi yaki roztashovani na odnih i tih zhe gorizontalyah reshitki kozhnomu procesoru po gorizontali peredayutsya tilki ti vihidni povidomlennya sho povinni buti napravleni procesoram vidpovidnoyi vertikali reshitki Pislya zavershennya etapu na kozhnomu procesori zbirayutsya povidomlen priznachenih dlya rozsilannya po odnij vertikali reshitki Na drugomu etapi rozsilannya danih vikonuyetsya po procesoram merezhi yaki utvoryuyut vertikali reshitki Zagalna trivalist vsih operacij rozsilan viznachayetsya spivvidnoshennyam tpd 2 tn mptk p displaystyle sqrt p 1 Dlya giperkuba algoritm uzagalnenogo mnozhinnogo rozsilannya povidomlen mozhna otrimati shlyahom uzagalnennya sposobu vikonannya operaciyi dlya topologiyi tipu reshitka na rozmirnist giperkuba V rezultati takogo uzagalnennya shema komunikaciyi polyagaye v nastupnomu Na kozhnomu i 1 i N vikonuyetsya algoritmu funkcionuyut vsi procesori merezhi yaki obminyuyutsya svoyimi danimi iz svoyimi susidami po j rozmirnosti i formuyut ob yednani povidomlennya Za organizaciyi vzayemodiyi dvoh susidiv kanal zv yazku mizh nimi rozglyadayetsya yak spoluchnij element dvoh rivnih za rozmirom poli giperkubiv vihidnogo giperkuba i kozhnij procesor pari posilaye inshomu procesoru tilki ti povidomlennya sho priznacheni dlya procesoriv susidnogo giperkuba Trivalist operaciyi rozsilannya mozhna otrimati z vikoristannya virazu tpd tn 1 2mptk log2p krim vitrat na peresilannya kozhnij procesor vikonuye mp log2 p operacij i sortuvannya svoyih povidomlen pered obminom informaciyeyu zi svoyimi susidami Peredacha paketiv Yak i u vipadku mnozhinnogo rozsilannya zastosuvannya metodu peredachi paketiv ne privodit do pokrashennya chasovih harakteristik dlya operaciyi uzagalnenogo mnozhinnogo rozsilannya Dlya prikladu rozglyanemo zastosuvannya metodu vikonannya danoyi komunikacijnoyi operaciyi dlya merezhi z topologiyeyu tipu giperkub U comu vipadku rozsilannya mozhna vikonati za p 1 iteraciyu Na kozhnij iteraciyi vsi procesori rozbivayutsya na vzayemodiyuchi pari procesoriv prichomu ce rozbittya na pari mozhe buti vikonane takim chinom shob povidomlennya yaki peredayutsya parami ne vikoristovuvali odni i ti zh shlyahi peredachi danih Yak rezultat spilna trivalist operaciyi uzagalnenogo rozsilannya mozhna viznachiti u vidpovidnosti z virazom tpd tn mtk p 1 1 2tcplog2p Ciklichnij zsuv Okremij vipadok uzagalnenogo mnozhinnogo rozsilannya ye proceduroyu perestanovki permutation yakij predstavlyaye soboyu operaciyu pererozpodilu informaciyi mizh procesorami merezhi v yakij kozhnij procesor peredaye povidomlennya viznachenomu pevnim sposobom inshomu procesoru merezhi Konkretnij variant perestanovki ciklichnij q zsuv circular q shift koli kozhnij procesor i 1 i N peredaye dani procesoru z nomerom i q mod p Podibna operaciya zsuvu vikoristovuyetsya napriklad pri organizaciyi matrichnih obchislen Oskilki vikonannya ciklichnogo zsuvu dlya kilcevoyi topologiyi mozhe buti zabezpecheno z vikoristannyam prostih algoritmiv peredachi danih rozglyanemo mozhlivi sposobi vikonannya danoyi komunikacijnoyi operaciyi tilki dlya topologij reshitka tor ta giperkub za riznih metodah peredachi danih Peredacha povidomlen Zagalna shema algoritmu ciklichnogo zsuvu dlya topologiyi reshitka tor polyagaye v nastupnomu Nehaj procesori pronumerovani za strichkami reshitki vid 0 do p 1 Na pershomu etapi organizuyetsya ciklichnij zsuv z krokom q mod p displaystyle sqrt p po kozhnij strichci zokrema yaksho pri realizaciyi takogo zsuvu povidomlennya peredayutsya cherez pravi granici strichok to pislya vikonannya kozhnoyi takoyi peredachi neobhidno zdijsniti kompensacijnij zsuv vverh na 1 dlya procesoriv pershogo stovpcya reshitki Na drugomu etapi realizuyetsya ciklichnij zsuv vverh z krokom q p displaystyle sqrt p dlya kozhnogo stovpcya reshitki Zagalna trivalist vsih operacij rozsilan viznachayetsya spivvidnoshennyam tpd tn mtk 2 p displaystyle sqrt p 2 1 Dlya giperkuba algoritm ciklichnogo zsuvu mozhna otrimati shlyahom logichnogo predstavlennya topologiyi giperkuba u viglyadi kilcevoyi strukturi Dlya otrimannya takogo predstavlennya vstanovimo vzayemno odnoznachnu vidpovidnist mizh vershinami kilcya ta giperkuba Neobhidna vidpovidnist mozhe buti otrimana napriklad z vikoristannyam vidomogo kodu Greya Pozitivnoyu vlastivistyu viboru takoyi vidpovidnosti ye toj fakt sho dlya bud yakih dvoh vershin v kilci vidstan mizh yakimi dorivnyuye l 2i dlya deyakogo znachennya shlyah mizh vidpovidnimi vershinami v giperkubi mistit tilki dvi liniyi zv yazku za viklyuchennyam vipadku i 0 koli shlyah v giperkubi maye odinichnu dovzhinu Uyavimo velichinu zsuvu q u viglyadi dvoyistogo kodu Kilkist nenulovih pozicij kodu viznachaye kilkist etapiv v shemi realizaciyi operaciyi ciklichnogo zsuvu Na kozhnomu etapi vikonuyetsya operaciya zsuvu z velichinoyu kroku yaka zadayetsya najstarshoyu nenulovoyu poziciyeyu znachennya q napriklad za umovi vihidnoyi velichini zsuvu q 5 1012 na pershomu etapi vikonuyetsya zsuv z krokom 4 na drugomu etapi krok zsuvu dorivnyuye 1 Vikonannya kozhnogo etapu okrim zsuvu z krokom 1 polyagaye v peredachi danih po shlyahu yakij vklyuchaye dvi liniyi zv yazku Yak rezultat verhnya ocinka dlya trivalosti vikonannya operaciyi ciklichnogo zsuvu viznachayetsya spivvidnoshennyam tpd tn mtk 2log2p 1 Peredacha paketiv Vikoristannya peresilannya paketiv mozhe pidvishiti efektivnist vikonannya operaciyi ciklichnogo zsuvu dlya topologiyi giperkub Realizaciya vsih neobhidnih komunikacijnih dij v comu vipadku mozhe buti zabezpechena shlyahom vidpravki kozhnim procesorom vsih danih sho peresilayutsya bezposeredno procesoram priznachennya Zastosuvannya metodu po koordinatnoyi marshrutizaciyi dast zmogu uniknuti kolizij pri vikoristanni linij peredachi danih v kozhnij moment chasu dlya kozhnogo kanalu bude isnuvati ne bilshe odnogo gotovogo dlya vidpravki povidomlennya Dovzhina najbilshogo shlyahu za umovi takogo rozsilannya danih viznachayetsya yak log2p y q de y q najbilshe cile znachennya j take sho 2j dilnik velichini zsuvu q Todi trivalist operaciyi ciklichnogo zsuvu mozhna oharakterizuvati z vikoristannyam virazu tpd tn mtk tc log2p y q za umovi dostatno velikih rozmiriv povidomlen trivalistyu peredachi sluzhbovih danih mozhna znehtuvati i trivalist vikonannya operaciyi mozhna viznachiti yak tpd tn mtk Metodi logichnogo zobrazhennya topologiyi komunikacijnogo seredovishaRyad algoritmiv peredachi danih pripuskaye prostishij viklad v razi vikoristannya pevnih topologij merezhi mizh procesornih z yednan Krim togo bagato metodiv komunikaciyi mozhna otrimati z vikoristannyam togo chi inshogo logichnogo zobrazhennya vikoristovuvanoyi topologiyi Yak rezultat vazhlivoyu pri organizaciyi paralelnih obchislen ye mozhlivist logichnogo zobrazhennya riznomanitnih topologij na osnovi konkretnih fizichnih mizh procesornih struktur Sposobi logichnogo zobrazhennya vidobrazhennya topologij harakterizuyetsya nastupnimi troma osnovnimi harakteristikami ushilnennya dug congestion yake virazhayetsya yak maksimalna kilkist dug logichnoyi topologiyi yaki vidobrazhayutsya v odnu liniyu peredachi fizichnoyi topologiyi podovzhennya dug dilation yake viznachayetsya yak shlyah maksimalnoyi dovzhini fizichnoyi topologiyi na yakij vidobrazhayetsya duga logichnoyi topologiyi zbilshennya vershin expansion yake obchislyuyetsya yak vidnoshennya kilkosti vershin v logichnij ta fizichnij topologiyah Div takozhParalelni obchislennya Paralelnij algoritm Topologiya merezh Prikladni naukovi doslidzhennya Paralelne programuvannya na osnovi MRILiteraturaAndrew S Tanenbaum COMPUTER NETWORKS Personal Education 2002 Sergio Benedetto Ezio Biglieri Principles of Digital Transmission With Wireless Applications Springer 2008 ISBN 0 306 45753 9 Voevodin V V Parallelnye vychisleniya BHV Peterburg 2008 ISBN 5 94157 160 7 De Vega F F Perez J I H Parallel Architectures and Bioinspired Algorithms Springer 2012 PrimitkiDimension Order Routing www doc ic ac uk Procitovano 30 listopada 2016 Arhiv originalu za 1 grudnya 2016 Procitovano 30 listopada 2016 One to all broadcast algorithms pages cs wisc edu Procitovano 30 listopada 2016 PDF Arhiv originalu PDF za 26 lyutogo 2015 Arhiv originalu za 8 grudnya 2016 Partial Multinode Broadcast and Partial Exchange Algorithms for d dimensional Meshes