چطور عملکرد پردازنده و سرور را مقایسه کنیم؟ آشنایی با SPEC CPU

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

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

بنچمارک سخت‌افزاری دقیقاً چیست؟

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

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

چرا سازمان‌ها هنگام خرید به بنچمارک نیاز دارند؟

خرید تجهیزات Datacenter یک سرمایه‌گذاری استراتژیک است. تکیه بر بنچمارک‌ها پیش از خرید نهایی، مزایای زیر را به همراه دارد:

  • شناسایی پردازنده گرسنه: گاهی یک پردازنده ۶۴ هسته‌ای قدرتمند، به دلیل چیدمان اشتباه حافظه و مثلاً اشغال تنها ۴ کانال از ۸ کانال RAM، نیمی از زمان خود را در انتظار رسیدن داده‌ها هدر می‌دهد. بنچمارک این گلوگاه پنهان پهنای باند را فاش می‌کند.
  • محاسبه دقیق TCO و Performance-per-Watt: وقتی دو شرکت سازنده مختلف سرورهایی با پردازنده‌های یکسان پیشنهاد می‌دهند، بنچمارک نشان می‌دهد کدام طراحی Motherboard و سیستم خنک‌کننده، توان پردازشی بیشتری را به ازای هر وات برق مصرفی تولید می‌کند.
  • ارزیابی توپولوژی NUMA: در سرورهای چند سوکته، بنچمارک‌ها نشان می‌دهند که سیستم تا چه حد در مدیریت دسترسی به حافظه‌های دوردست کارآمد است.

چشم‌انداز بنچمارک‌ها: از تست‌های خانگی تا استانداردهای سازمانی

ابزارهای سنجش عملکرد بر اساس هدفشان طبقه‌بندی می‌شوند:

نوع بنچمارککاربرد و ویژگی‌ها
تست‌های خرد و خانگی (Geekbench, Cinebench)بیشتر روی یک جنبه خاص مثل رندرینگ سه‌بعدی تمرکز دارند و برای Workstationها مناسب‌اند.
بنچمارک‌های تراکنشی (TPC-C, TPC-H)استاندارد طلایی برای ارزیابی دیتابیس‌ها و سیستم‌های پردازش تراکنش آنلاین یا OLTP.
توان خالص پردازشی و سرور (SPEC CPU)وقتی هدف سنجش توان خام پردازنده، Cache و زیرسیستم RAM کامپایلرها باشد، کنسرسیوم SPEC بی‌رقیب است.

چرا SPEC CPU2017 استاندارد طلایی صنعت است؟

مجموعه SPEC CPU که توسط Standard Performance Evaluation Corporation توسعه یافته، معتبرترین ابزار صنعتی برای سنجش سرورهاست. دلیل این اعتبار، استفاده از کدهای دنیای واقعی است. SPEC کدهایی انتزاعی تولید نمی‌کند؛ بلکه سورس‌کدهای نرم‌افزارهای واقعی مثل کامپایلر GCC، شبیه‌سازهای دینامیک سیالات و موتورهای رندر را اجرایی می‌کند.

این یک تست جعبه بسته است؛ در واقع یعنی شما حق تغییر سورس‌کد را ندارید و تنها می‌توانید هنر خود را در پیکربندی کامپایلر و سیستم‌عامل نشان دهید.

کالبدشکافی SPEC CPU: دسته‌بندی و معماری آزمون‌ها

این بنچمارک از دو بعد اصلی سیستم را می‌سنجد:

۱. نوع محاسبات (ماهیت کدها)

  • اعداد صحیح (Integer): این آزمون‌ها برنامه‌هایی نظیر فشرده‌سازی فایل، موتورهای شطرنج، کامپایلرها و شبیه‌سازی شبکه را اجرا می‌کنند. از نظر معماری، این کدها دارای پرش‌های شرطی فراوان و دسترسی‌های تصادفی به حافظه هستند و بیشتر روی تأخیر Cache تأثیر می‌گذارند.
  • اعشاری (Floating Point): مختص محاسبات علمی مثل شبیه‌سازی آب‌وهوا یا برخورد ذرات. این کدها به‌شدت از دستورات برداری مثل AVX-512 استفاده می‌کنند و رفتار دسترسی به حافظه در آن‌ها ترتیبی است، در نتیجه تشنه پهنای باند خالص RAM هستند.

