نموذج خط السقف

مثال على نموذج خط السقف في شكله الأساسي. كما توضح الصورة، يتكون المنحنى من حدين أقصى للأداء خاصين بكل منصة: ذروة أداء المعالج وحد أقصى مستمد من عرض نطاق الذاكرة. كلا المحورين بمقياس لوغاريتمي.

يُعدّ نموذج السقف نموذجًا بصريًا بديهيًا للأداء، يُستخدم لتقديم تقديرات لأداء نواة حسابية أو تطبيق مُحدد يعمل على معالجات متعددة النوى أو معالجات ذات عدد كبير من النوى أو معالجات مُسرّعة ، وذلك من خلال إظهار القيود المادية الكامنة ، والفوائد المحتملة وأولوية التحسينات . وبدمج خصائص الموضعية وعرض النطاق الترددي ونماذج التوازي المختلفة في رقم أداء واحد، يُمكن أن يكون هذا النموذج بديلاً فعالاً لتقييم جودة الأداء المُحقق بدلاً من استخدام تقديرات النسبة المئوية البسيطة للذروة، حيث يُقدم رؤى ثاقبة حول كلٍ من التنفيذ وقيود الأداء الكامنة.

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

عمل

العملدبليو{\displaystyle W}يشير إلى عدد العمليات التي تُنفذها نواة أو تطبيق معين. [ 1 ] قد يشمل هذا المقياس أي نوع من العمليات، بدءًا من عدد عناصر المصفوفة المُحدثة، مرورًا بعدد عمليات الأعداد الصحيحة ، وصولًا إلى عدد عمليات الفاصلة العائمة (FLOPs)، [ 2 ] ويعتمد اختيار نوع معين على سهولة الاستخدام. مع ذلك، في معظم الحالات،دبليو{\displaystyle W}يُعبَّر عنها بوحدات FLOPs . [ 1 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ]

لاحظ أن العملدبليو{\displaystyle W}هي خاصية من خصائص النواة أو التطبيق المحدد، وبالتالي تعتمد جزئيًا فقط على خصائص النظام الأساسي.

حركة مرور الذاكرة

حركة مرور الذاكرةسؤال{\displaystyle Q}يشير إلى عدد بايتات عمليات نقل الذاكرة التي تتم أثناء تنفيذ النواة أو التطبيق. [ 1 ] على عكسدبليو{\displaystyle W}،سؤال{\displaystyle Q}يعتمد ذلك بشكل كبير على خصائص النظام الأساسي المختار، مثل بنية التسلسل الهرمي لذاكرة التخزين المؤقت على سبيل المثال . [ 1 ]

الكثافة الحسابية

الكثافة الحسابيةأنا{\displaystyle I}ويُشار إليها أيضًا باسم الكثافة التشغيلية ، [ 3 ] [ 7 ] وهي نسبة العملدبليو{\displaystyle W}إلى حركة مرور الذاكرةسؤال{\displaystyle Q}: [ 1 ]أنا=دبليوسؤال{\displaystyle I={W \over Q}}ويشير إلى عدد العمليات لكل بايت من حركة مرور الذاكرة. عندما يكون العملدبليو{\displaystyle W}يتم التعبير عنها بوحدات FLOPs ، وهي الكثافة الحسابية الناتجةأنا{\displaystyle I}ستكون نسبة عمليات الفاصلة العائمة إلى إجمالي حركة البيانات ( FLOPs/byte ).

سقف ساذج

مثال على رسم بياني بسيط لخط السقف حيث يتم الإبلاغ عن نواتين . الأولى (الخط الأحمر المتقطع الرأسي) لها كثافة حسابيةيا1{\displaystyle O_{1}}أي أسفل الحد الأقصى لعرض النطاق الترددي (الخط الأسود المتصل المائل)، وبالتالي يكون مرتبطًا بالذاكرة . أما الثاني (المقابل للخط الأحمر المتقطع العمودي الأقصى يمينًا) فله كثافة حسابيةيا2{\displaystyle O_{2}}وهذا يقع أسفل سقف الأداء الأقصى (الخط الأسود الأفقي المتصل)، وبالتالي فهو مقيد بالحساب .

