دريستون
برنامج Dhrystone هو برنامج قياس أداء الحوسبة الاصطناعية ، طُوِّر عام 1984 على يد راينهولد ب. ويكر، وكان الهدف منه تمثيل برمجة الأنظمة ( الأعداد الصحيحة ). تطور برنامج Dhrystone ليصبح مؤشرًا لأداء المعالجات العامة ( وحدة المعالجة المركزية ). اسم "Dhrystone" هو تورية على خوارزمية قياس أداء أخرى تُسمى Whetstone ، والتي تُركز على أداء العمليات الحسابية ذات الفاصلة العائمة . [ 1 ]
باستخدام برنامج Dhrystone، جمع ويكر بيانات وصفية من مجموعة واسعة من البرامج، بما في ذلك برامج مكتوبة بلغات FORTRAN و PL/1 وSAL و ALGOL 68 و Pascal . ثم قام بتصنيف هذه البرامج من حيث بنيات مشتركة مختلفة: استدعاءات الإجراءات، وتوجيهات المؤشرات ، وعمليات الإسناد، وما إلى ذلك. ومن هذا المنطلق، كتب معيار Dhrystone ليتوافق مع مزيج تمثيلي. نُشر برنامج Dhrystone بلغة Ada ، وساهمت نسخة C لنظام Unix التي طورها ريك ريتشاردسون ("الإصدار 1.1") بشكل كبير في انتشاره.
حجر دريستون مقابل حجر ويتستون
لا يتضمن اختبار Dhrystone أي عمليات حسابية للأعداد العشرية ، لذا فإن اسمه تورية على اختبار Whetstone الشهير آنذاك للعمليات الحسابية للأعداد العشرية. ويُخرج هذا الاختبار عدد عمليات Dhrystone في الثانية (أي عدد دورات حلقة الكود الرئيسية في الثانية).
يُعد كل من برنامجي Whetstone وDhrystone معيارين اصطناعيين ، أي أنهما برنامجان بسيطان مصممان بعناية لمحاكاة استخدام المعالج إحصائيًا لمجموعة من البرامج الشائعة. وقد طُوّر برنامج Whetstone عام 1972، وكان يهدف في الأصل إلى محاكاة برامج Algol 60 النموذجية استنادًا إلى قياسات من عام 1970، ولكنه أصبح في النهاية الأكثر شيوعًا في نسخته المكتوبة بلغة Fortran، مما يعكس التوجه العددي الكبير للحوسبة في ستينيات القرن الماضي.
القضايا التي تناولها دريستون
Dhrystone's eventual importance as an indicator of general-purpose ("integer") performance of new computers made it a target for commercial compiler writers. Various modern compiler static code analysis techniques (such as elimination of dead code: for example, code which uses the processor but produces internal results which are not used or output) make the use and design of synthetic benchmarks more difficult. Version 2.0 of the benchmark, released by Weicker and Richardson in March 1988, had a number of changes intended to foil a range of compiler techniques. Yet it was carefully crafted so as not to change the underlying benchmark. This effort to foil compilers was only partly successful. Dhrystone 2.1, released in May of the same year, had some minor changes and as of July 2010 remains the current definition of Dhrystone.
Other than issues related to compiler optimization, various other issues have been cited with the Dhrystone. Most of these, including the small code size and small data set size, were understood at the time of its publication in 1984. More subtle is the slight over-representation of string operations, which is largely language-related: both Ada and Pascal have strings as normal variables in the language, whereas C does not, so what was simple variable assignment in reference benchmarks became buffer copy operations in the C library. Another issue is that the score reported does not include information which is critical when comparing systems such as which compiler was used, and what optimizations.
Dhrystone remains remarkably resilient as a simple benchmark, but its continuing value in establishing true performance is questionable. It is easy to use, well documented, fully self-contained, well understood, and can be made to work on almost any system. In particular, it has remained in broad use in the embedded computing world, though the recently developed EEMBC benchmark suite, the CoreMark standalone benchmark, HINT, Stream, and even Bytemark are widely quoted and used, as well as more specific benchmarks for the memory subsystem (Cachebench), TCP/IP (TTCP), and many others.
Results
قد يُقدّم اختبار Dhrystone نتيجةً أكثر دلالةً من MIPS (مليون تعليمة في الثانية)، لأنّ مقارنة عدد التعليمات بين مجموعات التعليمات المختلفة (مثل RISC مقابل CISC ) قد تُؤثّر سلبًا على المقارنات البسيطة. على سبيل المثال، قد تتطلّب المهمة نفسها عالية المستوى عددًا أكبر بكثير من التعليمات على جهاز RISC، ولكنّها قد تُنفّذ أسرع من تعليمة واحدة على جهاز CISC. لذا، فإنّ نتيجة Dhrystone تحسب فقط عدد مرات اكتمال تكرار البرنامج في الثانية، ممّا يسمح لكل جهاز بإجراء هذه الحسابات بطريقة خاصة به. ومن طرق تمثيل معيار Dhrystone الشائعة الأخرى DMIPS ( Dhrystone MIPS )، والذي يُحسب بقسمة نتيجة Dhrystone على 1757 (عدد عمليات Dhrystone في الثانية التي تمّ الحصول عليها على جهاز VAX 11/780 ، وهو جهاز يُصنّف اسميًا على أنّه 1 MIPS).
هناك طريقة أخرى لعرض النتائج وهي DMIPS/MHz، حيث تُقسم نتيجة DMIPS على تردد المعالج، مما يُسهّل مقارنة المعالجات التي تعمل بترددات ساعة مختلفة . وهذا في الواقع نسخة محايدة من حيث بنية المعالج تُعبّر عن عدد التعليمات في الدورة الواحدة .
أوجه القصور
استخدام دريستون كمعيار له عيوبه:
- يحتوي على شفرة غير عادية لا تمثل عادةً البرامج الحديثة. [ 2 ]
- تتأثر هذه اللغة بتحسينات المُصرّف. فعلى سبيل المثال، تُجري نسخًا كثيرة للسلاسل النصية في محاولة لقياس أداء نسخ السلاسل. مع ذلك، فإن السلاسل النصية في لغة Dhrystone ذات طول ثابت معروف، وتبدأ على حدود طبيعية، وهما سمتان غائبتان عادةً عن البرامج الحقيقية. لذا، يمكن للمُحسِّن استبدال عملية نسخ السلسلة بتسلسل من عمليات نقل الكلمات دون أي حلقات، مما يُسرِّع الأداء بشكل ملحوظ. ونتيجةً لذلك، يُبالغ هذا التحسين في تقدير أداء النظام، أحيانًا بأكثر من 30%. [ 3 ]
- قد يتناسب حجم كود Dhrystone الصغير مع ذاكرة التخزين المؤقت للتعليمات في وحدة المعالجة المركزية الحديثة، مما يجعل أداء جلب التعليمات غير خاضع لاختبارات دقيقة. [ 2 ] وبالمثل، قد يتناسب Dhrystone تمامًا مع ذاكرة التخزين المؤقت للبيانات ، وبالتالي لا يخضع لاختبار أداء فقدان البيانات. ولمعالجة مشكلة التناسب مع ذاكرة التخزين المؤقت، تم إنشاء معيار SPECint في عام 1988 ليشمل مجموعة من البرامج (ثمانية برامج في البداية) أكبر حجمًا بكثير (بما في ذلك مُصرّف) والتي لم يكن من الممكن وضعها في ذاكرتي التخزين المؤقت L1 أو L2 في ذلك الوقت.
انظر أيضاً
مراجع
- ↑ تورية : حجر الشحذ → حجر مبلل → حجر جاف → حجر جاف .
- 1 2 وايس، آلان. "معيار دريستون: التاريخ والتحليل والنتائج والتوصيات" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 26-07-2011 . تم الاطلاع عليه بتاريخ 28-04-2020 .
- ^ فرانكو زابا (2017). وحدات التحكم الدقيقة: الأجهزة والبرامج الثابتة للأجهزة 8 بت و32 بت Società Editrice Esculapio. ص. 66. ردمك 978-88-9385-022-3.
روابط خارجية
- ويكر، راينهولد (أكتوبر 1984). "دريستون: معيار برمجة الأنظمة التركيبية" . اتصالات رابطة مكائن الحوسبة . 27 (10): 1013-1030 . doi : 10.1145/358274.358283 . S2CID 9026014 .
- معيار دريستون: الأساس المنطقي للإصدار 2 وقواعد القياس (رينهولد ب. ويكر، 1988)
- برنامج DHRYSTONE المعياري (Reinhold P. Weicker, 1995)
- المعايير (الحوسبة)
- مقدمات متعلقة بالحاسوب في عام 1984
