- •Теоретичні Аспекти на Межі Продуктивності і Толерантність Дефекту в Паралельному Обчисленні
- •1 Вступ
- •1.1 Дослідницькі Питання
- •1.2 Дослідницька Методологія
- •1.3 Дослідницьке Сприяння
- •2 Багатопроцесорне Планування (Частина I)
- •2.1 Класифікація планування проблем
- •2.2 Межі і Складність на Багатопроцесорному Плануванні
- •3 Баланс Навантаження і толерантність дефекту (Частина 2)
- •3.1 Модель Дефекту
- •3.2 Надійність проти Доступності
- •4 Підсумок Статей
- •4.1 Частина 1
- •4,2 Частина 2
- •5 Робота в майбутньому.
- •1 Вступ
- •2 Попередні результати
- •3 Визначення і основні результати
- •3.1 Позначення
- •3.2 Визначення
- •3.3 Основні результати і план статті
- •4 Перетворення програми р в нову програму що містить вузьку і широку частину.
- •4.1 Програма р’ як м-ідентична копія програми р
- •4.2 Продовження процесів
- •4.3 Від чотирьох копій в три нові програми
- •4.4 Перетворення програмP в програму з «товстою» і «тонкою» частинами
- •5 Товста частина
- •5.1 Перетворення p в q
- •5.2 Перетворення q в q'
- •5.3 Властивості розміщення товстої частини
- •5.4 Обчислення товстої частини
- •6 Тонка частина
- •7 Об'єднання товстих і тонких частин
- •7.1 Знахідка оптимального розміщення, що користується класами розміщення
- •7.2 Гілково-граничний алгоритм
- •8 Твердження
- •9 Обговорення
- •10 Висновки
- •Стаття 2 Стаття 2 «Максимальна Вигода Збільшення Числа пріоритетних Переривань у Багатопроцесорному Плануванні»
- •Введення до роботи
- •2. Формування проблем, позначення і основні результати.
- •2.1. Формулювання завдання
- •2.2. Позначення і терміни
- •(Білі прямокутники показують неперервні роботи)
- •2.3. Основний результат
- •3. Докази
- •3.1. Методи доведення
- •3.2. Перевищення програми p'
- •4. Висновки
- •5. Обговорення
- •6. Список літератури
- •Стаття III Використання лінійок Голомбо для оптимальних відновлюючих системах в розподілених обчисленнях толерантних до помилок
- •1 Вступ
- •2 Формулювання задачі
- •3 Загальна нижчня межа b
- •4. Ощадні Схеми Відновлення
- •5 Лінійка Голомбо
- •6. Висновок
- •7. Список літератури
- •8. Додаток: Оптимальні Послідовності
- •1 Вступ
- •1. Формулювання задачі
- •Попередня робота
- •Ощадливі Схеми Відновлення і Схеми Відновлення Голомбо
- •Модульна Схема Відновлення
- •Схеми Голомбо проти схеми модуля
- •8. Висновки
- •8. Список літератури
- •1 Вступ
- •2. Проблемне формулювання
- •3. Попереднє дослідження
- •4. Схеми відновлення
- •4.1. Нижчий mv межі
- •4.2. Послідовність s
- •4.3. Приклад послідовності
- •4.4. Регулярна схема відновлення
- •4.5. Приклад схеми відновлення, заснованої на послідовності
- •5. Схеми відновлення чотирикутника з непаралельними сторонами проти схеми відновлення Голомбо
- •6. Обговорення і укладення
- •7. Список літератури
- •8. Додаток
- •1 Вступ
- •2. Проблемна область
- •3. Попереднє дослідження
- •4. Проблемне формулювання
- •4.1. Найгірша кількість справ, що розглядаються у визначений період
- •4.2. Послідовне балансування навантаження
- •4.3. Оптимальні схеми відновлення
- •5. Головні результати
- •5.1. Комп'ютерні ланцюги
- •5.2. Приклад послідовності
- •5.3. Нормальні послідовності
- •5.4. Приклади: Голомбо, Ощадливий і послідовності модуля
- •5.5. Наваньаження компенсації ланцюгами
- •6. Напруженість mv
- •6.1. Алгоритм
- •7. Обговорення і укладення
- •8. Список літератури
2.3. Основний результат
Основні результати - наступне:
Теорема 1: Для усіх цілих чисел м >0 і 0 ≤i<j, ми маємо:
якщо
m≥i+j+1
формула може також бути записана, як
Кількість
може
бути певним комбінаторним або деревовидним
(Stern-Brocot розділ 3). Це також може вичислити
алгоритм, який має лінійну складність
(теорема 3), який отже також належить до
основних результатів. Це - специфічна
раціональна оцінка від нижче
m/n
кофефіцієнта,
який знаходиться в закритому інтервалі
.
3. Докази
3.1. Методи доведення
Обчислити формулу G(m, i, j) = maxPC(P,m, i)⁄C(P,m, j) характеристики підмножини екстремальних програм із структурним досить, щоб бути здатним сформулювати формулу. Це призводить до чисто математичного формулювання, яке розглянуто і вирішено в [12].
Ми починаємо з показу, що є екстремальні програми, які мають блочне j-планування.
Лема 1: (Продовження) Розглядають програмний P з оптимальним j-планування. Ми еретворюємо P в програмі P., подовжуючи деякі з робіт таким чином, що усі процесори є постійно зайнятий C(P,m, j) таким чином, що C(P,m, j) = C(P′,m,j).
Доказ: Ця зміна не може зменшити i- робочий інтервал, але, можливо, збільшує при незмінному j- робочому інтервалі.
Цією лемою нам тільки треба розглядати програми, які мають оптимальне i-планування яке є графіком блоку. Якби тільки явно заявлено інакше, ми нормалізуємо j -робочий інтервал до 1. Від цієї нормалізації це звичайно слідує, що сума усього виконання часу програми на м процесорах - м. Ми надалі розглядаємо тільки такі програми.
3.2. Перевищення програми p'
Лема 2: У найгіршому випадку програма P', яка має m+i+1 роботи, де усі роботи у тій же j-cluster мають той же розмір, і де дві найменші роботи не вивантажено. Отже, критичний процесор обробляє 2-опори.
Доказ: Як частину нашого доказу ми тимчасово представляємо обмеження планування роботи по дорозі до процесорів, користуючись i пріоритетними перериваннями. Це обмеження визначається оптимальним графіком тих же програмних використовуючих j пріоритетних переривань. Без втрати загальності ми, можливо, припускаємо, що оптимальний графік, що користується j пріоритетними перериваннями, складається з c пріоритетного переривання групи. Кожна така група складається з одного або більше процесорів - група визначає специфіку групи процесорів, які релевантні також для i-планування. Це має на увазі це там
- група процесорів, що асоціюються з кожною групою пріоритетних переривань. Тимчасове обмеження на i-планування, який ми представляємо, як усі роботи, на яких планується процесор в груповому k 1 ≤k≤c в цьому оптимальному j-плануванні належать до тієї ж групи процесорів в i-плануванні. Через майбутній порякок обговорення і базуючись на попередньому обговоренні виникає [2] ми отримаємо екстремальну програму і екстремальний коефіцієнт під цим обмеження. Ми потім покажемо, що час завершення для цього програмного використовуючого i пріоритетні переривання - фактично те ж чи ми застосовуємо обмеження або (не конструкцією ми знаємо, що час завершення, що користується j пріоритетними перериваннями, складає завжди 1), тобто коефіцієнт для екстремальної програми, отриманий таким чином, фактично тим же, що ми застосовуємо при обмеженні. Обмеження, можливо, збільшує час завершення, але ніколи не зменшує його.
Ми запускаємо обговорення, яке приводитиме нас до екстремальної програми, використовуючи обмеження. Ми починаємо розглядати екстремального програмного P з обмеженням. Із-за обмеження, тільки рівень свободи, яку ми маємо, коли ми вирішуємо, як планувати програму - те, скільки з i пріоритетних переривань, які ми призначимо кожній групі процесорів Відколи ми є зацікавлено в порівнянні оптимальних графіків, ми звичайно призначимо i пріоритетні переривання групи c процесора в оптимальному шляху. Користуючись цим оптимальним призначенням, яке ми розглядаємо групу процесорів, яка містить процесор з найдовшим часом виконання, тобто група, яка обмежує час завершення повної програми. Без втрати загальності ми припускаємо, що це група 1, що містить m1 процесори, і j1 = m1 – 1 пріоритетні переривання, користуючись j пріоритетними перериваннями. У i-плануванні ми означимо
число пріоритетних переривань в групі 1 i1. Із-за тимчасових плануючих обмежень ми можемо вважати групу 1 ізольованою від інших . Із попередніх результатів [2] ми знаємо, що екстремална (частина) програми P, яка виконується на групі 1, полягає в n1 = m1+i1+1 роботі рівної довжини m1/n1.
Проте, відколи ми розглядаємо оптимальне призначення пріоритетних переривань до процесора
групи ми знаємо, що час завершення групового k зросте на ik – 1 таким чином, що це стає довшим (чи щонайменше, поки) час завершення групи 1, користуючись i1 пріоритетними перериваннями, тобто
груповий k потім стане критичною частиною програми. Це означає, що, коли ik > 0 потім частина програмного P, який працює на груповому k, має бути екстремальною для пріоритетних переривань.
Ми користуємося цим відкриттям нижче.
Ми створюємо програму P', яка ідентична програмі P в групі 1. Ми до того ж розглядаємо точно такий же розподіл пріоритетного переривання серед груп в P', як і в P. В P' ми знаємо більше про процеси в інших групах, ніж в P, тому що ми також припускаємо , що груповий k має nk = mk + ik процеси, що мають ідентичний розмір в межах кожної групи. Тобто, ми припускаємо, що P' має ту ж структуру в усіх групах, як в групі 1. Ми потім показуємо, що від P, екстремальний, це слідує, що також P' екстремальний.
Для цього нам треба показати, що поширення пріоритетного переривання є оптимальним
бо P оптимальний також для P'. Тобто, якщо пріоритетні переривання поширюються по-іншому для P'
час завершення не може бути нижче. Тепер зважаючи, коли ми в P' переміщають одно з ik пріоритетних переривань від група процесорів k до групи процесорів 1. Означимо час завершення для програмного P в груповому k by c(P, k),і ту ж кількість після пріоритетного переривання перемістив c'(P, k). Потім ми знаємо
що c(P,
1)
=
c(P′,
1)
(P'
і
P
ідентичні
в групі 1), c′(P,k)≤
c′(P′,
k)
([2]), іc(P,
1)≤
c′(P,k)
(поширення пріоритетного переривання
оптимальне для P).
Отже
c(P′,
1)≤
c′(P′,
k),
так
поширення пріоритетного переривання
оптимальне також для
P'.
Отже, nk
= mk
+ ik
дійсний
для усіх груп процесора в екстремальному
програмному P'
за
винятком групи 1, де ми маємо .
n1 =
m1+i1+1,
Це означає, що це там є
роботи
в екстремальній програмі.
Мається на увазі час завершення програмного P' не може бути меншим. Як наслідок, ми не можемо
отримайте більше маленький час завершення для P' також, коли ми видаляємо обмеження. Починаючи з видалення обмеження, можливо, примушує час завершення бути нижче, це слідує, що програмний P' екстремальний також без обмеження.
З моменту коли програма сконструйована, ми потім знаємо, що ми отримуємо час завершення
с 2(m1/n1), користуючись оптимальним графіком для i пріоритетних переривань, і що кількість праці в гурті 1 (m1/n1) менша, довжина робіт у будь-якії іншії групі. Дві найменші роботи формують критичну опору, яка є змістом процесора тільки двох робіт, що неперервні. Проблема виявлення екстремальної програми - отже проблема виявлення програми
з m+i+1 роботами, де дві найменші роботи такі великі як можливий, для присвоєння значень на м, j і i.
3.3. Формула для G(m, i, j)
Робота з програмою P', як визначається вище, потрібна для того, щоб вичислити формулу.
Маючи процесори м і роботи, ми можемо негайно сказати, що G(m, i, j)≤ 2m⁄(m+i+1)- середнє значення робіт розмірів (ми припускаємо, що час j-завершення P' складає 1), а дві найменші роботи формують критичну опору. Ми також знаємо, що усі роботи в тому ж i-кластері мають той же розмір.
оптимальне значення більшості випадків, менше, ніж це.
Припустимо,
що оптимальний i-графік
P' має
c
груп.
Для того, щоб знайти найгірший випадок,
нам треба поширювати роботи і процесори
м
на
c
групи.
Це дає c
коефіцієнти,
m1⁄n1,…,
mc
⁄
nc
де m1+…+mc
=
m
і n1+…+nc
=
n.
Ми зацікавлені в найменшому з цих
коефіцієнтів : min(m1⁄n1,…,
mc
⁄
nc),
які формують критичну точку в
j-графіку.
Якщо
ми вибираємо поширення
m1,
…,
mc
і n1,
…,
nc
таким чином, що цей мінімум максимальний,
ми маємо «программу на йгіршого випадку».
Отже
де
максимум прийнятий усю безліч цілих
чисел
m1,
…,
mc
і
n1,
…,
nc
де
усе mk
>
0
і nk
≥
0
інший, і число групи
c
залишаються,
щоб бути вказаним. Також, важливо знайти,
що ефективний алгоритм обчислює цю
кількість. Цьому було приділено увагу
в [12]. Стаття описує алгоритм, який є
O(мах(n,
m)),
тобто це має у більшості лінійну
складність в n
і
м.
Наступна примітка нам показує:
Визначення
1.
,де
максимум взятий зпоміж цілих чисел
m1,
…,
mc
і
n1,
…,
nc
таким
чином
m1
+ …
+ mc
= m,
n1 +
…
+ nc
= n
всі
mk
>
0
і
nk
≥
0і
Мотивацією
для цієї примітки є те, що вона має
практичне застосування. У мінімумі
min(m1⁄n1,…,
mc
⁄
nc),
де m1+…+mc
=
m
і, n1+…+nc
=
n
шукаючи
раціональну оцінку
коефіцієнта
м/
n
нижче.
Коефіцієнт
м/n
розщеплений
в c
коефіцієнти,
і більший c,
більше незріла оцінка, яку ми отримуємо.
Стартове значення -
c
= 1,
де
, а
потім
не
зменшується аж поки значення
c
=
n,
де залишок - ціле число, над функцією :
.
Ми не записуємо кількість
з фракційною смугою, як
відколи
взагалі.
Повертаючись до багатопроцесорного контексту, потім ми пробуємо знайти значення c
в термінах м, n, i і j. Скільки групи c - найгірший випадок? Припустимо, що ми маємо велике число процесорів, таким чином, що цей номер не формулює ніякого обмеження. Потім роботи в певній групі (пам'ятайте, що усі роботи в тій же групі мають той же розмір) вони є, на стільки великі на скільки це можливо, якщо вони є якомога менші, тобто, якщо ми в j-плані мамаємо c = i +1 чисті групи McNaughton.
Це означає, що кожна група має ще одну роботу між процесорами. Ці групи мають j - пріоритетні переривання поширювані серед i + 1 груп.
Тоді найменші роботи настільки великі на скільки можливо, якщо групи є, відсортнованими порівну також наскільки можливо.
Отже,
деякі групи мають
пріоритетні переривання, і інші мають
пріоритетних
переривань. Ці i
+ 1
група містять
або
процесори,
відповідно. Підсумовуючи число процесорів
групи дають в повному
j
+ i +
1 процесор, ми тепер розглядаємо випадок
групи з
пріоритетними
перериваннями мають найменші роботи,
від яких критична опора сформована
в
i-графік.
Така група містить
роботи
на
процесорах.
До того ж, i
+ 1
група містять
або
роботи
відповідно, які дають в повному 2i + j + 2 робіт. Ми довели простішу формулу m≥i+j+1.
Лема
3:, Якщо
m≥i+j+1
ми маємо
Якщо, m>i+j+1 деякі процесори містять невивантажені роботи в обох i- і j-графіках.
Якщо м менше ніж, i+j+1 якщо m–j< i + 1, ми в j-графіку скорочують кількість з груп від i + 1 до м - j групи.
Це
дозволяє усім пріоритетним перериванням
бути використаним який вимагає оптимальний
графік. Починаючи з
n
=
м
+ i + 1,
тотожність
потім дає
,
Ми зараз можемо підсумовувати основний результат в теоремі, повторюючи Теорему 1 частина 2.
Теорема
2: Для
усього м
>0
цілих чисел і 0
≤i<j,
ми маємо:
.
Якщоm≥i+j+1,
формула може також бути записана як
.
Значення
може
бути вичислене наступним алгоритмом.
Тут x←y
має
значення призначення значення
y
до
змінного x.
Алгоритм 1 - обчислюючи значення .
1. a←m мод n іb←n .
2. Ініціалізуйте: l ← 0, L ← 1, r ← 1, R ← 1, x←b–a, y←a.
3. Якщо
c
>max(
x,
y)
потім
і
прямують 7.
4. Якщо
x= y
потім
і
прямують
7.
5. Якщо x<y виконують, l←l+r L←L+R y ←y–x, і прямують 3.
6. Якщо x>y виконують , r←l+r R←L+R x ←x–y, і прямують 3.
7.
.
У Теоремі 3, ми імпортуємо від [12] алгоритм, який генерує усі кількості
для c = 1,..., n, як векторний F. Припускають, що м і n не має ніякого загального множника.
У [12]
доведено, що
це
вихідна частка для m⁄n
. До того ж, кращий декомпозиція m⁄n
в двох коефіцієнтах, де найменший дає
,
полягає двох коефіцієнтів m⁄n,
які вихідні в дереві (Stern-Brocot, див. рис.
2). Потрійне, де найменший коефіцієнт
,
створено з пар розкладаючи коефіцієнт
обоє, який належить до останньої
генерації.
Це
може бути ітеровано подальшими c
– 2
кроками, для отримання
Рис.2
Дерево розщеплення
і
«Штерна-Беркота
Теорема
3:, Якщо
m⁄n
= k
для
деяких цілих k,
то
. Інакше послідовність
обчислюється наступними двома алгоритмами.
У алгоритмах, стрілка ← використана в трьох різних способах:
1. Якщо x – число x←y, означає призначення значення y до мінливого x.
2.Якщо
x
–
послідовність, А або
B,
має на увазі вставку значення
y
між
позиціями
p і p + 1 у векторному x. Векторний x має максимальний довжина n, так входи вставили
після довжина c проігноровані. Отже, значення вправо від p у векторному x - усі
juxtapositioned один крок управо, і довжина векторного x збільшена.
3. Якщо
x
-
послідовність F,
мається
на увазі додавання в кінець
i
копій
значення y
після
витримки позиція в
x.
Довжина
вектору отже зростає i.
Алгоритм
2, частина 1 – конструювання
1. Нехай d=GCD(m,n) . Приписаний m←m⁄d і n←n⁄d також приписаний m←m мод n.
2.
Ініціалізуйте:
,B
=
(0,
1),
l
←
0,
L
←
1,
r
←
1,
R
←
1,
g
=
2, p
=
1.
3. Зробіть
,
і
,
і g←g+
1 і прямують
відповідного випадку 4a, 4b або 4c.
4a.,
Якщо
,
виходять з повторення і прямують 5.
4b.,
Якщо
,
виконуює r←l+r
і R←L+R
і прямують 3.
4c.,
Якщо
,
виконують l←l+r,
L←L+R
і і прямують 3.
5. p ← p + 1 , g←g– 1 і Вихід.
Алгоритм 2, частина 2 – пошук
1. Алгоритм починається з цінностей, визначених Алгоритмом l, тобто: p, g від 5, d від l
і A
і
B від 3. До того ж, ініціалізуйте як пара:
F - порожня послідовність. Тоді x←p–
1,
i
u ← 1, q←g.
2. q←q– 1. Виберіть i таким чином, що B(i) = q .
3a.,
Якщо q =
0,
і виходять з повторення, тобто прямують
4.
3b.,
Якщо i<p,
,
x←x–
1,
v←v+u.
Прямують 2.
3c., Якщо i>p, u←v+u . Прямують 2.
4. Якщо d > 1, копіюйте кожне значення в F в d копіює без заміни замовлення. Це збільшує довжину вектору чинником d.
5. Додайте усім значенням F.
6.
, де
.
Складність алгоритму є O(n).
Алгоритм 2 складається з двох окремих частин. Спершу ми конструюємо вихідну частку
послідовнщсті
і відповідна інформація
.
породження В другому алгоритм ми працюємо
в зворотному напрямку вихідної
послідовності, щоб сконструювати
відповідні С-значення
і
послідовності
,
тобто значення
для усіх c
= 1,...,
n.
Ми закінчуємо секцію коротким описом (Рис. 2) дерева Штерна-Боркота. Першу частина алгоритму конструює це дерево, і друга частина шукає назад в нім
переходи. Це дерево повністю представляється в [8]. Близько воно може ітераційно бути сконструйований
"Mediant
(середнє) додавання" :
. Починаючи з послідовності коефіцієнта
і
проводячи
середні в міжсередніх інтервалах, ми
отримаємо
,
що йде за
і,
і так далі, в кожному кроці, що додає
нове покоління коефіцієнтів.
Відмітьте, що замовлення розміру збережене: усі послідовності зростають. Дерево сформоване
приєднуючи до пов'язаних коефіцієнтів краями, і дозволяючи кожному породженню сформувати певний рівень
у дереві. Це доводиться в [8] що усі ненегативні коефіцієнти відбуваються точно одного разу в дереві
і з'являються завжди в найдовші терміни. Вище мивстановили доцільність кількості для насушних проблем у мультипроцессорному плануванні. У [12], доведено доцільність дерева Stern-Brocot, для кількості виявлена, і доведено, що алгоритм дає .
