You are on page 1of 20

Моделювання паралельних

обчислень
Задачі моделювання
Оцінювання ефективності паралельних
обчислень застосовується у таких формах:
1) Оцінювання прискорення процесу
обчислень
2) Оцінювання максимально можливого
прискорення процесу обчислень
Модель обчислень
у вигляді графу « операції-операнди»
Припущення:
• усі обчислювальні операції виконуються з
однаковою з часовою затримкою рівною 1,
• передача даних між обчислювальними
пристроями здійснюється миттєво
(!вірно, якщо використовується спільна модель
пам’яті в розподіленій системи)
Структура графу
Вершини графу представляють операції
алгоритму.
Дуга між вершинами графу існує, якщо
операція – кінець дуги використовує
результат обчислень операції – старт дуги.
Приклад: модель алгоритму обчислення
площі прямокутника
Визначення часу виконання паралельних
обчислень
•• Мінімально
  можливий час виконання паралельного
алгоритму визначається довжиною максимального
шляху обчислювальної схеми алгоритму:
,
де - час виконання паралельного алгоритму на паракомп’ютері (з
нескінченно великою кількістю процесорів)
• Мінімально можливий час виконання паралельного
алгоритму, за умови, що кількість входів у кожну
вершину графу не перевищує 2, обмежений знизу
величиною

де n – оцінка складності алгоритму (кількість вхідних даних,


наприклад).
Визначення часу виконання паралельних
обчислень
• При
  зменшенні кількості використовуваних
процесорів час виконання алгоритму
збільшується пропорційно:

Окремий випадок: .
• Для будь-якої кількості використовуваних
процесорів виконується таке обмеження часу
виконання паралельного алгоритму:

де - час виконання послідовного алгоритму


Визначення часу виконання паралельних
обчислень
• Час
  виконання алгоритму, який наближений
до мінімально можливого часу , можна
досягнути при такій кількості процесорів:
. (Дійсно, оскільки )
При цьому,
якщо , то ,
якщо , то
Рекомендації до складання паралельних
алгоритмів
•   При виборі обчислювальної схеми повинен
1)
використовуватись граф з мінімально можливим
діаметром
2) Для паралельного виконання доцільно кількість процесорів
визначати величиною
3) Час виконання паралельного алгоритму обмежується
зверху величинами:

;
Показники ефективності паралельного
алгоритму
•• Прискорення,
  одержуване при використанні p
процесорів для реалізації паралельного алгоритму
складності n , оцінюється величиною:

• Ефективність використання процесорів при


паралельній реалізації алгоритму оцінюється
величиною:

Зауваження: , Якщо досягається , то говорять про


суперлінійне прискорення. Це можливо для алгоритмів з
нелінійною складністю
• Вартість обчислень
Приклад: алгоритм обчислення суми

•Сума
  S= послідовно розраховується у такі
кроки: S=0, S=S+ Схема цих обчислень має
такий вид і не може бути розпаралелена (!!!):
Приклад: алгоритм обчислення суми

Каскадна схема паралельного алгоритму


сумування:

  𝑛
𝑇 𝑝 = log2 𝑛 𝑝 = 2
 
Ефективність алгоритму обчислення суми

•Кількість
  операцій сумування:

Кількість паралельних операцій сумування:

Отже, , . Маємо такі оцінки ефективності:

Зауваження:
Модифікована каскадна схема
паралельного обчислення сум
 , кількість груп
 

 = -1+ = 2 -1-
  𝑛
𝑇 𝑝= −1 +𝑙𝑜𝑔 2 𝑝
Ефективність модифікованого каскадного
сумування
•  

Маємо (!!!):
Порівняння ефективності звичайного та
модифікованого каскадних алгоритмів
1.2

0.8

0.6 каскадний
каскадний модифікований

0.4

0.2

0
1 2 3 4 5 6 7 8 9 10 11
Виведення закону Амдала

𝑓  − частка коду , який не може бути розпаралелений

•   𝑇 1 𝑓 𝑇 1+ (1 − 𝑓 ) 𝑇 1 1
𝑆 𝑝= ≤ =
𝑇𝑝 (1 − 𝑓 ) 𝑇 1 ( 1− 𝑓 )
𝑓 𝑇1+ 𝑓+
Послідовна 𝑝
Паралельна 𝑝
частина коду частина коду
Максимально досяжний паралелизм

• Закон
  Амдала
,
де – частка послідовних обчислень в алгоритмі.
Наприклад, для каскадної схеми , тому
прискорення обмежене величиною

• Ефект Амдала: оскільки спадає при


зростанні , то є зростаючою функцією.
Аналіз масштабованості паралельних
обчислень
•• Паралельний
  алгоритм називають масштабованим
(scalable), якщо при зростанні кількості процесорів він
забезпечує збільшення прискорення при збереженні
постійного рівня ефективності використання
процесорів.
• Накладні витрати, які мають місце при виконанні
паралельного алгоритму, оцінюються величиною

• Для бажаного значення ефективності виконано


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

При , з останньої формули отримуємо .

You might also like