چرا سیستمهای موازی به بنچمارکهای متفاوت نیاز دارند
بنچمارکهای کارایی تکهستهای که پیشتر در این مجموعه بحث شد، که زمان اجرا روی یک پردازنده که یک برنامه را اجرا میکند سنجیده میشود، چیزی که بیشترین اهمیت را برای یک سیستم موازی دارد را نمیسنجند: اینکه کارایی چقدر مؤثر با افزودن واحدهای پردازشی بیشتر بهبود مییابد. بنچمارک موازی نیازمند سنجش مستقیم این رفتار مقیاسپذیری است.
سنجش بهره کارایی
بنیادینترین سنجه کارایی موازی Speedup است، که بهعنوان نسبت بین زمان اجرا با استفاده از یک پردازنده و زمان اجرا با استفاده از چند پردازنده تعریف میشود.
Speedup = زمان اجرا (1 پردازنده) /
زمان اجرا (N پردازنده)یک بهره کارایی ایدهآل دقیقاً N هنگام استفاده از N پردازنده Linear Speedup نامیده میشود، که مقیاسپذیری کامل را نشان میدهد. در عمل، بهره کارایی واقعی تقریباً همیشه تا حدی کمتر از خطی است، بهدلیل بخشهای پیدرپی یک برنامه و سربار ارتباطی که پیشتر در این مجموعه درباره قانون آمدال بحث شد.
Strong Scaling در مقابل Weak Scaling
دو پرسش مرتبط اما متمایز معمولاً هنگام ارزیابی مقیاسپذیری موازی پرسیده میشوند.
Strong Scalingمیپرسد زمان اجرا برای یک اندازه مسئله ثابت با افزودن پردازندههای بیشتر چگونه کاهش مییابد — این مستقیماً محاسبه بهره کارایی بالا را منعکس میکند.Weak Scalingمیپرسد زمان اجرا وقتی هم اندازه مسئله و هم تعداد پردازندهها با هم بهطور متناسب رشد میکنند چگونه رفتار میکند، و مقدار کار بهازای هر پردازنده را ثابت نگه میدارد — این اغلب نمایندهتری از این است که بارهای کاری علمی و پردازش داده در مقیاس بزرگ واقعاً چگونه با گذر زمان رشد میکنند.
مجموعهبنچمارکهای رایج چندپردازندهای
مجموعهبنچمارکهای استانداردشده بهطور خاص برای ارزیابی منصفانه کارایی سیستمهای چندپردازنده و موازی وجود دارند، مشابه از نظر هدف با بنچمارک تکهستهای که پیشتر در این مجموعه درباره مقایسههای پردازنده واقعی بحث شد، اما طراحیشده حول بارهای کاریای که بهطور خاص ارتباط موازی، همگامسازی، و مقیاسپذیری را تحت فشار قرار میدهند نه سرعت اجرای تکرشتهای.
بازبینی قانون آمدال با سنجش واقعی
قانون آمدال، که پیشتر در این مجموعه معرفی شد، یک سقف نظری روی بهره کارایی قابلدستیابی بر اساس بخش پیدرپی یک برنامه فراهم میکند. سنجشهای بنچمارک واقعی اغلب نشان میدهند بهره کارایی واقعی حتی بیشتر از این سقف نظری کمتر است، بهدلیل عوامل عملی مانند سربار ارتباطی، که پیشتر درباره شبکهسازی کلاستر بحث شد، و عدمتعادل بار بین پردازندهها، جایی که برخی پردازندهها بخش کارشان را بسیار زودتر از دیگران تمام میکنند.
بهره کارایی نظری قانون آمدال: فقط سقف بالایی
بهره کارایی واقعی سنجیدهشده همچنین تحتتأثیر:
- سربار ارتباط و همگامسازی
- توزیع ناهموار کار در سراسر پردازندهها
- رقابت حافظه بین هستههاچرا مدلسازی کارایی مبتنی بر بنچمارک اهمیت دارد
تکیه صرف بر مدلهای نظری مانند قانون آمدال بدون سنجش بنچمارک واقعی میتواند تصویری بیشازحد خوشبینانه از کارایی موازی قابلدستیابی تولید کند. ترکیب درک نظری با بنچمارکهای واقعاً سنجیدهشده روی بارهای کاری نماینده، تصویری بسیار دقیقتر و عملیتر از اینکه یک سیستم موازی خاص در عمل چگونه عمل خواهد کرد ارائه میدهد، و مستقیماً تصمیمات درباره اینکه واقعاً چند پردازنده ارزش افزودن به یک سیستم مشخص را دارد را آگاه میکند.