Page 32 - 6571
P. 32

Кожне завдання, яке не є залежним від іншого в графі залеж-
                  ностей може бути виконане паралельно (наприклад, розігрівання
                  печі та купівля продуктів).
                        У свою чергу, розподіл за даними застосовується або до ре-

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

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

                  алгоритмів  найкраще  відповідають  декомпозиції  за  результую-
                  чими даними.

                        Декомпозиція  початкових  даних  подібна  до  попередньої,  за
                  винятком того, що вона застосовуються у випадку, коли алгоритм
                  є функцією із відношенням один-до-багатьох, наприклад, функція
                  пошуку  може  отримувати  рядок  для  пошуку,  як  вхідні  дані  та

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

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


                        4.2 Загальна схема розпаралелювання задач та

                             закон Амдала


                        Розглянемо  алгоритми  розпаралелювання  типових  задач  не-
                  залежно від конкретної програмної і платформної реалізації. Роз-

                  паралелити задачу можна не в єдиний спосіб. Алгоритми розпа-
                  ралелювання зручно графічно зображати у вигляді розгалужених
                  дерев.

                        Перший етап: розбиття задачі на незалежні підзадачі.














                                                              31
   27   28   29   30   31   32   33   34   35   36   37