النموذج الحسابي
- 6 دقائق
كما سبق أن تمت مناقشته، يدعم GraphLab محركات متعددة يمكنها تنفيذ دالات الذروة إما بشكل متزامن أو بشكل غير متزامن. المحركات الثلاثة التي يدعمها GraphLab حاليًا هي:
- محرك متزامن
- محرك غير متزامن
- محرك غير متزامن قابل للتسلسل
محرك متزامن
ينفذ المحرك المتزامن أطوار التجميع والتطبيق والمبعثر (GAS) من أجل كل من الذروات النشطة المعينة إلى جهاز. بمجرد أن يكمل الجهاز تحديث كل الذروات المعينة له لتكرار معين، فإنه ينتظر التكرار التالي. تتم جدولة الذروات التي يتم تنشيطها في كل تكرار للتنفيذ للتكرار التالي. في وضع التنفيذ هذا، تعمل GraphLab على تنفيذ الحساب بأسلوب توازي الكتلة المتزامن (BSP)، على غرار أنظمة مثل Pregel. ونتيجة لذلك، يتم ضمان الحساب الذي يتم إجراؤه بواسطة محرك متزامن لمتابعة نموذج التناسق الكامل كما تمت مناقشتها سابقًا.
يمكن أن يكون أداء المحرك المتزامن ضعيفًا للغاية عند تنفيذ خوارزميات MLDM لأنه لا يمكن لطور ومرحلة وخطوة فائقة في أثناء ذلك التنفيذ الإنهاء قبل المهمة الأخيرة والذروة في هذا التثبيت الحسابي. ويتم تحديد وقت التنفيذ لكل طور ومرحلة وخطوة فائقة بواسطة أبطأ مهمة وذروة.
محرك غير متزامن
باستخدام المحرك غير المتزامن، تعمل GraphLab على تنفيذ الذروات النشطة كلما أصبحت الأجهزة متوفرة. يتم تثبيت التغييرات التي يتم إجراؤها على بيانات الذروة والحافة في أثناء دالات التطبيق والمبعثر مباشرةً إلى الرسم البياني وتوفيرها للحساب اللاحق على الذروات المجاورة. الفائدة الرئيسية في استخدام محرك غير متزامن هي في القضاء على الانتظار قبل متابعة التكرار التالي، والذي يسمح بزيادة التوازي والأداء. ينفذ المحرك غير المتزامن حسابات الذروة باستخدام نموذج تناسق الذروة كما تمت مناقشته سابقًا.
على الرغم من أنه يمكن أن تؤدي المحركات غير المتزامنة إلى مكاسب تجريبية وخوارزمية لمجموعة من تطبيقات MLDM الشائعة، فإنها تشكل تحديًا ضروريًا. بشكل خاص، يعرض التنفيذ غير المتزامن تعقيدات التصميم وتصحيح الأخطاء ويمكن أن تسفر عن نتائج غير محددة.1 على سبيل المثال، عندما يتم تشغيل المحاكاة الإحصائية بشكل غير متزامن، هناك احتمال كبير للنتائج غير الإحصائية. إذا لم يتم التحكم في هذا الشرط بعناية، يمكن أن يحدث عدم استقرار أو حتى اختلاف.2 في بعض التطبيقات، تتم إزاحة التوازي المتزايد لتنفيذ غير المتزامن من قبل زيادة عدد التكرارات المطلوبة لتحقيق التقارب.
محرك غير متزامن قابل للتسلسل
توفر GraphLab مقايضة متوازنة بين المحركات المتزامنة وغير المتزامنة مع خيار استخدام المحرك غير المتزامن القابل للتسلسل. في هذا المحرك، تمنع GraphLab دالات GAS للذروات المتجاورة من التشغيل المتزامن باستخدام بروتوكول تأمين متوازٍ تفصيلي، يعرف باسم نظام Chandy-Misra. 3 باستخدام هذا النظام، يكتسب الجهاز الذي ينفذ ذروة الرأس تأمينات على الحواف المتجاورة الموجودة على الجهاز. (يتم تحديد ذلك أثناء التقسيم الجشع لقطع الحافة الموضح سابقا.) يضمن التنفيذ الناتج أن يكون قابلا للتسلسل؛ أي أن هناك بعض الترتيب التسلسلي للتنفيذ الذي تكون نتائجه مكافئة للنتائج عند تنفيذه باستخدام المحرك غير المتزامن القابل للتسلسل. يكافئ التنفيذ غير المتزامن القابل للتسلسل لرسم بياني نموذج تناسق الحافة كما تمت مناقشته سابقًا.
المراجع
- ي. غونزاليس ، واي لو ، إتش جو ، دي بيكسون ، وسي جوسترين (أكتوبر 2012). PowerGraph: حساب الرسوم البيانية الموازية الموزعة على الرسوم البيانية الطبيعية في وقائع مؤتمر USENIX العاشر بشأن تصميم أنظمة التشغيل وتطبيقها
- ي. غونزاليس ، واي لو ، إيه جريتون ، وسي جوسترين (2011). عينة جيبس موازية: من الحقول الملونة إلى أشجار تقاطع رقيقة في AISTATS, vol. 15, pp. 324-332
- شاندي ، ك. م. وميسرا ، ج. (1984). مشكلة الشرب لدى الفلاسفةACM Trans. Program. Lang. Syst. 632--646
اختبر معلوماتك
الملاحظات
هل كانت هذه الصفحة مفيدة؟
لا
هل تحتاج إلى مساعدة مع هذا الموضوع؟
هل تريد محاولة استخدام Ask Learn لتوضيح هذا الموضوع أو إرشادك خلاله؟