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

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

اتصال‌پذیری مرکز دادهشبکه‌سازی کلاسترتأخیر و پهنای باند شبکه

~3 دقیقه مطالعه · آخرین به‌روزرسانی ۱۵ شهریور ۱۴۰۵

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

یک کلاستر، که پیش‌تر در این مجموعه بحث شد، با دو چالش شبکه‌سازی مرتبط اما متمایز مواجه است: ارتباط کارآمد بین ماشین‌ها درون خود کلاستر، که پیش‌تر درباره توپولوژی‌های شبکه پوشش داده شد، و ارتباط بین کل کلاستر و دنیای بیرون، مانند کاربران نهایی یا مراکز داده دیگر، که این مقاله روی آن تمرکز می‌کند.

تأخیر در مقابل پهنای باند

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

تأخیر بالا، پهنای باند بالا:
خوب برای انتقال فایل‌های بزرگ،
ضعیف برای ارتباط رفت‌وبرگشتی سریع

تأخیر پایین، پهنای باند پایین‌تر:
خوب برای درخواست‌های تعاملی سریع،
کمتر مناسب برای انتقال داده انبوه

چرا این تمایز برای بارهای کاری مختلف اهمیت دارد

یک سرویس وب تعاملی که به درخواست‌های کاربر منفرد پاسخ می‌دهد به‌شدت به تأخیر حساس است، چون کاربران حتی تأخیرهای کوچک در زمان پاسخ را متوجه می‌شوند. یک کار پردازش داده دسته‌ای که مجموعه‌داده‌های عظیمی را بین ماشین‌ها منتقل می‌کند، بسیار بیشتر به پهنای باند اهمیت می‌دهد، چون زمان کل جابه‌جایی داده بر هر تأخیر کوچک هر-پیام غالب است.

اتصال کلاستر به دنیای بیرون

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

متعادل‌سازی بار درخواست‌های ورودی

وقتی درخواست‌های خارجی به یک مرکز داده می‌رسند، باید به‌طور کارآمد بین بسیاری ماشین‌های موجود قادر به مدیریت آن‌ها توزیع شوند، وظیفه‌ای که توسط سخت‌افزار یا نرم‌افزار Load Balancer اختصاصی انجام می‌شود. این کار اطمینان می‌دهد هیچ ماشین منفردی با درخواست‌ها مغلوب نمی‌شود در حالی که دیگران نسبتاً بی‌کار می‌مانند، و مستقیماً روی پاسخ‌گویی کلی تجربه‌شده توسط کاربران خارجی تأثیر می‌گذارد.

چرا طراحی شبکه دنیای واقعی نیازمند لایه‌بندی دقیق است

یک سیستم در مقیاس بزرگ خوب‌طراحی‌شده، ملاحظات شبکه‌سازی خودش را با دقت لایه‌بندی می‌کند: اتصالات سریع و کم‌تأخیر درون یک رک از ماشین‌های به‌شدت جفت‌شده، اتصالات کمی کندتر بین رک‌ها با استفاده از استراتژی‌های توپولوژی که پیش‌تر در این مجموعه بحث شد، و اتصال‌پذیری خارجی با دقت تأمین‌شده به اینترنت گسترده‌تر، که هر لایه برای الگوهای ارتباطی خاص مورد انتظار در آن سطح تنظیم شده است.

چرا مسیر این فصل اهمیت دارد

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

نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

تصورات غلط رایج درباره محاسبات موازی و درس‌های نهایی کتاب

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

ادامه

واقعیت‌های عملی: بنچمارک CPU در مقابل GPU و ضرب ماتریس چندپردازنده‌ای

مقایسه منصفانه یک CPU و یک GPU نیازمند مدلی است که هم توان عملیاتی محاسباتی و هم محدودیت‌های پهنای باند حافظه را با هم در نظر بگیرد. این مقاله مدل roofline مورد استفاده برای مقایسه سخت‌افزار واقعی مانند Intel Core i7 و NVIDIA Tesla GPU را معرفی می‌کند، سپس نشان می‌دهد ضرب ماتریس چگونه در سراسر چند پردازنده تسریع می‌شود، به‌عنوان کاربرد عملی نهایی مفاهیم موازی این فصل.

ادامه

بنچمارک کردن چندپردازنده‌ها و مدل‌سازی کارایی موازی

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

ادامه

کلاسترها، کامپیوترهای در مقیاس انبار، و توپولوژی‌های شبکه

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

ادامه

مقدمه‌ای بر GPU: موازی‌سازی عظیم برای بارهای کاری سنگین از نظر داده

یک GPU ایده SIMD که پیش‌تر در این مجموعه پوشش داده شد را به یک مقیاس افراطی می‌برد، و هزاران رشته سبک را به‌طور هم‌زمان اجرا می‌کند تا حجم عظیمی از داده مستقل را پردازش کند. این مقاله توضیح می‌دهد چرا GPU ها از نظر معماری این‌قدر با CPU متفاوت‌اند، مدل اجرای رشته آن‌ها چگونه کار می‌کند، و چه نوع بارهای کاری بیشترین بهره را از این طراحی می‌برند.

ادامه

چندپردازنده‌های حافظه مشترک: تراشه‌های چندهسته‌ای واقعاً چگونه همکاری می‌کنند

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

ادامه