Ինչպես է սեղմումն աշխատում օբյեկտի վրա հիմնված հիշողության ճարտարապետության մեջ

MIT-ի ինժեներների թիմը մշակել է օբյեկտի վրա հիմնված հիշողության հիերարխիա՝ տվյալների հետ ավելի արդյունավետ աշխատելու համար: Հոդվածում մենք կհասկանանք, թե ինչպես է այն աշխատում:

Ինչպես է սեղմումն աշխատում օբյեկտի վրա հիմնված հիշողության ճարտարապետության մեջ
/ Px Ահա /PD

Ինչպես հայտնի է, ժամանակակից պրոցեսորների կատարողականի բարձրացումը չի ուղեկցվում հիշողություն մուտք գործելու ժամանակ հետաձգման համապատասխան նվազմամբ։ Տարեցտարի ցուցանիշների փոփոխությունների տարբերությունը կարող է լինել մինչև 10 անգամ (PDF, էջ 3). Արդյունքում առաջանում է խցան, որը կանխում է առկա ռեսուրսների լիարժեք օգտագործումը և դանդաղեցնում տվյալների մշակումը:

Կատարման վնասը պայմանավորված է այսպես կոչված դեկոպրեսիայի հետաձգմամբ: Որոշ դեպքերում տվյալների նախապատրաստական ​​դեկոպրեսիան կարող է տևել մինչև 64 պրոցեսորային ցիկլ:

Համեմատության համար՝ լողացող կետային թվերի գումարում և բազմապատկում զբաղեցնել ոչ ավելի, քան տասը ցիկլ: Խնդիրն այն է, որ հիշողությունն աշխատում է ֆիքսված չափի տվյալների բլոկների հետ, իսկ հավելվածները գործում են օբյեկտների հետ, որոնք կարող են տարբեր տեսակի տվյալներ պարունակել և չափերով տարբերվել միմյանցից: Խնդիրը լուծելու համար MIT-ի ինժեներները մշակեցին օբյեկտի վրա հիմնված հիշողության հիերարխիա, որը օպտիմալացնում է տվյալների մշակումը:

Ինչպես է աշխատում տեխնոլոգիան

Լուծումը հիմնված է երեք տեխնոլոգիաների վրա՝ Hotpads, Zippads և COCO սեղմման ալգորիթմ:

Hotpad-ները բարձր արագությամբ գրանցված հիշողության ծրագրաշարով կառավարվող հիերարխիա են (քերծվածք). Այս գրանցամատյանները կոչվում են բարձիկներ և դրանք երեքն են՝ L1-ից մինչև L3: Նրանք պահում են տարբեր չափերի օբյեկտներ, մետատվյալներ և ցուցիչների զանգվածներ։

Ըստ էության, ճարտարապետությունը քեշային համակարգ է, բայց հարմարեցված է օբյեկտների հետ աշխատելու համար: Օբյեկտի վրա գտնվող բարձիկի մակարդակը կախված է նրանից, թե որքան հաճախ է այն օգտագործվում: Եթե ​​մակարդակներից մեկը «հորդում է», համակարգը գործարկում է Java կամ Go լեզուներով «աղբահանողներին» նման մեխանիզմ: Այն վերլուծում է, թե որ առարկաներն են ավելի քիչ օգտագործվում, քան մյուսները և ավտոմատ կերպով տեղափոխում դրանք մակարդակների միջև:

Zippads-ն աշխատում է Hotpads-ի վերևում՝ արխիվացնում և հանում է այն տվյալները, որոնք մտնում կամ դուրս են գալիս հիերարխիայի վերջին երկու մակարդակներից՝ L3 հարթակից և հիմնական հիշողությունից: Առաջին և երկրորդ բարձիկներն անփոփոխ են պահում տվյալները:

Ինչպես է սեղմումն աշխատում օբյեկտի վրա հիմնված հիշողության ճարտարապետության մեջ

Zippads-ը սեղմում է այն օբյեկտները, որոնց չափը չի գերազանցում 128 բայթը: Ավելի մեծ առարկաները բաժանվում են մասերի, որոնք հետո տեղադրվում են հիշողության տարբեր հատվածներում։ Ինչպես գրում են մշակողները, այս մոտեցումը մեծացնում է արդյունավետ օգտագործվող հիշողության գործակիցը։

Օբյեկտները սեղմելու համար օգտագործվում է COCO (Cross-Object Compression) ալգորիթմը, որը մենք կքննարկենք ավելի ուշ, թեև համակարգը կարող է աշխատել նաև Հիմք-Դելտա-Անմիջական կամ FPC. COCO ալգորիթմը դիֆերենցիալ սեղմման տեսակ է (դիֆերենցիալ սեղմում). Այն համեմատում է օբյեկտները «բազայի» հետ և հեռացնում կրկնօրինակ բիթերը. տե՛ս ստորև ներկայացված դիագրամը.

Ինչպես է սեղմումն աշխատում օբյեկտի վրա հիմնված հիշողության ճարտարապետության մեջ

Ըստ MIT-ի ինժեներների՝ նրանց օբյեկտի վրա հիմնված հիշողության հիերարխիան 17%-ով ավելի արդյունավետ է, քան դասական մոտեցումները: Դիզայնով այն շատ ավելի մոտ է ժամանակակից հավելվածների ճարտարապետությանը, ուստի նոր մեթոդը ներուժ ունի:

Ակնկալվում է, որ այն ընկերությունները, որոնք աշխատում են մեծ տվյալների և մեքենայական ուսուցման ալգորիթմների հետ, նախ կսկսեն օգտագործել տեխնոլոգիան: Մեկ այլ պոտենցիալ ուղղություն ամպային հարթակներն են: IaaS պրովայդերները կկարողանան ավելի արդյունավետ աշխատել վիրտուալացման, տվյալների պահպանման համակարգերի և հաշվողական ռեսուրսների հետ:

Մեր լրացուցիչ ռեսուրսները և աղբյուրները.

Ինչպես է սեղմումն աշխատում օբյեկտի վրա հիմնված հիշողության ճարտարապետության մեջ «Ինչպես ենք կառուցում IaaS»-ը. նյութեր 1cloud-ի աշխատանքի մասին

Ինչպես է սեղմումն աշխատում օբյեկտի վրա հիմնված հիշողության ճարտարապետության մեջ Ամպային ճարտարապետության էվոլյուցիան 1cloud
Ինչպես է սեղմումն աշխատում օբյեկտի վրա հիմնված հիշողության ճարտարապետության մեջ Օբյեկտների պահպանման ծառայություն 1ամպում

Ինչպես է սեղմումն աշխատում օբյեկտի վրա հիմնված հիշողության ճարտարապետության մեջ Հնարավոր հարձակումներ HTTPS-ի վրա և ինչպես պաշտպանվել դրանցից
Ինչպես է սեղմումն աշխատում օբյեկտի վրա հիմնված հիշողության ճարտարապետության մեջ Ինչպե՞ս են Շարունակական առաքման և շարունակական ինտեգրման մոտեցումները նման և տարբեր:
Ինչպես է սեղմումն աշխատում օբյեկտի վրա հիմնված հիշողության ճարտարապետության մեջ Ինչպես պաշտպանել սերվերը ինտերնետում. 1ամպային փորձ

Source: www.habr.com

Добавить комментарий