Nový nástroj pro vyrovnávání zatížení CPU od MIT

Systém Shenango je plánován pro použití v datových centrech.

Nový nástroj pro vyrovnávání zatížení CPU od MIT
/ foto Marco Verch CC BY

Podle jednoho z poskytovatelů datová centra použití pouze 20–40 % dostupného výpočetního výkonu. Při vysokém zatížení tento indikátor může dosáhnout 60 %. Toto rozdělení zdrojů vede ke vzniku takzvaných „zombie serverů“. Jsou to stroje, které většinu času stojí nečinně a plýtvají energií. Dnes 30 % serverů na světě jsou bez práce, která ročně spotřebuje elektřinu v hodnotě 30 miliard dolarů.

MIT se rozhodlo bojovat s neefektivním využíváním výpočetních zdrojů.

Inženýrský tým vyvinul systém vyrovnávání zátěže procesoru s názvem Shenango. Jeho účelem je monitorovat stav vyrovnávací paměti úloh a přerozdělovat zaseknuté procesy (které nemohou přijímat čas CPU) na volné počítače.

Jak Shenango funguje

Shenango je linuxová knihovna v C s vazbami Rust a C++. Kód projektu a testovací aplikace jsou zveřejněny v úložišť na GitHubu.

Řešení je založeno na algoritmu IOKernel, který běží na vyhrazeném jádře víceprocesorového systému. Spravuje požadavky CPU pomocí rámce DPDK, který umožňuje aplikacím přímo komunikovat se síťovými zařízeními.

IOKernel rozhoduje, kterým jádrům delegovat konkrétní úkol. Algoritmus také rozhoduje o tom, kolik jader bude potřeba. Pro každý proces jsou určena hlavní jádra (garantovaná) a další (burstable) – ta se spouštějí v případě prudkého nárůstu počtu požadavků na CPU.

Fronta požadavků IOKernel je organizována jako prstencový buffer. Každých pět mikrosekund algoritmus kontroluje, zda byly dokončeny všechny úkoly přiřazené jádru. Za tímto účelem porovnává aktuální polohu hlavy bufferu s předchozí pozicí jeho ocasu. Pokud se ukáže, že ocas byl již ve frontě v době předchozí kontroly, systém zaznamená přetížení vyrovnávací paměti a přidělí procesu další jádro.

Při distribuci zátěže mají přednost jádra, na kterých byl stejný proces proveden dříve a částečně zůstal v mezipaměti, nebo jakákoli nečinná jádra.

Nový nástroj pro vyrovnávání zatížení CPU od MIT

Shenango navíc přebírá přístup práce krást. Jádra přidělená ke spuštění jedné aplikace monitorují počet úkolů, které má každá druhá. Pokud jedno jádro dokončí svůj seznam úkolů dříve než ostatní, „uvolní“ část zátěže od svých sousedů.

Výhody a nevýhody

Na Slova inženýrů z MIT, Shenango je schopen zpracovat pět milionů požadavků za sekundu a udržet průměrnou dobu odezvy 37 mikrosekund. Odborníci tvrdí, že v některých případech může tato technologie zvýšit míru využití procesorů v datových centrech až na 100 %. Provozovatelé datových center tak budou moci ušetřit na nákupu a údržbě serverů.

Potenciál řešení slavit a odborníci z jiných univerzit. Podle profesora z korejského institutu pomůže systém MIT snížit zpoždění webových služeb. Bude se hodit například v internetových obchodech. V prodejní dny dochází dokonce ke druhému zpoždění načítání stránky приводит ke snížení počtu zobrazení stránek o 11 %. Rychlé rozložení zátěže pomůže obsloužit více klientů.

Technologie má stále nevýhody - nepodporuje multiprocesor V-systémy, ve kterých jsou čipy připojeny k různým paměťovým modulům a vzájemně „nekomunikují“. V tomto případě může IOKernel regulovat provoz samostatné skupiny procesorů, ale ne všech serverových čipů.

Nový nástroj pro vyrovnávání zatížení CPU od MIT
/ foto Tim Reckmann CC BY

Podobné technologie

Mezi další systémy pro vyrovnávání zátěže procesorů patří Arachne. Vypočítává, kolik jader bude aplikace potřebovat při spuštění, a podle tohoto ukazatele rozděluje procesy. Maximální latence aplikace v Arachne je podle autorů asi 10 tisíc mikrosekund.

Technologie je implementována jako knihovna C++ pro Linux a její zdrojový kód je dostupný na adrese GitHub.

Dalším balančním nástrojem je ZygOS. Stejně jako Shenango využívá technologie k přerozdělování procesů metodu krádeže práce. Průměrná aplikační latence při použití nástroje je podle autorů ZygOS asi 150 mikrosekund, maximum pak asi 450 mikrosekund. Kód projektu je také je ve veřejné doméně.

Závěry

Moderní datová centra se stále rozšiřují. Rostoucí trend je patrný zejména na trhu hyperscale datových center: nyní na světě tam je 430 hyperscale datových center, ale v příštích letech se jejich počet může zvýšit o 30 %. Z tohoto důvodu budou technologie pro vyrovnávání zátěže procesorů velmi žádané. Systémy jako Shenango jsou již k dispozici nářadí velké korporace a počet takových nástrojů bude v budoucnu jen růst.

Příspěvky z prvního blogu o firemním IaaS:

Zdroj: www.habr.com

Přidat komentář