
یکی از رایجترین پرسشهای مطرح شده از سوی کارشناسان شبکه، این است که چرا همه سرورها 4 سوکتی نیستند؟ در این مطلب از مفتاح رایانهافزار قصد داریم این موضوع را به طور اجمالی مورد بررسی قرار دهیم.
چرا سرورهای 4 سوکت منطقی به نظر میرسند؟
شاید بزرگترین دلیل برای استفاده از سرورهای 4 سوکتی، مقیاسپذیری اندازهی گره (Node) باشد. به بیان دقیقتر، شما حافظه (RAM) و قدرت پردازنده بیشتری در یک گره دارید. در نتیجه، میتوانید اندازهی مسئله یا کاری که انجام میدهید را بدون نیاز به خروج از آن گره و استفاده از شبکههای مختلف، مقیاسدهی کنید. حتی برای سرورهای مجازیسازی شده، گرههای بزرگتر به این معنی است که میتوانید تراکم ماشین مجازی (VM) بالاتری داشته باشید و منابع را به شکل بهینه مورد استفاده قرار دهید.

افزایش امکانات گسترشی (Expansion)
همچنین میتوانید امکانات گسترش بیشتری در هر گره داشته باشید. در سرورهای مدرن، خطوط PCIe از سوکت پردازنده نشات میگیرند. در سرورهای 4 سوکت، به خصوص در نسل فعلی سرورهای Intel Xeon Scalable، شما به طور موثر با دو برابر کردن خطوط پردازنده، دو برابر خطوط PCIe خواهید داشت. ما دیدهایم که سیستمهای ذخیرهسازی از این خطوط اضافی PCIe برای اتصال درایوهای NVMe بیشتر و افزودن اتصال SAS بیشتر استفاده میکنند. حتی سرورهای GPU دیدهایم که مجموعهای از GPUها در پیکربندیهای ۴ سوکت به هر پردازنده متصل شدهاند.

کاهش هزینههای زیرساختی
از دیدگاه هزینه، یکسری معیارها وجود دارند که وجود سرورهای ۴ سوکتی را منطقی میکنند. به عنوان مثال، بسیاری از قطعات زیرساختی بر اساس مدل به ازای هر گره هستند که هنگام یکپارچه شدن با گرههای بزرگتر، هزینهها را کاهش میدهند. این هزینهها شامل نرمافزار مدیریتی، لایسنس و تعداد کمتر پورتهایی است که قرار است مدیریت شود. صرفهجویی در هزینه به بخش سختافزار نیز گسترش مییابد. بسیاری از سرورها میتوانند تنها از یک کارت شبکه (NIC) به ازای هر گره استفاده کنند. اگر چنین باشد، دو برابر کردن ظرفیت گره اساسا به معنای نصف شدن تعداد کارتهای شبکه است. همچنین به معنای نصف شدن هزینههای سوئیچ، کابلکشی و قطعات دیگر به ازای هر گره است که هزینههای شبکه را به شدت کاهش میدهد.

صرفهجویی در هزینهها با سرورهای چند-سوکتی
در خود گره (سرور) نیز به لحاظ هزینه، صرفهجوییهایی خواهیم داشت. این صرفهجوییها را میتوان به شرح زیر خلاصه کرد:
- کاهش هزینههای سربار فیزیکی: هزینه شاسی و دو منبع تغذیه بین سوکتهای پردازنده و حافظه تقسیم میشود. این کار به طور موثری هزینههای سربار را کاهش میدهد، زیرا منابع تغذیه و شاسی را تعداد بیشتری پردازنده و رم مورد استفاده قرار میدهند.
- درایو راهاندازی (Boot Drive): اندازه گره هر چه باشد، به هر حال شما به یک یا چند درایو راهانداز نیاز دارید. پس این هزینه فقط یک بار به ازای هر گره (نه هر سوکت) اعمال میشود و با افزایش سوکتها، هزینه آن تقسیم شده و کاهش مییابد.
- قطعات مدیریتی مادربرد: روی مادربرد، شما فقط به نیمی از قطعات مدیریتی اصلی مانند BMCs (کنترلر مدیریت برد)، PCHs (کنترلر هاب پلتفرم) و کارتهای شبکه مدیریتی پایه مثل 1GbE نیاز دارید، در حالی که در سرورهای دو-سوکت به ازای هر گره، قطعات بیشتری استفاده میشوند (چون تعداد گرهها دو برابر میشود).

