محققان دانشگاه MIT و دانشگاه تافتس یک طرح مدیریتی برای بهبود عملکرد SSD های تجمیع شده توسعه دادهاند که کندی عملکرد ناشی از عملیات پاک کردن و نوشتن بلوک و جمعآوری زباله را کاهش میدهد.
این طرح که Sandook نام دارد، با استفاده از یک ساختار کنترل دو لایه که با دادههای تلهمتری از نرمافزار عامل در حال اجرا بر روی سرورهای ذخیرهسازی تغذیه میشود، ویژگیهای محدودکننده عملکرد کوتاهمدت و بلندمدت SSD ها را از هم جدا میکند.
عملکرد SSD میتواند بسته به ترکیب درخواستهای خواندن و نوشتن به طور قابل توجهی نوسان داشته باشد. از آنجایی که نوشتنها نیازمند یک چرخه پاک کردن و بازنویسی در سطح بلوک هستند، بسیار کندتر از خواندنها هستند و ترافیک سنگین نوشتن میتواند عملکرد کلی خواندن را کاهش دهد. عملکرد همچنین میتواند در تنظیمات SDS از فروشندگان مختلف و حتی در بین SSD های تولید شده از یک سازنده و دسته یکسان متفاوت باشد. هنگامی که یک کنترلر SSD سلولهای حذف شده را در یک بلوک بازیافت میکند، باید دادههای معتبر را کپی کرده، بلوک را پاک کند و آن را به استخر آزاد بازگرداند - فرآیندی که به عنوان جمعآوری زباله شناخته میشود. این عملیات معمولاً به طور مستقل توسط هر کنترلر SSD مدیریت میشود و میتواند منجر به افت ناگهانی و قابل توجه عملکرد شود.
محققان یک خوشه محاسباتی متشکل از گرههای محاسباتی و سرورهای ذخیرهسازی را تصور میکنند. یک کنترلر مرکزی در خوشه محاسباتی، در کنار نرمافزار کلاینت بر روی سرورهای محاسباتی و نرمافزار عامل بر روی سرورهای ذخیرهسازی عمل میکند. سرورهای ذخیرهسازی از SSD های استاندارد و آماده در بازار استفاده میکنند که هر کدام مجهز به کنترلر بومی خود هستند.
کنترلر Sandook یک رجیستری از تمام SSD ها را نگهداری میکند و هر کدام را برای تعیین معیارهای عملکرد مانند قابلیتهای IOPS پروفایل کرده است. این کنترلر حالتهای خواندن یا نوشتن را به درایوهای مجزا اختصاص میدهد و بهروزرسانیهای عملکرد را به صورت لحظهای هر 200 میلیثانیه از عوامل Sandook در سرورهای ذخیرهسازی دریافت میکند. با استفاده از این دادهها، وزنهای خواندن و نوشتن را که با تقاضای I/O جهانی خوشه تنظیم شدهاند، محاسبه کرده و این تصمیمات زمانبندی را با نرمافزار کلاینت Sandook در سرورهای محاسباتی به اشتراک میگذارد.
برای خواندنها، Sandook از تکثیر بلوک موجود - که قبلاً برای تحمل خطا استفاده میشود - برای مسیریابی انعطافپذیر درخواستهای خواندن در بین تکرارها در SSD های مختلف استفاده میکند. برای نوشتنها، از یک طراحی ساختار یافته به صورت لاگ استفاده میکند که به نوشتنها اجازه میدهد به هر SSD بدون توجه به محل قرارگیری بلوک منطقی هدایت شوند. این درجه بالای انعطافپذیری تضمین میکند که سیاستهای زمانبندی میتوانند بدون محدودیت اعمال شوند.
نرمافزار کلاینت Sandook یک رابط دستگاه بلوکی استاندارد را به برنامهها ارائه میدهد و درخواستهای I/O را به طور شفاف به مناسبترین SSD ها بر اساس قوانین زمانبندی کنترلر هدایت میکند. همچنین وضعیت لحظهای SSD را از عوامل سمت ذخیرهسازی دریافت میکند و میتواند در طول جمعآوری زباله یک SSD را اولویتبندی کند. سپس درخواستهای خواندن و نوشتن به درایوهای دیگر هدایت میشوند و از تأخیر بیش از حد در سیستم ذخیرهسازی کلی جلوگیری میشود.
عوامل Sandook (1) دستورات خواندن و نوشتن را از کلاینتها پردازش کرده و به SSD های هدف ارسال میکنند؛ (2) نظارت مستقل از سختافزار، از جمله پروفایلبندی دورهای و سیگنالهای وضعیت لحظهای را برای پشتیبانی از زمانبندی کنترلر ارائه میدهند؛ و (3) سیگنالهای ازدحام SSD را به کلاینتها منتقل میکنند تا رویدادهای کوتاهمدت مانند جمعآوری زباله بتوانند به صورت محلی و فوری با تغییر I/O به سایر SSD های سرور مدیریت شوند.
سربار حافظه و CPU ناشی از نظارت بر دهها SSD در هر سرور ذخیرهسازی حداقل است.
محققان Sandook را تحت چهار بار کاری ارزیابی کردند:
- LeanStore: یک موتور ذخیرهسازی OLTP با کارایی بالا که برای پردازندههای چند هستهای و SSD های NVMe بهینه شده است.
- یادگیری ماشین: آموزش یک مدل Unet3D CNN با PyTorch بر روی مجموعه داده 180 گیگابایتی.
- LZ4: فشردهسازی تصویر بر روی مجموعه داده ImageNet ILSVRC2015.
- سرور ذخیرهسازی: یک سرور ذخیرهسازی بلوکی متنباز با کارایی بالا که به برنامههای حساس به تأخیر خدمات میدهد.
در مجموع، Sandook توان عملیاتی خام I/O را 30 تا 82 درصد در مقایسه با سیستمهای موجود که فقط یک منبع از نوسانات عملکرد را برطرف میکنند، بهبود میبخشد و در عین حال تأخیر زیر میلیثانیه را حفظ میکند. برای برنامههای اصلاح نشده که یک استخر SSD را به اشتراک میگذارند، عملکرد سرتاسری 12 تا 94 درصد بهبود مییابد.
به طور خاص، در مقایسه با سیستمهای قبلی، 1.7 برابر توان عملیاتی ذخیرهسازی بالاتر، 1.12 تا 1.94 برابر توان عملیاتی برنامه بالاتر، 71 تا 88 درصد تأخیر کمتر و 23 درصد استفاده بیشتر از GPU را ارائه میدهد - بدون نیاز به سختافزار سفارشی یا تغییرات برنامه.
مقاله Sandook با عنوان «آزاد کردن پتانسیل SSD های دیتاسنتر با مهار نوسانات عملکرد» به صورت فایل PDF قابل دانلود در دسترس است. این کار در سمپوزیوم USENIX در مورد طراحی و پیادهسازی سیستمهای شبکهای (NSDI 2026) در رنتون، واشنگتن، از 4 تا 6 مه ارائه خواهد شد.
شرکت فناوری پکن Qianxing Jietong.
سندی یانگ / مدیر استراتژی جهانی
واتساپ / وی چت: +86 13426366826
ایمیل: yangyd@qianxingdata.com
وب سایت: www.qianxingdata.com/www.storagesserver.com
تمرکز تجاری:
توزیع محصولات ICT / یکپارچهسازی سیستم و خدمات / راهحلهای زیرساخت
با بیش از 20 سال تجربه در توزیع IT، ما با برندهای پیشرو جهانی همکاری میکنیم تا محصولات قابل اعتماد و خدمات حرفهای ارائه دهیم.
«استفاده از فناوری برای ساختن دنیایی هوشمند» ارائهدهنده خدمات محصولات ICT مورد اعتماد شما!