واکاوی دلایل بن‌بست‌ها در شبکه‌های مراکز داده

چکیده

به‌خاطر نیاز به تاخیر کم، خروجی بالا و سربار پردازنده پایین، دسترسی مستقیم به حافظه از دور (RDMA) توسط تامین‌کننده‌های زیادی به‌کار گرفته می‌شود. برای گسترش RDMA در شبکه‌های اترنت، باید از کنترل جریان بر مبنای اولویت (PFC) استفاده کرد. با این حال PFC شبکه‌های اترنت را بن‌بست می‌کند. در این مقاله شرایط کافی برای تشکیل بن‌بست را بررسی می‌کنیم.

مقدمه

این مقاله در مورد مساله تشکیل بن‌بست در شبکه‌های کم‌اتلاف است. به واسطه نیاز به تاخیر کم، بازدهی بالا، و سربار پردازشگر پایین، بیشتر تامین‌کننده‌های خدمات ابر در حال گسترش دسترسی مستقیم به حافظه از راه دور در شبکه‌های مرکز داده خود هستند. در میان فناوری‌های کنونی RDMA، RDMA روی اترنت همگرا (RoCE) یک روش نویدبخش است؛ چراکه با IP کنونی و شبکه‌های مرکز داده مبتنی بر اترنت سازگار است.

گسترش اترنت همگرا برای تامین یک شبکه کم بدون اتلاف L2 به کنترل جریان بر مبنای اولویت نیاز دارد. با PFC، اتلاف بسته با اجازه دادن به یک سوییچ برای متوقف کردن دستگاه بعدی خود قبل از سرریز بافر، قابل پیشگیری است. با این حال، PFC می‌تواند باعث مشکل بن‌بست شود.

یک وضعیت وقفه: یک وابستگی بافری سایبری میان مجموعه‌ای از سوییچ‌ها وجود دارد. هر سوییچ در چرخه همه بافرهای لازم برای سوییچ بالادستی را نگه می‌دارد و در عین حال منتظر سوییچ پایین‌دستی برای آزاد کردن کمی از بافر و ادامه ارسال بسته خود است. یک سناریوی ساده در شکل 1 نشان داده می‌شود.

به‌راحتی می‌توان دید که وقتی بن‌بست رخ می‌دهد، هیچ سوییچی در چرخه نمی‌تواند به کار ادامه دهد. به‌علاوه خروجی کل شبکه یا بخشی از آن به‌خاطر تاثیر فشار معکوس توقف PFC، به صفر میل خواهد کرد.

 

شکل1. نمایش ساده بن‌بست القاشده به واسطه PFC

اغلب اعتقاد بر این است که این بن‌بست‌ها نمی‌توانند در شبکه‌های مرکز داده با ساختار بسته رخ دهند؛ چراکه در این شبکه‌ها با مسیریابی بدون دره [!] حلقه نمی‌تواند تشکیل شود، با این حال همکاران نشان داده‌اند که بن‌بست‌ها می‌توانند در این شبکه‌ها روی دهند. حال بر این باوریم که بن‌بست‌ها می‌توانند در زمانی که حلقه‌های انتشار در شبکه‌های دارای ساختار بسته تشکیل می‌شود، رخ دهند. در مراکز داده ما این مساله به صورت مسیرهای دوباره BGP  در اطراف خطاهای اتصال می‌تواند روی دهد. در مراکز داده بر مبنای SDN، حلقه‌های ارسال می‌توانند در طول به‌روزرسانی رخ دهند. در‌حالی‌که حلقه‌ها می‌توانند ناپایدار باشند، بن‌بست‌های ناشی از آنها پایدار هستند. بن‌بست‌ها حتی پس از رفع مشکلات به‌وجود آورنده آنها (پیکربندی اشتباه، خطا/به‌روز‌رسانی و ...) به‌طور خودکار رفع نمی‌شوند.

 بن‌بست در شبکه بدون اتلاف

