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 článku pochopíme, jak to funguje.

Jak funguje komprese v objektově orientované architektuře paměti
/ Výstřel /PD

Jak je 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ž 10násobný (PDF, strana 3). V důsledku toho vzniká úzké místo, které brání plnému využití dostupných zdrojů a zpomaluje zpracování dat.

Poškození výkonu je způsobeno tzv. dekompresním zpožděním. V některých případech může přípravná dekomprese dat trvat až 64 cyklů procesoru.

Pro srovnání: sčítání a násobení čísel s pohyblivou řádovou čárkou okupovat ne více než deset cyklů. Problém je v tom, že paměť pracuje s datovými bloky pevné velikosti a aplikace pracují s objekty, které mohou obsahovat různé typy dat a liší se od sebe velikostí. K vyřešení problému vyvinuli inženýři z MIT objektově orientovanou hierarchii paměti, která optimalizuje zpracování dat.

Jak technologie funguje

Řešení je založeno na třech technologiích: Hotpads, Zippads a kompresní algoritmus COCO.

Hotpady jsou softwarově řízená hierarchie vysokorychlostní registrované paměti (zápisník). Tyto registry se nazývají pady a jsou tři - od L1 do L3. Ukládají objekty různých velikostí, metadata a pole ukazatelů.

Architektura je v podstatě systém mezipaměti, ale přizpůsobený pro práci s objekty. Úroveň podložky, na které se předmět nachází, závisí na tom, jak často je používán. Pokud jedna z úrovní „přeteče“, systém spustí mechanismus podobný „sběratelům odpadků“ v jazycích Java nebo Go. Analyzuje, které objekty se používají méně často než jiné, a automaticky je přesouvá mezi úrovněmi.

Zippads funguje nad Hotpady – archivuje a ruší archivaci dat, která vstupují nebo opouštějí poslední dvě úrovně hierarchie – blok L3 a hlavní paměť. První a druhý pad ukládají data beze změny.

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

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

Ke kompresi objektů se používá algoritmus COCO (Cross-Object COmpression), o kterém budeme hovořit později, i když systém umí pracovat i s Základna-delta-okamžitá nebo FPC. Algoritmus COCO je typ diferenciální komprese (diferenciální komprese). Porovnává objekty se "základní" a odstraňuje duplicitní 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á paměťová hierarchie o 17 % produktivnější než klasické přístupy. Designově se mnohem více blíží architektuře moderních aplikací, takže nová metoda má potenciál.

Očekává se, že společnosti, které pracují s velkými daty a algoritmy strojového učení, začnou technologii používat jako první. Dalším potenciálním směrem jsou cloudové platformy. Poskytovatelé IaaS budou moci efektivněji pracovat s virtualizací, systémy ukládání dat a výpočetními prostředky.

Naše další zdroje a zdroje:

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 cloudové architektury 1cloud
Jak funguje komprese v objektově orientované architektuře paměti Služba úložiště objektů v 1cloudu

Jak funguje komprese v objektově orientované architektuře paměti Možné útoky na HTTPS a jak se proti nim chránit
Jak funguje komprese v objektově orientované architektuře paměti V čem jsou přístupy Continuous Delivery a Continuous Integration podobné a odlišné?
Jak funguje komprese v objektově orientované architektuře paměti Jak chránit server na internetu: 1cloud zážitek

Zdroj: www.habr.com

Přidat komentář