Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паралельні та розподілені методи обчислення.doc
Скачиваний:
7
Добавлен:
20.04.2019
Размер:
260.1 Кб
Скачать

Методи декомпозиції

Декомпозиція – один із фундаментальних кроків розпалалелювання задач. Це розпаралелювання і розподіл…

Існують наступні методи декомпозиції:

  1. рекурсивний

  2. декомпозиція даних

  3. дослідницька декомпозиція

  4. спекулятивна декомпозиція.

Перші 2 методи призначені для розв’язку широкого розв’язку задач і є універсальними. Спекулятивна і дослідницька декомпозиція є спеціалізоване і вузько напрямлене.

Рекурсивна декомпозиція

Це метод для виявлення паралелізму в задач, які можуть бути розв’язані за допомогою методу «розподіляйте та володарюйте». При використанні цієї методики на першому етапі завдання розподіляються на набір незалежних задач. На кожному наступному етапі відбувається подальша деталізація задач за цим самим принципом. Саме за такою схемою декомпозуються більше задач сортування. Приклад: знаходження мінімального елементу з масиву чисел. {7,3,10,6,8,1,2,9}. Розіб’ємо масив на пару елементів:

7 3 10 6 8 1 2 9

3 6 1 2

3 1

1

Декомпозиція за даними

Часто застосовуваний спосіб для виявлення паралелізму в задачах, які оперують великими задачами. 2 етапи:

  • дані над якими виконується обчислення розділяються

  • попереднє секціонування використовується для розбиття на окремі задачі. Як правило ці задачі є подібними.

Декомпозиція за даними буває декількох типів:

  • за вихідними даними – такий тип розподілу задач можливий, коли кожний вихідний елемент може бути обчислений як функція входу не залежно від решти вихідних елементів. Приклад матричного множення

| A11 A12| * | B11 B12| = | C11 C12|

| A21 A22| * | B21 B22| | C11 C12|

  • розподіл за вхідними даними. Він може бути здійснений лише в тому випадку, якщо кожен вихідний результат є функцією від вхідних даних, але секціонування з вхідними даними неможливе. Приклад: знаходження мінімуму, максимуму функції.

  • Декомпозиція за проміжними даними.визначаються як багатоступінчасті обчислення, результат одного завдання є входу до решти, зазвичай призводять до більш високого ступеня розпаралелювання, але частіш за все не існують. Розглянемо повторно приклад матричного множення:

| A11|| * | B11 B12|

| A21|

… = | C11 C12|

| A12| * | B21 B22| | C11 C12|

|A22|

Дослідницька декомпозиція.

Вона використовується, щоб секціонувати завдання, які передбачають декілька шляхів знаходження розв‘язку (існує простір для рішень). Приклад «задача 15». Задача типово розв’язується використовуючи методи пошуку дерева, набір просторових конфігурацій можна розглядати як граф, кожен вузол графа – це конфігурація, а ребра сполучають конфігурації, які можуть бути отримані єдиним рухом клітинки.

1

2

3

4

5

6

7

8

9

10

12

13

14

11

15



1

2

3

4

5

6

7

8

9

10

12

13

14

11

15

1

2

3

4

5

6

8

9

10

7

12

13

14

11

15


1

2

3

4

5

6

7

8

9

10

12

13

14

11

15

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15



Аномальні прискорення.

Tпар=м Апар=4м tпар=1

Tпосл=м Апосл=м tпосл=3м+1

Апар=4; Апосл=3м

Перевагою дослідницькій декомпозиції є у пришвидшенні знаходження результату порівняно із послідовним алгоритму, хоча іноді взалежності від локалізації результату, час роботи між паралельним і послідовним алгоритмом буде однаковим, а об’єм роботи буде більшим.

Недолік: надлишкова завантаженість апаратної частини, оскільки лише одна гілка принесе вірний результат.