نت‌کَس: معجزه مدیریت کش و بک‌اند توی شبکه‌ها (بدون دردسر!)

Fall Back

تا حالا به این فکر کردی که دیتا سنترها (همون مراکز داده‌ی بزرگ که اینترنت و اپلیکیشن‌ها رو روشون اجرا میشن) چطوری سرعت حافظه رو بالا نگه می‌دارن؟ معمولاً وقتی دنبال ذخیره‌سازی سریع هستیم، ترکیب حافظه‌ی پرسرعت (اسمش کش cache هست، یعنی یه حافظه موقت برای ذخیره داده‌های پرکاربرد که دسترسی بهش سریع‌تره) و یه دستگاه ذخیره‌سازی پشتیبان (backend device یعنی همون حافظه‌های بزرگ‌تر و کندتر) رو استفاده می‌کنن.

حالا یه مشکلی پیش میاد! فاصله سرعت این دوتا داره کمتر میشه. یعنی فرق سرعت کش و حافظه اصلی مثل قبلاً فاحش نیست. پس اینکه هرچی رو فقط بسپری به کش یا فقط بری سراغ حافظه‌ی اصلی دیگه جواب نمی‌ده.

اینجا بود که یه راه‌حل خفن به اسم NetCAS معرفی شد. نت‌کس یه چارچوب جدیده که هوشمندانه ترافیک رو بین کش و حافظه پشتیبان (backend) تقسیم می‌کنه. اونم نه با حدس و گمان، بلکه با توجه به اطلاعات زنده‌ی شبکه (real-time network feedback یعنی بازخورد از وضعیت فعلی شبکه) و یه پروفایل کارایی که قبلاً آماده شده (precomputed Perf Profile که اطلاعات دقیق از کارایی سیستم توی شرایط مختلف داره).

نت‌کَس اصلاً مثل روش‌های قدیمی نیست که فقط دلش به hit-rate (یعنی اینکه چنددرصد دسترسی‌ها به کش موفقن) خوش باشه. برعکس، این سیستم نسبت به وضع فعلی شبکه و شرایط کاری اپلیکیشن، نسبت تقسیم رو تنظیم می‌کنه و میگه الان بیشتر درخواستا رو بفرست به کش یا به حافظه پشتیبان.

چیزی که باحاله اینه که توی مراکز داده‌ی بزرگ (که بک‌اند‌ها معمولاً راه دورن و باید از طریق شبکه بهشون وصل بشی)، اوضاع خیلی غیرقابل پیش‌بینی میشه. ممکنه یه دفعه شبکه شلوغ بشه و اگه همه درخواستارو فقط به یک طرف بفرستی، هم سرعتت کم میشه هم ممکنه سیستم هنگ کنه!

اینجاست که نت‌کَس یه ویژگی ویژه داره: یه الگوریتم کم‌هزینه استفاده می‌کنه به اسم “batched round-robin scheduler”، یعنی به‌جای اینکه هر درخواست جدا حساب شه، کلی درخواست رو با هم مدیریت می‌کنه و بین کش و بک‌اند تقسیم میکنه. این باعث میشه هزینۀ مدیریت درخواستا (overhead) خیلی پایین بیاد و سیستم سنگین نشه.

نتیجه چی شده؟ نت‌کس توی تست‌ها تا ۱۷۴ درصد عملکرد بهتر از روش‌های کش سنتی داشته! (یعنی مثلاً اگه یجایی قبلاً ۱۰۰ مگ بر ثانیه سرعت می‌گرفتی، الان میتونی تا نزدیک ۲۷۴ مگ بر ثانیه بری!) حتی در مواقعی که شبکه هی وضعیتش تغییر میکنه – مثل مواقع اوج مصرف – تا سه و نیم برابر (۳.۵X) از روش‌هایی مثل Orthus (اینم یه سیستم مدیریت کشه) بیشتر سرعت داده.

در کل، اگه دنبال یه سیستم ذخیره‌سازی مدرن و هوشمند می‌گردی که خودش همیشه نسبت بهترین رو پیدا کنه تا بتونی از کش و بک‌اند بیشترین بهره رو ببری، اونم بدون هزینه زیاد یا کند شدن سیستم تو شرایط شبکه شلوغ، نت‌کَس همون چیزیه که منتظرش بودی!

منبع: +