ساعة متجهة

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

تتم تحديثات الساعة على النحو التالي، [ 1 ] حيثVجأنا{\displaystyle VC_{i}}يشير إلى قيمة ساعة المتجه التي يحتفظ بها المعالجأنا{\displaystyle i}:

مثال على نظام الساعات المتجهة. الأحداث في المنطقة الزرقاء هي الأسباب المؤدية إلى الحدث B4، بينما تلك الموجودة في المنطقة الحمراء هي آثار الحدث B4.
  • في البداية، تكون جميع الساعات مضبوطة على الصفر.
  • في كل مرة يتعرض فيها برنامج ما لحدث داخلي، فإنه يزيد عداده المنطقي في المتجه بمقدار واحد. على سبيل المثال، عند وقوع حدث في البرنامجأنا{\displaystyle i}يقوم بتحديثهاVجأنا[أنا]Vجأنا[أنا]+1{\displaystyle VC_{i}[i]\leftarrow VC_{i}[i]+1}.
  • في كل مرة ترسل فيها عملية ما رسالة، فإنها تزيد ساعتها المنطقية في المتجه بمقدار واحد (كما في النقطة أعلاه، ولكن ليس مرتين لنفس الحدث) ثم تقرن الرسالة بنسخة من متجهها الخاص وأخيرًا ترسل الزوج.
  • في كل مرة يستقبل فيها برنامج ما زوجًا من ساعة متجه الرسالة، فإنه يزيد ساعته المنطقية في المتجه بمقدار واحد، ويُحدّث كل عنصر في متجهه بأخذ القيمة القصوى بين قيمة ساعة متجهه وقيمة المتجه في الزوج المُستلم (لكل عنصر). على سبيل المثال، إذا كان البرنامجPأنا{\displaystyle P_{i}}يتلقى رسالة(م،Vجج){\displaystyle (m,VC_{j})}منPج{\displaystyle P_{j}}، يقوم أولاً بزيادة ساعته المنطقية الخاصة في المتجه بمقدار واحدVجأنا[أنا]Vجأنا[أنا]+1{\displaystyle VC_{i}[i]\leftarrow VC_{i}[i]+1}ثم يقوم بتحديث متجهه بالكامل عن طريق تعيينVجأنا[ك]الأعلى(Vجأنا[ك]،Vجج[ك])،ك{\displaystyle VC_{i}[k]\leftarrow \max(VC_{i}[k],VC_{j}[k]),\forall k}.

تاريخ

ابتكر لامبورت فكرة ساعات لامبورت المنطقية عام ١٩٧٨. [ ٢ ] مع ذلك، كانت الساعات المنطقية في تلك الورقة البحثية كميات قياسية، وليست متجهات. وقد طُوِّر تعميمها إلى الزمن المتجه عدة مرات، على ما يبدو بشكل مستقل، من قِبَل مؤلفين مختلفين في أوائل ثمانينيات القرن العشرين. [ ٣ ] يحتوي ما لا يقل عن ست أوراق بحثية على هذا المفهوم. [ ٤ ] وتُعدّ أوراق كولين فيدج وفريدمان ماتيرن لعام ١٩٨٨ من الأوراق المرجعية الأساسية في مجال الساعات المتجهة ، [ ٥ ] [ ٦ ] حيث رسّخا (بشكل مستقل) مصطلح "الساعة المتجهة" والخصائص الرياضية للساعات المتجهة. [ ٣ ]

خاصية الترتيب الجزئي

