Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПЗ_лекції.docx
Скачиваний:
148
Добавлен:
23.02.2016
Размер:
136.33 Кб
Скачать

5.Планування потоків.

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

В одно процесорній системі потоки можуть використовуватись для структуризації програми і з метою перекриття операції введення-виведення обчислювальною роботою. Оскільки в порівнянні з переключенням процесів переключення потоків здійснюється з меншими витратами, тому воно має переваги у вартості. Але основна їх перевага проявляється тільки в багатопроцесорних системах, де потоки можуть використовуватись для досягнення саме паралельних обчислень в межах одного додатку. Якщо різні потоки одного додатку виконуються одночасно на різних процесорах , то в цьому випадку досягається підвищення продуктивності.

Лекція 16. Основні підходи до планування потоків.

1.Розділення навантаження.

Переваги підходу:

  • Завантаження рівномірно розподіляється між процесорами, забезпечуючи відсутність простою процесорів при наявності роботи.

  • Не потрібен централізований планувальник; коли процесор стає доступним , то він сам виконує підпрограму планування ОС для вибору чергового потоку.

Проаналізуємо три різні версії розділення навантаження:

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

        • Вибір процесу з найменшою кількістю потоків. Розділювала черга готових до виконання потоків організована як пріоритетна , причому найвищий пріоритет віддається потокам тих завдань, в яких залишилась найменша кількість не розпланованих потоків.

Дослідження, які проводились за допомогою імітаційного моделювання, показали, що за багатьма характеристиками стратегія FIFO переважає дві інших стратегії з розглянутих. Крім того, деякі види бригадного планування в цілому переважають розділення навантаження.

2.Бригадне планування.

Концепція одночасного виконання множини процесів на множині процесорів передує використання потоків. Цю концепцію ще називають груповим плануванням.

Її основні переваги:

  • Якщо тісно зв’язані процеси виконуються паралельно, то блокування, яке викликане синхронізацією знижується. Крім того, потрібно менше переключень процесів. Це призводить до підвищення продуктивності процесу.

  • Додаткові витрати, пов’язані з плануванням , зменшуються , оскільки одне рішення впливає на множину процесів і процесорів.

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

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