HeadlinesBriefing favicon HeadlinesBriefing.com

نظرية تركيبية للاستقرار الذاتي

Hacker News •
×

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

هاجمت المشكلة باستخدام مثال ملموس: نموذج TLA+ للاعتماد-الضمان لعاصفة إعادة المحاولة كمكونين مع عقود. يعيد هذا النموذج إنتاج الفشل شبه المستقر لأن التركيب عمل من حالات جيدة لكنه فشل عندما أزال صدمة كبيرة الحالة الأساسية. أدى البحث عن تركيب الاعتماد-الضمان من كل حالة إلى ورقة نظرية تحكم من عام 2017 لـ Kim وArcak وSeshia، بعنوان "A Small Gain Theorem for Parametric Assume-Guarantee Contracts". تفعل هذه الورقة تقريبًا ما أريده: تفريغ الاستدلال الدائري بين مكونين دون طبقات أو حجب. لكن لها قيود خطيرة. المكون هو علاقة إدخال-إخراج على الإشارات، والعقود تربط حد الإدخال بحد الإخراج. لا يمكن لهذا المنظور عديم الذاكرة التعبير عن التراكم المتراكم من الجولات السابقة، مما يستبعد الطوابير. كما أنه لا صلة له بالاستقرار.

ومع ذلك، هناك قطع تستحق السرقة نحو نظرية تركيبية للاستقرار الذاتي وشبه الاستقرار. أدناه أحاول وضع ذلك موضع التنفيذ... ببعض الفشل.

في نموذجنا الأصلي، كان ضمان المعيد مشروطًا: "إذا كان الطابور أقل من 6، فأنا لا أرسل أي إعادات محاولة". الفكرة الكبرى في ورقة الافتراض-الضمان البارامترية هي كتابة عائلة من العقود تغطي كل مكان. الثوابت: S=3 سعة الخادم، A_max=2 الوصولات الجديدة، T=2 المهلة، عتبة الكمون S·T=6. هذا يعطي λ(L) = ⌊(L-6)/2⌋. العقد القديم هو الصف العلوي: λ(6)=0. كل صف يحصل على وعد، لذا نحصل على حزمة من العقود العادية، واحد لكل مستوى سوء p: φ_a = ∨_p ψ_a(p); φ_g = ∧_p (ψ_a(p) ⇒ ψ_g(λ(p))). جانب الافتراض هو فصل لأن المستويات بدائل. جانب الضمان هو اقتران؛ الالتزامات تراكمية. الصفوف التي شرطها خاطئ لا تكلف شيئًا؛ المستويات المتداخلة تعني أن الأضيق يفوز.

الكيانات الرئيسية: الأشخاص: Kim، Arcak، Seshia