يُستخلص منحنى السقف البسيط [ 3 ] بتطبيق تحليل بسيط للحدود والاختناقات. [ 8 ] في هذه الصيغة لنموذج منحنى السقف، يوجد مُعاملان فقط، وهما ذروة الأداء وذروة عرض النطاق الترددي للبنية المحددة ، ومتغير واحد هو الكثافة الحسابية . يمكن عادةً استخلاص ذروة الأداء، المُعبر عنها عمومًا بوحدة GFLOPS ، من خلال قياس الأداء ، بينما تُستخلص ذروة عرض النطاق الترددي، التي تُشير تحديدًا إلى ذروة عرض نطاق ذاكرة الوصول العشوائي الديناميكية (DRAM) ، من خلال أدلة البنية. [ 1 ] [ 3 ] يُستخلص الرسم البياني الناتج، الذي يكون محوراه عادةً بمقياس لوغاريتمي، من الصيغة التالية : [ 1 ]P=مين{πβ×أنا{\displaystyle P=\min {\begin{cases}\pi \\\beta \times I\end{cases}}}أينP{\displaystyle P}هو الأداء الممكن تحقيقه،π{\displaystyle \pi }هو الأداء الأمثل ،β{\displaystyle \beta }يمثل ذروة عرض النطاق الترددي وأنا{\displaystyle I}هي الكثافة الحسابية. النقطة التي يصل عندها الأداء إلى ذروة مستواه.π{\displaystyle \pi }تُعرف نقطة التقاء السقف المائل والأفقي بنقطة القمة. [ 4 ] تُقدم نقطة القمة نظرة ثاقبة على الأداء العام للجهاز، من خلال توفير الحد الأدنى من العمليات الحسابية اللازمة لتحقيق ذروة الأداء، ومن خلال الإشارة بوضوح إلى مقدار الجهد المطلوب من المبرمج لتحقيق ذروة الأداء. [ 4 ]

تتميز النواة أو التطبيق المحدد بنقطة معينة تحددها شدتها الحسابيةأنا{\displaystyle I}(على المحور السيني). الأداء الممكن تحقيقهP{\displaystyle P}ثم يتم حسابها برسم خط عمودي يتقاطع مع منحنى خط السقف. ومن ثم، يُقال إن النواة أو التطبيق مقيد بالذاكرة إذاأناπ/β{\displaystyle I\leq \pi /\beta }. على العكس من ذلك، إذاأناπ/β{\displaystyle I\geq \pi /\beta }[ 1 ] ويُقال إن الحساب مقيد بالحساب .

إضافة أسقف إلى النموذج

يُقدّم الحدّ الأقصى النظري للأداء مجرد تقديرٍ تقريبي (الحد الأقصى النظري) . ورغم أنه يُمكن أن يُقدّم رؤى مفيدة حول الأداء المُمكن تحقيقه، إلا أنه لا يُقدّم صورة كاملة لما يُحدّده فعليًا. فإذا كان أداء النواة أو التطبيق قيد الدراسة، على سبيل المثال، أقل بكثير من الحدّ الأقصى النظري، فقد يكون من المفيد تحديد حدود أداء أخرى، إلى جانب ذروة عرض النطاق الترددي والأداء، لتوجيه المبرمج بشكل أفضل بشأن التحسينات التي يجب تطبيقها، أو حتى لتقييم مدى ملاءمة البنية المستخدمة مع النواة أو التطبيق قيد التحليل. [ 3 ] تُفرض هذه الحدود الإضافية حدًا على الأداء المُمكن تحقيقه، وهو أقل من الحدّ الأقصى النظري، وتُشير إلى أن النواة أو التطبيق لا يُمكنه تجاوز أيٍّ من هذه الحدود دون إجراء التحسينات المُناسبة أولًا. [ 3 ] [ 4 ]

يمكن توسيع مخطط خط السقف على ثلاثة جوانب مختلفة: الاتصالات ، بإضافة سقوف عرض النطاق الترددي ؛ الحوسبة ، بإضافة ما يسمى بسقوف النواة الداخلية ؛ والموقع ، بإضافة جدران الموقع .

حدود عرض النطاق الترددي

تمثل حدود عرض النطاق الترددي خطوطًا قطرية لعرض النطاق الترددي تقع أسفل الخط القطري المثالي لعرض النطاق الترددي الأقصى. ويعود وجودها إلى نقص في بعض التحسينات المعمارية المتعلقة بالذاكرة، مثل تماسك ذاكرة التخزين المؤقت ، أو تحسينات البرمجيات، مثل ضعف عرض التزامن (الذي بدوره يحد من استخدام عرض النطاق الترددي). [ 3 ] [ 4 ]

أسقف داخلية

تمثل السقوف الداخلية انحناءً يشبه خط السقف أسفل خط السقف الفعلي، وقد تنشأ نتيجةً لنقص نوعٍ من التوازي . تحدّ هذه السقوف فعليًا من مستوى الأداء الذي يمكن تحقيقه. لا يمكن للأداء تجاوز سقف السقوف الداخلية إلا بعد تحديد النقص الأساسي في التوازي واستغلاله. يمكن أيضًا استخلاص هذه السقوف من أدلة تحسين البنية، وليس من معايير الأداء. [ 3 ] [ 4 ]

جدران محلية

إذا تم التخلي عن الافتراض المثالي بأن كثافة العمليات الحسابية تعتمد فقط على النواة، وأُخذت بنية ذاكرة التخزين المؤقت - وبالتالي أخطاء ذاكرة التخزين المؤقت - في الاعتبار، فإن كثافة العمليات الحسابية تصبح بوضوح معتمدة على مزيج من النواة والبنية. قد يؤدي هذا إلى تدهور في الأداء تبعًا للتوازن بين كثافة العمليات الحسابية الناتجة ونقطة الذروة . على عكس السقوف "الحقيقية"، فإن الخطوط الناتجة على مخطط خط السقف هي حواجز رأسية لا يمكن لكثافة العمليات الحسابية تجاوزها دون تحسين. لهذا السبب، يُشار إليها باسم جدران الموضع أو جدران كثافة العمليات الحسابية . [ 3 ] [ 4 ]

توسيع النموذج

منذ تقديمه، [ 3 ] [ 4 ] تم توسيع النموذج ليشمل مجموعة أوسع من المقاييس والاختناقات المتعلقة بالأجهزة. وتتوفر في الأدبيات بالفعل امتدادات تأخذ في الحسبان تأثير تنظيم NUMA للذاكرة ، [ 6 ] والتنفيذ خارج الترتيب ، [ 9 ] وزمن استجابة الذاكرة ، [ 9 ] ونمذجة تسلسل ذاكرة التخزين المؤقت بدقة أكبر ، [ 5 ] [ 9 ] وذلك لفهم أفضل لما يحد من الأداء فعليًا وتوجيه عملية التحسين .

كما تم توسيع النموذج ليناسب بشكل أفضل البنى المعمارية المحددة والخصائص ذات الصلة، مثل FPGAs . [ 11 ]

انظر أيضاً

مراجع

  1. 1 2 3 4 5 6 7 8 أوفنبيك، ج.؛ شتاينمان، ر.؛ كاباروس، ف.؛ سبامبيناتو، د.ج.؛ بوشيل، م. (2014-03-01). "تطبيق نموذج خط السقف". ندوة IEEE الدولية لعام 2014 حول تحليل أداء الأنظمة والبرمجيات (ISPASS) . الصفحات 76-85 . doi : 10.1109/ISPASS.2014.6844463 . ISBN  978-1-4799-3606-9. S2CID 206992177 . 
  2. ديفيد أ. باترسون، جون ل. هينيسي. تنظيم وتصميم الحاسوب . ص 543. 
  3. 1 2 3 4 5 6 7 8 9 10 ويليامز، صموئيل و. (2008). الضبط التلقائي للأداء على أجهزة الكمبيوتر متعددة النوى (أطروحة دكتوراه). جامعة كاليفورنيا في بيركلي.
  4. 1 2 3 4 5 6 7 8 ويليامز، صموئيل؛ ووترمان، أندرو؛ باترسون، ديفيد (2009-04-01). "روفلاين: نموذج أداء بصري ثاقب للبنى متعددة النوى" (ملف PDF) . مجلة الاتصالات ACM . 52 (4): 65-76 . doi : 10.1145/1498765.1498785 . ISSN 0001-0782 . S2CID 7766361 .  
  5. 1 2 إيليتش، أ.؛ براتاس، ف.؛ سوزا، ل. (2014-01-01). "نموذج السقف المُراعي لذاكرة التخزين المؤقت: ترقية العلية". رسائل هندسة الحاسوب IEEE . 13 (1): 21-24 . doi : 10.1109/L-CA.2013.6 . ISSN 1556-6056 . S2CID 9208032 .  
  6. 1 2 لورينزو، أوسكار ج.؛ بينا، توماس ف.؛ كاباليرو، خوسيه س.؛ بيشيل، خوان س.؛ ريفيرا، فرانسيسكو ف. (31 مارس 2014). "استخدام نموذج Roofline الموسع لفهم تقارب البيانات والخيوط على أنظمة NUMA" . حوليات برمجة المعالجات متعددة النوى ووحدات معالجة الرسومات . 1 (1): 56-67 . ISSN 2341-3158 . 
  7. "نموذج أداء خط السقف" . مختبر لورانس بيركلي الوطني . تم الاطلاع عليه بتاريخ 19 يونيو 2016 .
  8. كورتيس، كورنيليوس؛ غوماس، جورجيوس؛ كوزيريس، نكتاريوس (1 يناير 2008). "تحسين ضرب المصفوفات المتفرقة في المتجهات باستخدام ضغط الفهرس والقيمة". وقائع المؤتمر الخامس حول آفاق الحوسبة . CF '08. نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM. الصفحات 87-96 . CiteSeerX 10.1.1.140.9391 . doi : 10.1145/1366230.1366244 . ISBN   9781605580777. S2CID 8038147 . 
  9. 1 2 3 كابيزاس، في سي؛ بوشيل، إم. (2014-10-01). "توسيع نموذج خط السقف: تحليل الاختناقات مع قيود معمارية دقيقة". ندوة IEEE الدولية لعام 2014 حول توصيف عبء العمل (IISWC) . الصفحات 222-231 . doi : 10.1109/IISWC.2014.6983061 . ISBN  978-1-4799-6454-3. S2CID 33023605 . 
  10. لورينزو، أو جي؛ بينا، تي إف؛ كاباليرو، جي سي؛ بيشيل، جي سي؛ ريفيرا، إف إف (26-03-2014). "3DyRM: نموذج خط السقف الديناميكي الذي يتضمن معلومات زمن استجابة الذاكرة". مجلة الحوسبة الفائقة . 70 (2): 696-708 . doi : 10.1007/s11227-014-1163-4 . ISSN 0920-8542 . S2CID 5318695 .  
  11. دا سيلفا، برونو؛ برايكن، آن؛ دي هولاندر، إريك هـ؛ توهافي، عبد الله (2013-01-01). "نمذجة الأداء لـ FPGAs: توسيع نموذج Roofline باستخدام أدوات توليف عالية المستوى" . المجلة الدولية للحوسبة القابلة لإعادة التكوين . 2013 : 1-10 . doi : 10.1155/2013/428078 . hdl : 1854/LU-4226966 . ISSN 1687-7195 .