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

Спекулятивна декомпозиція. (або пан або пропав).

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

Гібридна декомпозиція – об‘єднання всіх. Концепція машин потоків даних

Всі існуючі ЕОМ бувають двох типів.

В комп’ютерах архітектури Фоннеймона вносять …

Особливість – наявність черги команд для АЛП та оперативна пам'ять з адресацією. Саме вини стають вузьким місцем при намаганні виконати завдання паралельно. Тому був запропонований вченим Дейсом принцип машин потоків даних, який анулює ці риси, і дозволяє виявити весь паралелізм, який закладений в завданні без обмежень.

Принцип мпд.

Принцип базується на правило «запалювання». Як тільки обчислені всі операнди які необхідні для її виконання, викликається команда. Команда для якої ця умова виконана називається команда, що спрацювала. Ефект спрацьовування призводить до поглинання вхідних значень і видачі вихідних. Оскільки доступних обчислених операндів дозволяє одночасне виконання декількох операторів, то паралельність дії є внутрішньою властивістю схем потоків даних. Зразок: розвязок знаходження розвязку квадратного рівняння:

Ax2+bx+c=0

D=b2-4ac

X1,2=(-b+sqr(d))/2a

|o0 -b+sqr(D)

|o0 x1

|o0 x2

1. b2 4a -b 2*a

2. 4a*c

3. b2-4ac

4. sqr(D)

5. –b+sqr(D) -b-sqr(D)

6. x1 x2

Обчислення в мпд

Машина потоків даних не працює з адресами памяті, в якій знаходяться певні величини. Вона оперує поняття змінної, яка представляє собою самостійний об’єкт і носить назву Token. Якщо токен – це аналог змінної, то автор – це аналог операцій над змінними. Обчислення відбуваються наступним чином: токени передаються між токенами, і коли автор отримає всі дані то він активізуються і він спалює вихідні дані і породжує токени результату і одразу пересилаються наступному автору. Програма МПД може бути представлена як дводольний орієнтований граф вузлами якого є автори, а дуги вказують шлях по яким між авторами передаються токени. Розглянемо основні елементи машин потоків даних.

Перша група – це основні лінії зв’язку. Вони бувають двох типів:

Рис2 а – для передачі передачі даних

Рис2 б – для передачі керуючої передачі і можуть приймати значення

???????????????????????????????

Синхронна та асинхронна паралельність. Асинхронна паралельність

Відповідно до двох класів паралельної обробки розрізняють синхронну та асинхронну паралельність. Процеси, як привило виконують великі за обміном задачі, оскільки деталізація до арифметичних виразів призводить до великих накладних витрат на синхронізацію, а це знижує ефективність паралельної програми. З цією причиною асинхронна паралельність називають великоблокове програмування. Асинхронні моделі паралельності відповідають ЕОМ – МІМД структури. Процесори - це самостійні машини, які можуть виконувати програми, незалежності одна від одної. В залежності від архітектури, вони можуть мати локальну пам'ять, або звертатись до глобальної пам‘яті.

Асинхронне паралельне програмування є складним і дуже сприйнятна до помилок. Вини пов’язані із невдалою синхронізацію і призводить до виникнення наступних типів помилок.

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

Типи помилок:

  1. втрачення модифікація даних – ця помилка залежить від часу, це нескоординована робота процесора.

  2. несумісний аналіз –

  3. взаємо блокування. Є два типи блокувань: DeadLock – описує стан, в якому всі процеси блоковані і не можуть вийти з стану блокування. У випадку LiveLock – процеси активні, тобто виконують операції, наприклад очікування.

  4. балансування завантаження процесора. Невмілий розподіл по процесорах призводить до втрати ефективності. Існує 2 види розподілу процесора: 1) статичний – на момент виконання програми перерозподіл не відбувається, недолік – нерівномірний розподіл процесора. 2) динамічний – перерозподіл під час виконання програми. Існують три способи керування міграцією процесора:

  • ініціатива адресації – метод ефективний у разі високої завантаженості процесора

  • ініціатива відправника. Ініціюють спробу віддати частину підпорядковану їм процесів іншим процсам.

  • Гібридний – перехід від ініціативи адресата до ініціативи відправника.

Переваги та недоліки методів балансування завантаженості:

  • процесор завантажується рівномірну продуктивність зростає

  • запобігання циркуляційної міграції процесів.

  • Недолік: навантаження на комутаційну мережу.

  • Недолік: всі методи балансування завантаженості вступають в роботу надто пізно, коли вже йдуть втрати ефективності.