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

- في البداية، تكون جميع الساعات مضبوطة على الصفر.
- في كل مرة يتعرض فيها برنامج ما لحدث داخلي، فإنه يزيد عداده المنطقي في المتجه بمقدار واحد. على سبيل المثال، عند وقوع حدث في البرنامجيقوم بتحديثها.
- في كل مرة ترسل فيها عملية ما رسالة، فإنها تزيد ساعتها المنطقية في المتجه بمقدار واحد (كما في النقطة أعلاه، ولكن ليس مرتين لنفس الحدث) ثم تقرن الرسالة بنسخة من متجهها الخاص وأخيرًا ترسل الزوج.
- في كل مرة يستقبل فيها برنامج ما زوجًا من ساعة متجه الرسالة، فإنه يزيد ساعته المنطقية في المتجه بمقدار واحد، ويُحدّث كل عنصر في متجهه بأخذ القيمة القصوى بين قيمة ساعة متجهه وقيمة المتجه في الزوج المُستلم (لكل عنصر). على سبيل المثال، إذا كان البرنامجيتلقى رسالةمن، يقوم أولاً بزيادة ساعته المنطقية الخاصة في المتجه بمقدار واحدثم يقوم بتحديث متجهه بالكامل عن طريق تعيين.
تاريخ
ابتكر لامبورت فكرة ساعات لامبورت المنطقية عام ١٩٧٨. [ ٢ ] مع ذلك، كانت الساعات المنطقية في تلك الورقة البحثية كميات قياسية، وليست متجهات. وقد طُوِّر تعميمها إلى الزمن المتجه عدة مرات، على ما يبدو بشكل مستقل، من قِبَل مؤلفين مختلفين في أوائل ثمانينيات القرن العشرين. [ ٣ ] يحتوي ما لا يقل عن ست أوراق بحثية على هذا المفهوم. [ ٤ ] وتُعدّ أوراق كولين فيدج وفريدمان ماتيرن لعام ١٩٨٨ من الأوراق المرجعية الأساسية في مجال الساعات المتجهة ، [ ٥ ] [ ٦ ] حيث رسّخا (بشكل مستقل) مصطلح "الساعة المتجهة" والخصائص الرياضية للساعات المتجهة. [ ٣ ]
خاصية الترتيب الجزئي
تسمح الساعات المتجهة بالترتيب السببي الجزئي للأحداث. وذلك بتحديد ما يلي:
- يشير إلى ساعة متجه الحدث، ويشير إلى مكون تلك الساعة للعملية.
- باللغة الإنجليزية:أقل من، إذا وفقط إذاأقل من أو يساويلجميع مؤشرات العملياتوواحدة على الأقل من تلك العلاقات أصغر حجماً (أي،).
- يشير إلى ذلك الحدثحدث قبل الحدثيُعرَّف على النحو التالي: إذا، ثم
ملكيات:
- عدم التناظر : إذاثم ¬
- التعدي : إذاو، ثمأو إذاو، ثم
العلاقة مع الطلبات الأخرى
- يترككن في الوقت الحقيقي عند وقوع الحدثيحدث. إذا، ثم
- يتركيكون الطابع الزمني لحدث لامبورت. لو، ثم
القيود في ظل الإخفاقات البيزنطية
تستطيع الساعات المتجهة اكتشاف السببية بدقة في الأنظمة الموزعة المعرضة لأعطال مفاجئة. مع ذلك، عندما تتصرف العمليات بشكل عشوائي أو خبيث - كما هو الحال في نموذج الأعطال البيزنطية - يصبح اكتشاف السببية مستحيلاً بشكل أساسي [ 7 ] ، مما يجعل الساعات المتجهة غير فعالة في مثل هذه البيئات. تنطبق هذه النتيجة على جميع أنواع الساعات المتجهة، لأنها تنبع من قيود جوهرية متأصلة في مشكلة اكتشاف السببية في ظل الأعطال البيزنطية.
آليات أخرى
- في عام 1984، وصف وو وبرنشتاين تقنيةً مُشتقةً من ساعات المتجهات تُعرف باسم ساعات المصفوفة . [ 8 ] من خلال إنشاء مصفوفة حيث يُمثل كل صف ساعة متجه لنظير، يُمكن للعمليات تقدير الحد الأدنى من المعرفة التي تمتلكها جميع العُقد الأخرى. وهذا يسمح بحساب "حد أدنى" للتقدم العام، مما يُتيح حذف سجلات العمليات (جمع البيانات المهملة) بأمان في قواعد البيانات المُكررة.
- في عام 1999، قام توريس روخاس وأحمد بتطوير الساعات المعقولة ، [ 9 ] وهي آلية تشغل مساحة أقل من الساعات المتجهة ولكنها، في بعض الحالات، سترتب تمامًا الأحداث المتزامنة سببيًا.
- في عام 2005، ابتكر أغاروال وغارغ نظام Chain Clocks ، [ 10 ] وهو نظام يتتبع التبعيات باستخدام متجهات ذات حجم أصغر من عدد العمليات ويتكيف تلقائيًا مع الأنظمة ذات العدد الديناميكي من العمليات.
- في عام 2008، قدم ألميدا وآخرون ساعات شجرة الفاصل الزمني . [ 11 ] [ 12 ] [ 13 ] تعمم هذه الآلية ساعات المتجهات وتسمح بالتشغيل في البيئات الديناميكية عندما لا تكون هويات وعدد العمليات في الحساب معروفة مسبقًا.
- في عام ٢٠١٩، اقترح لوم راماباجا ساعات بلوم ، وهي بنية بيانات احتمالية تعتمد على مرشحات بلوم . [ ١٤ ] [ ١٥ ] [ ١٦ ] بالمقارنة مع ساعة المتجهات، فإن المساحة المستخدمة لكل عقدة ثابتة ولا تعتمد على عدد العقد في النظام. عند مقارنة ساعتين، إما أن ينتج عن ذلك نتيجة سلبية صحيحة (أي أن الساعتين غير قابلتين للمقارنة)، أو اقتراح بأن إحدى الساعتين تسبق الأخرى، مع احتمال وجود نتيجة إيجابية خاطئة حيث لا توجد علاقة بين الساعتين. ينخفض معدل النتائج الإيجابية الخاطئة مع زيادة سعة التخزين المتاحة.
التطبيقات
تستخدم الأنظمة الموزعة الحديثة أنواعًا مختلفة من الساعات المتجهة لفرض ترتيب سببي للمعاملات دون الاعتماد على توقيت مركزي. على سبيل المثال، يستخدم بروتوكول سيربيروس ساعات منطقية لتتبع "إصدار" حالة كل جزء. عندما تمتد معاملة ما عبر أجزاء متعددة، يسمح متجه هذه الساعات المنطقية للشبكة بالتحقق من أن المعاملة تتفاعل مع أحدث حالة لجميع الأصول المعنية، مما يتيح إمكانية التركيب الذري في بيئة معادية. [ 17 ]
انظر أيضاً
مراجع
- ↑ "الأنظمة الموزعة، الطبعة الثالثة (2017)" . DISTRIBUTED-SYSTEMS.NET . تاريخ الاسترجاع: 21-03-2021 .
- ↑ لامبورت، ل. (1978). "الوقت، والساعات، وترتيب الأحداث في نظام موزع" (ملف PDF) . مجلة اتصالات رابطة مكائن الحوسبة . 21 (7): 558-565 . doi : 10.1145/359545.359563 . S2CID 215822405 .
- 1 2 شوارتز، راينهارد؛ ماتيرن، فريدمان (مارس 1994). "الكشف عن العلاقات السببية في الحوسبة الموزعة: بحثًا عن الكأس المقدسة" . الحوسبة الموزعة . 7 (3): 149-174 . doi : 10.1007/BF02277859 . S2CID 3065996 .
- ↑ كوبر، ليندسي (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 .
- ↑ فيدج، كولين ج. (فبراير 1988). "الطوابع الزمنية في أنظمة تمرير الرسائل التي تحافظ على الترتيب الجزئي" (ملف PDF) . في ك. ريموند (محرر). وقائع المؤتمر الأسترالي الحادي عشر لعلوم الحاسوب (ACSC'88) . المجلد 10. الصفحات 56-66 . مؤرشف من الأصل (ملف PDF) بتاريخ 17 مايو 2018. تم الاطلاع عليه بتاريخ 13 فبراير 2009 .
- ↑ ماتيرن، فريدمان (أكتوبر 1988). "الزمن الافتراضي والحالات العامة للأنظمة الموزعة". في: كوسنارد، م. (محرر). وقائع ورشة العمل حول الخوارزميات المتوازية والموزعة . شاتو دو بوناس، فرنسا: إلسيفير. ص 215-226 .
- ↑ ميسرا، أنشومان؛ كشمكالياني، أجاي د. (2022). "الكشف عن السببية في وجود العمليات البيزنطية: لا يوجد حل سحري". المؤتمر الدولي الحادي والعشرون لـ IEEE حول الحوسبة الشبكية وتطبيقاتها (NCA) . IEEE. ص 73-80 . doi : 10.1109/NCA57778.2022.10013644 .
- ↑ وو، جين تي جيه؛ بيرنشتاين، آرثر جيه. (1984). "حلول فعالة لمشكلتي السجل المكرر والقاموس". وقائع الندوة السنوية الثالثة لجمعية آلات الحوسبة حول مبادئ الحوسبة الموزعة - PODC '84 . الصفحات 233-242 . doi : 10.1145/800222.806750 . ISBN 0897911431.
- ↑ فرانسيسكو توريس-روخاس؛ مصطفى أحمد (1999)، "ساعات معقولة: ساعات منطقية ذات حجم ثابت للأنظمة الموزعة" ، الحوسبة الموزعة ، 12 (4): 179-195 ، doi : 10.1007/s004460050065 ، S2CID 2936350
- ↑ أغاروال، أنوراغ؛ غارغ، فيجاي ك. (17 يوليو 2005). "تتبع التبعيات بكفاءة للأحداث ذات الصلة في أنظمة الذاكرة المشتركة" (ملف PDF) . وقائع الندوة السنوية الرابعة والعشرين لجمعية ACM حول مبادئ الحوسبة الموزعة . جمعية آلات الحوسبة. الصفحات 19-28 . doi : 10.1145/1073814.1073818 . ISBN 1-58113-994-2S2CID 11779779. تم الاسترجاع في 21 أبريل 2021 .
- ↑ ألميدا، باولو؛ باكيرو، كارلوس؛ فونتي، فيكتور (2008)، "ساعات شجرة الفترات: ساعة منطقية للأنظمة الديناميكية"، في بيكر، ثيودور ب.؛ بوي، آلان؛ تيكسويل، سيباستيان (محررون)، مبادئ الأنظمة الموزعة (ملف PDF) ، سلسلة محاضرات في علوم الحاسوب، المجلد 5401، سبرينغر-فيرلاغ، سلسلة محاضرات في علوم الحاسوب، الصفحات 259-274 ، رمز Bibcode : 2008LNCS.5401.....B ، doi : 10.1007/978-3-540-92221-6 ، ISBN 978-3-540-92220-9
- ↑ ألميدا، باولو؛ باكيرو، كارلوس؛ فونتي، فيكتور (2008)، "ساعات شجرة الفترات: ساعة منطقية للأنظمة الديناميكية"، سلسلة محاضرات في علوم الحاسوب، المجلد 5401، ص 259، doi : 10.1007/978-3-540-92221-6_18 ، hdl : 1822/37748 ، ISBN 978-3-540-92220-9
- ↑ تشانغ، يي (2014)، "مقدمات أساسية: نتائج ساعة شجرة الفترات"، مقدمات أساسية: نتائج ساعة شجرة الفترات (PDF)
- ↑ بوزيتي، توماسو؛ كشمكالياني، أجاي د. (1 أبريل 2021). "ساعة متجهة مشفرة قابلة لإعادة الضبط لتحليل السببية مع تطبيق على الكشف الديناميكي عن التزامن" . معاملات IEEE للأنظمة المتوازية والموزعة . 32 (4): 772-785 . Bibcode : 2021ITPDS..32..772P . doi : 10.1109/TPDS.2020.3032293 . S2CID 220362525 .
- ^ لوم راماباجا (2019)، ساعة بلوم ، أرخايف : 1905.13064 ، بيب كود : 2019arXiv190513064R
- ↑ كولكارني، سانديب س؛ أبلتون، غابي؛ نغوين، دوونغ (4 يناير 2022). "تحقيق السببية باستخدام الساعات الفيزيائية". وقائع المؤتمر الدولي الثالث والعشرين للحوسبة الموزعة والشبكات . الصفحات 97-106 . arXiv : 2104.15099 . doi : 10.1145/3491003.3491009 . ISBN 9781450395601. S2CID 233476293 .
- ↑ هيلينغز، جيلي؛ سادوغي، محمد (2021). "سيربيروس: معالجة معاملات بسيطة متعددة الأجزاء مقاومة للأخطاء البيزنطية" (ملف PDF) . وقائع مؤسسة VLDB . 14 (11): 2230-2243 . arXiv : 2202.04522 . doi : 10.14778/3476249.3476274 .
روابط خارجية
- لماذا تعتبر الساعات المنطقية سهلة (مقارنة بين التاريخ السببي، وساعات المتجهات، ومتجهات الإصدارات)
- تنفيذ ساعة متجهة تعتمد على الطابع الزمني في لغة إرلانج
- تنفيذ ساعة المتجهات في لغة Objective-C
- تنفيذ ساعة المتجهات في لغة إرلانج
- لماذا تُعدّ الساعات المتجهة سهلة ؟، برايان فينك، مدونة رياك، 29 يناير 2010
- لماذا تُعدّ الساعات المتجهة صعبة ؟، جاستن شيهي، مدونة رياك، 5 أبريل 2010
- لماذا لا تحتاج كاساندرا إلى ساعات متجهة
- خوارزميات الساعة المنطقية
