Nový zatěžovací balancer CPU od MIT

Systém Shenango plánují využít v datových centrech.

Nový zatěžovací balancer CPU od MIT
/ фото Marco Verch CC BY

Podle jednoho z poskytovatelů, datová centra používají zahodí celkem 20–40% dostupného výpočetního výkonu. Při vysokých zátěžích tento ukazatel může dosáhnout 60%.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ě je nečinných, 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ů vyvinula 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 repozitáře 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 DPDK, 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 kruhový buffer.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.

Nový zatěžovací balancer CPU od MIT

Shenango navíc využívá přístup work stealing.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 slov 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í uvádějí 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 uvádí 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é NUMA-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.

Nový zatěžovací balancer CPU od MIT
/ фото Tim Reckmann CC BY

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 GitHub.

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é dostupný veřejnosti.

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ě existuje 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ď implementují 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

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster