چگونه فشرده سازی در معماری حافظه شی گرا کار می کند

تیمی از مهندسین در MIT یک سلسله مراتب حافظه شی گرا را برای کارکرد بهتر با داده ها ایجاد کردند. در مقاله می دانیم که چگونه تنظیم شده است.

چگونه فشرده سازی در معماری حافظه شی گرا کار می کند
/ PxHere /PD

همانطور که می دانید، رشد عملکرد CPU های مدرن با کاهش تاخیر مربوطه در هنگام دسترسی به حافظه همراه نیست. تفاوت در تغییر شاخص ها از سال به سال می تواند تا 10 برابر برسد (پی دی اف، صفحه 3). در نتیجه، یک گلوگاه ظاهر می شود که اجازه استفاده کامل از منابع موجود را نمی دهد و پردازش داده ها را کند می کند.

جریمه عملکرد به اصطلاح تاخیر رفع فشار است. در برخی موارد، فشرده سازی داده های آماده سازی می تواند تا 64 چرخه پردازشگر طول بکشد.

برای مقایسه: جمع و ضرب اعداد ممیز شناور را اشغال کند بیش از ده سیکل نیست. مشکل این است که حافظه با بلوک های داده با اندازه ثابت کار می کند، در حالی که برنامه ها با اشیایی کار می کنند که می توانند انواع مختلفی از داده ها را داشته باشند و از نظر اندازه با یکدیگر متفاوت باشند. برای حل این مشکل، مهندسان MIT یک سلسله مراتب حافظه شی گرا ایجاد کردند که پردازش داده ها را بهینه می کند.

فن آوری چگونه کار می کند

راه حل مبتنی بر سه فناوری است: Hotpads، Zippads و الگوریتم فشرده سازی COCO.

هات پدها یک سلسله مراتب نرم افزار محور از حافظه رجیستر اسکرچ پد هستند (صفحه خراشنده). این رجیسترها پد (پد) نامیده می شوند و سه مورد از آنها وجود دارد - از L1 تا L3. آنها اشیاء با اندازه های مختلف، ابرداده ها و آرایه های اشاره گر را ذخیره می کنند.

در اصل، معماری یک سیستم کش است، اما برای کار با اشیا تیز شده است. سطح پدی که جسم در آن قرار دارد به تعداد دفعات استفاده از آن بستگی دارد. اگر یکی از سطوح «سرریز شود»، سیستم مکانیزمی شبیه به «جمع‌کننده‌های زباله» در جاوا یا Go را راه‌اندازی می‌کند. تجزیه و تحلیل می کند که کدام اشیاء کمتر از بقیه استفاده می شوند و به طور خودکار آنها را بین سطوح جابجا می کند.

Zippads بر اساس Hotpads کار می‌کند - داده‌هایی را که به دو سطح آخر سلسله مراتب وارد یا خارج می‌شوند - صفحه L3 و حافظه اصلی - بایگانی و باز می‌کند. در پدهای اول و دوم، داده ها بدون تغییر ذخیره می شوند.

چگونه فشرده سازی در معماری حافظه شی گرا کار می کند

Zippads اشیاء را تا 128 بایت فشرده می کند. اجسام بزرگتر به قسمت هایی تقسیم می شوند که سپس در قسمت های مختلف حافظه قرار می گیرند. همانطور که توسعه دهندگان می نویسند، این رویکرد ضریب حافظه استفاده شده را افزایش می دهد.

برای فشرده سازی اشیاء، از الگوریتم COCO (Cross-Object Compression) استفاده می شود که در ادامه به آن خواهیم پرداخت، اگرچه سیستم قادر به کار با آن است. پایه-دلتا-فوری یا FPC. الگوریتم COCO نوعی از فشرده سازی دیفرانسیل است (فشرده سازی دیفرانسیل). این اشیاء را با "پایه" مقایسه می کند و بیت های تکراری را حذف می کند - نمودار زیر را ببینید:

چگونه فشرده سازی در معماری حافظه شی گرا کار می کند

به گفته مهندسان MIT، سلسله مراتب حافظه شی گرا آنها 17 درصد سریعتر از رویکردهای کلاسیک است. از نظر ساختار به معماری کاربردهای مدرن بسیار نزدیکتر است، بنابراین روش جدید پتانسیل بالایی دارد.

انتظار می رود که اول از همه، شرکت هایی که با داده های بزرگ و الگوریتم های یادگیری ماشین کار می کنند، بتوانند از این فناوری استفاده کنند. جهت بالقوه دیگر، پلتفرم های ابری است. ارائه دهندگان IaaS قادر خواهند بود با مجازی سازی، سیستم های ذخیره سازی و منابع محاسباتی کارآمدتر کار کنند.

منابع و منابع اضافی ما:

چگونه فشرده سازی در معماری حافظه شی گرا کار می کند "چگونه IaaS را می سازیم": مطالبی در مورد کار 1cloud

چگونه فشرده سازی در معماری حافظه شی گرا کار می کند تکامل معماری ابری 1cloud
چگونه فشرده سازی در معماری حافظه شی گرا کار می کند سرویس ذخیره سازی اشیاء در 1cloud

چگونه فشرده سازی در معماری حافظه شی گرا کار می کند حملات احتمالی به HTTPS و نحوه محافظت در برابر آنها
چگونه فشرده سازی در معماری حافظه شی گرا کار می کند شباهت ها و تفاوت های بین رویکردهای Continuous Delivery و Continuous Integration چیست؟
چگونه فشرده سازی در معماری حافظه شی گرا کار می کند نحوه محافظت از سرور در اینترنت: تجربه 1cloud

منبع: www.habr.com

اضافه کردن نظر