Konpresioak nola funtzionatzen duen objektuetara zuzendutako memoriaren arkitekturan

MITeko ingeniari talde batek objektuetara zuzendutako memoria hierarkia bat garatu zuen datuekin modu eraginkorragoan lan egiteko. Artikuluan nola antolatzen den ulertzen dugu.

Konpresioak nola funtzionatzen duen objektuetara zuzendutako memoriaren arkitekturan
/ PxHemen /PD

Dakizuenez, CPU modernoen errendimenduaren hazkuntzak ez du memorian sartzean latentziaren murrizketa dagokion. Urtetik urtera adierazleen aldaketaren aldea 10 aldiz izatera irits daiteke (PDF, 3. orrialdea). Ondorioz, botila-lepo bat agertzen da, eskuragarri dauden baliabideen erabilera osoa onartzen ez duena eta datuen tratamendua moteltzen duena.

Errendimenduaren zigorra deskonpresio atzerapena deritzona da. Zenbait kasutan, prestatzeko datuen deskonpresioak 64 prozesadore-ziklo hartu ditzake.

Konparatzeko: koma mugikorreko zenbakien batuketa eta biderketa okupatu hamar ziklo baino gehiago ez. Arazoa da memoriak tamaina finkoko datu-blokeekin funtzionatzen duela, eta aplikazioek, aldiz, datu mota desberdinak eduki ditzaketen eta bata bestearen tamainaz desberdinak diren objektuekin funtzionatzen dute. Arazoa konpontzeko, MITeko ingeniariek objektuetara zuzendutako memoria hierarkia bat garatu zuten, datuen prozesamendua optimizatzen duena.

Teknologiak nola funtzionatzen duen

Irtenbidea hiru teknologiatan oinarritzen da: Hotpads, Zippads eta COCO konpresio algoritmoa.

Hotpad-ak scratchpad erregistroaren memoriaren softwareak gidatutako hierarkia bat dira (scratchpad). Erregistro horiei pad (pads) deitzen zaie eta hiru daude - L1etik L3ra. Tamaina, metadatu eta erakusle-matrize ezberdinetako objektuak gordetzen dituzte.

Funtsean, arkitektura cache sistema bat da, baina objektuekin lan egiteko zorroztua. Objektua kokatuta dagoen padaren maila zenbateko maiztasuna erabiltzen den araberakoa da. Mailaren batek gainezka egiten badu, sistemak Java edo Go-n "zabor-biltzaileen" antzeko mekanismo bat abiarazten du. Besteak baino maizago zein objektu erabiltzen diren aztertzen du eta automatikoki mugitzen ditu maila artean.

Zippads-ek Hotpad-en oinarrituta funtzionatzen du - hierarkiaren azken bi mailetan sartzen edo irteten diren datuak artxibatu eta deskonprimitzen ditu - L3 pad eta memoria nagusia. Lehenengo eta bigarren padetan, datuak aldatu gabe gordetzen dira.

Konpresioak nola funtzionatzen duen objektuetara zuzendutako memoriaren arkitekturan

Zippadsek 128 byte arteko objektuak konprimitzen ditu. Objektu handiagoak zatitan banatzen dira, gero memoria-eremu ezberdinetan jartzen dira. Garatzaileek idazten dutenez, ikuspegi honek eraginkortasunez erabilitako memoriaren koefizientea handitzen du.

Objektuak konprimitzeko, COCO (Cross-Object COmpression) algoritmoa erabiltzen da, geroago aztertuko duguna, nahiz eta sistemak lan egiteko gai den. Oinarria-Delta-Berehala edo FPC. COCO algoritmoa konpresio diferentzialaren aldaera bat da (konpresio diferentziala). Objektuak "oinarriarekin" alderatzen ditu eta bikoiztutako bitak kentzen ditu - ikusi beheko diagrama:

Konpresioak nola funtzionatzen duen objektuetara zuzendutako memoriaren arkitekturan

MITeko ingeniarien arabera, objektuetara zuzendutako memoriaren hierarkia ikuspegi klasikoak baino % 17 azkarragoa da. Bere egituran askoz hurbilago dago aplikazio modernoen arkitekturatik, beraz, metodo berriak potentziala du.

Aurreikusten da, lehenik eta behin, big data eta machine learning algoritmoekin lan egiten duten enpresak teknologia erabiltzen hastea. Beste norabide potentzial bat hodeiko plataformak dira. IaaS hornitzaileek birtualizazio, biltegiratze sistemekin eta baliabide informatikoekin modu eraginkorragoan lan egin ahal izango dute.

Gure baliabide eta baliabide osagarriak:

Konpresioak nola funtzionatzen duen objektuetara zuzendutako memoriaren arkitekturan "Nola eraikitzen dugu IaaS": 1cloud-en lanari buruzko materialak

Konpresioak nola funtzionatzen duen objektuetara zuzendutako memoriaren arkitekturan Hodei-arkitekturaren bilakaera 1cloud
Konpresioak nola funtzionatzen duen objektuetara zuzendutako memoriaren arkitekturan Objektuak biltegiratzeko zerbitzua 1cloud-en

Konpresioak nola funtzionatzen duen objektuetara zuzendutako memoriaren arkitekturan HTTPS-en balizko erasoak eta haien aurka nola babestu
Konpresioak nola funtzionatzen duen objektuetara zuzendutako memoriaren arkitekturan Zeintzuk diren Etengabeko Entrega eta Etengabeko Integrazio planteamenduen arteko antzekotasunak eta desberdintasunak
Konpresioak nola funtzionatzen duen objektuetara zuzendutako memoriaren arkitekturan Nola babestu zerbitzari bat Interneten: 1cloud esperientzia

Iturria: www.habr.com

Gehitu iruzkin berria