VICP: A Majority-Lease Runtime for Highly Available Industrial Edge Clusters
تقدم هذه الورقة VICP، وهو بيئة تشغيل لمجموعات الحافة الصناعية تضمن توفر الخدمة العالي وفشل التبديل الآمن من خلال فصل تكرار الحالة القابل للعكس عن سلطة المخرجات الفيزيائية غير القابلة للعكس عبر عقود الإيجار المدعومة بالأغلبية والتسييج، مما يحقق انخفاضًا بنسبة 50.54% في انقطاع المخرجات مقارنة بنظام الاستعداد النشط مع الحفاظ على دقة التحكم الدقيقة.
تخيل عالماً لا تعد فيه الآلات التي تبقي أضواءنا مشتعلة، ومياهنا نظيفة، ومصانعنا تعمل، مجرد صناديق صماء وذات توصيلات ثابتة، بل برامج برمجية ذكية ومرنة تعيش على مجموعات من الحواسيب. هذا هو أفق الحوسبة الطرفية الصناعية. ولكن هناك مشكلة شائكة: في الأيام الخوالي، إذا تعطل جهاز تحكم، كان هناك جهاز احتياطي يتولى المهمة. أما في عالم البرمجيات الجديد، فإذا تعطل حاسوب وأعيد تشغيله، فقد يحاول التحدث إلى الآلات الواقعية في نفس اللحظة التي يستيقظ فيها جهاز آخر. إذا أمر حاسوبان صماماً ضخماً بـ "الفتح" في آن واحد، فستعم الفوضى. تتناول هذه الورقة سؤالاً محدداً للغاية وعالي المخاطر: كيف نسمح للبرامج بالعمل على حواسيب متعددة من أجل السرعة والأمان، دون السماح أبداً لاثنين منها بالضغط على نفس الزر الفيزيائي في نفس الوقت عن طريق الخطأ؟ الأمر يشبه محاولة جعل فريق من الطهاة يطبخون جميعاً الوجبة نفسها، مع التأكد من أن شخصاً واحداً فقط مسموح له بتشغيل الموقد في أي لحظة.
لقد بنى الباحثون وراء هذه الدراسة، من شركة "رانديان لعلوم وتكنولوجيا الطاقة المحدودة" (Rundian Energy Science and Technology Co., Ltd.)، نظاماً يسمى VICP (منصة التحكم الصناعي الافتراضية) لحل هذا اللغز. لقد أدركوا أنه بينما يمكننا نسخ ومزامنة البيانات الرقمية بسهولة (مثل وصفة أو قراءة درجة الحرارة)، لا يمكننا "إلغاء الضغط" على زر فيزيائي بمجرد الضغط عليه. لذا، قاموا بتقسيم المشكلة إلى جزئين. أولاً، سمحوا لكل حاسوب في المجموعة بالاحتفاظ بنسخة محلية ومحدثة من البيانات لكي يتمكنوا من التفكير بسرعة. ثانياً، أنشأوا نظام "تصريح مرور" صارماً. فلكي يرسل حاسوب ما أمراً إلى العالم المادي (مثل فتح صمام)، يجب أن يحمل عقد إيجار مدعوماً بالأغلبية. فكر في هذا الأمر كأنه "تذكرة ذهبية" لا تكون صالحة إلا إذا وافقت أغلبية الحواسيب الأخرى في المجموعة على أنها لا تزال صالحة ولم تنتهِ صلاحيتها. إذا انقسمت الشبكة إلى نصفين، أو إذا تعطل حاسوب وحاول العودة، فلا يمكنه ببساء البدء في إعطاء الأوامر؛ بل يجب عليه الانتظار حتى يتمكن من إثبات أنه من الآمن القيام بذلك للأغلبية.
في تجاربهم، اختبر الفريق هذه الفكرة على مجموعة صغيرة مكونة من ثلاثة حواسيب تعمل بنموذج أولي يعتمد على لغة "غو" (Go). لقد قاموا بإحداث ثغرات في الشبكة وإيقاف تشغيل بعض الحواسيب ليروا ما سيحدث. كانت النتائج واعدة: عندما فشل أحد الحواسيب، نجح نظام VICP في نقل التحكم إلى جهاز احتياطي في متوسط قدره 1,039.061 مللي ثانية (حوالي ثانية واحدة). كان هذا تحسناً هائلاً — أسرع بنحو 50.54% — من نظام "النشط-الاحتياطي" التقليدي، الذي استغرق أكثر من 2,100.614 مللي ثانية للتعافي. والأهم من ذلك، عبر 30 اختباراً مختلفاً حيث قاموا بمحاكاة انقسام الشبكة، رصدوا صفر حالات حاول فيها حاسوبان إخراج أوامر في وقت واحد. كما اختبروا النظام باستخدام أجهزة مادية حقيقية، حيث أرسلوا إشارات كهربائية بقدرة 4-20 مللي أمبير (اللغة القياسية لمستشعرات الصناعة) عبر "بوابة تسوير" (fencing gateway) عملت كحارس أمن أخير. حافظ النظام على دقة الإشارات بشكل مذهل، حيث بلغ أقصى خطأ قدره 0.02078 مللي أمبير فقط.
ومع ذلك، فإن المؤلفين حذرون من تسمية هذا النظام "حلاً سحرياً" لكل المواقف الحرجة للسلامة. فقد ذكروا صراحة أن نظامهم ليس بديلاً للمعدات المعتمدة للسلامة أو منطق الإغلاق الطارئ المستقل. إنه وسيلة لجعل طبقة التحكم أكثر مرونة وتوفراً، لكن شبكة الأمان النهائية لا تزال بحاجة إلى أن تكون موجودة. كما أشاروا إلى أن نتائجهم تستند إلى عمليات محاكاة وإعدادات أجهزة محددة (باستخدام أجهزة افتراضية وبطاقات إدخال وإخراج محددة)، لذا فبينما تصمد الرياضيات والمنطق في مختبرهم، فإن النشر في العالم الحقيقي سيحتاج إلى اختبارات أكثر صرامة. تقترح الورقة أنه من خلال فصل "التفكير" (الذي يمكن نسخه في كل مكان) عن "التنفيذ" (الذي يتطلب تصويتاً بالأغلبية الصارمة)، يمكننا بناء أنظمة صناعية مرنة للغاية وآمنة للغاية، بشرما نلتزم بقواعد عقد الإيجار والتسوير. إنها خطوة نحو مستقبل تكون فيه بنيتنا التحتية الصناعية مرنة مثل سرب من الطيور، حيث إذا انفصل طائر واحد، تستمر الطيور الأخرى في الطيران في تناغم تام دون أن تصطدم ببعضها البعض أبداً.
ملخص تقني: VICP – بيئة تشغيل تعتمد على عقد إيجار الأغلبية للمجموعات الصناعية الطرفية عالية التوافر
1. بيان المشكلة
تنتقل الأتمتة الصناعية بشكل متزايد نحو البنى التحتية السحابية الأصلية (Cloud-native) باستخدام خوادم سلع (commodity servers) وحاويات لاستضافة وظائف التحكم المتقدمة (مثل التحكم التنبئي بالنماذج). ومع ذلك، فإن آليات التعافي من الفشل القياسية في الأنظمة السحابية الأصلية — مثل إعادة جدولة العمليات أو إعادة توجيه حركة المرور — تعالج توافر الخدمة ولكنها تفشل في معالجة سلامة المخرجات الفيزيائية.
في أنظمة التحكم الموزعة (DCS) التقليدية، ترتبط اتصالات المجال، وحالة التنفيذ، وسلطة المخرات بالأجهزة المخصصة. في المقابل، تسمح البيئات الافتراضية بوجود نسخ متعددة من وحدة التحكم في آن واحد. وإذا حدث انقسام في الشبكة أو اختلفت النسخ المتماثلة، فقد تسمح نماذج الاتساق النهائي القياسية لعدة عقد بإصدار أوامر فيزيائية غير قابلة للتراجع (مثل تحركات المشغلات) بشكل متزامن. وهذا يخلق خطرًا حرجًا على السلامة: فبينما يمكن تسوية قيم النقاط (بيانات المستشعرات) لاحقًا، لا يمكن "استدعاء" الأفعال الفيزيائية بمجرد تنفيذها. تحدد الورقة السؤال الجوهري للأنظمة: كيف يمكن لمجموعة طرفية صناعية صغيرة أن تحتفظ بقدرة التحكم المحلي أثناء فشل العقد مع منع المخرجات الفيزيائية المتزامنة للنسخ المتماثلة المعزولة بشكل صارم؟
2. المنهجية وتصميم النظام
يقترح المؤلفون VICP (منصة التحكم الصناعي الافتراضية)، وهي بنية تشغيل تفصل بين تكرار حالة النقاط القابل للتراجع وسلطة المخرات الفيزيائية غير القابلة للتراجع.
2.1 البنية الأساسية
الحالة المحلية أولاً: تعمل مهام التحكم على نسخ محلية باستخدام جداول نقاط في الذاكرة. وتصل حلقات التحكم عالية التردد إلى الحالة المحلية دون رحلات ذهاب وإياب عبر الشبكة. ويتم الحفاظ على النسخ المتماثلة للأقران "دافئة" عبر الانتشار غير المتزامن.
التقارب الحتمي: يتم تمثيل تحديثات النقاط كأزواج تحتوي على طوابع زمنية، وأولويات، ومعرفات المصدر، وأرقام تسلسلية. تقوم النسخ المتماثلة بحل النزاعات بشكل حتمي باستخدام المقارنة المعجمية، مما يضمن تقارب جميع العقد على نفس قيم الحالة دون الحاجة إلى توافق (consensus) لكل عملية قراءة.
سلطة مخرات قائمة على إيجار الأغلبية: يتم ضبط المخرات الفيزيائية بواسطة إيجار مقيد بزمن.
يجب أن تمتلك العقدة إيجارًا غير منتهي الصلاحية، مدعومًا بنصاب أغلبية (Q=f+1)، لإصدار أوامر فيزيائية.
يتضمن الإيجار حقبة زمنية (epoch)، وهوية الحامل، وموعد انتهاء الصلاحية.
إذا فقدت العقدة الاتصال بالأغلبية، ينتهي إيجارها، ويُحظر عليها إصدار مخرات.
يمكن تفعيل وضع "الناجي الوحيد" ولكن هذا يتطلب تفويضًا خارجيًا صريحًا (مثل محكم أجهزة أو إجراء من المشغل)، وليس مجرد ملاحظة الشبكة.
2.2 التعافي والعزل
التعافي المتدرج: لا تنضم العقدة التي تم إعادة تشغيلها فورًا إلى حلقة التحكم. بل تمر عبر حالة آلة الحالة: البدء ← الاكتشاف ← اللحاق بالركب ← التحقق ← ما قبل الخدمة ← الخدمة. يضمن ذلك عدم قيام التحديثات المحلية القديمة بالتغطية على قيم الأقران الأحدث.
عزل الموارد: يتم تثبيت المهام الحرجة (اتصالات المجال، حلقات التحكم، حراس الإيجار) على نوى معالجة (CPU cores) محددة وعزلها عن مهام الإدارة (التسجيل، التاريخ، التكوين). ويتم تقليل المهام غير الحرجة أو إيقافها مؤقتًا تحت ضغط الموارد.
بوابة الحجب (Fencing Gateway): تقوم بوابة إدخال/إخراج مستمرة بالتحقق من رموز الحجب (حقبة الإيجار والحامل) قبل توجيه الأوامر إلى الأجهزة الفيزيائية. وهي ترفض الأوامر ذات الحقبات القديمة، حتى لو استؤنف تشغيل عملية وقت التشغيل بعد فترة توقف.
3. المساهمات الرئيسية
تقدم الورقة أربع مساهمات رئيسية:
نموذج الصحة المنقسم: حددت نموذجًا يفصل بين التقارب الحتمي لحالة النقاط القابلة للتراجع وبين متطلبات إيجار الأغلبية للمخرات الفيزيائية غير القابلة للتراجع.
بنية تشغيل تعتمد على "المحلية أولاً": قدمت بنية تتضمن ملكية صريحة للنقاط، وحل نزاعات حتمي، وحقب إيجار، وحجب مخرات، وآلة حالة للتعافي المتدرج. మైన.
الإدارة المتكاملة للتوافر والموارد: توضح كيف تحمي حدود مجموعات الحوسبة وعزل المعالج والتخزين مسارات التحكم الحرجة من حمل مستوى الإدارة.
نموذج أولي قابل للتكرار والتقييم: توفر نموذجًا أوليًا مبنيًا بلغة Go وتقييمًا شاملاً يغطي الفشل الاحتياطي، وسلوك الانقسام، ونطاق التزامن، وتداخل الموارد، والتحقق ثنائي الاتجاه من خلال حلقة الأجهزة في الحلقة (HIL).
4. النتائج التجريبية
قام المؤلفون بتقييم نموذج أولي بلغة Go مكون من ثلاث عقد يعمل على نظام openEuler مع حاويات Docker.
4.1 أداء الفشل الاحتياطي (Failover)
وقت الانقطاع: حقق VICP متوسط انقطاع في المخرات قدره 1039.061 مللي ثانية (فاصل ثقة 95%: 1024.492–1053.631 مللي ثانية).
المقارنة: يمثل هذا انخفاضًا بنسبة 50.54% مقارنة بخط أساس (active-standby) مهيأ (2100.614 مللي ثانية).
السلامة: لم يتم اكتشاف أي تداخل في التنفيذ بين العقد في 30 عملية فشل احتياطي.
4.2 سلوك الانقسام (Partition Behavior)
في 30 عملية انقسام (عزل عقدة واحدة عن العقدتين الأخريين)، لم يتم اكتشاف أي مرشح مخرات مكرر.
نفذت العقدة المعزولة من 5 إلى 9 دورات قبل انتهاء صلاحية سلطتها المحلية، بينما استمر جانب الأغلبية. وكان الفارق بين آخر مخرج للعقدة المعزولة وأول مخرج للأغلبية في المتوسط 944.081 مللي ثانية.
وفقًا لتفسير برنولي، فإن معدل الحدث 0/30 يعطي حدًا علويًا دقيقًا بنسبة 95% قدره 9.5% لاحتمالية الحدث لكل تشغيل.
4.3 التزامن والنطاق
نجح النظام في مزامنة 50,000 نقطة بمتوسط إنتاجية يصل إلى ~18,363 نقطة/ثانية.
بلغ متوسط زمن انتقال المزامنة 8.192 مللي ثانية لعينات المجموعة الداخلية.
4.4 تداخل الموارد
عزل المعالج (CPU Isolation): كان لضغط المعالج على النوى المعزولة تأثير ضئيل على تذبذب (jitter) دورة التحكم. ومع ذلك، أدى الضغط على نوى وقت التشغيل المشتركة إلى زيادة تذبذب P99 إلى 4.981 مللي ثانية.
إدخال/إخراج القرص (Disk I/O): أدى إدخال/إخراج القرص المتزامن على مضيف وقت التشغيل إلى زيادة كبيرة في تذبذب P99 ليصل إلى 28.542 مللي ثانية، مما يسلط الضوء على أن حدود الحاويات وحدها لا تعزل تداخل القرص.
4.5 التحقق من خلال الأجهزة في الحلقة (HIL)
عالج النظام 1,200 عينة فيزيائية (4–20 mA) (600 مدخل تناظري، 600 مخرج تناظري) عبر بوابة Modbus/TCP محجوبة.
الدقة: كان أقصى انحراف (bias) بين القيمة المحددة والمتوسط هو 0.01764 مللي أمبير (AI) و 0.02078 مللي أمبير (AO).
الخطية: تجاوزت قيم R2 الرقم 0.999999.
السلامة: لم يتم تسجيل أي عينات ذات جودة سيئة أو غير متصلة (offline).
5. الأهمية والادعاءات
تضع الورقة VICP كـ دراسة جدوى و نموذج أولي قابل للتكرار وليس كمنتج معتمد للسلامة.
النطاق: يصرح المؤلفون صراحةً بأن النموذج الأولي لا يدعي ضمانات الوقت الحقيقي الصارم (hard real-time)، أو تحمل الخطأ البيزنطي (Byzantine fault tolerance)، أو الامتثال لمستويات سلامة الأداء (SIL).
الإنجاز الرئيسي: يثبت العمل أن فصل سلطة المخرات عن تكرار الحالة أمر قابل للتنفيذ على البنية التحتية الشائعة. كما يثبت أن الإيجار المدعوم بالأغلبية يمكنه فعليًا حجب المخرات الفيزيائية غير القابلة للتراجع، مما يقلل من وقت انقطاع الفشل الاحتياطي بنحو النصف مقارنة بتكوين (active-standby) القياسي، مع منع المخرات المتزامنة أثناء الانقسامات.
الحد الهندسي: تؤكد الورقة أن السلامة تعتمد على افتراضات توقيت الإيجار وتنفيذ الحجب عند حدود الإدخال/الإخراج الفيزيائي. وتجادل بأنه بينما الآلية البرمجية سليمة، فإن النشر في الإنتاج يتطلب محكمات أجهزة معتمدة، ورسائل موثقة، وتزامن ساعات مراقب.
العمل المستقبلي: يشير المؤلفون إلى الحاجة لمزيد من التحقق، بما في ذلك نقل الحجب إلى أجهزة مستقلة، والاختبار على بنيات ARM، وإجراء حملات طويلة الأمد مع حقن أخطاء متنوعة.
باختصار، يقدم VICP نمطًا معماريًا عمليًا للمجموعات الطرفية الصناعية يوازن بين مرونة الحوسبة السحابية الأصلية ومتطلبات السلامة الصارمة للتحكم في العمليات الفيزيائية، بشرما توفر ضوابط هندسية محددة (الحجب، عزل الموارد، والتفويض الخارجي) بدقة.