AMD؛ پادشاه موازیسازی حافظه
خلاصهٔ کاملتر
نویسنده میگه وقتی برنامه سراغ دادهای میره که تو کش پردازنده نیست، باید بره از RAM بگیره و این سفر حدود ۱۰۰ نانوثانیه طول میکشه؛ رو یه هستهٔ ۳ گیگاهرتزی یعنی حدود ۳۰۰ سیکل بیکار موندن. بدتر اینکه این تأخیر تو ده سال گذشته بهتر که نشده هیچ، بدتر هم شده: از ۱۰۰ نانوثانیه رو Broadwell سال ۲۰۱۶ به ۱۴۰ نانوثانیه رو Turin سال ۲۰۲۵ رسیده.
به گفتهٔ نویسنده، خوبی ماجرا اینه که هستهٔ مدرن مجبور نیست بیکار بمونه؛ میتونه قبل از اینکه جواب درخواست اول برسه، درخواست دوم و سوم و دهم رو هم بفرسته. به تعداد درخواستهایی که یه هسته میتونه همزمان تو هوا نگه داره میگن موازیسازی سطح حافظه (memory-level parallelism)، که یکی از مهمترین عددها تو کارایی نرمافزاره ولی رو هیچ برگهٔ مشخصاتی نمیبینیش.
برای اندازهگیریش نویسنده از یه بنچمارک به اسم testingmlp استفاده میکنه که با دنبال کردن یه زنجیرهٔ اشارهگر (pointer chase)، چند دسترسی مستقل رو همزمان اجرا میکنه و میبینه از کجا به بعد اضافه کردن مسیر جدید دیگه کمکی نمیکنه. نتیجهش جالبه: اینتل تو یه دهه از ۱۰ به ۳۰ رسیده، AMD از ۱۵ به ۵۸، و Graviton آمازون از ۶ به ۱۹.
برندهٔ ماجرا از نظر پهنای باند و موازیسازی، AMDه و اونم با فاصله؛ هستهٔ Zen 5 توی نمونههای Turin تا ۵۸ خط کش همزمان و ۲۴.۵ گیگابایت بر ثانیه توان عبور تصادفی از یه هسته میده، یعنی تقریبا دو برابر اینتل. نکتهٔ جالب دیگه اینکه Graviton 5 تنها تراشهای تو این مجموعهست که تأخیر دسترسی رو واقعا کم کرده (۹۶ نانوثانیه). نویسنده اضافه میکنه که Apple Silicon حتی بهتره، ولی اون یه دستهٔ جداست.
نکات کلیدی:
- تأخیر حافظه ده ساله بهتر نشده، ولی موازیسازی سطح حافظه خیلی رشد کرده
- Zen 5 توی Turin تا ۵۸ درخواست همزمان، تقریبا دو برابر اینتل
- این عدد رو هیچ برگهٔ مشخصاتی نوشته نمیشه




