سیستم جدید مدیریت حافظه کارایی را ۳۶٪ بهبود میدهد و خطاهای OOM که سرویس را مختل میکنند، حذف میکند.
الیبابا کلود سیستمی جدید برای مدیریت کلاستر به نام Eigen+ توسعه داده است که با بهبود ۳۶٪ در کارایی تخصیص حافظه، همراه با حذف خطاهای «Out of Memory» (OOM) در محیطهای پایگاه دادهٔ تولیدی، طبق تحقیق ارائه شده در کنفرانس اخیر SIGMOD، دستاوردی داشته است.
این سیستم به یک چالش بنیادی که ارائهدهندگان ابری با آن مواجهاند پاسخ میدهد: چگونگی به حداکثر رساندن استفاده از حافظه برای کاهش هزینهها در حالی که از بروز خطاهای فاجعهبار OOM که میتوانند برنامههای حیاتی را خراب کرده و اهداف سطح سرویس (SLO) را نقض کنند، جلوگیری شود.
این توسعه، که در مقالهٔ پژوهشی با عنوان «Eigen+: Memory Over-Subscription for Alibaba Cloud Databases» تشریح شده است، نشاندهندهٔ گامی مهم از رویکردهای سنتی تخصیص بیش از حد حافظه است که توسط ارائهدهندگان بزرگ ابری نظیر AWS، Microsoft Azure و Google Cloud Platform به کار گرفته میشود.
این سیستم در محیط تولیدی الیبابا کلود پیادهسازی شده است. مقالهٔ پژوهشی ادعا میکند که در خوشههای آنلاین MySQL، Eigen+ «نسبت تخصیص حافظه یک خوشهٔ آنلاین MySQL را به طور متوسط ۳۶.۲۱٪ (از ۷۵.۶۷٪ به ۱۱۱.۸۸٪) بهبود میبخشد، در حالی که رعایت SLO را بدون وقوع OOM حفظ میکند.»
برای رهبران فناوری اطلاعات سازمانی، این اعداد میتوانند به صرفهجویی چشمگیر در هزینه و بهبود قابلیت اطمینان تبدیل شوند. بهبود ۳۶٪ در تخصیص حافظه به این معنی است که سازمانها میتوانند تعداد بیشتری از نمونههای پایگاه داده را بر روی همان سختافزار اجرا کنند و در عین حال خطر قطعیها را کاهش دهند.
Eigen+ الیبابا کلود از رویکرد مدیریت حافظه مبتنی بر طبقهبندی استفاده میکند، در حالی که رقبای آن شامل AWS، Microsoft Azure و Google Cloud عمدتاً به استراتژیهای مدیریت حافظه مبتنی بر پیشبینی متکی هستند که اگرچه مؤثرند اما ممکن است تمام وقوع OOM را جلوگیری نکنند، همانطور که کستوب کی، مدیر عملیاتی گروه Everest توضیح داد. «این تفاوت در رویکرد میتواند Eigen+ الیبابا کلود را با تمایز فنی بیشتری در بازار پایگاه دادهٔ ابری موقعیت دهد و احتمالاً بر استراتژیهای آیندهٔ سایر هایپر اسکلرها تأثیر بگذارد.»
این فناوری در حال حاضر بر روی هزاران نمونهٔ پایگاه داده در محیط تولیدی الیبابا کلود مستقر است و هم بارهای پردازش تراکنش آنلاین (OLTP) با استفاده از MySQL و هم بارهای پردازش تحلیلی آنلاین (OLAP) با استفاده از AnalyticDB برای PostgreSQL را پشتیبانی میکند، بر اساس گفتهٔ پژوهشگران الیبابا.
ریسک اختصاص بیش از حد حافظه
اختصاص بیش از حد حافظه — تخصیص حافظهٔ بیشتری به ماشینهای مجازی نسبت به حافظهٔ فیزیکی موجود — به استانداردی در میان ارائهدهندگان ابری تبدیل شده است زیرا ماشینهای مجازی بهندرت همزمان تمام حافظهٔ تخصیصیافته خود را استفاده میکنند. با این حال، این روش یک تعادل خطرناک برای سازمانهایی که پایگاههای دادهٔ حیاتی را اجرا میکنند، ایجاد میکند.
«اختصاص بیش از حد حافظه با افزایش بهرهوری منابع از طریق اجازه دادن به تعداد بیشتری نمونه در هر ماشین، خطر خطاهای Out of Memory (OOM) را افزایش میدهد و ممکن است دسترسی به سرویس را به خطر اندازد و اهداف سطح سرویس (SLO) را نقض کند،» پژوهشگران در مقالهٔ خود اشاره کردند.
در دسترس بودن سرویس بهویژه برای پایگاههای دادهٔ سازمانی اهمیت بالایی دارد. «این نمودار بهوضوح نشان میدهد که دسترسپذیری سرویس بهطور چشمگیری کاهش مییابد و اغلب زیر آستانهٔ SLO میافتد همانطور که تعداد رخدادهای OOM افزایش مییابد.»
رویکردهای سنتی سعی میکنند با استناد به دادههای تاریخی، استفادهٔ آیندهٔ حافظه را پیشبینی کنند و سپس با الگوریتمهای پیچیده، نمونههای پایگاه داده را بر روی سرورها فشردهسازی کنند. اما این روشهای مبتنی بر پیشبینی اغلب زمانی که بارهای کاری بهطور ناگهانی افزایش مییابند، بهصورت فاجعهآمیز شکست میخورند.
«حذف خطاهای Out of Memory (OOM) برای رهبران فناوری اطلاعات سازمانها حیاتی است، زیرا این خطاها میتوانند منجر به قطع سرویس و از دست رفتن دادهها شوند»، کستوب گروه Everest گفت. «در حالی که بهبودهای کارایی تخصیص حافظه مفید هستند، تضمین ثبات و قابلیت اطمینان سیستم همچنان اولویت اصلی است. سازمانها باید قابلیتهای نظارت در زمان واقعی ارائهدهندگان ابری خود، سازوکارهای ایزولهسازی برای جلوگیری از تداخل میان مستاجرین، و تکنیکهای پیشگیرانهای مانند مهاجرت زنده و بالونسازی حافظه را برای مقابله با بارهای بیشبار بدون وقفه سرویس ارزیابی کنند. علاوه بر این، شفافیت واضح نسبت به سیاستهای اختصاص بیش از حد و پایبندی دقیق به توافقنامههای سطح سرویس (SLAs) برای حفظ عملکرد و قابلیت اطمینان ثابت ضروری است.»
راهحل اصل پارتو
بهجای تلاش برای پیشبینی غیرقابل پیشبینی، تیم پژوهشی الیبابا کلود کشف کرد که خطاهای OOM پایگاه داده به اصل پارتو—که بهعنوان قانون ۸۰/۲۰ شناخته میشود—مطابق است. «نمونههای پایگاه دادهای که تغییرات استفاده از حافظه آنها در یک هفته بیش از ۵٪ باشد، بیش از ۵٪ از کل نمونهها را تشکیل نمیدهند، اما این نمونهها بیش از ۹۰٪ خطاهای OOM را ایجاد میکنند»، تیم در مقاله اعلام کرد.
بهجای پیشبینی الگوهای استفاده از حافظه، Eigen+ بهسادهترین شکل، نمونههای پایگاه دادهای که «موقتی» (مستعد افزایشهای غیرقابل پیشبینی حافظه) هستند شناسایی میکند و آنها را از سیاستهای اختصاص بیش از حد جدا میگیرد.
«با شناسایی نمونههای موقت، میتوانیم مسئلهٔ پیچیدهٔ پیشبینی را به یک کار طبقهبندی دودویی سادهتر تبدیل کنیم»، پژوهشگران در مقاله گفتند.
Eigen+ از طبقهبندهای یادگیری ماشین استفاده میکند که بر پایهٔ معیارهای زمان اجرا (استفاده از حافظه، پرسوجوها در ثانیه، مصرف CPU) و فرادادههای عملیاتی (مشخصات نمونه، سطح مشتری، نوع برنامهها) آموزش دیدهاند تا نمونههای پایگاه دادهای که ممکن است مشکلساز باشند را شناسایی کنند.
سیستم از رویکرد پیشرفتهای استفاده میکند که شامل مدلهای انتقال حالت زنجیره مارکوف برای در نظر گرفتن وابستگیهای زمانی در رفتار پایگاه داده است. «این امکان را میدهد تا دقت بالایی در شناسایی نمونههای موقت که میتوانند خطاهای OOM ایجاد کنند، دست یابد»، مقاله افزود.
برای نمونههای پایدار که بهعنوان ایمن برای اختصاص بیش از حد شناخته میشوند، سیستم از چندین روش برآورد استفاده میکند، از جمله تحلیل صدک، بستهبندی تصادفی باین، و پیشبینی سریزمانی، که بسته به الگوهای استفاده خاص هر نمونه متغیر است.
مدلسازی کمی SLO
شاید مهمترین نکته برای محیطهای سازمانی این باشد که Eigen+ شامل یک مدل کمی برای درک چگونگی تأثیر اختصاص بیش از حد حافظه بر دسترسی به سرویس است. با استفاده از رگرسیون منطقی درجه دوم، سیستم میتواند آستانههای دقیق استفاده از حافظه را تعیین کند که سطوح هدف رعایت SLO را حفظ میکند.
«با استفاده از مدل رگرسیون منطقی درجه دوم، ما برای بهرهگیری از حافظهٔ سطح ماشین (𝑋) که متناظر با 𝑃target موردنظر است، معادله را حل میکنیم»، مقاله گفت.
این برای مدیران سازمانی راهنماییهای ملموس دربارهٔ سطوح ایمن اختصاص بیش از حد فراهم میکند بهجای اتکا به حدس یا تخمینهای بیش از حد محتاطانه.
با شناخت اینکه هیچ سیستم طبقهبندی کاملی وجود ندارد، Eigen+ شامل قابلیتهای مهاجرت زندهٔ واکنشی بهعنوان مکانیزم پشتیبان است. وقتی استفاده از حافظه به سطوح خطرناک نزدیک میشود، سیستم بهصورت خودکار نمونههای پایگاه داده را به سرورهای کمبار منتقل میکند.
در طول تست تولید، «در دو روز نهایی تنها پنج مهاجرت زنده انجام شد که شامل پایگاههای دادهٔ آینهای نیز میشود. این کارها که تأثیر کمی بر سیستمهای عملیاتی دارند، نشاندهندهٔ کارآمدی Eigen+ در حفظ پایداری عملکرد بدون کاهش تجربهٔ کاربری است».
پیامدهای صنعتی
پژوهش نشان میدهد که ارائهدهندگان ابری با استفاده از مدلهای پیشبینی بیجا پیچیده به مسئلهٔ اختصاص بیش از حد حافظه نزدیک شدهاند، در حالی که رویکردهای طبقهبندی سادهتر ممکن است مؤثرتر باشند. مقاله بیان کرد که روشهای مورد استفاده توسط Google Autopilot، AWS Aurora و Microsoft Azure همگی به روشهای مبتنی بر پیشبینی اتکا دارند که میتوانند در سناریوهای بهرهبرداری بالا شکست بخورند.
برای تیمهای فناوری اطلاعات سازمانی که خدمات پایگاه دادهٔ ابری را ارزیابی میکنند، Eigen+ نمایانگر مزیتی رقابتی برای الیبابا کلود در بازارهایی است که قابلیت اطمینان پایگاه داده و بهرهوری مؤثر منابع عوامل حیاتی هستند.
پست های مرتبط
Alibaba Cloud Eigen+ را برای کاهش هزینهها و افزایش قابلیت اطمینان پایگاههای داده سازمانی راهاندازی میکند
Alibaba Cloud Eigen+ را برای کاهش هزینهها و افزایش قابلیت اطمینان پایگاههای داده سازمانی راهاندازی میکند
Alibaba Cloud Eigen+ را برای کاهش هزینهها و افزایش قابلیت اطمینان پایگاههای داده سازمانی راهاندازی میکند