الخلاصة
- حين تكتشف مرحلة متأخرة أن حالة سابقة تحتاج إلى تعديل، يحقن Presto مقطعاً زائفاً بلا حمولة في بداية الخط كي تنفذ القواعد العادية التصحيح.
- هذا سجل تحكم في طبقة النقل، لا إعادة إرسال لبيانات المستخدم. يجب فصل مصدره وتغيير الحالة عن DMA وإشعار المضيف ونتيجة المقبس وإيصال التطبيق.
تحويل الكتابة العكسية إلى حدث جديد
يستطيع معالج CPU الرجوع إلى الذاكرة مراراً أثناء معالجة TCP. أما RMT فيدفع متجه الحزمة عبر مراحل ثابتة، وتظل الحالة القابلة للتغيير محلية في مرحلتها. عند إغلاق فجوة في إعادة التجميع، ينبغي تحريك next-seq واستعادة مساحة avail، لكن إغلاق الفجوة لا يتأكد إلا عند قراءة ooo-head في مرحلة لاحقة.
يوضح بحث Presto أن الحل هو mirroring لسجل صغير إلى رأس الخط. لا يحمل المقطع الزائف payload للتطبيق؛ بل يصف المجال الذي أصبح متصلاً. تعامل المراحل معه كمقطع in-order عادي، فتحرك التسلسل وتخفض النافذة وتمحو مجال OOO. لم يرجع التنفيذ إلى الخلف، بل وصل حدث أمامي جديد أحدث الأثر المطلوب.
هذه سلطة محدودة: يستطيع السجل تعديل TCP state، لكنه لا يثبت انتقال نسخة جديدة من بايتات المستخدم أو قراءة التطبيق لها أو تثبيت نتيجتها.
بين الافتراض والقبول تصحيح كامل
في تتبع النافذة الأساسي، يحدّث Presto next-seq بتفاؤل، ثم يحدّث avail ويجري التحقق النهائي. إذا تجاوز المرسل النافذة المعلنة، تُسقط القطعة ويعيد control plane الحالة. وخلال الإصلاح تمنع قيمة avail السلبية المرور اللاحق وتعلن نافذة صفرية. لا تُقبل الحمولة إلا بعد التحقق النهائي.
المقطع الزائف best-effort أيضاً. إذا أسقطه الازدحام يبقى مجال OOO، ويعيد trigger لاحق حقنه. يسمي البحث ذلك eventual consistency. وإذا تقدمت النافذة بحركة in-order في الوسط، يزيل trimming العادي الجزء المتداخل كي لا يحدث عدّ مزدوج. الإصدار ليس إتماماً؛ تقارب الحالة هو الإتمام.
الذاكرة ليست التطبيق
قد يضع Presto الحمولة المستلمة في ذاكرة المضيف عبر DMA حتى إن وصلت خارج الترتيب. ثم يخبر Application Notification مكتبة libPresto بأعلى offset متصل صار متاحاً للاستهلاك. وعند إغلاق فجوة قد يسبق الإشعار دمج الحالة بالمقطع الزائف التالي.
يثبت DMA الكتابة في buffer، ويثبت الإشعار إتاحة نطاق للمكتبة، وللمقبس نتيجة مستقلة. أما استهلاك التطبيق أو أثره الدائم فيحتاج إلى إيصال من التطبيق نفسه. كما أن ACK في TCP يظل دليلاً على النقل، لا على التخزين أو التنفيذ التجاري.
قُدم النموذج في ACM SIGCOMM 2026 بالمعرف 10.1145/3789240.3829111. يتيح المستودع العام وشرح المؤلفين لدى APNIC الفحص، ولا يثبتان نشراً إنتاجياً أو توافقاً عاماً أو إعادة مستقلة للتجربة.
يجب أن يفصل السجل التشغيلي هوية المقطع الحقيقي والافتراض والتحقق وسبب التصحيح ومصدر المقطع الزائف وحقبته وتغيير الحالة وإعادة الإرسال/التجميع وDMA والإشعار ونتيجة المقبس وإيصال التطبيق وrollback.
المصادر
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات

