مشروع لإضافة دعم لعملية التجميع الموازية لدول مجلس التعاون الخليجي

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

للاختبار مُعد فرع مواز منفصل من GCC ، لتحديد عدد الخيوط التي يتم فيها اقتراح معامل جديد "-param = num-thread = N". في المرحلة الأولية ، يتم نقل التحسينات بين الإجراءات إلى سلاسل تنفيذ منفصلة ، والتي يتم استدعاؤها دوريًا لكل وظيفة وتناسب بشكل جيد الموازاة. يتم وضع عمليات GIMPLE في خيوط منفصلة ، تكون مسؤولة عن التحسينات المستقلة عن الأجهزة التي تقيم تفاعل الوظائف مع بعضها البعض.

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

لتقييم التغيير في الأداء ، تم إعداد مجموعة اختبار تقوم ببناء ملف gimple-match.c ، والذي يتضمن أكثر من 100 ألف سطر من التعليمات البرمجية و 1700 وظيفة. أظهرت الاختبارات التي أجريت على نظام مع وحدة المعالجة المركزية Intel Core i5-8250U مع 4 أنوية مادية و 8 نوى افتراضية (Hyperthreading) انخفاضًا في وقت تنفيذ تحسينات GIMPLE داخل الإجراءات من 7 إلى 4 ثوانٍ عند بدء خيوط 2 وما يصل إلى 3 ثوانٍ عند بدء 4 خيوط ، أي تم تحقيق زيادة في سرعة مرحلة التجميع المدروسة بمقدار 1.72 و 2.52 مرة على التوالي. أظهرت الاختبارات أيضًا أن استخدام النوى الافتراضية مع Hyperthreading لا يؤدي إلى مكاسب في الأداء.

مشروع لإضافة دعم لعملية التجميع الموازية لدول مجلس التعاون الخليجي

تم تقليل وقت الإنشاء الإجمالي بحوالي 10٪ ، ولكن من المتوقع أن يحقق موازاة تحسينات RTL نتائج ملموسة أكثر ، نظرًا لأن هذه المرحلة تستغرق وقتًا أطول في التجميع. بعد موازاة RTL تقريبًا ، سيتم تقليل وقت التجميع الإجمالي بمقدار 1.61 مرة. بعد ذلك ، سيكون من الممكن تقليل وقت الإنشاء بنسبة 5-10٪ أخرى بسبب موازاة تحسينات IPA.

مشروع لإضافة دعم لعملية التجميع الموازية لدول مجلس التعاون الخليجي

المصدر: opennet.ru

إضافة تعليق