Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Питання (відповіді).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
129.54 Кб
Скачать

Питання до модульного контролю з предмету паралельні обчислювальні процеси

  1. Що таке паралелізм?

Паралелізм - це властивість систем, при якій кілька обчислень виконуються одночасно, і при цьому, можливо, взаємодіють один з одним

  1. Ціль технології паралелізму?

Мета технологій паралелізму – забезпечити умови, що дозволяють ком­п’ютерним програмістам виконувати великий об’єм роботи за той же інтервал часу. Тому проектування програми повинне орієнтуватися не на виконання од­нієї задачі в деякий проміжок часу, а на одночасне виконання декількох задач, на які попередньо повинна бути поділена вся програма. Можливі ситуації, коли метою є не виконання великого обсягу роботи на протязі одного інтервалу часу, а спрощення рішення з огляду програміста. Інколи має зміст думати про рішен­ня проблеми як про множину задач які виконуються паралельно. Два основних підходи до реалізації паралелізму.

  1. Два основних підходи до реалізації паралелізму.

Паралельне та розподілене програмування – це два базових підходи до­сягнення паралельного виконання програмного забезпечення (ПЗ). Вони стано­в­лять дві різні парадигми програмування, які можуть перетинатися. Методи паралельного програмування дозволяють розподілити роботу програми між декількома процесорами в межах одного фізичного або одного віртуального комп’ютера. Методи розподіленого програмування дозволяють розподілити роботу програми між декількома процесами, причому процеси можуть існувати на одному і тому ж комп’ютері або на різних. Інакше кажучи, частини розподі­леної програми в більшості виконуються на різних комп’ютерах, зв’язаних ме­режею, або в крайньому випадку в різних процесах. Програма, яка містить па­ра­­лелізм, виконується на одному і тому ж фізичному або віртуальному комп’ю­тері. Таку програму можемо розділити на процеси (process) або потоки (thread). В межах лекційного курсу будемо притримуватися того, що розподілена прог­рама розділяється тільки на процеси. Багато поточність обмежується паралеліз­мом.

  1. Переваги паралелізму.

Програми, відповідна якості проектування яких дозволяє використати переваги паралелізму, можуть виконуватися швидше, ніж їх послідовні еквіва­ленти, що підвищує їх ринкову вартість. Інколи швидкість може врятувати жит­тя. В такому випадку швидше означає краще. Інколи вирішення деяких проблем є природним у вигляді колекції задач які виконуються одночасно. Це характер­но для наукового програмування, математики, програмування штучного інтеле­кту, кібернетики та робототехніки. Це означає, що в деяких випадках технології паралельного програмування зменшують затрати праці розробників ПЗ, дозво­ляючи прямо реалізувати структури даних, алгоритми і евристичні методи, які розробляються вченими.

  1. Найпростіша модель паралельного програмування (pram).

PRAM – це спрощена теоретична модель з n процесорами, які використовують загальну глобальну пам’ять. Прос­та модель PRAM зображена на рис. 3.

Всі процесори мають доступ для читання та запису до загальної глобальної пам’яті. Прий­маємо, що всі процесори можуть паралельно ви­конувати арифметичні та логічні операції. Крім того, кожен процесор може звертатися до пам’яті в одну неперервну одиницю часу. PRAM-модель володіє як паралельним, так і виключним алгоритмами зчитування даних. Паралельні алгоритми зчитування даних дозволяють одночасно звертатися до одної і тої ж області даних без псування (спотворення) даних. Виключні алго­рит­ми зчитування даних використовуються у випадку, коли необхідна гарантія, що ніякі два процеси не будуть зчитувати дані з одної і тої ж області пам’яті одночасно. PRAM-модель також володіє паралельними і виключними алгорит­мами запису даних.