تعدد الخيوط التخميني
التكهن على مستوى الخيوط ( TLS )، المعروف أيضًا باسم المعالجة المتعددة التخمينية أو التوازي التخميني، [ 1 ] هو أسلوب لتنفيذ جزء من كود برمجي بشكل تخميني ، يُتوقع تنفيذه لاحقًا بالتوازي مع التنفيذ العادي على خيط مستقل منفصل . قد يحتاج هذا الخيط التخميني إلى وضع افتراضات حول قيم متغيرات الإدخال. إذا ثبت عدم صحة هذه الافتراضات، فسيتعين تجاهل أجزاء الخيط التخميني التي تعتمد على هذه المتغيرات ودمجها. أما إذا كانت الافتراضات صحيحة، فيمكن للبرنامج أن يكتمل في وقت أقصر، شريطة أن يكون الخيط قد تمت جدولته بكفاءة.
وصف
تستخلص تقنية TLS الخيوط من التعليمات البرمجية التسلسلية وتنفذها بشكل تخميني بالتوازي مع خيط آمن. يجب التخلص من الخيط التخميني أو إعادة تشغيله إذا ثبت عدم صحة افتراضاته بشأن حالة الإدخال. إنها تقنية موازاة ديناميكية (وقت التشغيل) قادرة على كشف التوازي الذي قد تفشل تقنيات الموازاة الثابتة (وقت الترجمة) في استغلاله، لأنه لا يمكن ضمان استقلالية الخيوط في وقت الترجمة. ولتحقيق هدف تقليل وقت التنفيذ الإجمالي، يجب توفر موارد وحدة المعالجة المركزية التي يمكن تنفيذها بكفاءة بالتوازي مع الخيط الآمن الرئيسي. [ 2 ]
يفترض بروتوكول TLS، بتفاؤل، إمكانية تنفيذ جزء معين من التعليمات البرمجية (عادةً الحلقات) بشكل متوازٍ وآمن. ولتحقيق ذلك، يقسم مساحة التكرار إلى أجزاء تُنفذ بالتوازي بواسطة خيوط معالجة مختلفة. ويضمن نظام مراقبة، سواءً كان برمجيًا أو عتاديًا، الحفاظ على التسلسل المنطقي (أي أن التنفيذ يسير كما لو كانت الحلقة تُنفذ بشكل تسلسلي). في حال حدوث انتهاك للتبعية، قد يختار إطار العمل التخميني إيقاف التنفيذ المتوازي بالكامل وإعادة تشغيله؛ أو إيقاف وإعادة تشغيل خيوط المعالجة المخالفة وجميع الخيوط اللاحقة لها، لتزويدها بالبيانات الصحيحة؛ أو إيقاف خيط المعالجة المخالف فقط والخيوط اللاحقة له التي استهلكت بيانات غير صحيحة منه. [ 3 ]
مراجع
- ↑ إستيبانيز، ألفارو (2017). "دراسة استقصائية حول تقنيات التخمين على مستوى الخيوط" . مجلة ACM Computing Surveys . 49 (2): 1–39 . doi : 10.1145/2938369 . S2CID 423292 .
- ↑ مارتينيز، خوسيه ف.؛ توريلاس، جوزيب (2002). "التزامن التخميني" (ملف PDF) . وقائع المؤتمر الدولي العاشر حول الدعم المعماري للغات البرمجة وأنظمة التشغيل (ASPLOS-X) - ASPLOS '02 . ACM. ص 18. doi : 10.1145/605397.605400 . ISBN 1581135742. S2CID 9189828 . مؤرشف من الأصل (PDF) بتاريخ 2018-11-18.
- ↑ غارسيا ياغويز، ألفارو (2014). "التغلب على البدائل للتوازي التخميني القائم على البرمجيات" . معاملات IEEE في الحوسبة . 63 (7): 1826-1839 . Bibcode : 2014ITCmp..63.1826G . doi : 10.1109/TC.2013.46 . S2CID 14081801 .
للمزيد من القراءة
- يابانيس، باراسكيفاس؛ براون، جافين؛ لويان، ميكيل (2016). "التكهن البرمجي الموجه بواسطة المترجم لتحقيق التوازي على مستوى الخيوط" . معاملات ACM في لغات البرمجة والأنظمة . 38 (2): 1-45 . doi : 10.1145/2821505 .
- يابانيس، باراسكيفاس؛ روزاس-هام، ديميان؛ براون، جافين؛ لويان، ميكيل (2013). "تحسين أنظمة وقت تشغيل البرمجيات للتوازي التخميني" . معاملات ACM في هندسة البرمجيات وتحسين الكود . 9 (4): 1-27 . doi : 10.1145/2400682.2400698 .
- يانوس، دييغو ر. (2007). "استراتيجيات جدولة جديدة للخوارزميات التزايدية العشوائية في سياق التوازي التخميني". معاملات IEEE للحاسبات . 56 (6): 839-852 . Bibcode : 2007ITCmp..56..839L . CiteSeerX 10.1.1.77.5496 . doi : 10.1109/TC.2007.1030 . S2CID 3181243 .
- جونسون، نيك ب.؛ كيم، هانجون؛ برابهو، براكاش؛ زاكس، أيال؛ أوغست، ديفيد آي. (2012). "الفصل التخميني للخصخصة والتخفيضات" (ملف PDF) . وقائع المؤتمر الثالث والثلاثين لجمعية ACM SIGPLAN حول تصميم وتنفيذ لغات البرمجة . PLDI '12. الصفحات 359-370 . doi : 10.1145/2254064.2254107 .
- بهوميك، أناسوا؛ فرانكلين، مانوج (2002). "إطار عمل عام للمترجمات للمعالجة المتعددة التخمينية". وقائع الندوة السنوية الرابعة عشرة لجمعية الحوسبة الآلية حول الخوارزميات والهياكل المتوازية . SPAA '02. الصفحات 99-108 . doi : 10.1145/564870.564885 .
- بروينينج، ديريك. ديفاباكتوني، سريكريشنا؛ أماراسينغي، سامان (2000). Softspec: التوازي التأملي القائم على البرمجيات (PDF) . فدو-3. ص 1 – 10.
- تشين، مايكل ك.؛ أولوكوتون، كونلي (1998). "استغلال التوازي على مستوى الأساليب في برامج جافا أحادية الخيوط". المؤتمر الدولي حول البنى المتوازية وتقنيات الترجمة . PACT 1998. ص 176-184 . doi : 10.1109/PACT.1998.727190 .
- تشين، مايكل ك.؛ أولوكوتون، كونلي (2003). "نظام Jrpm للتوازي الديناميكي لبرامج جافا". وقائع الندوة الدولية السنوية الثلاثين حول هندسة الحاسوب . ISCA '03. ص 434-446 . doi : 10.1145/859618.859668 .
- سينترا، مارسيلو؛ يانوس، دييغو ر. (2003). "نحو موازاة تخمينية برمجية فعالة وقوية على المعالجات المتعددة". وقائع الندوة التاسعة لجمعية ACM SIGPLAN حول مبادئ وممارسات البرمجة المتوازية . PPoPP '03. الصفحات 13-24 . doi : 10.1145/781498.781501 .
- كوك، جوناثان ج. (2002). "التنفيذ العكسي لرمز بايت جافا". مجلة الكمبيوتر . 45 (6): 608-619 . CiteSeerX 10.1.1.20.4765 . doi : 10.1093/comjnl/45.6.608 .
- كينونيس، كارلوس غارسيا؛ مادريلس، كارلوس؛ سانشيز، خيسوس؛ ماركويلو، بيدرو؛ غونزاليس، أنطونيو؛ تولسن، دين م. (2005). "مترجم الانقسام المتساوي: بنية تحتية للخيوط التخمينية القائمة على شرائح الحساب المسبق". وقائع مؤتمر ACM SIGPLAN لعام 2005 حول تصميم لغات البرمجة وتنفيذها . PLDI '05. الصفحات 269-279 . doi : 10.1145/1065010.1065043 .
- هو، شيون؛ بهارجافا، رافي؛ جون، ليزي كوريان (2003). "دور التنبؤ بقيمة العائد في استغلال التوازي على مستوى الأسلوب التخميني" (ملف PDF) . مجلة البرمجة الخطية الدولية . 5 : 1-21 .
- كازي، عفت ح. (2000). نموذج موازاة تكيفي ديناميكي قائم على تعدد الخيوط التخميني (أطروحة دكتوراه). جامعة مينيسوتا. ص 1-188 .
- بيكيت، كريستوفر جيه إف؛ فيربورغ، كلارك (2005). "SableSpMT: إطار برمجي لتحليل تعدد الخيوط التخميني في جافا". وقائع ورشة عمل ACM SIGPLAN-SIGSOFT السادسة حول تحليل البرامج لأدوات وهندسة البرمجيات . PASTE '05. الصفحات 59-66 . doi : 10.1145/1108792.1108809 .
- بيكيت، كريستوفر جيه إف؛ فيربورغ، كلارك (2005). "التكهن على مستوى خيوط البرمجيات للغة جافا وبيئة الآلة الافتراضية" (ملف PDF) . وقائع المؤتمر الدولي الثامن عشر حول اللغات والمترجمات للحوسبة المتوازية . LCPC '05. LNCS. المجلد 4339. الصفحات 304-318 . doi : 10.1007/978-3-540-69330-7_21 .
- بورتر، ليو؛ تشوي، بوميونغ؛ تولسن، دين م. (2009). "رسم مسار من ذاكرة المعاملات المادية إلى تعدد الخيوط التخميني". المؤتمر الدولي الثامن عشر حول البنى المتوازية وتقنيات الترجمة . PACT '09. الصفحات 313-324 . CiteSeerX 10.1.1.153.2503 . doi : 10.1109/PACT.2009.37 .
- روندبيرغ، بيتر؛ ستينستروم، بير (2001). "نظام تخمين تبعية البيانات على مستوى الخيوط البرمجية بالكامل للمعالجات المتعددة" (ملف PDF) . مجلة البرمجة المنطقية التطبيقية . 3 : 1-28 .
- ستيفان، ج. غريغوري؛ كولوهان، كريستوفر؛ تشاي، أنطونيا؛ مووري، تود سي. (2005). "نهج STAMPede للتكهن على مستوى الخيوط". معاملات ACM لأنظمة الحاسوب . 23 (3): 253-300 . CiteSeerX 10.1.1.79.4317 . doi : 10.1145/1082469.1082471 . S2CID 10499545 .
- وايلي، جون؛ كوزيراكيس، كريستوس (2005). "أساليب استدلالية للتوازي التخميني على مستوى الأسلوب الموجه بالملفات التعريفية". المؤتمر الدولي للمعالجة المتوازية . ICPP 2005. ص 147-156 . CiteSeerX 10.1.1.77.3989 . doi : 10.1109/ICPP.2005.44 .
- رينو، خوسيه؛ شتراوس، كارين ؛ سيز، لويس؛ ليو، وي؛ سارانجي، سمروتي؛ تاك، جيمس؛ توريللاس، جوزيب (2006). "التكهن على مستوى الخيوط بكفاءة الطاقة" (ملف PDF) . مجلة IEEE Micro . 26 (1): 80-91 . Bibcode : 2006IMicr..26a..80R . doi : 10.1109/MM.2006.11 . S2CID 206472480 .
- يوشيزوي، كازوكي؛ ماتسوموتو، تاكاشي؛ هيراكي، كي (1998). "التنفيذ المتوازي التخميني على JVM" . ورشة عمل المملكة المتحدة حول HPNC . الصفحات 1-20 .
- أوانسيا، كوزمين إي.؛ مايكروفت، آلان؛ هاريس، تيم (2009). "تنفيذ خفيف الوزن في مكانه لتخمين مستوى خيوط البرمجيات" (ملف PDF) . وقائع الندوة السنوية الحادية والعشرين حول التوازي في الخوارزميات والهياكل . SPAA '09. الصفحات 1-10 . doi : 10.1145/1583991.1584050 .
- التحكم في التزامن
- الحوسبة المتوازية
- تنفيذ لغة البرمجة
- معالجة التعليمات
- التنفيذ التخميني
