Résumé
- Quand une étape tardive doit corriger un état situé plus tôt, Presto injecte en tête du pipeline RMT un pseudo-segment sans charge utile ; la logique ordinaire exécute alors la correction en avançant.
- Ce passage synthétique prouve une opération de transport, pas la remise de données à l’application. Sa provenance doit rester distincte du placement DMA, de la notification hôte, du résultat socket et de l’effet métier.
Faire revenir une écriture sans faire revenir le paquet
Un processeur peut relire plusieurs fois la mémoire au cours d’un traitement TCP. Un pipeline RMT impose l’ordre inverse : le vecteur d’en-tête avance, chaque état demeure attaché à son étage et aucun saut arrière n’est disponible. La fermeture d’un trou de réassemblage révèle précisément cette limite.
Le papier Presto suit un intervalle reçu hors ordre. Lorsqu’un segment réel raccorde cet intervalle au prochain octet attendu, le récepteur devrait avancer next-seq et libérer de la fenêtre. Or la fermeture n’est certaine qu’après la lecture de ooo-head, située après les étages qui conservent next-seq et avail.
Presto duplique alors un petit enregistrement vers l’entrée. Ce pseudo-segment ne transporte aucune charge utile applicative ; il encode la plage devenue continue. Les étages le traitent comme un segment reçu dans l’ordre : ils avancent la séquence, réduisent l’espace disponible et effacent l’intervalle hors ordre. L’écriture arrière est devenue un événement avant.
Cette autorité est étroite. Le pseudo-segment peut modifier l’état TCP sans être une seconde transmission des octets de l’utilisateur. Il ne prouve ni l’arrivée dans une socket, ni la lecture par le programme, ni la réussite de l’opération qui suivait.
Le pari optimiste possède sa propre chronologie
Avant cette correction, Presto emploie déjà une exécution spéculative. Pour le suivi élémentaire de la fenêtre, le pipeline avance d’abord next-seq, puis met à jour avail et effectue plus loin le contrôle définitif. Si l’émetteur dépasse la fenêtre annoncée, le segment est rejeté et le plan de contrôle restaure l’état de la connexion. Pendant ce bref intervalle, une valeur avail négative fait échouer les contrôles suivants et une fenêtre nulle arrête l’émetteur.
Le texte précise que la charge utile n’est acceptée qu’après validation finale. Il faut donc conserver séparément l’hypothèse spéculative, le verdict, l’exception, la restauration et l’acceptation. Un compteur d’étage ne remplace pas cette chaîne.
Le pseudo-segment n’est pas davantage une promesse de livraison interne. S’il est perdu sous congestion, l’intervalle hors ordre reste présent ; un déclencheur ultérieur le réinjecte. Le papier parle de cohérence éventuelle. Si de nouveaux segments dans l’ordre ont déjà déplacé la fenêtre, le préfixe devenu redondant est rogné par la logique habituelle. Le succès se constate dans l’état final, pas dans l’émission du message synthétique.
Entre la mémoire hôte et l’application
Le placement des octets forme une autre voie. Presto peut écrire par DMA dans la mémoire hôte même des données reçues hors ordre. Un bloc de notification indique ensuite à libPresto la plus haute position continue disponible pour consommation. Lorsqu’un paquet ferme un trou, cette notification peut partir immédiatement, avant que le pseudo-segment suivant n’achève la fusion de l’état.
La coordination n’abolit pas les frontières. Le DMA atteste une écriture dans un tampon. La notification atteste qu’une plage continue est exposée à la bibliothèque. La socket produit encore son propre résultat. Une application doit fournir son reçu — lecture, validation, écriture durable ou engagement — pour établir son résultat.
Le même soin s’applique aux accusés de réception. Presto peut transformer un pseudo-segment portant l’état de réassemblage en ACK TCP réel. La perte de ce pseudo-segment ressemble à une perte d’ACK sur le réseau. Un ACK transmis reste pourtant une preuve de transport, jamais une preuve automatique de traitement applicatif.
Présenté à ACM SIGCOMM 2026 sous le DOI 10.1145/3789240.3829111, le prototype démontre un mécanisme important. Le dépôt public et l’article APNIC des auteurs rendent son examen possible. Ils ne prouvent ni déploiement généralisé, ni réplication indépendante, ni résultat universel.
Un journal exploitable doit relier, sans les confondre, segment réel, hypothèse, validation, déclencheur, provenance du pseudo-segment, mutation d’état, réassemblage et retransmission, DMA, notification hôte, résultat socket, reçu applicatif et rollback.
Sources
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé à Strategic Circle
Strategic Circle
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre Strategic CircleRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance

