نموذج البرمجة
- 5 دقائق
تذكر من نموذج البيانات من GraphLab أن الرسوم البيانية يتم تقسيمها بين أجهزة متعددة. في أثناء تنفيذ دالات GAS على كل ذروة، توجد احتمالية تعارضات قراءة-كتابة وكتابة-كتابة بين الذروات التي تشترك في نطاق. يزامن محرك GraphLab إمكانيات الوصول إلى البيانات المشتركة ويضمن تنفيذًا موازيًا ثابتًا. على وجه الخصوص، يدعم GraphLab محركات تنفيذ الرسم البياني المختلفة، وكل منها بمستويات مختلفة من التناسق، ما يسمح للمستخدمين باختيار محرك مناسب للصحة والأداء في تطبيقاتهم. مفاهيم مختلفة من التناسق التي يقدمها GraphLab من خلال محركاته المختلفة هي: التناسق الكامل وتناسق الحافة وتناسق الذروة. كما هو مبين في الشكل 8، ضمن التناسق الكامل، يكون لدالة التحديث في كل ذروة (الذروة 3) إمكانية وصول حصري للقراءة والكتابة إلى ذروتها الخاصة والحواف المجاورة، والذروات المجاورة (نطاقها بأكمله). وفي حين أن هذا الترتيب يضمن تناسقًا قويًا وصحة كاملة، فإنه يقيد التوازي، ومن ثم الأداء. ولكن لا تتطلب الذروات بالفعل في العديد من خوارزميات MLDM إمكانية الوصول الحصري للقراءة والكتابة إلى النطاق بأكمله. على سبيل المثال، لا تتطلب خوارزمية PageRank إلا الوصول للقراءة إلى الحواف والذروات المجاورة.
ومن ثم، لزيادة التوازي ودعم مجموعة أوسع من إعدادات التناسق التي تناسب تطبيقات MLDM المختلفة، يتضمن GraphLab مفاهيم تناسق الحافة وتناسق الذروة. ضمن تناسق الحافة، تحتوي دالة التحديث في الذروة على وصول حصري للقراءة-الكتابة إلى ذروتها وحافاتها المجاورة، ومع ذلك يكون الوصول للقراءة فقط إلى الذروات المجاورة. ومن الواضح أن هذا البروتوكول يخفف من التناسق ويتيح زيادة رئيسية من التوازي. ضمن تناسق الذروة، تكون لدالة التحديث في ذروة لها إمكانية الوصول للكتابة الحصري فقط إلى ذروته الخاصة، ما يسمح بتشغيل كل دالات التحديث في وقت واحد. هذه القدرة توفر أقصى قدر ممكن من التوازي ولكن، في المقابل، التناسق الأكثر استرخاء. يمكن لمستخدمي GraphLab اختيار محرك يوازن بين الأداء ونموذج التناسق المطلوب الذي يجدونه مناسبًا لتطبيقاتهم.
الشكل 8: يضمن GraphLab نماذج التناسق الكامل وتناسق الحافة، وتناسق الذروة. نموذج التناسق الكامل هو الأقوى وتناسق الذروة هو الأكثر استرخاء. يتم استرخاء التناسق، كلما تمت زيادة التوازي والعكس.
كجزء من عرض الذاكرة المشتركة، يعمل GraphLab على تخزين النسخ في الذكريات المحلية. النسخ هي المعلومات والبيانات المجاورة لكل ذروة. يضمن نسخ الذروة أن دالة تحديث الخاصة بالذروة لها وصول مباشر للذاكرة إلى كل البيانات الموجودة ضمن نطاقها.
اختبر معلوماتك
الملاحظات
هل كانت هذه الصفحة مفيدة؟
لا
هل تحتاج إلى مساعدة مع هذا الموضوع؟
هل تريد محاولة استخدام Ask Learn لتوضيح هذا الموضوع أو إرشادك خلاله؟