Kiel kunpremado funkcias en objekt-orientita memorarkitekturo

Teamo de inĝenieroj de MIT evoluigis objekt-orientitan memorhierarkion por labori kun datumoj pli efike. En la artikolo ni komprenos kiel ĝi funkcias.

Kiel kunpremado funkcias en objekt-orientita memorarkitekturo
/ PxĈi tie /PD

Kiel oni scias, la pliiĝo de rendimento de modernaj CPUoj ne estas akompanata de responda malkresko de latencia aliro al memoro. La diferenco en ŝanĝoj en indikiloj de jaro al jaro povas esti ĝis 10 fojojn (PDF, paĝo 3). Kiel rezulto, proplemkolo ekestas kiu malhelpas plenan uzon de disponeblaj rimedoj kaj malrapidigas datumtraktadon.

Efikecdamaĝo estas kaŭzita de la tielnomita malkunprema prokrasto. En kelkaj kazoj, prepara datenmalkunpremo povas preni ĝis 64 procesorociklojn.

Por komparo: aldono kaj multipliko de glitkomaj nombroj okupi ne pli ol dek cikloj. La problemo estas, ke memoro funkcias kun datumblokoj de fiksa grandeco, kaj aplikaĵoj funkcias per objektoj, kiuj povas enhavi malsamajn specojn de datumoj kaj diferenci en grandeco unu de la alia. Por solvi la problemon, inĝenieroj ĉe MIT evoluigis objekt-orientitan memorhierarkion kiu optimumigas datumtraktadon.

Kiel funkcias la teknologio

La solvo baziĝas sur tri teknologioj: Hotpads, Zippads kaj la COCO-kunprema algoritmo.

Hotpads estas softvar-kontrolita hierarkio de altrapida registrita memoro (skrapbloko). Ĉi tiuj registroj estas nomitaj kusenetoj kaj estas tri el ili - de L1 ĝis L3. Ili stokas objektojn de malsamaj grandecoj, metadatenoj kaj montriloj.

Esence, la arkitekturo estas kaŝmemorsistemo, sed adaptita por labori kun objektoj. La nivelo de la kuseneto sur kiu la objekto estas dependas de kiom ofte ĝi estas uzata. Se unu el la niveloj "superfluas", la sistemo ekfunkciigas mekanismon similan al "rubaĵkolektantoj" en la lingvoj Java aŭ Go. Ĝi analizas kiuj objektoj estas uzataj malpli ofte ol aliaj kaj aŭtomate movas ilin inter niveloj.

Zippads funkcias aldone al Hotpads - arkivas kaj malarkivigas datumojn, kiuj eniras aŭ forlasas la lastajn du nivelojn de la hierarkio - la L3-kuseneto kaj ĉefa memoro. La unua kaj dua kusenetoj stokas datumojn senŝanĝe.

Kiel kunpremado funkcias en objekt-orientita memorarkitekturo

Zippads kunpremas objektojn, kies grandeco ne superas 128 bajtojn. Pli grandaj objektoj estas dividitaj en partojn, kiuj tiam estas metitaj en malsamaj areoj de memoro. Kiel la programistoj skribas, ĉi tiu aliro pliigas la koeficienton de efike uzata memoro.

Por kunpremi objektojn oni uzas la algoritmon COCO (Cross-Object COmpression), pri kiu ni diskutos poste, kvankam la sistemo ankaŭ povas labori kun Bazo-Delta-TujaFPC. La COCO-algoritmo estas speco de diferenciala kunpremo (diferenciala kunpremo). Ĝi komparas objektojn kun la "bazo" kaj forigas duplikatajn bitojn - vidu la diagramon malsupre:

Kiel kunpremado funkcias en objekt-orientita memorarkitekturo

Laŭ inĝenieroj de MIT, ilia objekt-orientita memorhierarkio estas 17% pli produktiva ol klasikaj aliroj. Ĝi estas multe pli proksima en dezajno al la arkitekturo de modernaj aplikoj, do la nova metodo havas potencialon.

Estas atendite, ke kompanioj, kiuj laboras kun grandaj datumoj kaj maŝinlernado-algoritmoj, komencos uzi la teknologion unue. Alia ebla direkto estas nubaj platformoj. IaaS-provizantoj povos labori pli efike kun virtualigo, datumstokaj sistemoj kaj komputikaj rimedoj.

Niaj kromaj rimedoj kaj fontoj:

Kiel kunpremado funkcias en objekt-orientita memorarkitekturo "Kiel ni konstruas IaaS": materialoj pri la laboro de 1cloud

Kiel kunpremado funkcias en objekt-orientita memorarkitekturo La evoluo de nuba arkitekturo 1nubo
Kiel kunpremado funkcias en objekt-orientita memorarkitekturo Servo de konservado de objektoj en 1nubo

Kiel kunpremado funkcias en objekt-orientita memorarkitekturo Eblaj atakoj kontraŭ HTTPS kaj kiel protekti kontraŭ ili
Kiel kunpremado funkcias en objekt-orientita memorarkitekturo Kiel estas similaj kaj malsamaj aliroj de Kontinua Livero kaj Kontinua Integriĝo?
Kiel kunpremado funkcias en objekt-orientita memorarkitekturo Kiel protekti servilon en Interreto: 1nuba sperto

fonto: www.habr.com

Aldoni komenton