- •Тема 1. Вступ в паралельні та розподілені обчислення.
- •Поняття паралелізму.
- •Два узагальнені підходи до досягнення паралельності.
- •3. Переваги паралельних обчислень
- •4. Найпростіша модель розпаралелення
- •Переваги розподілених обчислень.
- •6. Найпростіші моделі розподілених обчислень.
- •7. Мульти-агентні розподілені обчислення.
- •8. Основні етапи проектування паралельних та розподілених алгоритмів.
- •8.1. Декомпозиція
- •8.2. Зв'язок
- •8.3. Синхронізація
- •9. Базові рівні програмного паралелізму
- •9.1. Паралелізм на рівні інструкцій
- •9.2. Паралелізм на рівні підпрограм
- •9.3. Паралелізм на рівні об'єктів
- •9.4. Паралелізм на рівні програм
- •Тема 2. Архітектура паралельних обчислювальних систем.
- •Класифікація паралельних комп’ютерів та систем
- •Векторно-конвеєрні комп’ютери
- •Паралельні комп’ютери з спільною пам’яттю
- •Паралельні комп’ютери з розподіленою пам’яттю
- •Концепція grid або метакомп’ютеринг
- •Тема 3. Основні моделі паралельних та розподілених обчислень.
- •Основні типи паралельних програм.
- •Ітеративний паралелізм.
- •3. Рекурсивний паралелізм
- •4. Модель „виробники-споживачі"
- •5. Паралельна парадигма „клієнт - сервер"
- •6. Паралельна модель „взаємодіючі рівні"
- •Тема 4: Засоби розробки паралельних програм.
- •1.Основні підходи до розробки паралельних програм
- •2.Використання бібліотеки паралельного програмування pthreads
- •Навчальний приклад: Pthreads
- •3. Бібліотека паралельного програмування OpenMp
- •4. Бібліотека паралельного програмування мрі
- •Система програмування mpi
- •Властивості та класифікація процесу.
- •Незалежні та взаємодіючі обчислювальні процеси.
- •Види задач синхронізації паралельних процесів.
- •Синхронізація за допомогою блокування пам’яті.
- •Алгоритм деккера.
- •Команда “перевірка” та “встановлення”.
- •Використання семафорів для синхронізації та впорядкування паралельних процесів.
- •Монітороподібні засоби синхронізації паралельних процесів.
- •Поштові ящики.
- •Конвеєри.
- •Черги повідомлень.
Властивості та класифікація процесу.
Процеси
По приналежності до ЦП
|
|
До ОС
|
|
По генеологічному типу
|
|
По результативності
|
|
По динамічному типу
|
|
По зв’язності
|
|
Процеси реального часу - це процеси, які потребують такого планування щоб гарантувати закінчення процесу до певного моменту часу.
Інтерактивні – це процеси, час існування яких повинен бути не більший ніж інтервал часу допустимої реакції ЕОМ на запити користувачів.
Породжуючі – це процеси, які можуть породжувати існування інших процесів.
Процеси, які починають існувати в результаті існування іншого процесу називаються породженими. Коли процеси породжуючі і породжені, то вони називаються комбіновані.
Траса – це тривалість і порядок перебування процесу в допустимих станах на інтервалі існування.
Два процеси, які мають один і той же результат обробки даних в одній і тій же програмі на одному і тому ж, або на різних процесорах називаються еквівалентними. Траси еквівалентних процесів не співпадають. Якщо в кожному з еквівалентних процесів обробка даних проходить в одній і тій же програмі, але траси не співпадають, то такі процеи називаються тотожними. При співпаданні трас тотожних процесів їх називають рівними. Якщо інтервали двох процесів не пересікаються в часі, то такі процеси називаються послідовними. Якщо на певному інтервалі часу існують одночасно два процеси, то вони називаються паралельними. Якщо на певному інтервалі знайдеться хоча б одна точка в якій існує процес, але не існує інший і хоча б одна точка в якій ці два процеси існують одночасно, то ці процеси називаються комбінованими.
В операційних системах прийнято розрізняти не тільки час існування процесу, але й час його народження. Такою точкою відліку прийнято вважати ЦП. Процеси виконані на ньому називаються програмним або внутрішніми.
Зовнішні процеси – це процеси, розвиток яких проходить під контролем не ЦП, а інших.
Програмні процеси – поділяються на системні і користувацькі. При розвитку системного процесу виконується програма із складу операційної системи. При розвитку користувацького – програма користувача. Два процеси називаються взаємозв’язаними якщо між ними створюються зв’язки за допомогою системи управління процесів. В іншому випадку вони називаються ізольованими. Якщо два взаємозв’язані процеси використовують одні і ті ж ресурси, але не обмінюються між собою інформацією, то вони називаються інформаційно – незалежними. Якщо між двома процесами є інформаційні зв’язки, то вони називаються взаємодіючими.