سادهترین راه برای درک صرفهجوییها این است که بگوییم بعضی از هزینههای زیرساختی سرور (مثل هزینه شاسی یا کابلکشی) به ازای تعداد گرهها (سرورها) محاسبه میشوند، نه به ازای تعداد پردازنده یا هستههای داخل هر سرور. به همین دلیل، وقتی از گرههای (سرورهای) بزرگتر (مثلا ۴-سوکت به جای ۲-سوکت) استفاده میکنید، میتوانید در برخی بخشها تا ۵۰٪ در هزینهها صرفهجویی کنید، زیرا هزینههای ثابت بین تعداد بیشتری پردازنده تقسیم میشوند. همچنین، با استفاده از قطعات بیشتر و کار کردن هر گره در سطوح توان بالاتر، منابع تغذیه در محدودههای بالاتر عملکرد خود کار میکنند. بنابراین، بازدهی منابع تغذیه بیشتر شده و کل هزینه مالکیت (TCO) کاهش پیدا میکند.
امکان ارتقاء
گذشته از مزایای مقیاسپذیری یک گره و هزینههای زیرساختی کمتر به ازای هر سوکت، مزیت دیگری نیز وجود دارد: ارتقاء. برخی از شرکتهای بزرگ بر پایه این استراتژی کار میکنند که سرورهای ۴-سوکت را با دو پردازنده راهاندازی میکنند و سپس در میانه عمر سیستم، آنها را به چهار پردازنده ارتقا میدادند و عملکردی دو برابر یا بیشتر به دست میآوردند. بنابراین، مجبور نیستند سرورهای بیشتری بخرند و تنها پردازنده اضافه میکنند.

با وجود مزایایی که در بالا ذکر شد، سرورهای ۴-سوکت امروزه به هیچ وجه معماری غالب و اصلی بازار نیستند. در عوض، سرورهای ۲-سوکت از نظر تعداد واحدهای فروخته شده، غالب هستند.
هزینه و ریسک خرابی
واضحترین پاسخ در اینجا هزینه است. هر سرور ۴-سوکتی به خودی خود خیلی گران است، حتی اگر در نهایت بتواند کمی از هزینههای زیرساختی شما را کاهش دهد. برای سازمانهای کوچکتر که ممکن است یک رک یا کمتر داشته باشند، بسیاری از سازمانها ترجیح میدهند تعداد سرور بیشتری داشته باشند تا در صورت خرابی، ضرر کمتری را متحمل شوند. به این رویکرد “حوزه خرابی کوچکتر” میگویند. وقتی شما سرورهای گران و کمتری دارید، اگر یکی از آنها به هر دلیلی از کار بیفتد، بخش بزرگتری از کل منابع شما (نسبت به یک محیط بزرگ) از دسترس خارج میشود و این ضرر بیشتری است.

همانطور که قبلا دیدهایم، نرمافزارهای امروزی (مثل محصولات VMware) دیگر کمتر بر اساس تعداد سرور (گره) یا تعداد سوکت پردازنده لایسنس میشوند. در عوض، مجوزها بیشتر بر اساس تعداد هستههای پردازنده (CPU Cores) صادر میشوند. در محیطهای بزرگ شرکتی، هزینه نرمافزار اغلب خیلی بیشتر از هزینه سختافزار است. به همین دلیل، برای آنها مهمتر است که به ازای هر هسته بهترین عملکرد را دریافت کنند تا اینکه بخواهند توان پردازشی زیادی را فقط در یک سرور متمرکز کنند.

پهنای باند ارتباطی UPI
وقتی صحبت از عملکرد میشود، یکی از بزرگترین تاثیرات از پهنای باند لینک UPI سرنام (Intel Ultra Path Interconnect) ناشی میشود. پردازندههای Intel Xeon Scalable در مدلهایی مثل Gold 6200 و Platinum 8200 هر کدام ۳ لینک UPI دارند. در سرورهای دو-سوکت، طراحان سرور معمولا ۲ یا ۳ لینک UPI را انتخاب میکنند. اغلب در سرورهای کمهزینهتر، ۲ لینک UPI را میبینید که با هدف صرفهجویی در هزینه مادربرد و انرژی پیادهسازی شده است. در سرورهای با عملکرد بالاتر که اغلب در شرکتهای ارائهدهنده خدمات ابری (Cloud Providers) استفاده میشوند، از ۳ لینک UPI استفاده میشود که حدود ۵۰ درصد پهنای باند بیشتر را فراهم میکند.

در سرورهای ۴-سوکت، حداکثر یک لینک UPI بین هر پردازنده وجود دارد. حتی با آن اتصال مستقیم، حداکثر پهنای باند مستقیم پردازنده به پردازنده به طور مؤثر ۳۳ تا ۵۰ درصد کمتر از یک سرور دو-سوکت است، حتی در قطعات رده بالا.
برای پردازندههایی مثل Intel Xeon Gold 5200، هر پردازنده تنها دو لینک UPI دارد. بنابراین، هر پردازنده میتواند تنها مستقیما با دو عدد از سه پردازنده دیگر در یک سیستم ۴-سوکت صحبت کند. اگر دادهی کمی بین سوکتها منتقل میشود، این موضوع مشکلی ندارد. اما برای بسیاری از برنامهها، این رویکرد به طور قابل توجهی بدتر از توپولوژی ۴-سوکت است، زیرا میتواند به معنای انجام دو هاپ (Hop) به جای یک هاپ باشد. همچنین، پردازندهای برنز و سیلور نمیتوانند ۴-سوکت باشند، بنابراین برای کاربردهای تک-سوکت و دو-سوکت باقی میمانند.

