الخلاصة

  • يتيح SMT إصدار تعليمات من عدة سياقات عتادية مستقلة في الدورة نفسها على موارد نواة فائقة القياسية عريضة واحدة. إنه يستخدم التوازي بين الخيوط لملء ما يتركه التوازي بين التعليمات شاغراً، ولا يضيف أنوية فعلية.
  • كانت أرقام 1995 نتائج إنتاجية لنموذج محاكاة محدد: تصميم موسّع مشتق من Alpha 21164، وما يصل إلى ثمانية سياقات، وأحمال SPEC92 متعددة البرامج. لم تكن وعداً بتسريع خيط منفرد أو بضمان الإنصاف والطاقة والأمن في كل جهاز.

حين لا يكفي الاتساع وحده

تحتاج النواة فائقة القياسية إلى عدة تعليمات جاهزة في كل دورة. تقل الخيارات بسبب الاعتماد بين البيانات والفروع وإخفاقات الذاكرة المخبئية. وصف Dean Tullsen وSusan Eggers وHenry Levy الخانات غير الممتلئة في دورة نشطة بالهدر الأفقي، والدورات التي لا تصدر فيها أي تعليمة بالهدر العمودي. أبقى بحثهم في ISCA عام 1995 حالات عدة خيوط متاحة، كي تستطيع تعليمات برامج مختلفة شغل وحدات التنفيذ الحرة معاً.

هذا يميز بين مفاهيم متقاربة لفظياً. التوازي على مستوى التعليمات يوجد داخل خيط واحد؛ أما التوازي على مستوى الخيوط فيوفر مسارات مستقلة. تحفظ السياقات العتادية حالة كل مسار، لكنها تتشارك الطوابير والوحدات والمخابئ ومتنبئات الفروع. المعالج متعدد الأنوية يفصل قسماً أكبر من الموارد مادياً. لذلك لا تساوي ثمانية سياقات SMT ثماني أنوية.

ما الذي قاسه نموذج 1995؟

كانت الدراسة الأولى محاكاة لا شريحة تجارية. بدأت من نموذج شبيه بـ Alpha 21164 ذي 300 ميغاهرتز ووسّعته. ضم التكوين النموذجي عشر وحدات وظيفية، وحداً أقصى قدره ثماني تعليمات في الدورة، وما يصل إلى ثمانية سياقات. جُمعت برامج SPEC92 مختلفة لقياس العمل الكلي من دون خلطه بمزامنة تطبيق متوازٍ.

جُمّعت البرامج أيضاً بإعدادات تحقق أداء جيداً للخيط الواحد، حتى لا تبدو زيادة SMT أكبر بسبب خط أساس ضعيف. في التكوينات المدروسة، بلغت الزيادة من 3.2 إلى 4.2 مرة مقارنة بالمعالج العريض، ووصل الحد الأقصى إلى 6.3 تعليمة في الدورة. ولخّص البحث النتيجة بأنها تصل، داخل النموذج، إلى نحو أربعة أضعاف إنتاجية المعالج العريض وضعفي تعدد الخيوط دقيق الحبيبات.

لا تعني هذه النتيجة أن مهمة واحدة تنتهي أسرع أربع مرات. التردد وعرض الإصدار وهرمية الذاكرة والطاقة ومزيج البرامج كلها تحدد إمكانية نقل النتيجة.

المشاركة تستدعي سياسة توزيع

حين تطلب خيوط متعددة الخانات نفسها، يصبح قرار الاختيار جزءاً من سلوك الآلة. قارن بحث 1995 بين أولوية صارمة وسياسات أكثر إنصافاً. قد تبقى الإنتاجية الإجمالية متقاربة فيما يختلف تقدم كل برنامج كثيراً. في تجربة من ثمانية خيوط، لم يتجاوز البرنامج الأدنى أولوية 55% من سرعة الأعلى أولوية. وحتى البرنامج المفضل تباطأ بنحو 35% بسبب مشاركة المخابئ وTLB ومتنبئ الفروع.

تشمل مساحة التحكم اختيار الجلب، والطوابير، والسجلات، ووحدات التنفيذ، وعرض حزمة الذاكرة. يمكن أن يرتفع المتوسط بينما يسوء كمون الذيل أو تقل إمكانية التنبؤ بتقدم خدمة بعينها.

من فكرة قوية إلى تنظيم قابل للتنفيذ

في 1996 قدّم Tullsen وEggers وJoel Emer وLevy وJack Lo وRebecca Stamm تنظيماً أقرب إلى امتداد تقليدي لمعالج عريض. فضّل اختيار ICOUNT الخيوط التي لديها تعليمات أقل داخل الآلة، كي لا يحتكر سياق واحد النافذة المشتركة. حقق النموذج 5.4 تعليمة في الدورة و2.5 ضعف إنتاجية معالج مماثل عند ثمانية خيوط، مع تباطؤ معلن للخيط الواحد أقل من 2%.

أضاف تقرير جامعة واشنطن في 1997 برنامجي الاختبار SPEC95 وSPLASH-2. سجل نحو 6.2 IPC للأحمال متعددة البرامج و6.1 للبرامج المتوازية عند ثمانية خيوط، مع توثيق تعارضات المخابئ وTLB والتنبؤ. كشفت المقارنة بمعالج متعدد الأنوية في النموذج المقايضة: تستعيد المشاركة الديناميكية الموارد المبعثرة، بينما يقدم التقسيم الثابت حداً مختلفاً للعزل.

الفضل لفريق وحدود واضحة للإرث

تسمي صفحة مشروع جامعة واشنطن Eggers وLevy عضوَي هيئة تدريس، وTullsen وLo طالبين، وEmer وStamm متعاونين من Digital Equipment Corporation. كانت Eggers مساهمة مركزية، لا مخترعة منفردة. سوّقت Intel المبدأ لاحقاً باسم Hyper-Threading. حصل بحث 1995 على تقدير ISCA Test of Time في 2010، ونالت Eggers جائزة Eckert-Mauchly عام 2018 لإسهاماتها في معماريات SMT والمشاركة والاتساق في المعالجات المتعددة.

تثبت الجوائز التأثير، لا تفوقاً مطلقاً. الدرس الدائم أدق: يحول SMT فرصة خاملة إلى سعة مشتركة متنازع عليها. تتحدد قيمتها بالآلة والجيران والمقياس المطلوب.

المصادر