Балансування навантаження (англ. load balancing) — це процес розподілення множини задач на множині ресурсів (обчислювальних одиниць), з метою зробити загальний час їхнього опрацювання більш дієвим. Балансування навантаження може оптимізувати час відповіді і запобігти нерівномірному навантаженню на окремі обчислювальні вузли тоді як інші обчислювальні вузли бездіють.
Балансування навантаження це предмет досліджень у галузі паралельних обчислень. Головні два підходи — статичні алгоритми, які не беруть до уваги стан різних машин, динамічні алгоритми, які зазвичай загальніші і дієвіші, але вимагають обміну інформацією між різними обчислювальними одиницями, що створює ризик падіння дієвості.
Огляд питання
Алгоритм балансування навантаження завжди намагається відповідати певній задачі. Серед іншого, природа задач, алгоритмічна складність, архітектура заліза, на якому алгоритм виконуватиметься, а також вимоги до [en] повинні бути взяті до уваги. Отже, доводиться йти на різні поступки, щоб якнайліпше відповідати потребам певного застосування.
Природа задач
Дієвість алгоритмів балансування навантаження критично залежиться від природи задач. Тому, що більше відомо про задачі під час ухвалення рішень, то більший потенціал для оптимізації.
Розмір задач
Повне знання про час виконання кожної задачі дозволяє досягти найліпшого розподілення навантаження (див. дуже простий алгоритм [en], що дає хороше наближення). На жаль, таких повних знань зазвичай немає.
З цієї причини існує декілька підходів, щоб отримати якесь уявлення про різні потрібні часи виконання. По-перше, у щасливому випадку, коли ми маємо відносно однорідний розмір, можливо припустити, що кожна задача має потребує середнього часу виконання. Інакше, якщо час виконання дуже нерівний, потрібні мудрованіші підходи. Один з них це додати певні метадані до кожної задачі. Покладачаючись на статистику часу виконання задач з подібними метаданими, можна зробити висновки для майбутніх задач.
Залежності
У деяких випадках, задачі залежать одна від одної. Ці взаємозалежності можна унаочнити через спрямований ациклічний граф. Зрозуміло, що деякі задачі не можуть стартувати допоки інші ще не завершені.
Припускаючи, що час необхідний для кожної задачі відомий заздалегідь, найліпший порядок виконання мусить мінімізувати загальний час виконання. Хоча це NP-складна задача задача і тому може бути складно отримати точний розв'язок. Існують алгоритми, як-от , які обчислюють оптимальний розподіл за допомогою метаевристичних методів.
Розбиття на підзадачі
Інша властивість задач критична для дизайну алгоритму балансування навантаження це їхня здатність під час виконання бути розбитими на підзадачі. Модель деревоподібних обчислень використовує цю властивість. Наприклад, в алгоритмі видпакового опитування незадіяна одиниця виконання випадковим чином опитує інших виконавців допоки не знайде зайнятий і просить його поділити його задачу між ними.
Статичні і динамічні алгоритми
Статичні
Алгоритм балансування навантаження статичний, якщо для розподілу задач він не бере до уваги стан системи. Стан системи включає міри як-от [en] (а іноді й перенавантаження) деяких процесорів. Натомість, припущення про усю систему робляться заздалегідь, наприклад, про час прибуття задач і ресурсні вимоги прибулих задач. Також алгоритм має глибшу інформацію про систему, як-от кількість процесорів, їхні потужності і швидкість зв'язків. Отже, статичне балансування навантаження намагається призначити відому множину задач доступним процесорам з метою унайменшити певну функцію швидкодії.
Техніки статичного балансування навантаження зазвичай централізовані довкола маршрутизатора або (мастера), який розподіляє навантаження і оптимізує функцію швидкодії. Ця мінімізація може брати до уваги інформацію пов'язану зі задачами, що їх треба розподілити і виводить очікуваний час виконання.
Перевага статичних алгоритмів це те, що вони легкі в налаштуванні і надзвичайно дієві у разі доволі регулярних задач (таких як опрацювання HTTP-запитів). Однак, все одно присутня статистична дисперсія в призначенні задач, що може призвести до перевантаження деяких обчислювальних одиниць.
Динамічні
На відміну від алгоритмів статичного розподілу навантаження, динамічні алгоритми беруть до уваги поточне навантаження кожної обчислювальної одиниці (також відомої як вузол) системи. Зі цим підходом, задачі можуть пути перерозподілені з перенавантаженого вузла на вільніший вузол, щоб пришвидшити опрацювання. Хоча ці алгоритми і набагато складніші спроєктувати, вони можуть дати чудові показники, зокрема, коли час виконання задач сильно різниться.
Динамічне балансування навантаження може бути модульнішим, бо необов'язково мати окремий вузол присвячений розподіленню роботи. Очевидно, що, якщо для ухвалення рішення алгоритм балансування навантаження вимагає занадто багато повідомлень між вузлами, то виникає ризик сповільнення розв'язання головної задачі.
Апаратна архітектура
Неоднорідні машини
Інфрасткуртура паралельних обчислень часто утворена з машин з різними характеристиками, які треба брати до уваги під час розподілення навантаження.
Наприклад, малопотужні машини можуть отримувати запити, які вимагають меншого об'єму обчислень, або, у випадку однорідних запитів чи запитів з невідомою необхідною кількістю обчислень, отримувати менше запитів ніж потужніші машини.
Спільна і розподілена пам'ять
Паралельні обчислення поділяють на дві широкі категорії: на ті, де всі процесори користуються однією спільною пам'яттю в яку і з якою вони всі пишуть і читають паралельно (модель з PRAM) і на ті, де кожна машина має свою окрему пам'ять (модель з [en]), а інформацією вони обмінюються за допомогою повідомлень.
Управління суперечками запису у випадку машин зі спільною пам'яттю значно сповільнює окремих виконавців. Однак, вони можуть чудово працювати паралельно. І навпаки, у випадку обміну повідомленнями, кожен процесор можу працювати в повну силу, але коли приходить час колективного обміну повідомленнями, всі чекають на останнього.
У дійсності, мало систем потрапляють чітко в одну категорію. Загалом, кожен процесор має внутрішню пам'ять, де він зберігає дані для наступних обчислень, і всі вони впорядковані в кластери. Часто, ці машини координуються через розподілену пам'ять і обмін повідомленнями. Отже, алгоритми балансування навантаження мусять бути чітко припасовані до паралельної архітектури.
Ієрархія
З точки зору ієрархії апаратних структур існує дві головні категорії алгоритмів балансування навантаження. З одного боку це такі, де завдання призначаються «розпорядником» і виконуються «робітниками», які доповідають розпорядникові про поступ у своїй роботі, а розпорядник бере відповідальність з призначення і перепризначення завдань у разі динамічного алгоритму. Література покликається до такого розкладу як до архітектури («Розпорядник-працівник»). З іншого боку, керування може бути розподілене між різними вузлами. Тоді алгоритм балансування навантаження виконується на кожному з них і відповідальність за призначення завдань (як і за перепризначення і за потреби розбиття) спільна. Друга категорія має на увазі динамічні алгоритми.
Також можливо мати проміжні стратегії, з, наприклад, провідним вузлом у кожному підкластері, який у свою чергу підпорядковується глобальному впорядкувальнику. Існують і багаторівневі організації, де архітектура «розпорядник-працівник» і розподілена архітектура чергуються, але такі стратегії швидко стають заскладними, тому рідко зустрічаються. Проєктувальники обирають алгоритми, якими легше керувати.
Пристосування для більших архітектур (масштабовність)
Алгоритми, що у вжитку дуже тривалий час (сервери, хмара тощо), з часом переживають еволюцію комп'ютерних архітектур. Однак, бажано не проєктовувати нові алгоритми на заміну вже готовим і випробуваним.
Отже, дуже важлива властивість алгоритму балансування навантаження це здатність пристосовуватись до масштабовних архітектур апаратного забезпечення. Це зветься масштабовність алгоритму. Алгоритм вважається масштабовним щодо якогось свого входового параметра, якщо його швидкодія залишається порівняно незалежною від розміру цього параметра.
Алгоритм, який здатний пристосуватись до змінної кількості обчислювальних одиниць, але їхня кількість мусить бути закріплена перед виконанням, називається формовним (англ. moldable). З іншого боку, якщо алгоритм здатний підлаштуватись до змінної кількості процесорів під час виконання, то кажуть, що алгоритм податливий (англ. malleable). Більшість алгоритмів балансування навантаження щонайменше формовні.
Відмовостійкість
Особливо в дуже великих комп'ютерних кластерах, не прийнятне виконання паралельних алгоритмів, які не можуть витримати втрату одного складника. Тому, були розроблені відмовостійкі алгоритми, які можуть визначати збої процесорів і відновлювати обчислення.
Підходи
Статичний розподіл з повним знанням про завдання:
Якщо задачі незалежні одна від одної, і їхні відповідні часи виконання можна ділити, то існує простий і оптимальний алгоритм — обчислення приросткової суми проходячи списком задач і призначаючи поточну задачу чи її частину поточному процесору.
Однак, якщо завдання неподільні, то, хоча оптимізація розподілення задач це складна задача, ми все ще можемо знайти приблизне відносно рівномірне розподілення завдань за умови, що розмір кожного завдання набагато менший, ніж час роботи кожного процесора.
Здебільшого розміри задач наперед невідомі, лише грубі наближені розв'язки наявні для такої задачі. Але алгоритм оснований на приросткових сумах непридатний для цього перебігу.
Статичне балансування навантаження без завчасних знань
Статичне балансування навантаження завжди можливе навіть геть без знання часу виконання.
В алгоритмі циклічного планування перший запит відправляють першому серверу, другий другому і так далі до останнього. Тоді знов першому і т.д.
Цей алгоритм можна оптимізувати так, щоб потужніші сервери отримували більше запитів і отримували ці запити першими.
Увипадковлений статичний
Увипадковлене статичне балансування навантаження це просто призначання завдань серверам випадковим чином. Цей метод працює вельми добре. Але, якщо кількість завдань відома наперед, то навіть ефективніше буде заздалегідь обчислити випадкову перестановку. Це виключає ціну обміну повідомленнями, бо більше нема потреби в розподільнику, бо кожен процесор знає які завдання призначені йому. Навіть якщо кількість завдань заздалегідь невідома все ще можливо уникнути додаткових комунікацій використавши псевдовипадкове породження призначень відоме всім процесорам.
Дієвість цієї стратегії (виміряна як повний час виконання для всього набору завдань) зменшується зі зростанням найбільшого розміру задачі.
Інші
Також існують інші методи призначення завдань:
- Геш: розподіляти запити згідно з геш-таблицею.
- Сила подвійного вибору: вибрати два сервери й обрати вдаліший з них.
Примітки
- Sanders, Peter; Mehlhorn, Kurt; Dietzfelbinger, Martin; Dementiev, Roman (11 вересня 2019). Sequential and parallel algorithms and data structures : the basic toolbox. ISBN .
- Liu, Qi; Cai, Weidong; Jin, Dandan; Shen, Jian; Fu, Zhangjie; Liu, Xiaodong; Linge, Nigel (30 серпня 2016). Estimation Accuracy on Execution Time of Run-Time Tasks in a Heterogeneous Distributed Environment. Sensors. 16 (9): 1386. Bibcode:2016Senso..16.1386L. doi:10.3390/s16091386. PMC 5038664. PMID 27589753. S2CID 391429.
- Asghar, Sajjad; Aubanel, Eric; Bremner, David (October 2013). A Dynamic Moldable Job Scheduling Based Parallel SAT Solver. 2013 42nd International Conference on Parallel Processing: 110—119. doi:10.1109/ICPP.2013.20. ISBN . S2CID 15124201.
- Punetha Sarmila, G.; Gnanambigai, N.; Dinadayalan, P. (2015). Survey on fault tolerant — Load balancing algorithmsin cloud computing. 2nd International Conference on Electronics and Communication Systems (ICECS): 1715—1720. doi:10.1109/ECS.2015.7124879. ISBN . S2CID 30175022.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Balansuvannya navantazhennya angl load balancing ce proces rozpodilennya mnozhini zadach na mnozhini resursiv obchislyuvalnih odinic z metoyu zrobiti zagalnij chas yihnogo opracyuvannya bilsh diyevim Balansuvannya navantazhennya mozhe optimizuvati chas vidpovidi i zapobigti nerivnomirnomu navantazhennyu na okremi obchislyuvalni vuzli todi yak inshi obchislyuvalni vuzli bezdiyut Diagrama sho unaochnyuye zapiti koristuvacha do klastera Elasticsearch rozpodileni balansuvalnikom navantazhennya Balansuvannya navantazhennya ce predmet doslidzhen u galuzi paralelnih obchislen Golovni dva pidhodi statichni algoritmi yaki ne berut do uvagi stan riznih mashin dinamichni algoritmi yaki zazvichaj zagalnishi i diyevishi ale vimagayut obminu informaciyeyu mizh riznimi obchislyuvalnimi odinicyami sho stvoryuye rizik padinnya diyevosti Oglyad pitannyaAlgoritm balansuvannya navantazhennya zavzhdi namagayetsya vidpovidati pevnij zadachi Sered inshogo priroda zadach algoritmichna skladnist arhitektura zaliza na yakomu algoritm vikonuvatimetsya a takozh vimogi do en povinni buti vzyati do uvagi Otzhe dovoditsya jti na rizni postupki shob yaknajlipshe vidpovidati potrebam pevnogo zastosuvannya Priroda zadach Diyevist algoritmiv balansuvannya navantazhennya kritichno zalezhitsya vid prirodi zadach Tomu sho bilshe vidomo pro zadachi pid chas uhvalennya rishen to bilshij potencial dlya optimizaciyi Rozmir zadach Povne znannya pro chas vikonannya kozhnoyi zadachi dozvolyaye dosyagti najlipshogo rozpodilennya navantazhennya div duzhe prostij algoritm en sho daye horoshe nablizhennya Na zhal takih povnih znan zazvichaj nemaye Z ciyeyi prichini isnuye dekilka pidhodiv shob otrimati yakes uyavlennya pro rizni potribni chasi vikonannya Po pershe u shaslivomu vipadku koli mi mayemo vidnosno odnoridnij rozmir mozhlivo pripustiti sho kozhna zadacha maye potrebuye serednogo chasu vikonannya Inakshe yaksho chas vikonannya duzhe nerivnij potribni mudrovanishi pidhodi Odin z nih ce dodati pevni metadani do kozhnoyi zadachi Pokladachayuchis na statistiku chasu vikonannya zadach z podibnimi metadanimi mozhna zrobiti visnovki dlya majbutnih zadach Zalezhnosti U deyakih vipadkah zadachi zalezhat odna vid odnoyi Ci vzayemozalezhnosti mozhna unaochniti cherez spryamovanij aciklichnij graf Zrozumilo sho deyaki zadachi ne mozhut startuvati dopoki inshi she ne zaversheni Pripuskayuchi sho chas neobhidnij dlya kozhnoyi zadachi vidomij zazdalegid najlipshij poryadok vikonannya musit minimizuvati zagalnij chas vikonannya Hocha ce NP skladna zadacha zadacha i tomu mozhe buti skladno otrimati tochnij rozv yazok Isnuyut algoritmi yak ot yaki obchislyuyut optimalnij rozpodil za dopomogoyu metaevristichnih metodiv Rozbittya na pidzadachi Insha vlastivist zadach kritichna dlya dizajnu algoritmu balansuvannya navantazhennya ce yihnya zdatnist pid chas vikonannya buti rozbitimi na pidzadachi Model derevopodibnih obchislen vikoristovuye cyu vlastivist Napriklad v algoritmi vidpakovogo opituvannya nezadiyana odinicya vikonannya vipadkovim chinom opituye inshih vikonavciv dopoki ne znajde zajnyatij i prosit jogo podiliti jogo zadachu mizh nimi Statichni i dinamichni algoritmi Statichni Algoritm balansuvannya navantazhennya statichnij yaksho dlya rozpodilu zadach vin ne bere do uvagi stan sistemi Stan sistemi vklyuchaye miri yak ot en a inodi j perenavantazhennya deyakih procesoriv Natomist pripushennya pro usyu sistemu roblyatsya zazdalegid napriklad pro chas pributtya zadach i resursni vimogi pribulih zadach Takozh algoritm maye glibshu informaciyu pro sistemu yak ot kilkist procesoriv yihni potuzhnosti i shvidkist zv yazkiv Otzhe statichne balansuvannya navantazhennya namagayetsya priznachiti vidomu mnozhinu zadach dostupnim procesoram z metoyu unajmenshiti pevnu funkciyu shvidkodiyi Tehniki statichnogo balansuvannya navantazhennya zazvichaj centralizovani dovkola marshrutizatora abo mastera yakij rozpodilyaye navantazhennya i optimizuye funkciyu shvidkodiyi Cya minimizaciya mozhe brati do uvagi informaciyu pov yazanu zi zadachami sho yih treba rozpodiliti i vivodit ochikuvanij chas vikonannya Perevaga statichnih algoritmiv ce te sho voni legki v nalashtuvanni i nadzvichajno diyevi u razi dovoli regulyarnih zadach takih yak opracyuvannya HTTP zapitiv Odnak vse odno prisutnya statistichna dispersiya v priznachenni zadach sho mozhe prizvesti do perevantazhennya deyakih obchislyuvalnih odinic Dinamichni Na vidminu vid algoritmiv statichnogo rozpodilu navantazhennya dinamichni algoritmi berut do uvagi potochne navantazhennya kozhnoyi obchislyuvalnoyi odinici takozh vidomoyi yak vuzol sistemi Zi cim pidhodom zadachi mozhut puti pererozpodileni z perenavantazhenogo vuzla na vilnishij vuzol shob prishvidshiti opracyuvannya Hocha ci algoritmi i nabagato skladnishi sproyektuvati voni mozhut dati chudovi pokazniki zokrema koli chas vikonannya zadach silno riznitsya Dinamichne balansuvannya navantazhennya mozhe buti modulnishim bo neobov yazkovo mati okremij vuzol prisvyachenij rozpodilennyu roboti Ochevidno sho yaksho dlya uhvalennya rishennya algoritm balansuvannya navantazhennya vimagaye zanadto bagato povidomlen mizh vuzlami to vinikaye rizik spovilnennya rozv yazannya golovnoyi zadachi Aparatna arhitektura Neodnoridni mashini Infrastkurtura paralelnih obchislen chasto utvorena z mashin z riznimi harakteristikami yaki treba brati do uvagi pid chas rozpodilennya navantazhennya Napriklad malopotuzhni mashini mozhut otrimuvati zapiti yaki vimagayut menshogo ob yemu obchislen abo u vipadku odnoridnih zapitiv chi zapitiv z nevidomoyu neobhidnoyu kilkistyu obchislen otrimuvati menshe zapitiv nizh potuzhnishi mashini Spilna i rozpodilena pam yat Paralelni obchislennya podilyayut na dvi shiroki kategoriyi na ti de vsi procesori koristuyutsya odniyeyu spilnoyu pam yattyu v yaku i z yakoyu voni vsi pishut i chitayut paralelno model z PRAM i na ti de kozhna mashina maye svoyu okremu pam yat model z en a informaciyeyu voni obminyuyutsya za dopomogoyu povidomlen Upravlinnya superechkami zapisu u vipadku mashin zi spilnoyu pam yattyu znachno spovilnyuye okremih vikonavciv Odnak voni mozhut chudovo pracyuvati paralelno I navpaki u vipadku obminu povidomlennyami kozhen procesor mozhu pracyuvati v povnu silu ale koli prihodit chas kolektivnogo obminu povidomlennyami vsi chekayut na ostannogo U dijsnosti malo sistem potraplyayut chitko v odnu kategoriyu Zagalom kozhen procesor maye vnutrishnyu pam yat de vin zberigaye dani dlya nastupnih obchislen i vsi voni vporyadkovani v klasteri Chasto ci mashini koordinuyutsya cherez rozpodilenu pam yat i obmin povidomlennyami Otzhe algoritmi balansuvannya navantazhennya musyat buti chitko pripasovani do paralelnoyi arhitekturi Iyerarhiya Z tochki zoru iyerarhiyi aparatnih struktur isnuye dvi golovni kategoriyi algoritmiv balansuvannya navantazhennya Z odnogo boku ce taki de zavdannya priznachayutsya rozporyadnikom i vikonuyutsya robitnikami yaki dopovidayut rozporyadnikovi pro postup u svoyij roboti a rozporyadnik bere vidpovidalnist z priznachennya i perepriznachennya zavdan u razi dinamichnogo algoritmu Literatura poklikayetsya do takogo rozkladu yak do arhitekturi Rozporyadnik pracivnik Z inshogo boku keruvannya mozhe buti rozpodilene mizh riznimi vuzlami Todi algoritm balansuvannya navantazhennya vikonuyetsya na kozhnomu z nih i vidpovidalnist za priznachennya zavdan yak i za perepriznachennya i za potrebi rozbittya spilna Druga kategoriya maye na uvazi dinamichni algoritmi Takozh mozhlivo mati promizhni strategiyi z napriklad providnim vuzlom u kozhnomu pidklasteri yakij u svoyu chergu pidporyadkovuyetsya globalnomu vporyadkuvalniku Isnuyut i bagatorivnevi organizaciyi de arhitektura rozporyadnik pracivnik i rozpodilena arhitektura cherguyutsya ale taki strategiyi shvidko stayut zaskladnimi tomu ridko zustrichayutsya Proyektuvalniki obirayut algoritmi yakimi legshe keruvati Pristosuvannya dlya bilshih arhitektur masshtabovnist Algoritmi sho u vzhitku duzhe trivalij chas serveri hmara tosho z chasom perezhivayut evolyuciyu komp yuternih arhitektur Odnak bazhano ne proyektovuvati novi algoritmi na zaminu vzhe gotovim i viprobuvanim Otzhe duzhe vazhliva vlastivist algoritmu balansuvannya navantazhennya ce zdatnist pristosovuvatis do masshtabovnih arhitektur aparatnogo zabezpechennya Ce zvetsya masshtabovnist algoritmu Algoritm vvazhayetsya masshtabovnim shodo yakogos svogo vhodovogo parametra yaksho jogo shvidkodiya zalishayetsya porivnyano nezalezhnoyu vid rozmiru cogo parametra Algoritm yakij zdatnij pristosuvatis do zminnoyi kilkosti obchislyuvalnih odinic ale yihnya kilkist musit buti zakriplena pered vikonannyam nazivayetsya formovnim angl moldable Z inshogo boku yaksho algoritm zdatnij pidlashtuvatis do zminnoyi kilkosti procesoriv pid chas vikonannya to kazhut sho algoritm podatlivij angl malleable Bilshist algoritmiv balansuvannya navantazhennya shonajmenshe formovni Vidmovostijkist Osoblivo v duzhe velikih komp yuternih klasterah ne prijnyatne vikonannya paralelnih algoritmiv yaki ne mozhut vitrimati vtratu odnogo skladnika Tomu buli rozrobleni vidmovostijki algoritmi yaki mozhut viznachati zboyi procesoriv i vidnovlyuvati obchislennya PidhodiStatichnij rozpodil z povnim znannyam pro zavdannya Yaksho zadachi nezalezhni odna vid odnoyi i yihni vidpovidni chasi vikonannya mozhna diliti to isnuye prostij i optimalnij algoritm obchislennya prirostkovoyi sumi prohodyachi spiskom zadach i priznachayuchi potochnu zadachu chi yiyi chastinu potochnomu procesoru Zalezhnist algoritmu balansuvannya navantazhennya vid podilnosti zadach Odnak yaksho zavdannya nepodilni to hocha optimizaciya rozpodilennya zadach ce skladna zadacha mi vse she mozhemo znajti priblizne vidnosno rivnomirne rozpodilennya zavdan za umovi sho rozmir kozhnogo zavdannya nabagato menshij nizh chas roboti kozhnogo procesora Zdebilshogo rozmiri zadach napered nevidomi lishe grubi nablizheni rozv yazki nayavni dlya takoyi zadachi Ale algoritm osnovanij na prirostkovih sumah nepridatnij dlya cogo perebigu Statichne balansuvannya navantazhennya bez zavchasnih znan Statichne balansuvannya navantazhennya zavzhdi mozhlive navit get bez znannya chasu vikonannya Ciklichne planuvannya V algoritmi ciklichnogo planuvannya pershij zapit vidpravlyayut pershomu serveru drugij drugomu i tak dali do ostannogo Todi znov pershomu i t d Cej algoritm mozhna optimizuvati tak shob potuzhnishi serveri otrimuvali bilshe zapitiv i otrimuvali ci zapiti pershimi Uvipadkovlenij statichnij Uvipadkovlene statichne balansuvannya navantazhennya ce prosto priznachannya zavdan serveram vipadkovim chinom Cej metod pracyuye velmi dobre Ale yaksho kilkist zavdan vidoma napered to navit efektivnishe bude zazdalegid obchisliti vipadkovu perestanovku Ce viklyuchaye cinu obminu povidomlennyami bo bilshe nema potrebi v rozpodilniku bo kozhen procesor znaye yaki zavdannya priznacheni jomu Navit yaksho kilkist zavdan zazdalegid nevidoma vse she mozhlivo uniknuti dodatkovih komunikacij vikoristavshi psevdovipadkove porodzhennya priznachen vidome vsim procesoram Diyevist ciyeyi strategiyi vimiryana yak povnij chas vikonannya dlya vsogo naboru zavdan zmenshuyetsya zi zrostannyam najbilshogo rozmiru zadachi Inshi Takozh isnuyut inshi metodi priznachennya zavdan Gesh rozpodilyati zapiti zgidno z gesh tabliceyu Sila podvijnogo viboru vibrati dva serveri j obrati vdalishij z nih PrimitkiSanders Peter Mehlhorn Kurt Dietzfelbinger Martin Dementiev Roman 11 veresnya 2019 Sequential and parallel algorithms and data structures the basic toolbox ISBN 978 3 030 25208 3 Liu Qi Cai Weidong Jin Dandan Shen Jian Fu Zhangjie Liu Xiaodong Linge Nigel 30 serpnya 2016 Estimation Accuracy on Execution Time of Run Time Tasks in a Heterogeneous Distributed Environment Sensors 16 9 1386 Bibcode 2016Senso 16 1386L doi 10 3390 s16091386 PMC 5038664 PMID 27589753 S2CID 391429 Asghar Sajjad Aubanel Eric Bremner David October 2013 A Dynamic Moldable Job Scheduling Based Parallel SAT Solver 2013 42nd International Conference on Parallel Processing 110 119 doi 10 1109 ICPP 2013 20 ISBN 978 0 7695 5117 3 S2CID 15124201 Punetha Sarmila G Gnanambigai N Dinadayalan P 2015 Survey on fault tolerant Load balancing algorithmsin cloud computing 2nd International Conference on Electronics and Communication Systems ICECS 1715 1720 doi 10 1109 ECS 2015 7124879 ISBN 978 1 4799 7225 8 S2CID 30175022