Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Відповіді 17-25.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
46.96 Кб
Скачать
  1. Основні архітектури пз для паралельного та розподіленого програмуван­ня

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

Чотири базові моделі, подані в табл. 2, і їх варіанти забезпечують основу для всіх паралельних типів архітектур Вибраний тип архітектури повинен максимально відповідати цьому природному паралелізму. Наприклад, паралелізм в рішенні, можливо, краще описувати за допомогою симетричної моделі, або моделі мережі з рівно­правними вузлами (peer-to-peer model)? в якій всі виконавці є рівноправними, на відміну від несиметричної моделі керуючийвиконавчий, в якій існує го­ловний (керуючий) процес, який керує всіма іншими процесами як підлеглими.

Таблиця 2.

Поширені архітектури ПЗ, які використовуються для паралельного і розподіленого програмування

Модель

Архітектура

Розподілене програмування

Паралельне програмування

Модель ведучого вузла, інакше кажучи:

  • головнийпідлеглий;

  • керуючийвиконавчий;

  • клієнтсервер

Головний вузол керує задачами, тобто контро­лює їх виконання і пере­дає роботу підлеглим задачам

Модель рівноправних вузлів

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

Векторна або конвеєрна (потокова) обробка

Один виконавчий вузол відповідає кожному еле­менту масиву (вектора) або кроку конвеєра

18)Uml-діаграми для створення багатопоточних паралельних та розподілених програм.

UML — уніфікована мова моделювання, використовується у парадигмі об'єктно-орієнтованого програмування.  UML був створений для визначення, візуалізації, проектування й документування в основному програмних систем. Подано сім UML-діаграм, які часто використовуються при створенні багатопоточних, паралельних або розподілених програм.

UML-діаграми, які використовуються при створенні багатопоточних, паралельних або розподілених програм

UML-діаграми

Опис

Діаграма (видів) діяльності

Різновид діаграми станів, в якій більшість станів (або всі) являють види діяльності, а більшість переходів (або всі) активізуються при виконанні деякої дії у вихідних станах

Діаграма взаємодії

Тип діаграми, що відображає взаємодію між об’єктами. Вза­ємодія описується у вигляді повідомлень, якими вони обмі­нюються. До діаграм взаємодії належать діаграми взаємодії, діаграми послідовностей і діаграми (видів) діяльності

Діаграма (паралельних) станів

Діаграма, яка показує послідовність перетворень об’єкту в процесі його реакції на події. При використанні діаграми паралельних станів дані перетворення можуть відбуватися на протязі одного і того ж інтервалу часу

Діаграма послідовностей

Діаграма взаємодії, в якій відображено організацію структури об’єктів, які приймають або відправляють повідомлення (акцент на впорядкування подій в часі)

Діаграма співробітництва

Діаграма взаємодії, в якій відображено організацію структури об’єктів, які приймають або відправляють повідомлення (акцент на структурній організації)

Діаграма розгортання (впровадження)

Діаграма, яка показує динамічну конфігурацію вузлів оброб­ки, апаратних засобів і програмних компонентів в системі

Діаграма компонентів

Діаграма взаємодії, в якій відображається організація фізич­них модулів програмного коду (пакетів) в системі залежності між ними