RoCE برای تامین شبکه L2 بدون اتلاف به PFC نیاز دارد. با مکانیزم PFC PAUSE، یک سوییچ می‌تواند اتصال ورودی را وقتی اشغال بافر وروید آن به یک حد آستانه برسد، متوقف کند. در صورت تنظیم دست، هیچ بسته‌ای به‌خاطر فضای ناکافی بافر اتلاف نمی‌شود. متاسفانه بن‌بست می‌تواند در این شبکه‌های بدون اتلاف روی دهد. PFC در صورتی می‌تواند منجر به بن‌بست شود که اتصال‌هایی از یک چرخه را متوقف کند. در شبکه با امکان PFC، اگر یک زیرمجموعه اتصال‌ها همزمان توسط PFC روی داده برای ایجاد یک چرخه مستقیم متوقف شود، هیچ بسته‌ای در چرخه نمی‌تواند جابه‌جا شود، حتی اگر ترافیک جدید بیشتری به این چرخه تزریق شود.

مطالعات موردی: CBD برای بن‌بست کافی نیست

اگرچه CBD یک شرط لازم برای بن‌بست است، اما شرط کافی نیست. در این بخش مطالعات موردی خود را ارايه می‌کنیم که در آنها CBD وجود دارد، اما تشکیل بن‌بست هنوز به عوامل دیگری بستگی دارد. آنچه ثابت می‌کنیم: 1) یک جریان حلقه‌ای که CBD تولید می‌کند همیشه منجر به بن‌بست نمی‌شود. طول حلقه، سرعت جریان‌ها و زمان زندگی (TTL) بسته بر تشکیل بن‌بست تاثیر دارند. 2) چند جریان می‌توانند باعث CBD شوند، اما مجموعه جریان‌های کمی متفاوت منجر به نتایج بن‌بست متفاوتی می‌شوند. 3) محدود کردن سرعت می‌تواند مانع رویداد بن‌بست شود.

 

شکل2. جریان تک‌حلقه CBD ایجاد می‌کند، اما ممکن است بن‌بست ایجاد نکند.

1.3. مورد 1: سرعت جریان و زمان زندگی بن‌بست را در حلقه مسیریابی تعیین می‌کنند

یک حلقه مسیریابی در صورتی CBD ایجاد می‌کند که جریانی در حلقه به دام افتاده باشد. ساده‌ترین نمونه یک حلقه، دوخیزی میان دو سوییچ است که در شکل a2 نشان داده‌ایم (RX نشان‌دهنده صف ورودی و TX نشان‌دهنده صف خروجی است). سپس نمودار وابستگی به بافر را رسم می‌کنیم (شکل b2). هر خط جهت‌دار نشان‌دهنده یک وابستگی بافر از RX مبدا به RX مقصد است. برای نمونه بسته‌های ذخیره‌شده در RX1 سوییچ A به RX1 سوییچ B فرستاده خواهند شد و بالعکس.

2.3. مورد 2: ماتریس ترافیک بر بن‌بست تاثیر می‌گذارد

چند جریان می‌توانند یک CBD ایجاد کنند، حتی اگر حلقه مسیریابی وجود نداشته باشد. شکل a3 نمونه ساده‌ای با چهار سوییچA, B, C  و  Dرا نشان می‌دهد. جریان 1 در یک میزبان (که نشان داده نمی‌شود) متصل به A آغاز می‌شود، از B و C عبور می‌کند و در میزبان متصل به D پایان می‌یابد. جریان 2 در یک میزبان متصل به C شروع می‌شود، از D و A عبور می‌کند و در یک میزبان متصل به B پایان می‌یابد. شبیه موارد قبل، می‌توانیم خط‌های وابستگی را میان سوییچ‌ها بکشیم. همان‌طور که در شکل b3 نشان داده می‌شود، یک CBD میان چهار سوییچ وجود دارد، یعنی وابستگی‌هایی از RX1 مربوط به A تا  RX1 مربوط به B، سپس به RX1 مربوط به C، سپس به RX1 مربوط به D و در نهایت به RX1 مربوط به A برمی‌گردد.