تسمح الساعات المتجهة بالترتيب السببي الجزئي للأحداث. وذلك بتحديد ما يلي:

  • Vج(x){\displaystyle VC(x)}يشير إلى ساعة متجه الحدثx{\displaystyle x}، وVج(x)z{\displaystyle VC(x)_{z}}يشير إلى مكون تلك الساعة للعمليةz{\displaystyle z}.
  • Vج(x)<Vج(y)z[Vج(x)zVج(y)z]z[Vج(x)z<Vج(y)z]{\displaystyle VC(x)<VC(y)\iff \forall z[VC(x)_{z}\leq VC(y)_{z}]\land \exists z'[VC(x)_{z'}<VC(y)_{z'}]}
    • باللغة الإنجليزية:Vج(x){\displaystyle VC(x)}أقل منVج(y){\displaystyle VC(y)}، إذا وفقط إذاVج(x)z{\displaystyle VC(x)_{z}}أقل من أو يساويVج(y)z{\displaystyle VC(y)_{z}}لجميع مؤشرات العملياتz{\displaystyle z}وواحدة على الأقل من تلك العلاقات أصغر حجماً (أي،Vج(x)z<Vج(y)z{\displaystyle VC(x)_{z'}<VC(y)_{z'}}).
  • xy{\displaystyle x\to y\;}يشير إلى ذلك الحدثx{\displaystyle x}حدث قبل الحدثy{\displaystyle y}يُعرَّف على النحو التالي: إذاxy{\displaystyle x\to y\;}، ثمVج(x)<Vج(y){\displaystyle VC(x)<VC(y)}

ملكيات:

  • عدم التناظر : إذاVج(أ)<Vج(ب){\displaystyle VC(a)<VC(b)}ثم ¬(Vج(ب)<Vج(أ)){\displaystyle (VC(b)<VC(a))}
  • التعدي : إذاVج(أ)<Vج(ب){\displaystyle VC(a)<VC(b)}وVج(ب)<Vج(ج){\displaystyle VC(b)<VC(c)}، ثمVج(أ)<Vج(ج){\displaystyle VC(a)<VC(c)}أو إذاأب{\displaystyle a\to b\;}وبج{\displaystyle b\to c\;}، ثمأج{\displaystyle a\to c\;}

العلاقة مع الطلبات الأخرى

  • يتركRتي(x){\displaystyle RT(x)}كن في الوقت الحقيقي عند وقوع الحدثx{\displaystyle x}يحدث. إذاVج(أ)<Vج(ب){\displaystyle VC(a)<VC(b)}، ثمRتي(أ)<Rتي(ب){\displaystyle RT(a)<RT(b)}
  • يتركج(x){\displaystyle C(x)}يكون الطابع الزمني لحدث لامبورتx{\displaystyle x}. لوVج(أ)<Vج(ب){\displaystyle VC(a)<VC(b)}، ثمج(أ)<ج(ب){\displaystyle C(a)<C(b)}

القيود في ظل الإخفاقات البيزنطية

تستطيع الساعات المتجهة اكتشاف السببية بدقة في الأنظمة الموزعة المعرضة لأعطال مفاجئة. مع ذلك، عندما تتصرف العمليات بشكل عشوائي أو خبيث - كما هو الحال في نموذج الأعطال البيزنطية - يصبح اكتشاف السببية مستحيلاً بشكل أساسي [ 7 ] ، مما يجعل الساعات المتجهة غير فعالة في مثل هذه البيئات. تنطبق هذه النتيجة على جميع أنواع الساعات المتجهة، لأنها تنبع من قيود جوهرية متأصلة في مشكلة اكتشاف السببية في ظل الأعطال البيزنطية.

آليات أخرى

  • في عام 1984، وصف وو وبرنشتاين تقنيةً مُشتقةً من ساعات المتجهات تُعرف باسم ساعات المصفوفة . [ 8 ] من خلال إنشاء مصفوفة حيث يُمثل كل صف ساعة متجه لنظير، يُمكن للعمليات تقدير الحد الأدنى من المعرفة التي تمتلكها جميع العُقد الأخرى. وهذا يسمح بحساب "حد أدنى" للتقدم العام، مما يُتيح حذف سجلات العمليات (جمع البيانات المهملة) بأمان في قواعد البيانات المُكررة.
  • في عام 1999، قام توريس روخاس وأحمد بتطوير الساعات المعقولة ، [ 9 ] وهي آلية تشغل مساحة أقل من الساعات المتجهة ولكنها، في بعض الحالات، سترتب تمامًا الأحداث المتزامنة سببيًا.
  • في عام 2005، ابتكر أغاروال وغارغ نظام Chain Clocks ، [ 10 ] وهو نظام يتتبع التبعيات باستخدام متجهات ذات حجم أصغر من عدد العمليات ويتكيف تلقائيًا مع الأنظمة ذات العدد الديناميكي من العمليات.
  • في عام 2008، قدم ألميدا وآخرون ساعات شجرة الفاصل الزمني . [ 11 ] [ 12 ] [ 13 ] تعمم هذه الآلية ساعات المتجهات وتسمح بالتشغيل في البيئات الديناميكية عندما لا تكون هويات وعدد العمليات في الحساب معروفة مسبقًا.
  • في عام ٢٠١٩، اقترح لوم راماباجا ساعات بلوم ، وهي بنية بيانات احتمالية تعتمد على مرشحات بلوم . [ ١٤ ] [ ١٥ ] [ ١٦ ] بالمقارنة مع ساعة المتجهات، فإن المساحة المستخدمة لكل عقدة ثابتة ولا تعتمد على عدد العقد في النظام. عند مقارنة ساعتين، إما أن ينتج عن ذلك نتيجة سلبية صحيحة (أي أن الساعتين غير قابلتين للمقارنة)، أو اقتراح بأن إحدى الساعتين تسبق الأخرى، مع احتمال وجود نتيجة إيجابية خاطئة حيث لا توجد علاقة بين الساعتين. ينخفض ​​معدل النتائج الإيجابية الخاطئة مع زيادة سعة التخزين المتاحة.

التطبيقات

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

انظر أيضاً

مراجع

  1. "الأنظمة الموزعة، الطبعة الثالثة (2017)" . DISTRIBUTED-SYSTEMS.NET . تاريخ الاسترجاع: 21-03-2021 .
  2. لامبورت، ل. (1978). "الوقت، والساعات، وترتيب الأحداث في نظام موزع" (ملف PDF) . مجلة اتصالات رابطة مكائن ​​الحوسبة . 21 (7): 558-565 . doi : 10.1145/359545.359563 . S2CID 215822405 . 
  3. 1 2 شوارتز، راينهارد؛ ماتيرن، فريدمان (مارس 1994). "الكشف عن العلاقات السببية في الحوسبة الموزعة: بحثًا عن الكأس المقدسة" . الحوسبة الموزعة . 7 (3): 149-174 . doi : 10.1007/BF02277859 . S2CID 3065996 . 
  4. كوبر، ليندسي (8 أبريل 2023). "من اخترع الساعات المتجهة؟" . التفكيك ∘ al .الأوراق البحثية هي (بالترتيب الزمني):
    • فيشر، مايكل جيه؛ مايكل، آلان (1982). "التضحية بإمكانية التسلسل لتحقيق توافر عالٍ للبيانات في شبكة غير موثوقة". وقائع الندوة الأولى لجمعية ACM SIGACT-SIGMOD حول مبادئ أنظمة قواعد البيانات - PODS '82 . ص  70. doi : 10.1145/588111.588124 . ISBN 0897910702. S2CID 8774876 . 
    • باركر، دي إس؛ بوبيك، جي جي؛ روديسين، جي؛ ستوتون، إيه؛ ووكر، بي جي؛ والتون، إي؛ تشاو، جي إم؛ إدواردز، دي؛ كايزر، إس؛ كلاين، سي. (مايو 1983). "الكشف عن التناقض المتبادل في الأنظمة الموزعة". معاملات IEEE في هندسة البرمجيات . SE-9 (3): 240-247 . Bibcode : 1983ITSEn...9..240P . doi : 10.1109/TSE.1983.236733 . S2CID 2483222 . 
    • وو، جين تي جيه؛ بيرنشتاين، آرثر جيه. (1984). "حلول فعّالة لمشكلتي السجل المكرر والقاموس". وقائع الندوة السنوية الثالثة لجمعية آلات الحوسبة حول مبادئ الحوسبة الموزعة - PODC '84 . الصفحات 233-242 . doi : 10.1145/800222.806750 . ISBN  0897911431. S2CID 2384672 . 
    • ستروم، روب؛ ياميني، شاولا (أغسطس 1985). "الاستعادة التفاؤلية في الأنظمة الموزعة" . معاملات ACM لأنظمة الحاسوب . 3 (3): 204-226 . doi : 10.1145/3959.3962 . S2CID 1941122 . 
    • شموك، فرانك ب. (نوفمبر 1985). ساعات البرمجيات وترتيب الأحداث في نظام موزع (غير منشور).
    • ليسكوف، باربرا؛ لادين، ريفكا (1986). "الخدمات الموزعة عالية التوافر وجمع البيانات المهملة الموزع المقاوم للأعطال". وقائع الندوة السنوية الخامسة لجمعية ACM حول مبادئ الحوسبة الموزعة - PODC '86 . الصفحات 29-39 . doi : 10.1145/10590.10593 . ISBN  0897911989. S2CID 16148617 . 
    • راينال، ميشيل (فبراير 1987). "خوارزمية موزعة لمنع الانحراف المتبادل بين n ساعة منطقية". رسائل معالجة المعلومات . 24 (3): 199-202 . doi : 10.1016/0020-0190(87)90186-4 .
  5. فيدج، كولين ج. (فبراير 1988). "الطوابع الزمنية في أنظمة تمرير الرسائل التي تحافظ على الترتيب الجزئي" (ملف PDF) . في ك. ريموند (محرر). وقائع المؤتمر الأسترالي الحادي عشر لعلوم الحاسوب (ACSC'88) . المجلد 10. الصفحات 56-66 . مؤرشف من الأصل (ملف PDF) بتاريخ 17 مايو 2018. تم الاطلاع عليه بتاريخ 13 فبراير 2009 .  
  6. ماتيرن، فريدمان (أكتوبر 1988). "الزمن الافتراضي والحالات العامة للأنظمة الموزعة". في: كوسنارد، م. (محرر). وقائع ورشة العمل حول الخوارزميات المتوازية والموزعة . شاتو دو بوناس، فرنسا: إلسيفير. ص 215-226 . 
  7. ميسرا، أنشومان؛ كشمكالياني، أجاي د. (2022). "الكشف عن السببية في وجود العمليات البيزنطية: لا يوجد حل سحري". المؤتمر الدولي الحادي والعشرون لـ IEEE حول الحوسبة الشبكية وتطبيقاتها (NCA) . IEEE. ص 73-80 . doi : 10.1109/NCA57778.2022.10013644 . 
  8. وو، جين تي جيه؛ بيرنشتاين، آرثر جيه. (1984). "حلول فعالة لمشكلتي السجل المكرر والقاموس". وقائع الندوة السنوية الثالثة لجمعية آلات الحوسبة حول مبادئ الحوسبة الموزعة - PODC '84 . الصفحات 233-242 . doi : 10.1145/800222.806750 . ISBN  0897911431.
  9. فرانسيسكو توريس-روخاس؛ مصطفى أحمد (1999)، "ساعات معقولة: ساعات منطقية ذات حجم ثابت للأنظمة الموزعة" ، الحوسبة الموزعة ، 12 (4): 179-195 ، doi : 10.1007/s004460050065 ، S2CID 2936350 
  10. أغاروال، أنوراغ؛ غارغ، فيجاي ك. (17 يوليو 2005). "تتبع التبعيات بكفاءة للأحداث ذات الصلة في أنظمة الذاكرة المشتركة" (ملف PDF) . وقائع الندوة السنوية الرابعة والعشرين لجمعية ACM حول مبادئ الحوسبة الموزعة . جمعية آلات الحوسبة. الصفحات 19-28 . doi : 10.1145/1073814.1073818 . ISBN  1-58113-994-2S2CID 11779779. تم الاسترجاع في 21 أبريل 2021 . 
  11. ألميدا، باولو؛ باكيرو، كارلوس؛ فونتي، فيكتور (2008)، "ساعات شجرة الفترات: ساعة منطقية للأنظمة الديناميكية"، في بيكر، ثيودور ب.؛ بوي، آلان؛ تيكسويل، سيباستيان (محررون)، مبادئ الأنظمة الموزعة (ملف PDF) ، سلسلة محاضرات في علوم الحاسوب، المجلد 5401، سبرينغر-فيرلاغ، سلسلة محاضرات في علوم الحاسوب، الصفحات 259-274 ، رمز Bibcode : 2008LNCS.5401.....B ، doi : 10.1007/978-3-540-92221-6 ، ISBN   978-3-540-92220-9
  12. ألميدا، باولو؛ باكيرو، كارلوس؛ فونتي، فيكتور (2008)، "ساعات شجرة الفترات: ساعة منطقية للأنظمة الديناميكية"، سلسلة محاضرات في علوم الحاسوب، المجلد 5401، ص 259، doi : 10.1007/978-3-540-92221-6_18 ، hdl : 1822/37748 ، ISBN   978-3-540-92220-9
  13. تشانغ، يي (2014)، "مقدمات أساسية: نتائج ساعة شجرة الفترات"، مقدمات أساسية: نتائج ساعة شجرة الفترات (PDF)
  14. بوزيتي، توماسو؛ كشمكالياني، أجاي د. (1 أبريل 2021). "ساعة متجهة مشفرة قابلة لإعادة الضبط لتحليل السببية مع تطبيق على الكشف الديناميكي عن التزامن" . معاملات IEEE للأنظمة المتوازية والموزعة . 32 (4): 772-785 . Bibcode : 2021ITPDS..32..772P . doi : 10.1109/TPDS.2020.3032293 . S2CID 220362525 . 
  15. ^ لوم راماباجا (2019)، ساعة بلوم ، أرخايف : 1905.13064 ، بيب كود : 2019arXiv190513064R
  16. كولكارني، سانديب س؛ أبلتون، غابي؛ نغوين، دوونغ (4 يناير 2022). "تحقيق السببية باستخدام الساعات الفيزيائية". وقائع المؤتمر الدولي الثالث والعشرين للحوسبة الموزعة والشبكات . الصفحات 97-106 . arXiv : 2104.15099 . doi : 10.1145/3491003.3491009 . ISBN  9781450395601. S2CID 233476293 . 
  17. هيلينغز، جيلي؛ سادوغي، محمد (2021). "سيربيروس: معالجة معاملات بسيطة متعددة الأجزاء مقاومة للأخطاء البيزنطية" (ملف PDF) . وقائع مؤسسة VLDB . 14 (11): 2230-2243 . arXiv : 2202.04522 . doi : 10.14778/3476249.3476274 .