Дана стаття присвячена аналізу паралельних алгоритмів. Розглянуто асимптотичні межі споживання ресурсів (в основному часу затраченого на виконання обчислення). Аналіз проводиться за умови використання декількох процесорних одиниць, що співпрацюють для виконання обчислень. Такий підхід дозволяє не тільки, визначити кількість «кроків» обчислення, але й визначити показник приросту швидкості обчислень відповідно до приросту кількості процесорів.
Огляд
Нехай, обчислення виконуються на комп'ютері з числом процесорів, що дорівнює p. Таким чином за допомогою Tp позначимо проміжок часу між початком обчислень та кінецем. Аналіз часу затраченого на виконання обчислень базується на наступних поняттях:
- Робота — це кількістний показник елементарних операцій, що були виконанні кількістю процесорів p для виконання обчислень. Позначається як Т1.
- Проліт — довжина найдовшої послідовності операцій, які повинні виконуватися послідовно. Проліт часто також називають критичною довжиною шляху або глибину розрахунку. Дуже важливо звести до мінімуму величину прольоту під час розробки паралельних алгоритмів, оскільки саме від величини прольоту залежить можливий максимально короткий термін виконання обчислень. Проліт також може позначатися як час T∞, що був затрачений для обчислень, що були виконані за умови використанням ідеалізованої машини з нескінченною кількістю процесорів.
- Вартість обчисення — показник загального часу витраченого процесорними одиницями для виконання обчислень.
З наведених вище понять та їх визначень випливає наступне:
- Закон Роботи — вартість обчислень завжди буде менша за роботу:
- Це пов'язано з тим фактом, що певна кількість процесорів p може виконувати не більше n операцій паралельно.
- Закону Прольоту — кількість процесорів завжди буде скінченним числом, а отже
Опираючись на вищеподані визначення і закони можна виділити наступні атрибути:
- Прискорення — це збільшення швидкості паралельних обчислень в порівнянні з послідовними: Sp = T1 ∕ Tp. Якщо прискорення Ω(n) для вхідного масиву даних з розміром n є лінійним, то випливає, що T1 ∕ Tp ≤ p. Ситуація коли T1 ∕ Tp = p називається досконалим лінійним прискоренням. Алгоритм, який показує лінійне прискорення вважається так званим масштабованим алгоритмом.
- Ефективність - величина прискорення, що припадає на один процесор: Sp ∕ p.
- Паралельність — відношення T1 ∕ T∞. Являє собою максимально можливе прискорення на будь-якій кількості процесорів. Згідно закону прольоту: p > T1 ∕ T∞, then T1 ∕ Tp ≤ T1 ∕ T∞ < p
Виконання на обмеженій кількості процесорів
Під час аналізу паралельних алгоритмів зазвичай припускається, що обчислення виконуються на ідеалізованій машині з необмеженою кількістю процесорних одиниць. В реальних умовах це не здійсненно, але оскільки будь-які обчислення, що виконуються паралельно, на N процесорах можуть виконані на p < N процесорах, то за умови виконання кожним процесором кількох блоків роботи, виникає так званий закон Брента.
Закон Брента стверджує:
Формулу також можна звести до наступного вигляду:
Див. також
Примітки
- Т. Кормен; Ч. Лейзерсон; Р. Рівест; К. Стайн (2009) [1990]. 27 Багатопотокові алгоритми. Вступ до алгоритмів (вид. 3rd). MIT Press і McGraw-Hill. ISBN .
- Casanova, Henri; Legrand, Arnaud; Robert, Yves (2008). Parallel Algorithms. CRC Press. с. 10.
- Blelloch, Guy (1996). (PDF). Communications of the ACM. Т. 39, № 3. с. 85—97. doi:10.1145/227234.227246. Архів оригіналу (PDF) за 4 березня 2016. Процитовано 2 червня 2016.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Dana stattya prisvyachena analizu paralelnih algoritmiv Rozglyanuto asimptotichni mezhi spozhivannya resursiv v osnovnomu chasu zatrachenogo na vikonannya obchislennya Analiz provoditsya za umovi vikoristannya dekilkoh procesornih odinic sho spivpracyuyut dlya vikonannya obchislen Takij pidhid dozvolyaye ne tilki viznachiti kilkist krokiv obchislennya ale j viznachiti pokaznik prirostu shvidkosti obchislen vidpovidno do prirostu kilkosti procesoriv OglyadNehaj obchislennya vikonuyutsya na komp yuteri z chislom procesoriv sho dorivnyuye p Takim chinom za dopomogoyu Tp poznachimo promizhok chasu mizh pochatkom obchislen ta kinecem Analiz chasu zatrachenogo na vikonannya obchislen bazuyetsya na nastupnih ponyattyah Robota ce kilkistnij pokaznik elementarnih operacij sho buli vikonanni kilkistyu procesoriv p dlya vikonannya obchislen Poznachayetsya yak T1 Prolit dovzhina najdovshoyi poslidovnosti operacij yaki povinni vikonuvatisya poslidovno Prolit chasto takozh nazivayut kritichnoyu dovzhinoyu shlyahu abo glibinu rozrahunku Duzhe vazhlivo zvesti do minimumu velichinu prolotu pid chas rozrobki paralelnih algoritmiv oskilki same vid velichini prolotu zalezhit mozhlivij maksimalno korotkij termin vikonannya obchislen Prolit takozh mozhe poznachatisya yak chas T sho buv zatrachenij dlya obchislen sho buli vikonani za umovi vikoristannyam idealizovanoyi mashini z neskinchennoyu kilkistyu procesoriv Vartist obchisennya pokaznik zagalnogo chasu vitrachenogo procesornimi odinicyami dlya vikonannya obchislen Z navedenih vishe ponyat ta yih viznachen viplivaye nastupne Zakon Roboti vartist obchislen zavzhdi bude mensha za robotu p T p T 1 displaystyle pT p geq T 1 Ce pov yazano z tim faktom sho pevna kilkist procesoriv p mozhe vikonuvati ne bilshe n operacij paralelno Zakonu Prolotu kilkist procesoriv zavzhdi bude skinchennim chislom a otzhe T p T displaystyle T p geq T infty Opirayuchis na vishepodani viznachennya i zakoni mozhna vidiliti nastupni atributi Priskorennya ce zbilshennya shvidkosti paralelnih obchislen v porivnyanni z poslidovnimi Sp T1 Tp Yaksho priskorennya W n dlya vhidnogo masivu danih z rozmirom n ye linijnim to viplivaye sho T1 Tp p Situaciya koli T1 Tp p nazivayetsya doskonalim linijnim priskorennyam Algoritm yakij pokazuye linijne priskorennya vvazhayetsya tak zvanim masshtabovanim algoritmom Efektivnist velichina priskorennya sho pripadaye na odin procesor Sp p Paralelnist vidnoshennyaT1 T Yavlyaye soboyu maksimalno mozhlive priskorennya na bud yakij kilkosti procesoriv Zgidno zakonu prolotu p gt T1 T then T1 Tp T1 T lt pVikonannya na obmezhenij kilkosti procesorivPid chas analizu paralelnih algoritmiv zazvichaj pripuskayetsya sho obchislennya vikonuyutsya na idealizovanij mashini z neobmezhenoyu kilkistyu procesornih odinic V realnih umovah ce ne zdijsnenno ale oskilki bud yaki obchislennya sho vikonuyutsya paralelno na N procesorah mozhut vikonani na p lt N procesorah to za umovi vikonannya kozhnim procesorom kilkoh blokiv roboti vinikaye tak zvanij zakon Brenta Zakon Brenta stverdzhuye T p T N T 1 T N p displaystyle T p leq T N frac T 1 T N p Formulu takozh mozhna zvesti do nastupnogo viglyadu T p O T N T 1 p displaystyle T p O left T N frac T 1 p right Div takozhOcinka komunikacijnoyi trudomistkosti paralelnih algoritmivPrimitkiT Kormen Ch Lejzerson R Rivest K Stajn 2009 1990 27 Bagatopotokovi algoritmi Vstup do algoritmiv vid 3rd MIT Press i McGraw Hill ISBN 0 262 03384 4 Casanova Henri Legrand Arnaud Robert Yves 2008 Parallel Algorithms CRC Press s 10 Blelloch Guy 1996 PDF Communications of the ACM T 39 3 s 85 97 doi 10 1145 227234 227246 Arhiv originalu PDF za 4 bereznya 2016 Procitovano 2 chervnya 2016