Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
переклад - відредаговано.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
5.67 Mб
Скачать

7.2 Гілково-граничний алгоритм

Алгоритм для виявлення оптимального розміщення - класичний Гілково-граничний

алгоритм [1]. Ми починаємо з повністю відокремленого розміщення (Мал. 15(b)). Ми переміщаємо один

процесор в загальну частину, а отже створюємо новий підклас відокремлених розміщень (Мал. 15(c))., який ми потім мінімізуємо над цими відокремленими розміщеннями. Припустимо, що в приклад Мал. 15c клас з 5 процесорами в загальному розміщенні є мінімальним. Новий підклас показується в Мал. 15(d). Усі відокремлені розміщення дають вищі (чи рівні) значення, ніж відокремлене розміщення, яке є батьківським до нового класу. Класи організовані в деревовидній структурі. Мінімум зараз обчислюється над усім листки в дереві, у тому числі листки на переходах, які заздалегідь були розгорнуті.

Якщо ми припускаємо, що класи в Мал. 15(e) і (f) дають мінімальні значення, ми досягли оптимального розміщення. Обчислюючи клас, ми користуємося загальним розміщенням, складеним з товщиною розміщення як введення для функції g(Athick) і, r(Athin, t) де - Athick загальне розміщення конкатенувало з товстим розміщенням і - загальне розміщення складено з тонким розміщенням Athin. Додаючи результати (зважено z)двох функцій, ми набуваємо значення цього листка (g(Athick)+ zr(Athin, t)) . Практичне випробування показало, що багато різних видів розміщень, можливо, оптимальні залежно від цінностей n, k, q, t і z. Це знаходиться в контрасті з попередніми застосуваннями , що представляється в [9,10,11], (подивіться частину 9).

8 Твердження

Результати в цій статті засновані на теоретичному доказі, що веде до програми для яких коефіцієнт Ts(P, k, t)⁄ Td(P,q) максимальний. Ця частина результату не може бути перевірена на правильність

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

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

(погано працюючої програми) для параметрів n, q, і z дійсно призводить до значення близько до H(n, k, q, t, z)коли виконується в реальному багатопроцесорному середовищі. Ми зробили ряд перевірок на багатопроцесорних середовищах Сан/Solaris. Ми уперше перевіряли товсті програми, визначені трьома параметрами: число потоків (n), число активні потоки в кожному відрізку (q) часу і кількості роботи, що виконується в кожному відрізку часу (w); w означає число повторень над вектором довжини 1024 (кожен таке повторення іде приблизно 0.1 ms)., Користуючись Сан-ентерпрайз 4000, з 8 процесорами, ці програми виконуються, користуючись двома алгоритмами планування. Спершу ми використовували стандартний Solaris плануючи, де ніякі потоки не пов'язані до процесорів, а потім число потоків i є обмежене процесора ми (i мод k). Це означає, що, якщо число процесорів (k) – вісім і число потоків (n) складає 20, потім потоки 0, 8 і 16 пов'язане до процесорами рівне нулю. Як описано в частині 5, ми знаємо, що це оптимальний шлях зв'язати потоки. Коефіцієнт часу завершення, користуючись межею, панування на k процесорах, у порівнянні до непов’язаного пданування на q процесорах означають - h(n, k, q, w), що, для програми з n

потоками, потоки q дійсного стану в кожному слоті, і довжина слота w.

Ми розглядаємо випадки, коли q = k, 1 ≤ k ≤ 8, kn ≤ 20 і w = 100, 1000 і 10000 (рис. 16)., Ці значення h(n, q, k, w) порівнюються з теоретичними межами g(n,k,q,t=0,z) в рис. 16. Таблиці показують, що, коли w = 1000, n = 18 і k = q = 8, час завершення, користуючись межею, планвання, - 1.93 разів час завершення

користування стандартним вільним плануванням Solaris. таблиці також показують, що h(n, k, k, w) ніколи

не перевищує H(n, k, k, t=0, z). Тобто, виміри вказують, що H(n, k, k, t=0, z) є дійсно дійсна верхня межа. Коли w зростання, h(n, k, k, w) прибуває ближче в H(n, k, k, t=0, z), і вибираючи досить великий w, який ми можемо отримати довільно близько до H(n, k, k, t=0, z). Тому H(n, k, k, t=0, z) - оптимальна верхня межа, коли великий w, тобто H(n, k, k, t=0, z) є оптимальною верхнььою межею, коли маленький z (отже, скорочуючи дію тонкої частини).

Ми також зробили виміри для тонких програм. Тобто, програми, що полягають у ланцюжку потоків, які синхронізуются. Випробування розглядало випадок, де n = 8 і довжина ланцюжка синхронізації складає 100000. Ланцюжок виконувався на двох інший середовища: Сан-Ентерпрайз 4000, з вісьмома процесорами (середня затримка синхронізації нуля в нашій моделі) і випадку, коли вісім програм виконуються на восьми ідентичних комп'ютерах з'єднаних мережею. На SMP ми здійснювали синхронізації з семафорами і в розподілених системах, які ми послали однобайтові повідомлення UDP між комп'ютерами.

Ці виміри, показують, що коефіцієнт між тривалістю виконання поширюється у середовищі і SMP тривалість виконання складає 1/200, тобто 0.5%. У нашій моделі ми припускаємо, що цей коефіцієнт нульовий (відколи ми припускаємо, що SMP тривалість виконання цієї частини нульова)., Це означає, що наша модель має помилку 0.5% для тонкої частини програми порівнюючи ці два середовища. Відколи тонка частина не бере нульовий час, щоб виконуватися на SMP, межа все ще дійсна але не зовсім оптимальна, тобто в цьому випадку там є різниця 0.5%. Якщо час синхронізації в розподіленій системі зростає (тобто, якщо t росте), різниця стає меншою. Ми можемо зробити два висновки від тверджень:

• Спершу, межа, здається, дійсна для усіх програм. Це означає, що немає такої програми P, для якої коефіцієнт Ts(P, k, t)⁄ Td(P,q) перевищує межу.

• По-друге, межа оптимальна для грубих подрібнених програм. Тому, у товстій подрібнений програми P (тобто програми з маленький z), раціон Ts(P, k, t)⁄ Td(P,q) дорівнює межі. Межа також оптимальна для систем з дуже довгим часом (тобто для великого t) очікування синхронізації.

Тому, модель правильна для товстої частини (відколи ми можемо зробити цю частину довільно

товстою), і різниця для тонкої частини невелика для реалістичних врегулювань. Наші твердження обмежені середовищем Сан/Solaris, але ми вважаємо, що ці два укладення також триматимуть за інші середовища.