Jak funguje komprese v objektově orientované architektuře paměti

Tým inženýrů z MIT vyvinul objektově orientovanou paměťovou hierarchii pro efektivnější práci s daty. V tomto článku se podíváme, jak je strukturována.

Jak funguje komprese v objektově orientované architektuře paměti
/ PxHere / PD

Jak známo, nárůst výkonu moderních CPU není doprovázen odpovídajícím snížením latence při přístupu k paměti. Rozdíl ve změnách ukazatelů z roku na rok může být až 10krát (PDF, str.3). Výsledkem je, že vzniká úzké hrdlo, které brání plnému využití dostupných zdrojů a zpomaluje zpracování dat.

Na výkon má negativní vliv takzvaná dekompresní latence. V některých případech může příprava na dekompresi dat zabrat až 64 procesorových cyklů.

Pro srovnání: sčítání a násobení čísel s plovoucí desetinnou čárkou trvá ne více než deset cyklů. Problém je v tom, že paměť pracuje s bloky dat pevné velikosti, zatímco aplikace manipulují s objekty, které mohou obsahovat různé typy dat a lišit se velikostí. Aby problém vyřešili, inženýři z MIT vyvinuli objektově orientovanou paměťovou hierarchii, která optimalizuje zpracování dat.

Jak technologie funguje

Na základě řešení stojí tři technologie: Hotpads, Zippads a algoritmus komprese COCO.

Hotpads je softwarově řízená hierarchie superrychlé registrárové paměti (scratchpad). Tyto registry se nazývají pady (pads) a jsou tři — od L1 do L3. V nich jsou uchovávány objekty různých velikostí, metadata a pole ukazatelů.

V podstatě architektura představuje systém cache, ale specializovaný na práci s objekty. Úroveň padu, na které se objekt nachází, závisí na tom, jak často je používán. Pokud se jedna z úrovní "přeplní", systém aktivuje mechanismus podobný "garbage collectoru" v jazycích Java nebo Go. Analyzuje, které objekty jsou používány méně často než ostatní, a automaticky je přesouvá mezi úrovněmi.

Zippads funguje na bázi Hotpads — archivuje a dearchivuje data, která přicházejí nebo odcházejí z posledních dvou úrovní hierarchie — padu L3 a hlavní paměti. V prvním a druhém padu jsou data uchovávána v nezměněné podobě.

Jak funguje komprese v objektově orientované architektuře paměti

Zippads komprimuje objekty, jejichž objem nepřesahuje 128 bajtů. Větší objekty jsou rozděleny na části, které jsou následně umístěny na různých místech v paměti. Jak uvádějí vývojáři, tento přístup zvyšuje koeficient efektivně využité paměti.

Pro kompresi objektů se používá algoritmus COCO (Cross-Object COmpression), o kterém si řekneme dále, i když systém je schopen pracovat i s Base-Delta-Immediate nebo FPC. Algoritmus COCO představuje variantu diferenční komprese (differential compression). Porovnává objekty s "základními" a odstraňuje opakující se bity — viz schéma níže:

Jak funguje komprese v objektově orientované architektuře paměti

Podle inženýrů z MIT je jejich objektově orientovaná hierarchie paměti o 17 % výkonnější než klasické přístupy. Je mnohem blíže struktuře moderních aplikací, takže nový metoda má potenciál.

Očekává se, že technologii jako první začnou využívat společnosti pracující s velkými daty a algoritmy strojového učení. Další potenciální oblastí použití jsou cloudové platformy. IaaS poskytovatelé získají možnost efektivněji pracovat s virtualizací, systémy ukládání dat a výpočetními zdroji.

Naše další zdroje a odkazy:

Jak funguje komprese v objektově orientované architektuře paměti Jak budujeme IaaS: materiály o práci 1cloud

Jak funguje komprese v objektově orientované architektuře paměti Evoluce architektury cloudu 1cloud
Jak funguje komprese v objektově orientované architektuře paměti Služba objektového úložiště v 1cloud

Jak funguje komprese v objektově orientované architektuře paměti Potenciální útoky na HTTPS a způsoby, jak se před nimi chránit
Jak funguje komprese v objektově orientované architektuře paměti Čím se podobají a čím se liší přístupy Continuous Delivery a Continuous Integration
Jak funguje komprese v objektově orientované architektuře paměti Jak chránit server na internetu: zkušenost 1cloud

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