Page 38 - 4868
P. 38
Ошибка! Стиль не определен. 36
алгоритмами.
6. Взаємодіючі рівноправні– модель, в якій виключаєтьсякеруючий
потік, що не займається безпосередніми обчисленнями. Розподіл робіт в
такому додатку або фіксований заздалегідь, або динамічно визначається під
час виконання. Одним із поширених способів динамічного розподілу робіт
при створенні програм для обчислювальних систем із спільною пам’яттю є
«портфель задач». Портфель задач, як правило, реалізується за допомогою
спільної змінної, доступ до якої в один момент часу має тільки один процес.
Якщо ж пам’ять обчислювальної системи є розподіленою, то така схема
розподілу робіт перетворюється на схему «керівник-робітник», оскільки
«портфель задач» формується окремим процесом. Основними сферами
застосуванняданої моделі взаємодії є наукові обчислення з ітеративними
алгоритмами і системи, що вимагають децентралізованого прийняття рішень.
Запитання для самоперевірки
1. Назвіть причину зростання популярності використання графічних
процесорів.
2. Які існують відмінності у підтримці паралелізму на рівні CPU та
GPU?
3. У чому полягає суть апаратної реалізації SIMD моделі?
4. Що собою представляє технологія GPGPU?
5. Які програмні засоби в основному використовуються для організації
паралельних обчислень в технології GPGPU?
6. Назвіть основні складові процесу проектування паралельних програм.
7. На основі чого можна виконувати розбиття задачі на підзадачі?
8. Які існують рівні організації паралельних обчислень?
9. Назвіть проблеми, що можуть з’явитися при некоректній організації
зв’язків та синхронізації.
10. Які підходи використовуються під час проектування та написання
паралельних програм?
ЛЕКЦІЯ 6. РОЗПАРАЛЕЛЕННЯ І СИНХРОНІЗАЦІЯ
ПРОЦЕСІВ
6.1. Стан, дія, історія та властивості програми
Паралельним програмам властива більш висока складність у порівнянні
із послідовними.Вони співвідносяться з послідовними програмами, як шахи з
шашками.Одні і другі цікаві, але перші набагато інтелектуальніші останніх.
Станпаралельної програми складається із значень змінних програми в
деякий момент часу.Змінні можуть бути явно визначеними розробником або
неявними (подібно програмному лічильнику кожного процесу), що
зберігають приховану інформацію про стан.Паралельна програма починає
виконання з деякого початкового стану в якому вона перебуває.Кожен
процес програми виконується незалежно, і в міру виконання він перевіряє і