۲. نحوه اعمال بار (مدل اجرای سیستم)

  • مدل Rate (توان عملیاتی): تعداد زیادی نسخه مستقل از یک برنامه که معمولاً برابر با تعداد هسته‌های منطقی است، به‌صورت هم‌زمان اجرا می‌شود. این حالت توانایی سرور در جابجایی بین پردازش‌ها و پاسخ‌گویی به کاربران متعدد را می‌سنجد.
  • مدل Speed (سرعت پاسخ‌دهی): یک نسخه واحد از برنامه با استفاده از موازی‌سازی کُد از طریق پروتکل OpenMP روی تمام هسته‌ها پخش می‌شود. چالشی‌ترین بخش این تست، درگیر شدن مفهوم انسجام Cache است؛ جایی که تمام هسته‌ها باید برای دسترسی به یک متغیر مشترک در RAM با یکدیگر هماهنگ باشند. اینجاست که ضعف در تعداد کانال‌های RAM به‌شدت خود را نشان می‌دهد.

نتایج یک بنچمارک به چه لایه‌هایی وابسته است؟

یک امتیاز SPEC، تنها بازتابی از CPU نیست، بلکه معدلِ یک اکوسیستم است:

  1. لایه سخت‌افزار فیزیکی: تعداد ماژول‌های RAM که تعیین‌کننده مسیرهای فعال داده است، فرکانس پایه و Turbo، و معماری QPI/UPI بین سوکت‌ها.
  2. لایه Firmware و BIOS: قابلیت‌هایی نظیر Hyper-Threading که در تست‌های Speed معمولاً باید خاموش شود، مدیریت مصرف انرژی از طریق C-States و P-States و تنظیمات پایش حافظه مثل Patrol Scrubbing.
  3. لایه سیستم‌عامل: مدیریت صفحات حافظه یا Transparent Huge Pages، غیرفعال کردن سرویس‌های مزاحم پس‌زمینه و انتخاب Governor پردازنده روی حداکثر کارایی.
  4. لایه نرم‌افزار و کامپایلر: استفاده از کامپایلرهای پیشرفته مثل Intel oneAPI icx، فعال‌سازی پرچم‌های بهینه‌سازی نظیر Ofast- و xCORE-AVX512- و استفاده از تخصیص‌دهنده‌های مدرن حافظه مثل jemalloc به جای glibc malloc.

تحلیل نتایج: چرا میانگین هندسی؟

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

دلیل فنی: میانگین هندسی که از ضرب امتیازها و گرفتن ریشه nام به دست می‌آید، از فریب خوردن توسط اعداد جلوگیری می‌کند. اگر یک سرور در یک تست محاسباتی بی‌نظیر عمل کند اما در یک تست وابسته به RAM ضعیف باشد، میانگین حسابی این ضعف را می‌پوشاند؛ اما میانگین هندسی به‌شدت به این عدم توازن واکنش نشان داده و امتیاز کل را پایین می‌کشد. این روش، بالانس بودن کل معماری سرور را تضمین می‌کند.

اعتبارسنجی، قوانین و انتشار

ارزش نتایج SPEC به قوانین سخت‌گیرانه آن بستگی دارد. این سازمان نتایج را به دو دسته Base که استفاده از تنظیمات یکسان برای همه برنامه‌ها را شامل می‌شود، و Peak که اجازه تنظیمات اختصاصی برای هر برنامه را می‌دهد، تقسیم می‌کند. سازندگان موظفند تمام جزییات سیستم از نسخه BIOS گرفته تا فلگ‌های کامپایلر را مستند کرده و به همراه فایل لاگ خام برای کمیته SPEC ارسال کنند.

در مجموع، پس از فرآیند داوری همتا و اطمینان از عدم دستکاری مثل بهینه‌سازی‌های غیرمجاز کامپایلر که فقط برای فریب بنچمارک نوشته شده‌اند، نتایج در دیتابیس جهانی SPEC منتشر می‌شوند؛ جایی که خریداران سازمانی می‌توانند با اطمینان کامل به آن‌ها استناد کنند.