ProHoster > blog > Utawala > Jinsi compression inavyofanya kazi katika usanifu wa kumbukumbu unaoelekezwa na kitu
Jinsi compression inavyofanya kazi katika usanifu wa kumbukumbu unaoelekezwa na kitu
Timu ya wahandisi kutoka MIT imeunda safu ya kumbukumbu inayoelekezwa na kitu ili kufanya kazi na data kwa ufanisi zaidi. Katika makala tutaelewa jinsi inavyofanya kazi.
/ PxHapa /PD
Kama inavyojulikana, ongezeko la utendaji wa CPU za kisasa hauambatani na kupungua kwa kasi wakati wa kupata kumbukumbu. Tofauti ya mabadiliko katika viashiria mwaka hadi mwaka inaweza kuwa hadi mara 10 (PDF, ukurasa wa 3) Matokeo yake, kizuizi kinatokea ambacho kinazuia matumizi kamili ya rasilimali zilizopo na kupunguza kasi ya usindikaji wa data.
Uharibifu wa utendaji unasababishwa na kinachojulikana kama kuchelewa kwa decompression. Katika baadhi ya matukio, utengano wa data uliotayarishwa unaweza kuchukua hadi mizunguko 64 ya kichakataji.
Kwa kulinganisha: kuongeza na kuzidisha nambari za sehemu zinazoelea kuchukua si zaidi ya mizunguko kumi. Shida ni kwamba kumbukumbu hufanya kazi na vizuizi vya data vya saizi iliyowekwa, na programu hufanya kazi na vitu ambavyo vinaweza kuwa na aina tofauti za data na kutofautiana kwa saizi kutoka kwa kila mmoja. Ili kusuluhisha shida, wahandisi huko MIT walitengeneza safu ya kumbukumbu inayoelekezwa na kitu ambayo inaboresha usindikaji wa data.
Jinsi teknolojia inavyofanya kazi
Suluhisho linatokana na teknolojia tatu: Hotpads, Zippads na algorithm ya compression ya COCO.
Hotpads ni safu inayodhibitiwa na programu ya kumbukumbu iliyosajiliwa ya kasi ya juu (mwendo wa kukwaruza) Rejesta hizi huitwa pedi na kuna tatu kati yao - kutoka L1 hadi L3. Wanahifadhi vitu vya ukubwa tofauti, metadata na safu za pointer.
Kimsingi, usanifu ni mfumo wa kache, lakini iliyoundwa kufanya kazi na vitu. Kiwango cha pedi kitu kinategemea ni mara ngapi hutumiwa. Ikiwa moja ya viwango "ikifurika," mfumo huanza utaratibu sawa na "wakusanya takataka" katika lugha za Java au Go. Inachanganua ni vitu gani hutumiwa mara kwa mara kuliko vingine na kuvisogeza kiotomatiki kati ya viwango.
Zippadi hufanya kazi juu ya Hotpads - kumbukumbu na data zisizo na kumbukumbu zinazoingia au kuondoka katika viwango viwili vya mwisho vya uongozi - pedi ya L3 na kumbukumbu kuu. Pedi za kwanza na za pili huhifadhi data bila kubadilika.
Zippadi hubana vitu ambavyo ukubwa wake hauzidi baiti 128. Vitu vikubwa vinagawanywa katika sehemu, ambazo huwekwa katika maeneo tofauti ya kumbukumbu. Watengenezaji wanapoandika, mbinu hii huongeza mgawo wa kumbukumbu inayotumiwa kwa ufanisi.
Ili kukandamiza vitu, algorithm ya COCO (Cross-Object Compression) hutumiwa, ambayo tutajadili baadaye, ingawa mfumo unaweza pia kufanya kazi nao. Base-Delta-Immediate au FPC. Algorithm ya COCO ni aina ya ukandamizaji tofauti (compression tofauti) Inalinganisha vitu na "msingi" na huondoa vipande viwili - tazama mchoro hapa chini:
Kulingana na wahandisi kutoka MIT, uongozi wao wa kumbukumbu unaoelekezwa na kitu una tija zaidi ya 17% kuliko mbinu za kitamaduni. Ni karibu zaidi katika kubuni kwa usanifu wa maombi ya kisasa, hivyo njia mpya ina uwezo.
Inatarajiwa kwamba kampuni zinazofanya kazi na data kubwa na kanuni za kujifunza mashine zitaanza kutumia teknolojia kwanza. Mwelekeo mwingine unaowezekana ni majukwaa ya wingu. Watoa huduma wa IaaS wataweza kufanya kazi kwa ufanisi zaidi na uboreshaji, mifumo ya kuhifadhi data na rasilimali za kompyuta.