Nový vyvažovač záťaže CPU od MIT

Systém Shenango sa plánuje použiť v dátových centrách.

Nový vyvažovač záťaže CPU od MIT
/ foto Marco verch CC BY

Podľa jedného z poskytovateľov dátové centrá použitý iba 20 – 40 % dostupného výpočtového výkonu. Pri vysokom zaťažení tento indikátor môže dosiahnuť 60%. Toto rozdelenie zdrojov vedie k vzniku takzvaných „zombie serverov“. Sú to stroje, ktoré väčšinu času nečinne plytvajú energiou. Dnes 30% serverov na svete sú bez práce, ktorá ročne spotrebuje elektrickú energiu v hodnote 30 miliárd dolárov.

MIT sa rozhodla bojovať proti neefektívnemu využívaniu výpočtových zdrojov.

Inžiniersky tím vyvinula systém vyrovnávania záťaže procesora s názvom Shenango. Jeho účelom je monitorovať stav vyrovnávacej pamäte úloh a prerozdeľovať zaseknuté procesy (ktoré nemôžu prijímať čas CPU) na voľné počítače.

Ako Shenango funguje

Shenango je linuxová knižnica v jazyku C s väzbami Rust a C++. Kód projektu a testovacie aplikácie sú zverejnené v úložiská na GitHub.

Riešenie je založené na algoritme IOKernel, ktorý beží na dedikovanom jadre viacprocesorového systému. Spravuje požiadavky CPU pomocou rámca DPDK, ktorý umožňuje aplikáciám priamo komunikovať so sieťovými zariadeniami.

IOKernel rozhodne, ktorým jadrám delegovať konkrétnu úlohu. Algoritmus tiež rozhoduje o tom, koľko jadier bude potrebných. Pre každý proces sú určené hlavné jadrá (garantované) a dodatočné (burstable) – tie sa spúšťajú v prípade prudkého nárastu počtu požiadaviek na CPU.

Front žiadostí IOKernel je organizovaný ako prstencový buffer. Každých päť mikrosekúnd algoritmus kontroluje, či sa dokončili všetky úlohy priradené jadru. Na tento účel porovnáva aktuálnu polohu hlavy nárazníka s predchádzajúcou polohou jeho chvosta. Ak sa ukáže, že chvost už bol v čase predchádzajúcej kontroly vo fronte, systém zaznamená preťaženie vyrovnávacej pamäte a pridelí procesu ďalšie jadro.

Pri distribúcii záťaže majú prednosť jadrá, na ktorých bol rovnaký proces vykonaný skôr a čiastočne zostal vo vyrovnávacej pamäti, alebo akékoľvek nečinné jadrá.

Nový vyvažovač záťaže CPU od MIT

Shenango navyše preberá prístup práca kradnúť. Jadrá pridelené na spustenie jednej aplikácie monitorujú počet úloh, ktoré majú navzájom. Ak jedno jadro dokončí svoj zoznam úloh skôr ako ostatné, „odbremení“ časť záťaže od svojich susedov.

Výhody a nevýhody

Na podľa inžinierov z MIT, Shenango je schopný spracovať päť miliónov požiadaviek za sekundu a udržiavať priemerný čas odozvy 37 mikrosekúnd. Odborníci tvrdia, že v niektorých prípadoch dokáže technológia zvýšiť mieru využitia procesorov v dátových centrách až na 100 %. Vďaka tomu budú môcť prevádzkovatelia dátových centier ušetriť na nákupe a údržbe serverov.

Potenciál riešenia značka a odborníci z iných univerzít. Podľa profesora z kórejského inštitútu systém MIT pomôže znížiť oneskorenia webových služieb. Napríklad to bude užitočné v internetových obchodoch. V dňoch predaja dochádza dokonca k druhému oneskoreniu načítania stránky приводит k poklesu počtu zobrazení stránok o 11 %. Rýchle rozloženie zaťaženia pomôže obslúžiť viac klientov.

Technológia má stále nevýhody - nepodporuje multiprocesor NUMA-systémy, v ktorých sú čipy pripojené k rôznym pamäťovým modulom a navzájom „nekomunikujú“. V tomto prípade môže IOKernel regulovať činnosť samostatnej skupiny procesorov, ale nie všetkých serverových čipov.

Nový vyvažovač záťaže CPU od MIT
/ foto Tim Reckmann CC BY

Podobné technológie

Medzi ďalšie systémy na vyrovnávanie záťaže procesora patrí Arachne. Vypočítava, koľko jadier bude aplikácia potrebovať pri spustení, a podľa tohto ukazovateľa rozdeľuje procesy. Maximálna latencia aplikácie v Arachne je podľa autorov približne 10 tisíc mikrosekúnd.

Technológia je implementovaná ako knižnica C++ pre Linux a jej zdrojový kód je dostupný na GitHub.

Ďalším vyrovnávacím nástrojom je ZygOS. Rovnako ako Shenango, technológia využíva metódu krádeže práce na prerozdelenie procesov. Priemerná latencia aplikácie pri používaní nástroja je podľa autorov ZygOS približne 150 mikrosekúnd a maximum je približne 450 mikrosekúnd. Kód projektu je tiež je vo verejnej doméne.

Závery

Moderné dátové centrá sa neustále rozširujú. Rastúci trend je badateľný najmä na trhu hyperškálových dátových centier: teraz na svete tam je 430 hyperškálových dátových centier, no v najbližších rokoch sa ich počet môže zvýšiť o 30 %. Z tohto dôvodu budú technológie na vyrovnávanie záťaže procesorov veľmi žiadané. Systémy ako Shenango sú už dostupné realizovať veľké korporácie a počet takýchto nástrojov bude v budúcnosti len rásť.

Príspevky z prvého blogu o firemnom IaaS:

Zdroj: hab.com

Pridať komentár