
- •Питання до модульного контролю з предмету паралельні обчислювальні процеси
- •Що таке паралелізм?
- •Ціль технології паралелізму?
- •Два основних підходи до реалізації паралелізму.
- •Переваги паралелізму.
- •Найпростіша модель паралельного програмування (pram).
- •Основні алгоритми паралельної роботи (записзчитування).
- •Класифікація схем паралелізму.
- •Проста модель розподіленого програмування.
- •Декомпозиція, зв'язок та синхронізація.
- •Базові рівні програмного паралелізму.
- •Стандарти мрі.
- •Стандарти кластерного програмування.
- •Стандарти corba.
- •Три рівні паралелізму в комп’ютерній програмі.
- •Проблема зв’язку та синхронізації в паралельному програмуванні.
- •Posix-специфікація: п’ять базових механізмів.
Питання до модульного контролю з предмету паралельні обчислювальні процеси
Що таке паралелізм?
Паралелізм - це властивість систем, при якій кілька обчислень виконуються одночасно, і при цьому, можливо, взаємодіють один з одним
Ціль технології паралелізму?
Мета технологій паралелізму – забезпечити умови, що дозволяють комп’ютерним програмістам виконувати великий об’єм роботи за той же інтервал часу. Тому проектування програми повинне орієнтуватися не на виконання однієї задачі в деякий проміжок часу, а на одночасне виконання декількох задач, на які попередньо повинна бути поділена вся програма. Можливі ситуації, коли метою є не виконання великого обсягу роботи на протязі одного інтервалу часу, а спрощення рішення з огляду програміста. Інколи має зміст думати про рішення проблеми як про множину задач які виконуються паралельно. Два основних підходи до реалізації паралелізму.
Два основних підходи до реалізації паралелізму.
Паралельне та розподілене програмування – це два базових підходи досягнення паралельного виконання програмного забезпечення (ПЗ). Вони становлять дві різні парадигми програмування, які можуть перетинатися. Методи паралельного програмування дозволяють розподілити роботу програми між декількома процесорами в межах одного фізичного або одного віртуального комп’ютера. Методи розподіленого програмування дозволяють розподілити роботу програми між декількома процесами, причому процеси можуть існувати на одному і тому ж комп’ютері або на різних. Інакше кажучи, частини розподіленої програми в більшості виконуються на різних комп’ютерах, зв’язаних мережею, або в крайньому випадку в різних процесах. Програма, яка містить паралелізм, виконується на одному і тому ж фізичному або віртуальному комп’ютері. Таку програму можемо розділити на процеси (process) або потоки (thread). В межах лекційного курсу будемо притримуватися того, що розподілена програма розділяється тільки на процеси. Багато поточність обмежується паралелізмом.
Переваги паралелізму.
Програми, відповідна якості проектування яких дозволяє використати переваги паралелізму, можуть виконуватися швидше, ніж їх послідовні еквіваленти, що підвищує їх ринкову вартість. Інколи швидкість може врятувати життя. В такому випадку швидше означає краще. Інколи вирішення деяких проблем є природним у вигляді колекції задач які виконуються одночасно. Це характерно для наукового програмування, математики, програмування штучного інтелекту, кібернетики та робототехніки. Це означає, що в деяких випадках технології паралельного програмування зменшують затрати праці розробників ПЗ, дозволяючи прямо реалізувати структури даних, алгоритми і евристичні методи, які розробляються вченими.
Найпростіша модель паралельного програмування (pram).
PRAM – це спрощена теоретична модель з n процесорами, які використовують загальну глобальну пам’ять. Проста модель PRAM зображена на рис. 3.
Всі процесори мають доступ для
читання та запису до загальної глобальної
пам’яті. Приймаємо, що всі процесори
можуть паралельно виконувати
арифметичні та логічні операції. Крім
того, кожен процесор може звертатися
до пам’яті в одну неперервну одиницю
часу. PRAM-модель володіє як паралельним,
так і виключним алгоритмами зчитування
даних. Паралельні алгоритми зчитування
даних дозволяють одночасно звертатися
до одної і тої ж області даних без
псування (спотворення) даних. Виключні
алгоритми зчитування даних
використовуються у випадку, коли
необхідна гарантія, що ніякі два процеси
не будуть зчитувати дані з одної і тої
ж області пам’яті одночасно. PRAM-модель
також володіє паралельними і виключними
алгоритмами запису даних.