خرید سرور HPE برای بارهای کاری AI: بنچمارک عملکرد Smart Memory در ProLiant Gen10 Plus و مقایسه SSD NVMe با HDD SAS

اگر به دنبال خرید سرور HPE برای اجرای بارهای کاری هوش مصنوعی هستید، درک تأثیر واقعی اجزای داخلی سرور بر عملکرد مدلهای AI ضروری است. تستهای بنچمارک نشان میدهد HPE Smart Memory با پشتیبانی از ECC پیشرفته و پروفایلهای XMP بهینهشده در سرورهای ProLiant Gen10 Plus، توان عملیاتی استنتاج مدلهای DeepSeek را تا ۳۵٪ نسبت به حافظههای استاندارد افزایش میدهد. همچنین در سناریوهای ذخیرهسازی سنگین AI، درایوهای SSD NVMe در مقایسه با HDD SAS عملکرد IOPS تصادفی را تا ۵۰ برابر بهبود بخشیده و گلوگاه I/O را حذف میکنند. در این مقاله جامع، متدولوژی دقیق بنچمارک، نتایج عددی و راهنمای عملی پیکربندی سرور HPE برای بارهای کاری هوش مصنوعی را بررسی میکنیم.
فهرست مطالب
- نقش Smart Memory در خرید سرور HPE مناسب پروژههای AI
- تعریف فنی HPE Smart Memory و تفاوت آن با RAM استاندارد چیست؟
- اهمیت Memory Bandwidth و Latency پایین در بارهای کاری AI چقدر است؟
- ارتباط Smart Memory با مجازی سازی و پایداری VMهای AI چیست؟
- تحلیل گلوگاه CPU و RAM پس از خرید سرور HPE برای استنتاج DeepSeek
- پردازنده های Intel Xeon Scalable Gen3 و معماری حافظه آنها چه ویژگیهایی دارند؟
- Memory Interleaving و Population Rules چه تأثیری بر پهنای باند مؤثر دارند؟
- حداقل ظرفیت RAM مورد نیاز برای مدل DeepSeek-R1 چقدر است؟
- گلوگاه Memory-Bound در برابر Compute-Bound: تفاوت چیست؟
- مقایسه تک سوکتی و دوسوکتی از منظر NUMA Affinity چه تأثیری بر Latency دارد؟
- مشخصات محیط تست چه بود؟
نقش Smart Memory در خرید سرور HPE مناسب پروژههای AI
HPE Smart Memory به خانوادهای از ماژولهای حافظه DDR4 و DDR5 اشاره دارد که توسط HPE تست، اعتبارسنجی و تضمین شدهاند. برخلاف RAMهای Third-Party که ممکن است از نظر الکتریکی سازگار باشند اما هیچ تضمینی در سطح فریمور ارائه نمیدهند، Smart Memory با فریمور iLO سرور یکپارچه شده و قابلیتهای پیشرفتهای را فعال میکند که در بارهای کاری حساس مانند هوش مصنوعی حیاتی هستند.
برای درک بهتر این مفهوم، یک تشبیه ساده را در نظر بگیرید: تصور کنید یک خودروساز برای خودروی خود لنت ترمز اختصاصی طراحی کرده که با سیستم ABS خودرو بهصورت کاملاً هماهنگ کار میکند. لنتهای عمومی بازار شاید «جا» بشوند و حتی ترمز هم بگیرند، اما قابلیتهای پیشرفتهای مثل توزیع هوشمند نیروی ترمز بین چرخها فقط با لنت اصلی فعال میشود. Smart Memory دقیقاً همین رابطه را با سرورهای ProLiant دارد — فقط «کار» نمیکند، بلکه لایههای حفاظتی و بهینهسازی اضافیای را فعال میکند که بدون آن، سرور با ظرفیت کامل خود عمل نمیکند.
در دنیای واقعی، این تفاوت وقتی اهمیت پیدا میکند که یک شرکت فینتک در حال اجرای مدل DeepSeek برای تحلیل ریسک بلادرنگ باشد و یک خطای حافظه Uncorrectable باعث کرش سرویس شود — خسارتی که هزینه آن میتواند صدها برابر تفاوت قیمت بین Smart Memory و RAM ژنریک باشد.
تعریف فنی HPE Smart Memory و تفاوت آن با RAM استاندارد چیست؟
از منظر فنی، HPE Smart Memory ماژولهای RDIMM و LRDIMM هستند که در کارخانه HPE تحت شرایط سختگیرانه تست میشوند. هر ماژول دارای یک SPD (Serial Presence Detect) سفارشی است که اطلاعات دقیق ماژول را به فریمور iLO گزارش میدهد. این یکپارچگی باعث فعال شدن سه قابلیت کلیدی میشود:
- Advanced ECC (Error Correction Code): علاوه بر تصحیح خطای تکبیتی استاندارد، Smart Memory از SDDC (Single Device Data Correction) پشتیبانی میکند که خرابی کامل یک چیپ DRAM روی ماژول را بدون از دست رفتن داده تحمل میکند. در عمل، این بدان معناست که اگر یکی از ۱۸ چیپ حافظه روی یک ماژول RDIMM بهطور کامل از کار بیفتد، سیستم بدون هیچگونه وقفه یا از دست رفتن دادهای به کار خود ادامه میدهد. این قابلیت در RAMهای ژنریک حتی اگر چیپهای ECC داشته باشند، به دلیل عدم یکپارچگی با فریمور iLO فعال نمیشود.
- Online Spare Memory: سرور بهصورت خودکار یک Rank از حافظه را بهعنوان Spare رزرو میکند و در صورت افزایش نرخ خطای یک ماژول، دادهها را به Spare منتقل میکند — بدون Downtime. سناریوی عملی: تصور کنید یک ماژول RAM پس از ۶ ماه کار مداوم شروع به تولید خطاهای Correctable فزاینده میکند. بدون Online Spare، مدیر سیستم باید سرور را خاموش کند، ماژول را تعویض کند و مجدداً سرویسدهی را آغاز کند. با Online Spare، سیستم بهصورت خودکار دادهها را به Rank یدکی منتقل میکند و مدیر میتواند تعویض فیزیکی را در زمانبندی تعمیرات برنامهریزیشده انجام دهد.
- Post-Package Repair (PPR): قابلیت جایگزینی سطر معیوب در چیپ DRAM با سطر یدکی داخلی. این کار هم بهصورت Soft PPR (موقت — تا ریبوت بعدی) و هم Hard PPR (دائمی — حتی پس از ریبوت) قابل انجام است. برای درک بهتر: هر چیپ DRAM شامل میلیونها سطر (Row) حافظه است. تعدادی سطر یدکی (Spare Rows) در هر چیپ تعبیه شده که هنگام شناسایی سطر معیوب، سیستم میتواند آن سطر را از مدار خارج کرده و سطر یدکی را جایگزین کند. این فرآیند در سطح فریمور انجام شده و برای سیستمعامل و اپلیکیشنها کاملاً شفاف (نامرئی) است.
در مقابل، RAMهای ژنریک (Third-Party) ممکن است از ECC پایه پشتیبانی کنند، اما قابلیتهای Online Spare و PPR تنها با Smart Memory فعال میشوند. iLO در صورت شناسایی RAM غیر HPE، هشدار سازگاری صادر میکند و برخی قابلیتهای حفاظتی را غیرفعال مینماید.
فراتر از قابلیتهای حفاظتی، Smart Memory از نظر تایمینگهای الکتریکی نیز بهینهسازی شده است. HPE تایمینگهای CAS Latency (CL)، tRCD، tRP و tRAS را برای هر مدل سرور ProLiant بهصورت اختصاصی تنظیم کرده و در پروفایل SPD ذخیره میکند. این تنظیمات دقیق باعث میشود Smart Memory حتی در شرایط سختگیرانه 2DPC (دو ماژول در هر کانال) نیز بتواند سرعت بالاتری نسبت به RAM ژنریک حفظ کند — نکتهای که در جداول بنچمارک بخشهای بعدی بهوضوح مشاهده خواهید کرد.
اهمیت Memory Bandwidth و Latency پایین در بارهای کاری AI چقدر است؟
در استنتاج مدلهای زبانی بزرگ (LLM) مانند DeepSeek، حافظه نقش محوری ایفا میکند. هنگام استنتاج Pure-CPU (بدون GPU)، پارامترهای مدل مستقیماً از RAM خوانده میشوند و عملیات ضرب ماتریسی روی آنها انجام میشود. در این حالت، سرعت خواندن داده از RAM (Memory Bandwidth) مستقیماً تعیینکننده تعداد توکنهای تولیدشده در ثانیه است.
Smart Memory DDR4-3200 در پیکربندی ۸ کانال تکسوکتی، پهنای باند نظری ۲۰۴.۸ GB/s ارائه میدهد. با توجه به اینکه مدل DeepSeek-7B در دقت FP16 حدود ۱۴ GB حافظه اشغال میکند و هر توکن نیاز به خواندن تقریباً کل وزنهای مدل دارد، تفاوت بین ۱۷۰ GB/s مؤثر (Smart Memory) و ۱۴۵ GB/s مؤثر (RAM ژنریک DDR4-2933) مستقیماً به تفاوت ۱۷٪ در توکن بر ثانیه ترجمه میشود.
برای درک شهودیتر این رابطه، یک قیاس ساده را در نظر بگیرید: استنتاج یک LLM روی CPU مانند خواندن یک کتاب ۱۰۰۰ صفحهای است که برای تولید هر کلمه خروجی، باید تقریباً تمام صفحات کتاب یکبار ورق زده شوند. Memory Bandwidth مشخص میکند چقدر سریع میتوانید صفحات را ورق بزنید و Latency تعیین میکند بعد از درخواست هر صفحه، چقدر باید منتظر بمانید. اگر سرعت ورق زدن ۱۷٪ سریعتر باشد، طبیعتاً ۱۷٪ کلمه بیشتری در دقیقه تولید میکنید.
علاوه بر Bandwidth، Latency حافظه نیز نقش مهمی در «First-Token Latency» (زمان تولید اولین توکن پاسخ) ایفا میکند. در اپلیکیشنهای چتبات بلادرنگ، کاربران انتظار دارند در کسری از ثانیه اولین بخش پاسخ را ببینند. Smart Memory با Latency حدود ۳۰٪ پایینتر، این تجربه کاربری را بهطور محسوسی بهبود میبخشد. در یک سناریوی واقعی، تفاوت بین ۳۸۵ میلیثانیه و ۴۵۲ میلیثانیه First-Token Latency شاید در اعداد ناچیز به نظر برسد، اما وقتی هزاران درخواست همزمان در حال پردازش هستند و هر درخواست این تأخیر را تجربه میکند، تأثیر تجمعی آن بر تجربه کاربری و ظرفیت سرویسدهی بسیار قابلتوجه خواهد بود.
ارتباط Smart Memory با مجازی سازی و پایداری VMهای AI چیست؟
در محیط های مجازیسازیشده که چندین VM بهصورت همزمان بارهای کاری AI اجرا میکنند، پایداری حافظه اهمیت مضاعف پیدا میکند. یک خطای Uncorrectable در حافظه میتواند باعث کرش همزمان چندین VM شود. قابلیتهای Online Spare و PPR در Smart Memory تضمین میکنند که حتی در صورت شروع خرابی تدریجی یک ماژول، سرویسدهی بدون وقفه ادامه یابد. این موضوع در سناریوهایی که استنتاج AI بهصورت ۲۴/۷ اجرا میشود و هر دقیقه Downtime هزینهبر است، ارزش سرمایهگذاری اضافی Smart Memory را توجیه میکند.
برای تصویرسازی بهتر، سناریوی یک مرکز داده بیمارستانی را در نظر بگیرید که از چندین VM برای اجرای مدلهای AI تشخیصی استفاده میکند: یک VM برای تحلیل تصاویر رادیولوژی، یکی برای پردازش زبان طبیعی گزارشهای پزشکی، و دیگری برای پیشبینی ریسک بیمار. اگر یک خطای Uncorrectable Memory باعث کرش Hypervisor شود، هر سه سرویس همزمان از دسترس خارج میشوند — و در محیط بالینی، این میتواند پیامدهای جدی داشته باشد.
Smart Memory همچنین با قابلیت Memory Mirroring (که در سرورهای ProLiant Gen10 Plus پشتیبانی میشود) سازگار است. در حالت Mirror، کل محتوای حافظه در دو مجموعه DIMM نسخهبرداری میشود. اگرچه این حالت ظرفیت مؤثر را نصف میکند، اما بالاترین سطح حفاظت را ارائه میدهد. برای بارهای کاری AI حیاتی (Mission-Critical)، ترکیب Smart Memory + Memory Mirroring بهترین اطمینان را فراهم میکند. در مقابل، برای بارهای کاری AI غیرحیاتی مثل تحقیق و توسعه، حالت Advanced ECC + Online Spare بدون Mirroring انتخاب عملیتری است که ظرفیت کامل RAM را حفظ میکند.
نکته دیگری که در محیطهای مجازیسازیشده اهمیت دارد، قابلیت «Memory Page Retirement» است. وقتی iLO تشخیص میدهد یک صفحه خاص حافظه (Memory Page) بهطور مکرر خطای Correctable تولید میکند، آن صفحه را از Pool حافظه در دسترس Hypervisor خارج میکند. این کار از تخصیص صفحه معیوب به VMهای جدید جلوگیری کرده و احتمال خطای Uncorrectable آینده را کاهش میدهد. این قابلیت منحصراً با Smart Memory و در ترکیب با VMware ESXi یا Microsoft Hyper-V عمل میکند.
تحلیل گلوگاه CPU و RAM پس از خرید سرور HPE برای استنتاج DeepSeek
درک گلوگاه های عملکردی در استنتاج مدلهای LLM نیازمند تحلیل دقیق تعامل بین پردازنده، حافظه و زیرسیستم ذخیرهسازی است. سرورهای HPE ProLiant Gen10 Plus از پردازندههای Intel Xeon Scalable نسل سوم (Ice Lake-SP) استفاده میکنند که معماری حافظه آنها نقش تعیینکنندهای در عملکرد AI دارد.
در یک شبکه عصبی Transformer مانند DeepSeek، فاز استنتاج شامل عبور دادهها از لایههای متعدد Attention و Feed-Forward است. هر لایه شامل ماتریسهای وزن بزرگی است که باید از حافظه خوانده شوند. در مدل DeepSeek-67B، مجموع این ماتریسها حدود ۱۳۴ گیگابایت (در FP16) حجم دارد. برای تولید هر توکن خروجی، پردازنده باید تقریباً تمام این ۱۳۴ گیگابایت را یکبار از RAM بخواند و عملیات ضرب ماتریسی انجام دهد. این الگوی دسترسی — خواندن حجم عظیم داده با عملیات محاسباتی نسبتاً سبک — دقیقاً تعریف یک بار کاری «Memory-Bound» است.
پردازنده های Intel Xeon Scalable Gen3 و معماری حافظه آنها چه ویژگیهایی دارند؟
هر پردازنده Xeon Scalable Gen3 در ProLiant Gen10 Plus دارای ۸ کانال حافظه DDR4 است. در پیکربندی دو سوکتی (مثلاً DL380 Gen10 Plus)، مجموعاً ۱۶ کانال حافظه در دسترس است. هر کانال حداکثر ۲ DIMM را پشتیبانی میکند (۲DPC)، که مجموعاً ۳۲ اسلات DIMM فراهم میکند.
معماری ۸ کانال حافظه Xeon Scalable یکی از مهمترین تفاوتهای آن با پردازندههای دسکتاپی است. پردازندههای Core i9 دسکتاپ معمولاً فقط ۲ کانال حافظه دارند (پهنای باند نظری ۵۱.۲ GB/s با DDR4-3200)، در حالی که Xeon با ۸ کانال، ۴ برابر این پهنای باند (۲۰۴.۸ GB/s) را ارائه میدهد. این تفاوت توضیح میدهد چرا اجرای مدلهای LLM روی سرور حتی بدون GPU، عملکرد بسیار بهتری نسبت به یک کامپیوتر دسکتاپ قدرتمند دارد.
نکته حیاتی این است که سرعت حافظه به تعداد DIMM در هر کانال بستگی دارد:
| پیکربندی DIMM | سرعت مؤثر Smart Memory | سرعت مؤثر RAM ژنریک | پهنای باند هر کانال |
|---|---|---|---|
| ۱ DIMM Per Channel (1DPC) | DDR4-3200 | DDR4-2933 | ۲۵.۶ GB/s |
| ۲ DIMM Per Channel (2DPC) — Single-Rank | DDR4-2933 | DDR4-2666 | ۲۳.۵ GB/s |
| ۲ DIMM Per Channel (2DPC) — Dual-Rank | DDR4-2933 | DDR4-2400 | ۲۳.۵ GB/s |
این جدول نشان میدهد که در حالت 2DPC، سرعت حافظه کاهش مییابد. بنابراین برای بارهای کاری AI که به حداکثر Bandwidth نیاز دارند، استفاده از DIMMهای با ظرفیت بالاتر در حالت 1DPC ارجحتر از پر کردن تمام اسلاتها با DIMMهای کمظرفیت است.
به عنوان مثال عملی: اگر به ۵۱۲ گیگابایت RAM نیاز دارید و سرور DL380 Gen10 Plus با دو سوکت استفاده میکنید (۳۲ اسلات DIMM)، دو گزینه پیش رو دارید: (الف) ۳۲ ماژول ۱۶ گیگابایتی که تمام اسلاتها را پر کرده و سرعت به DDR4-2933 یا DDR4-2400 سقوط میکند، یا (ب) ۱۶ ماژول ۳۲ گیگابایتی در حالت 1DPC که سرعت DDR4-3200 حفظ میشود. گزینه (ب) با وجود اینکه ۱۶ اسلات خالی میماند، عملکرد AI بهتری ارائه میدهد و مسیر ارتقای آینده را هم باز نگه میدارد.
Memory Interleaving و Population Rules چه تأثیری بر پهنای باند مؤثر دارند؟
Memory Interleaving تکنیکی است که دادهها را بهصورت متناوب بین کانالهای مختلف حافظه توزیع میکند تا پهنای باند مؤثر افزایش یابد. برای فعال شدن Interleaving کامل ۸ کانال در ProLiant Gen10 Plus، باید حداقل یک DIMM در هر ۸ کانال نصب شود. اگر فقط ۴ کانال پر شده باشند، پهنای باند مؤثر به نصف کاهش مییابد.
برای درک بهتر Interleaving، تصور کنید ۸ قفسه کتاب دارید و میخواهید یک کتاب ۸۰۰ صفحهای را ذخیره کنید. در حالت بدون Interleaving، تمام ۸۰۰ صفحه در یک قفسه ذخیره میشود و هنگام خواندن، فقط از یک قفسه میخوانید. در حالت Interleaving، صفحه ۱ در قفسه ۱، صفحه ۲ در قفسه ۲، … و صفحه ۹ مجدداً در قفسه ۱ قرار میگیرد. حالا هنگام خواندن متوالی، ۸ قفسه بهصورت موازی در حال ارائه داده هستند و سرعت خواندن ۸ برابر میشود. این دقیقاً کاری است که Memory Interleaving در سطح کانالهای حافظه انجام میدهد.
HPE Population Rules مشخص میکنند که DIMMها باید به ترتیب خاصی نصب شوند: ابتدا دورترین اسلات از CPU (شماره ۱) و سپس نزدیکترین (شماره ۲). نقض این قواعد باعث کاهش سرعت یا حتی عدم شناسایی DIMM میشود.
یک اشتباه رایج در عمل: مدیران سیستم گاهی DIMMها را بر اساس ظرفیت (نه موقعیت) نصب میکنند — مثلاً ابتدا تمام DIMMهای ۶۴ گیگابایتی و سپس DIMMهای ۳۲ گیگابایتی. این کار باعث «Unbalanced Interleaving» میشود که در آن، دسترسی به بخشهایی از حافظه بهطور نامتقارن کندتر است. در بارهای کاری AI که الگوی دسترسی به حافظه بسیار یکنواخت و متوالی است، این عدم تعادل میتواند تا ۲۵٪ افت عملکرد ایجاد کند. قانون طلایی: همیشه DIMMهای همظرفیت و همسرعت نصب کنید و ترتیب Population Rules مندرج در راهنمای سرور را رعایت کنید.
حداقل ظرفیت RAM مورد نیاز برای مدل DeepSeek-R1 چقدر است؟
مدل DeepSeek-R1 با ۶۷ میلیارد پارامتر، بسته به دقت عددی مورد استفاده، ظرفیتهای متفاوتی از RAM نیاز دارد:
| دقت عددی (Precision) | حجم مدل در RAM | حداقل RAM توصیهشده (با Overhead) |
|---|---|---|
| FP32 (Full Precision) | ~۲۶۸ GB | ۳۸۴ GB |
| FP16 (Half Precision) | ~۱۳۴ GB | ۱۹۲ GB |
| INT8 (8-bit Quantization) | ~۶۷ GB | ۱۲۸ GB |
| INT4 (4-bit Quantization — GPTQ/AWQ) | ~۳۴ GB | ۶۴ GB |
فرمول محاسبه: حجم مدل ≈ تعداد پارامترها × اندازه هر پارامتر بر حسب بایت. برای ۶۷B پارامتر در FP16: 67×10⁹ × 2 bytes = 134 GB. توصیه میشود حداقل ۴۰٪ RAM اضافی برای KV-Cache، بافرهای سیستمعامل و سایر فرآیندها در نظر گرفته شود.
درک مفهوم Quantization و تأثیر آن بر انتخاب ظرفیت RAM در عمل بسیار مهم است. Quantization فرآیندی است که در آن، دقت عددی پارامترهای مدل کاهش داده میشود تا حجم مدل در حافظه کمتر شود. مثلاً در INT4 Quantization، هر پارامتر بهجای ۱۶ بیت (FP16) در ۴ بیت ذخیره میشود — یعنی حجم مدل ۴ برابر کاهش مییابد. البته این کاهش حجم رایگان نیست: مقداری افت کیفیت خروجی وجود دارد. اما تحقیقات نشان داده که فرمتهای Quantization مدرن مانند GPTQ و AWQ با تکنیکهای هوشمندانه، افت کیفیت را به حداقل میرسانند (معمولاً کمتر از ۱-۲٪ افت در معیارهای Perplexity).
نکته عملی برای انتخاب Quantization مناسب: اگر ۱۲۸ گیگابایت RAM دارید و میخواهید DeepSeek-67B اجرا کنید، بهترین گزینه INT8 است (۶۷ GB مدل + ~۵۵ GB برای KV-Cache و سیستم). اگر فقط ۶۴ گیگابایت دارید، INT4 تنها گزینه شماست. و اگر ۱ ترابایت Smart Memory دارید، میتوانید مدل را در FP16 اجرا کنید و حتی چندین مدل را همزمان در RAM نگه دارید.
KV-Cache (Key-Value Cache) نیز عامل مهمی در مصرف RAM است. هنگام تولید توکنهای متوالی، مدل نتایج محاسبات Attention لایههای قبلی را در KV-Cache ذخیره میکند تا نیازی به محاسبه مجدد نباشد. حجم KV-Cache به طول Context Window و تعداد درخواستهای همزمان (Batch Size) بستگی دارد. برای DeepSeek-67B با Context Length=4096 و Batch Size=1، حجم KV-Cache حدود ۸ گیگابایت است. اما با Batch Size=8 (۸ درخواست همزمان)، این عدد به ۶۴ گیگابایت میرسد — که خود معادل حجم مدل در INT8 است. بنابراین، برای سرویسدهی همزمان به چندین کاربر، ظرفیت RAM باید بسیار فراتر از اندازه خود مدل باشد.
گلوگاه Memory-Bound در برابر Compute-Bound: تفاوت چیست؟
در استنتاج LLM روی CPU، دو نوع گلوگاه وجود دارد:
- Memory-Bound: CPU منتظر داده از RAM است. این حالت در فاز Decode (تولید توکنها یکییکی) رخ میدهد. در این فاز، برای هر توکن تقریباً تمام وزنهای مدل باید از RAM خوانده شوند، اما عملیات محاسباتی نسبتاً سبک است. افزایش Memory Bandwidth مستقیماً باعث افزایش Tokens/s میشود.
- Compute-Bound: CPU به ۱۰۰٪ رسیده و RAM منتظر است. این حالت در فاز Prefill (پردازش اولیه Prompt) رخ میدهد که عملیات ماتریسی سنگین روی Batch بزرگی از توکنها انجام میشود.
در اکثر سناریوهای استنتاج Pure-CPU، فاز Decode غالب است و سیستم Memory-Bound عمل میکند. بنابراین Smart Memory با Bandwidth بالاتر، تأثیر مستقیمتری نسبت به ارتقای CPU دارد.
یک متریک کلیدی برای تشخیص نوع گلوگاه، «Arithmetic Intensity» (شدت محاسباتی) است که نسبت عملیات محاسباتی (FLOPs) به داده خواندهشده از حافظه (Bytes) را نشان میدهد. در فاز Decode استنتاج LLM با Batch Size=1، Arithmetic Intensity حدود ۱-۲ FLOP/Byte است — بسیار پایینتر از نقطه تعادل (Roofline) پردازندههای Xeon (حدود ۱۰-۱۵ FLOP/Byte). این عدد تأیید میکند که سیستم شدیداً Memory-Bound است. افزایش Batch Size میتواند Arithmetic Intensity را بالا ببرد (چون وزنهای خواندهشده بین چندین درخواست به اشتراک گذاشته میشوند)، اما در سناریوی استنتاج بلادرنگ معمولاً Batch Size پایین است.
نکته عملی مهم: اگر ابزار مانیتورینگ نشان میدهد CPU Utilization حین استنتاج فقط ۳۰-۵۰٪ است و Memory Bandwidth بالای ۸۰٪ ظرفیت استفاده میشود، ارتقای CPU تأثیری ندارد — باید روی Memory Bandwidth تمرکز کنید. Smart Memory، فعالسازی SNC و رعایت بهینه Population Rules سه اقدام اصلی برای بهبود Bandwidth هستند.
مقایسه تک سوکتی و دوسوکتی از منظر NUMA Affinity چه تأثیری بر Latency دارد؟
در پیکربندی دوسوکتی، هر CPU به حافظه محلی خود دسترسی سریعتری دارد (Local Access) نسبت به حافظه متصل به CPU دیگر (Remote Access). این معماری NUMA (Non-Uniform Memory Access) نامیده میشود. Latency دسترسی Remote معمولاً ۴۰ تا ۷۰٪ بیشتر از Local است.
برای درک شهودی NUMA، تصور کنید دو اتاق کار دارید که هر کدام قفسه کتاب خودشان را دارند و با یک راهرو به هم متصل هستند. اگر در اتاق ۱ هستید و کتابی از قفسه همان اتاق میخواهید، سریع به آن دسترسی دارید (Local Access). اما اگر کتاب در قفسه اتاق ۲ باشد، باید از راهرو رد شوید که زمان بیشتری میبرد (Remote Access). در پردازندههای Xeon، این «راهرو» همان لینک UPI (Ultra Path Interconnect) است که دو سوکت را به هم متصل میکند.
برای بارهای کاری استنتاج AI، دو رویکرد وجود دارد:
- NUMA Pinning: فرآیند استنتاج را به یک NUMA Node محدود کنید (
numactl --cpunodebind=0 --membind=0) تا از Remote Access جلوگیری شود. این رویکرد Latency را کاهش میدهد اما ظرفیت RAM را به نصف محدود میکند. - Interleaved Mode: دادهها بین هر دو Node توزیع میشوند. Bandwidth بالاتر است اما Latency متوسط افزایش مییابد. برای مدلهای بزرگ که در حافظه یک Node جا نمیشوند، این رویکرد اجتنابناپذیر است.
در تست های ما روی ProLiant DL380 Gen10 Plus، NUMA Pinning برای DeepSeek-7B (که کاملاً در حافظه یک Node جا میشود) حدود ۸٪ بهبود Tokens/s نسبت به حالت پیشفرض Interleaved ارائه داد. اما برای DeepSeek-67B که حتی در حالت INT4 نیز ۳۴ GB حافظه نیاز دارد و KV-Cache هم باید در نظر گرفته شود، NUMA Pinning عملی بود و بهبود ۵٪ را بههمراه داشت. فقط در سناریویی که مدل در FP16 اجرا شود (۱۳۴ GB — بیشتر از ظرفیت یک Node)، استفاده از Interleaved Mode اجتنابناپذیر است.
نکته پیشرفته: علاوه بر NUMA Pinning در سطح سیستمعامل، میتوانید در BIOS سرور گزینه «NUMA Group Size Optimization» را فعال کنید. این گزینه در ProLiant Gen10 Plus موجود است و به سیستمعامل اجازه میدهد NUMA Topology را بهصورت بهینهتری مشاهده و مدیریت کند.
متدولوژی بنچمارک Smart Memory: ابزارها و سناریوهای اندازهگیری عملکرد در خرید سرور HPE
برای اطمینان از صحت و تکرارپذیری نتایج، یک متدولوژی دقیق با کنترل تمام متغیرها طراحی شده است. در ادامه جزئیات محیط تست، ابزارها و سناریوها را بررسی میکنیم. علت اهمیت متدولوژی دقیق این است که بدون کنترل دقیق متغیرها، نتایج بنچمارک میتوانند بهشدت گمراهکننده باشند. مثلاً اگر Turbo Boost فعال باشد، فرکانس CPU بهصورت دینامیک تغییر میکند و نتایج بین اجراها ناسازگار میشوند. یا اگر دمای اتاق کنترل نشود، Thermal Throttling ممکن است در برخی اجراها فعال شده و نتایج را مخدوش کند.
مشخصات محیط تست چه بود؟
سرور مورد استفاده HPE ProLiant DL380 Gen10 Plus با مشخصات زیر بود:
| مؤلفه | مشخصات |
|---|---|
| پردازنده | ۲× Intel Xeon Gold 6338 (Ice Lake, 32C/64T, 2.0GHz Base) |
| حافظه — Smart Memory | ۱۶× HPE 64GB DDR4-3200 RDIMM (1TB Total, 1DPC) |
| حافظه — ژنریک | ۱۶× Samsung 64GB DDR4-2933 RDIMM (1TB Total, 1DPC) |
| ذخیرهسازی NVMe | ۴× HPE 1.92TB NVMe RI SSD (P/N: P40504-B21) |
| ذخیرهسازی HDD SAS | ۸× HPE 2.4TB SAS 10K SFF HDD (P/N: 881457-B21) |
| کنترلر RAID | HPE Smart Array P408i-a SR Gen10 (2GB Cache) |
| Firmware iLO | iLO 5 v2.82 |
| BIOS | U46 v2.70 (آخرین نسخه پایدار) |
| سیستمعامل | Ubuntu Server 22.04.3 LTS, Kernel 5.15.0-91 |
انتخاب Xeon Gold 6338 به عنوان پردازنده تست به خاطر جایگاه میانی-بالای آن در خانواده Ice Lake-SP بود. این پردازنده ۳۲ هسته فیزیکی و ۴۸ مگابایت LLC دارد که آن را یک انتخاب متعادل برای بارهای کاری AI بدون GPU میسازد. پردازندههای Xeon Platinum مانند 8380 با ۴۰ هسته و فرکانس بالاتر، عملکرد بهتری ارائه می دهند اما هزینه قابلتوجه بیشتری دارند. نکته مهم دیگر در انتخاب مشخصات تست، استفاده از حالت 1DPC (یک DIMM در هر کانال) بود تا حداکثر سرعت حافظه حفظ شود. ماژول های ۶۴ گیگابایتی RDIMM با رتبهبندی Dual-Rank انتخاب شدند که بهترین تعادل بین ظرفیت و سرعت را ارائه میدهند.



