Systém Shenango plánují využít v datových centrech.
/ фото
Podle jednoho z poskytovatelů, datová centra zahodí celkem 20–40% dostupného výpočetního výkonu. Při vysokých zátěžích tento ukazatel Takové rozdělení zdrojů vede k vzniku tzv. „zombie serverů“. Jsou to stroje, které většinu času stojí nevyužity, zbytečně spotřebovávající elektrickou energii. Dnes 30% serverů na světě , přičemž ročně spotřebovávají elektrickou energii za 30 miliard USD.
O neefektivním využívání výpočetních zdrojů se rozhodli bojovat na MIT.
Tým inženýrů systémem vyvažování zátěže na procesorech nazvaným Shenango. Jeho cílem je monitorovat stav úložiště úloh a redistribuovat „uvíznuté“ procesy (které nemohou získat procesorový čas) na volné stroje.
Jak funguje Shenango
Shenango je Linuxová knihovna napsaná v jazyce C s vazbami Rust a C++. Kód projektu a testovací aplikace byly publikovány v na GitHubu.
Základem řešení je algoritmus IOKernel, který běží na vyhrazeném jádru multiprocesorového systému. Řídí požadavky na CPU pomocí frameworku , který umožňuje aplikacím přímo komunikovat se síťovými zařízeními.
IOKernel rozhoduje, kterým jádrům přidělit konkrétní úkol. Algoritmus také určuje, kolik jader bude potřeba. Pro každý proces se určují hlavní jádra (guaranteed) a další (burstable) – druhá se spouští v případě náhlého zvýšení počtu požadavků na CPU.
Fronta požadavků IOKernel je organizována jako Každých pět mikrosekund algoritmus kontroluje, zda byly splněny všechny úkoly přidělené jádru. K tomu porovnává aktuální polohu „hlavy“ bufferu s předchozí pozicí jeho „ocasu“. Pokud se ukáže, že ocas měl již být ve frontě v době předchozí kontroly, systém označuje přetížení bufferu a přiděluje pro proces další jádro.
Při rozdělování zátěže se upřednostňují jádra, na kterých byl takový proces dříve prováděn a částečně zůstal v cache paměti, nebo jakákoliv nečinná jádra.

Shenango navíc využívá přístup Jádra vyhrazená pro práci jedné aplikace sledují počet úloh navzájem. Pokud jedno jádro dokončí svůj seznam úkolů dříve než ostatní, "sundá" část zátěže z okolních jáder.
Výhody a nevýhody
Podle inženýrů z MIT, Shenango je schopno zpracovávat pět milionů požadavků za sekundu a udržovat průměrnou dobu odezvy 37 mikrosekund. Odborníci tvrdí, že v některých případech může technologie zvýšit využití procesorů v datových centrech až na 100 %. Výsledkem bude, že provozovatelé datových center budou moci ušetřit na nákupu a údržbě serverů.
Potenciál řešení a specialistů z jiných univerzit. Podle profesora z korejského institutu pomůže systém z MIT snížit zpoždění při práci webových služeb. Například bude užitečný pro online obchody. V období výprodejů může i sekundy zpoždění načítání stránky načítání stránky vést ke snížení počtu zobrazení webu o 11 %. Rychlé rozdělení zátěže pomůže obsloužit více zákazníků.
Technologie má zatím nevýhody – nepodporuje vícejádrové -systémy, kde jsou čipy připojeny k různým paměťovým modulům a "nekomunikují" mezi sebou. V takovém případě může IOKernel regulovat práci oddělené skupiny procesorů, ale ne všechny čipy serveru.

/ фото
Analogické technologie
Mezi dalšími systémy zatížení na procesorech lze vyzdvihnout Arachne. Ta vypočítává, kolik jader bude aplikaci potřeba v okamžiku jejího spuštění, a podle tohoto parametru rozděluje procesy. Podle odhadů autorů je maximální zpoždění práce aplikace v Arachne kolem 10 tisíc mikrosekund.
Technologie je realizována ve formě knihovny C++ pro Linux a její zdrojový kód je k dispozici na .
Další vyvažovací nástroj je ZygOS. Stejně jako Shenango technologie používá pro přerozdělení procesů metodu work stealing. Podle údajů autorů ZygOS je průměrné zpoždění v práci aplikací při použití nástroje přibližně 150 mikrosekund, a maximální zpoždění je kolem 450 mikrosekund. Kód projektu je také .
Závěry
Moderní datová centra pokračují v rozšiřování, zejména trend zvýšení je patrný na trhu hyperscale datových center: nyní ve světě 430 hypermasivních datových center, avšak v blízké budoucnosti se jejich počet může zvýšit o 30 %. Z tohoto důvodu budou technologie vyvažování zátěže na procesory velmi žádané. Systémy jako Shenango se již teď velké korporace, a v budoucnu toto množství takových nástrojů jen poroste.
Příspěvky z Prvního blogu o podnikové IaaS:
Zdroj: habr.com