تراکم و پیچیدگی
واقعیت این است که اغلب سرورهای ۴ سوکتی بهجای اشغال یک یونیت، فضای دو تا چهار یونیت را در رک میگیرند. در نتیجه، این سرورها عملا از نظر تراکم فضایی، حتی از نیمی از سرورهای مدرن ۲ سوکتی ضعیفتر عمل میکنند. سرورهای قدیمی ۴ پردازندهای، فضای بسیار زیادی را اشغال میکنند و در مقایسه با سرورهای کارآمد جدید ۲ پردازندهای، از نظر تعداد هستههایی که در یک فضا ارائه میدهند، چندان جالب نیستند. همچنین، پیچیدگی در سرورهای ۴-سوکتی نیز بالا است. PCB و ادغام پیچیدهتر، طراحی سیستمها را کمی دشوارتر میکند. در نتیجه، ما تعداد کمتری فروشنده میبینیم که سرورهای ۴-سوکت تولید میکنند.

زمان راهاندازی (Boot Time)
جنبه دیگری که اغلب نادیده گرفته میشود این است که چه اتفاقی برای زمان راهاندازی ۴-سوکت میافتد. اگر مجبور باشید یک سرور ۴-سوکت را ریبوت کنید، میتواند بسیار کُند باشد. POST و راهاندازی آنها ممکن است چند دقیقه طول بکشد. این یک دلیل بزرگ است که ما از سرورهای 4 سوکت در زیرساخت میزبانی خود استفاده نمیکنیم، زیرا مدت زیادی طول میکشد تا آنلاین شوند.
ترجیحات منطقهای
دنیای سرورهای ۴-سوکت و حتی ۸-سوکت یک نکته جالب دارد و آن ترجیح عددی منطقهای است. عدد “۴” اغلب در فرهنگ چینی بدشانسی تلقی میشود. دلیل این امر این است که تلفظ کلمه چهار بسیار شبیه به تلفظ کلمه “مرگ” است. به همین دلیل است که بسیاری از ساختمانها در آسیا، طبقه چهارم ندارند، همانطور که در آمریکا اغلب آسانسورها طبقه ۱۳ ندارند. این تنها یک تفاوت منطقهای است.
از آنچه از تولیدکنندگان و اینتل شنیدهایم، اکثریت قریب به اتفاق سرورهای ۸-سوکت امروزه در چین فروخته میشوند. شاید تعجب کنید که بگوییم دلیل این مسئله مقیاسپذیری نیست. در مقابل، به دلیل عددشناسی ۸ است. عدد ۸ در فرهنگ چین عدد شانس است، درست مثل عدد ۷ که توسط بسیاری در غرب عدد شانس در نظر گرفته میشود. شاید عجیب به نظر برسد که تصور کنید خرید سرور در برخی از مناطق کاملا بر اساس معیارهای عملکردی انجام نمیشود. انسانها هنوز به برخی اعتقادات باور دارند و بنابراین عجیب نیست چنین اعتقاداتی به دنیای فناوری نیز وارد شود.
تأثیر AMD EPYC

یکی دیگر از دلایل عدم استقبال گسترده از سرورهای 4 سوکتی، به استراتژی شرکتهایی مثل ایامدی باز میگردد که متمرکز بر دو-سوکتی بودن است. به طور مثال، با پردازنده قدیمی EPYC 7002 میتوان ۱۲۸ هسته را در ۲ سوکت در مقایسه با حداکثر ۱۱۲ هسته در ۴-سوکت نسل دوم Intel Xeon Scalable به دست آورد. در نقطهای دیگر، پردازندههای جدید اینتل نیز 288 هسته پردازشی به ازای هر پردازنده ارائه میدهند که عملا جوابگوی نیازهای اکثر شرکتها است.
چه شرکتهایی باید از سرورهای ۴-سوکت استفاده کنند؟
برنامههای کاربردی زیادی وجود دارند که عملکرد بهتری هنگام اجرا روی یک پلتفرم 4 سوکتی دارند. به طور مثال، برای کارهایی در ارتباط با هوش تجاری (Business Intelligence) و تحلیلهای سنگین دادهها (مانند SAP HANA)، شما نیاز به یک سرور بسیار بزرگ با حافظه بسیار زیاد دارید. حتی اگر کار شما خیلی سنگین هم نباشد، استفاده از زیرساخت ۴-سوکتی میتواند در هزینههای شما صرفهجویی کند. این صرفهجویی هم در خرید اولیه (مثلا نیاز به شاسی و کابل کمتر) و هم در هزینههای جاری (مثل مدیریت کمتر) دیده میشود. همچنین امکانات بیشتری برای افزودن کارتهای توسعه (مانند کارتهای گرافیک یا ذخیرهسازی اضافی از طریق PCIe) در هر سرور خواهید داشت. با اینحال، توجه داشته باشید که ارتباط بین ۴ پردازنده (که با اصطلاحاتی مثل UPI یا NUMA شناخته میشود) به اندازه ارتباط بین دو پردازنده سریع و قوی نیست. این ضعف در سرعت ارتباط بین پردازندهها، یکی از دلایل مهمی است که مانع گسترش سرورهای ۴-سوکتی شده است.
نویسنده: حمیدرضا تائبی






