Ob'ektga yo'naltirilgan xotira arxitekturasida siqish qanday ishlaydi

MIT muhandislari jamoasi ma'lumotlar bilan yanada samarali ishlash uchun ob'ektga yo'naltirilgan xotira ierarxiyasini ishlab chiqdi. Maqolada biz qanday tashkil etilganligini tushunamiz.

Ob'ektga yo'naltirilgan xotira arxitekturasida siqish qanday ishlaydi
/ PxMana /PD

Ma'lumki, zamonaviy protsessorlarning ishlashi o'sishi xotiraga kirishda kechikishning mos ravishda pasayishi bilan birga kelmaydi. Yildan yilga ko'rsatkichlarning o'zgarishidagi farq 10 baravarga yetishi mumkin (PDF, 3-bet). Natijada, mavjud resurslardan to'liq foydalanishga imkon bermaydigan va ma'lumotlarni qayta ishlashni sekinlashtiradigan darboğaz paydo bo'ladi.

Ishlash jazosi dekompressiya kechikishi deb ataladi. Ba'zi hollarda, tayyorgarlik ma'lumotlarini dekompressiyalash 64 protsessor tsiklini olishi mumkin.

Taqqoslash uchun: suzuvchi nuqtali sonlarni qo'shish va ko'paytirish egallash o'n tsikldan oshmasligi kerak. Muammo shundaki, xotira belgilangan o'lchamdagi ma'lumotlar bloklari bilan ishlaydi, ilovalar esa har xil turdagi ma'lumotlarni o'z ichiga olishi mumkin bo'lgan va hajmi bo'yicha bir-biridan farq qiladigan ob'ektlar bilan ishlaydi. Muammoni hal qilish uchun MIT muhandislari ma'lumotlarni qayta ishlashni optimallashtiradigan ob'ektga yo'naltirilgan xotira ierarxiyasini ishlab chiqdilar.

Texnologiya qanday ishlaydi

Yechim uchta texnologiyaga asoslangan: Hotpadlar, Zippadlar va COCO siqish algoritmi.

Hotpadlar skretchpad registr xotirasining dasturiy ta'minotga asoslangan ierarxiyasidir (skretchpad). Ushbu registrlar prokladkalar (padlar) deb ataladi va ularning uchtasi bor - L1 dan L3 gacha. Ular turli o'lchamdagi ob'ektlarni, metama'lumotlarni va ko'rsatkichlar massivlarini saqlaydi.

Aslini olganda, arxitektura kesh tizimidir, lekin ob'ektlar bilan ishlash uchun aniqlangan. Ob'ekt joylashgan padning darajasi uning qanchalik tez-tez ishlatilishiga bog'liq. Agar darajalardan biri Β«toshib ketsaΒ», tizim Java yoki Go-dagi Β«axlat yig'uvchilarΒ»ga o'xshash mexanizmni ishga tushiradi. Qaysi ob'ektlar boshqalarga qaraganda kamroq qo'llanilishini tahlil qiladi va ularni avtomatik ravishda darajalar o'rtasida o'tkazadi.

Zippadlar Hotpadlar asosida ishlaydi - ierarxiyaning oxirgi ikki darajasiga kiradigan yoki undan chiqadigan ma'lumotlarni arxivlaydi va ochadi - L3 pad va asosiy xotira. Birinchi va ikkinchi yostiqchalarda ma'lumotlar o'zgarishsiz saqlanadi.

Ob'ektga yo'naltirilgan xotira arxitekturasida siqish qanday ishlaydi

Zippadlar ob'ektlarni 128 baytgacha siqadi. Kattaroq ob'ektlar qismlarga bo'linadi, keyinchalik ular xotiraning turli sohalariga joylashtiriladi. Ishlab chiquvchilar yozganidek, bu yondashuv samarali foydalaniladigan xotira koeffitsientini oshiradi.

Ob'ektlarni siqish uchun COCO (O'zaro ob'ektni siqish) algoritmi qo'llaniladi, biz buni keyinroq muhokama qilamiz, garchi tizim ular bilan ishlashga qodir bo'lsa. Baza-Delta-Darhol yoki FPC. COCO algoritmi differensial siqishning o'zgarishi (differentsial siqish). U ob'ektlarni "tayanch" bilan taqqoslaydi va takroriy bitlarni olib tashlaydi - quyidagi diagrammaga qarang:

Ob'ektga yo'naltirilgan xotira arxitekturasida siqish qanday ishlaydi

MIT muhandislarining fikriga ko'ra, ularning ob'ektga yo'naltirilgan xotira ierarxiyasi klassik yondashuvlarga qaraganda 17% tezroq. U o'z tuzilishida zamonaviy ilovalar arxitekturasiga ancha yaqinroq, shuning uchun yangi usul salohiyatga ega.

Kutilishicha, birinchi navbatda katta ma'lumotlar va mashinani o'rganish algoritmlari bilan ishlaydigan kompaniyalar texnologiyadan foydalanishni boshlashlari mumkin. Yana bir potentsial yo'nalish - bulutli platformalar. IaaS provayderlari virtualizatsiya, saqlash tizimlari va hisoblash resurslari bilan yanada samarali ishlashlari mumkin bo'ladi.

Bizning qo'shimcha resurslarimiz va resurslarimiz:

Ob'ektga yo'naltirilgan xotira arxitekturasida siqish qanday ishlaydi "Biz qanday qilib IaaS quramiz": 1cloud ishi haqida materiallar

Ob'ektga yo'naltirilgan xotira arxitekturasida siqish qanday ishlaydi Bulut arxitekturasining evolyutsiyasi 1 bulut
Ob'ektga yo'naltirilgan xotira arxitekturasida siqish qanday ishlaydi 1bulutda ob'ektni saqlash xizmati

Ob'ektga yo'naltirilgan xotira arxitekturasida siqish qanday ishlaydi HTTPSga potentsial hujumlar va ulardan qanday himoyalanish mumkin
Ob'ektga yo'naltirilgan xotira arxitekturasida siqish qanday ishlaydi Uzluksiz yetkazib berish va uzluksiz integratsiya yondashuvlari o'rtasidagi o'xshashlik va farqlar qanday?
Ob'ektga yo'naltirilgan xotira arxitekturasida siqish qanday ishlaydi Internetda serverni qanday himoya qilish mumkin: 1bulut tajribasi

Manba: www.habr.com

a Izoh qo'shish