ماتریس ترافیک کمی متفاوت منجر به بن‌بست می‌شود: همان‌طور که در شکل a4 نشان داده می‌شود، بر مبنای سناریوی قبلی جریان دیگری (جریان 3) را اضافه می‌کنیم که در سوییچ B وارد شبکه می‌شود و در سوییچ C شبکه را ترک می‌کند. همه سه جریان جریان‌های UDP با تقاضای ترافیک محدود هستند. نمودار وابستگی بافر در شکل b4 ترسیم می‌شود. در مقایسه با سناریوی قبلی، یک وابستگی دیگر از RX2 مربوط به B به RX1 مربوط به C اضافه می‌شود، اما خارج از CBD است. خود CBD بدون تغییر باقی می‌ماند.

3.3. مورد 3: محدود کردن سرعت بن‌بست را رفع می‌کند

در مثال بن‌بست قبل (شکل 4)، اگر سرعت جریان 3 را بیشتر محدود کنیم، می‌توان از بن‌بست دوری کرد. همان‌طور که در شکل a5 نشان داده می‌شود، یک محدودکننده سرعت به RX2 درگاه ورودی سوییچ B اضافه می‌کنیم. درحالی‌که نمودار وابستگی بافر همانند شکل b4 باقی می‌ماند، جریان 3 کندتر به‌معنای این است که ازدحام روی سوییچ B کمتر است، PFC تناوب کمتری دارد و می‌توان از بن‌بست دوری کرد. پرسش این است که بیشترین سرعتی که می‌تواند از بن‌بست دوری کند، چقدر است؟

CBD شرط ضعیفی برای بن‌بست است. ماتریس تقاضای ترافیک، زمان زندگی و سرعت جریان‌ها همه بر تشکیل بن‌بست تاثیر دارند. درحالی‌که نمی‌توانیم محکم‌ترین شرایط (یعنی شرط لازم و کافی) را به دست آوریم، می‌دانیم که یک شرط محکم‌تر باید شامل آن عوامل باشد و اینکه این عوامل را می‌توان برای رفع یا کاهش بن‌بست استفاده کرد. در بخش 4، در مورد رفع بن‌بست‌های احتمالی علاوه بر اجتناب از CBD بحث می‌کنیم. 

حذف احتمالی بن‌بست

از آنجا که CBD تنها شرط لازم برای بن‌بست است، مکانیزم‌های حذفی وجود دارند که حتی در صورت وجود CBD از بن‌بست دوری می‌کنند. نمونه‌ها و تحلیل آنها در بخش 3 برخی از روش‌های احتمالی حذف بن‌بست زیر را الهام می‌کند. تاکید می‌کنیم که نتوانسته‌ایم شرایط کافی برای تشکیل بن‌بست را مشخص کنیم. بنابراین راه‌حل‌های ارايه‌شده در زیر تنها رفع بن‌بست هستند و ماهیتا ذهنی و غیرمستدل هستند. امیدواریم در آینده شرایط کافی را به‌طور کامل مشخص کنیم و راه‌حل‌های دقیق‌تر و کافی برای دوری از بن‌بست ارايه کنیم.

انتشار چارچوب‌های توقف PFC محدودکننده: PFC برای مساله انسداد HoL آن معروف است. آسیب HoL و بن‌بست احتمالی ناشی از PFC قابل توجه است، چراکه چارچوب‌های توقف در نزدیکی مقصد یا در میانه شبکه تولید می‌شوند که در آنها، معمولا ازدحام شبکه رخ می‌دهد. بنابراین اگر بتوانیم انتشار چارچوب توقف PFC را محدود کنیم یا تنها آنها را نزدیک مبدا ایجاد کنیم، می‌توانیم آسیب بن‌بست و انسداد HoL را کاهش دهیم.

نتیجه‌گیری

در این مقاله نشان دادیم که CBD شرط لازم و نه کافی برای تشکیل بن‌بست است. اما با استفاده از بینش‌های به‌دست‌آمده از چند مثال، در مورد مکانیزم‌های احتمالی حذف بن‌بست شامل طرح‌های بر پایه TTL، محدودسازی سرعت، و کاهش انتشار PFC بحث کردیم.

مراجع

 [1] RDMA over Converged Ethernet (RoCE).

http://www.mellanox.com/page/products_dyn?

product_family=79.

تقویم تاریخ ICT ایران

تقویم تاریخ ICT ایران

دیدگاه‌ها

    ارسال دیدگاه