- •5. Паралельні і розподілені обчислення
- •1. Розширені мережі Петрі. Типи розширень. Модифіковані правила активізації і ввімкнення переходів.
- •2. Конвеєрна обробка. Пікова та реальна продуктивність. Графік залежності продуктивності конвеєрного пристрою від довжини вхідного набору даних.
- •3. Ступінь деталізації декомпозиції, ступінь паралелізму паралельного алгоритму. Граф залежності задач.
- •4. Взаємодія задач при паралельній обробці. Граф взаємодії задач.
- •5. Вартість операції, завантаженість пристрою, прискорення системи. 1-й закон Амдала.
- •6. Другий та третій закони Амдала.
- •7. Потоки і багатозадачність. Потік, процес, програма, багатопотоковість. Типи потоків, види багатозадачності. Правила використання потоків.
- •Правила використання потоків
- •8. Організація обчислень в машинах потоків даних.
- •Обчислення в мпд
- •9. Декомпозиція задач за вхідними даними.
- •10. Декомпозиція задач за вихідними даними.
- •11. Дослідницька декомпозиція задач.
- •12. Декомпозиція задач за проміжними даними.
- •13. Граф машин потоків даних (мпд) і його основні елементи.
- •14. Способи взаємодії ниток при багато потоковому програмуванні: семафори, події, взаємне виключення.
- •15. Рекурсивна декомпозиція. Приклад швидкого сортування масиву чисел.
Правила використання потоків
Для досягнення підвищеного паралелізму. Дуже часто додаткам вимагається виконувати декілька задач одночасно.
З метою спрощення конструкції.
Популярний спосіб спрощення структури складних систем – використання черг і асинхронної обробки. Щоб задіяти таку конструкцію вам доведеться підготувати черги для обробки подій, що відбуваються у вашій системі. Замість прямого виклику методів створюються об’єкти і поміщаються в черги, в яких відбувається їх обробка. На іншому кінці цих черг працює багато потокові серверні програми, налаштовані на відстежування повідомлень, що приходять в ці черги. Перевага спрощених конструкцій цього типу – надійність, стійкість і розширюваність заснованих на них систем.
Для ефективного використання процесорного часу.
Часто ваш додаток реально не виконує ніякої роботи, в той же час продовжуючи використовувати свій квант. Прикладом може служити очікування виводу документів на друк або закінчення операцій введення-виведення жорсткого диску CD-ROM. У кожному з цих випадків процесорний час не використовується. Ці випадки є кандидатами на перевід в потоки, що працюють у фоновому режимі.
8. Організація обчислень в машинах потоків даних.
Фундаментальні принципи концепції потоків даних (Dataflow Mashine) були розвинуті Дж.Деннісом [1] на початку 1970 років. Модель ПД анулює дві риси моделі фон Неймана – лічильник команд (program counter) і глобальну пам’ять (global updatable store), які стають „вузькими місцями” в продуктивності паралельних систем.
Принцип роботи таких систем базується на виконанні єдиного правила обчислення, більш відомого як правило „запалювання”(firing rule), яке називається правилом спрацьовування моделі ПД і визначає умову для виконання команд. Основне правило спрацьовування команд є загальним для всіх систем ПД і є наступним: команда оголошується готовою до виконання, як тільки обчислені всі операнди, що необхідні для її виконання[2]. Команда, для якої ця умова виконана, є командою, що спрацювала. Ефект спрацьовування команд призводить до поглинання вхідних значень і генерування вихідних. У відповідності до описаного вище правила, дана модель є асинхронною. Оскільки доступність обчислених операндів дозволяє одночасне виконання декількох операторів, паралельність дії є внутрішньою властивістю схем потоків даних [3].
Машина потоку даних взагалі не має справи з адресами комірок пам’яті в яких знаходяться деякі величини. Машина ПД має справу тільки з величинами (або значеннями), кожне з яких представляє самостійний об’єкт. Для позначення такого об’єкта використовується термін ”токен”. Ще одним фундаментальним поняттям концепції машини потоку даних є поняття оператора або ”актора”. Обчислення в машині ПД організується в такий спосіб: значення (токени) передаються між операторами (акторами), коли актор одержує всі необхідні значення для виконання операції він активізується, поглинає вхідні токени, а після цього завершення операції породжує токен результату, що пересилається до іншого актору, для якого він стає вхідним.
