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

Опорний конспект лекцій

з дисципліни

„Технології розподілених систем та паралельних обчислень”

Розробив: _______ к.т.н., доцент

Турченко В.О.

Тема 1. Вступ в паралельні та розподілені обчислення.

  1. Поняття паралелізму.

  2. Два узагальнені підходи до досягнення паралельності.

  3. Переваги паралельних обчислень.

  4. Найпростіша модель розпаралелення.

  5. Переваги розподілених обчислень.

  6. Найпростіші моделі розподілених обчислень.

  7. Мульти-агентні розподілені обчислення.

  8. Основні етапи проектування паралельних та розподілених алгоритмів.

  9. Базові рівні програмного паралелізму.

  1. Поняття паралелізму.

Дві події називають одночасними, якщо вони відбуваються протягом одного і того ж тимчасового інтервалу. Якщо декілька завдань виконуються протягом одного і того ж тимчасового інтервалу, то говорять, що вони виконуються паралельно. Для нас термін паралельно не завжди означає "точно в один момент". Наприклад, два завдання можуть виконуватися паралельно протягом однієї і тієї ж секунди, але при цьому кожна з них виконується в різні долі цієї секунди. Так, перше завдання може відпрацювати в першу десяту частину секунди і припинитися, потім друга може відпрацювати в наступну десяту частину секунди і припинитися, після чого перше завдання може відновити виконання протягом третьої частки секунди, і т.д. Таким чином, ці завдання можуть виконуватися по черзі, але оскільки тривалість секунди з погляду людини вельми коротка, то здається , що вони виконуються одночасно. Поняття одночасності (паралельності) можна розповсюдити і на довші інтервали часу. Так, дві програми, що виконують деяке завдання протягом однієї і тієї ж години, поступово наближаючись до своєї кінцевої мети протягом цієї години, можуть (або можуть не) працювати точно в одні і ті ж моменти часу. Ми говоримо, що дані дві програми для цієї години виконуються паралельно, або одночасно. Іншими словами, завдання , які існують в один і той же час і виконуються протягом одного і того ж інтервалу часу, є паралельними. Паралельні завдання можуть виконуватися в одно- або багатопроцесорному середовищі. У однопроцесорному середовищі паралельні завдання існують в один і той же час і виконуються протягом одного і того ж інтервалу часу за рахунок контекстного перемикання. У багатопроцесорному середовищі , якщо вільна достатня кількість процесорів, паралельні завдання можуть виконуватися в одні і ті ж моменти часу протягом одного і того ж періоду часу. Основний чинник , що впливає на ступінь прийнятності для паралелізму того або іншого інтервалу часу, визначається конкретною програмою.

Мета технологій паралелізму — забезпечити умови, що дозволяють комп'ютерним програмам робити більший об'єм роботи за той же інтервал часу. Тому проектування програм повинне орієнтуватися не на виконання одного завдання в деякий проміжок часу, а на одночасне виконання декількох завдань , на які заздалегідь повинна бути розбита програма. Можливі ситуації, коли метою є не виконання більшого об'єму роботи протягом того ж інтервалу часу, а спрощення рішення з погляду програмування. Іноді має сенс думати про рішення проблеми як про безліч паралельно виконуваних завдань. Наприклад (якщо узяти для порівняння, наприклад, життєву ситуацію), проблему зниження ваги краще всього представити у вигляді двох паралельно виконуваних завдань : дієта і фізичне навантаження. Інакше кажучи, для вирішення цієї проблеми передбачається застосування строгої дієти і фізичних вправ в один і той же інтервал часу (необов'язково точно в одні і ті ж моменти часу). Звичайно не дуже корисно (або ефективно) виконувати одну підзадачу в один період часу, а іншу - абсолютно в іншій. Саме паралельність обох процесів дає природну форму шуканого рішення проблеми. Іноді до паралельності вдаються, щоб збільшити швидкодію програми або наблизити момент її завершення. В інших випадках паралельність використовується для збільшення продуктивності програми (об'єму виконуваної нею роботи) за той же період часу при вторинності швидкості її роботи. Наприклад, для деяких Web-сайтів важливо якомога довше утримувати користувачів. Тому тут має значення не те, наскільки швидко відбуватиметься підключення (реєстрація) і відключення користувачів, а скільки користувачів цей сайт зможе одночасно обслуговувати. Отже, мета проектування програмного забезпечення такого сайту — обробляти максимальну кількість підключень як можна більший проміжок часу. Нарешті , паралельність спрощує саме програмне забезпечення. Часто складну послідовність операцій можна спростити, організувавши її у вигляді ряду невеликих паралельно виконуваних операцій. Незалежно від приватної мети (прискорення роботи програм, обробка збільшеного навантаження або спрощення реалізації програми), наша головна мета - удосконалити програмне забезпечення, скориставшись принципом паралельності.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]