Resumen
- Una etapa tardía de Presto puede inyectar al principio del pipeline un pseudosegmento sin carga útil para que la lógica normal actualice un estado almacenado antes.
- El artefacto acredita una corrección de transporte, no la entrega de datos. Su procedencia, la mutación, el DMA, la notificación al host y el recibo de la aplicación deben conservarse por separado.
La dependencia circular convertida en evento
El software TCP sobre una CPU puede volver a leer y escribir memoria mientras procesa un paquete. La arquitectura RMT impone una secuencia rígida: el vector del paquete avanza por etapas fijas y cada estado mutable reside donde se declaró. Una decisión tomada al final no puede saltar de vuelta al principio.
El trabajo de Presto encuentra ese problema al cerrar un hueco de reensamblado. Cuando un segmento en orden conecta next-seq con un intervalo fuera de orden, el receptor debe avanzar la ventana hasta el final de la zona continua. Sin embargo, la certeza aparece al leer ooo-head, después de las etapas que contienen next-seq y avail.
La solución es reflejar al inicio un pseudosegmento. No contiene payload de la aplicación; describe el rango que acaba de volverse continuo. Las etapas lo interpretan como un segmento ordinario en orden, avanzan next-seq, reducen avail y borran el intervalo. Presto no ha hecho retroceder la ejecución: ha representado la corrección como un nuevo hecho que viaja hacia delante.
Ese hecho puede ser decisivo para el estado TCP y, al mismo tiempo, no representar bytes nuevos. Tampoco acredita que el usuario haya leído el buffer, que el socket haya devuelto éxito o que una operación de negocio haya quedado comprometida.
La especulación no es todavía aceptación
La ventana básica usa otra separación. Presto actualiza next-seq bajo la suposición de que el remitente respetó la ventana anunciada; más tarde decrementa avail y ejecuta la validación definitiva. Si el segmento excede el límite, lo descarta y pide al plano de control que restaure el estado. Mientras dura la reparación, los valores negativos bloquean otros segmentos y se anuncia una ventana cero.
El artículo especifica que el payload se acepta únicamente después de la validación final. Por eso el cambio especulativo, el veredicto, la excepción, la restauración y la aceptación no deben aparecer como una sola marca de “procesado”.
El pseudosegmento también tiene semántica de reintento. Puede perderse bajo congestión; el intervalo fuera de orden permanece y el siguiente desencadenante crea otro. Es coherencia eventual. Si el tráfico en orden ya avanzó la ventana, el recorte normal elimina el prefijo solapado para impedir doble contabilidad. El recibo significativo es el estado convergente, no la primera inyección.
Cuatro superficies después del cable
Presto coloca por DMA en memoria del host los datos recibidos, incluso cuando llegaron fuera de orden. Otro bloque notifica a libPresto la posición continua más alta que la aplicación ya puede consumir. Cuando un segmento cierra un hueco, la notificación puede emitirse antes de la fusión posterior del pseudosegmento.
El orden optimizado no fusiona las pruebas. DMA demuestra que ciertos bytes se escribieron en una dirección. La notificación expone un rango a la biblioteca. La llamada socket todavía produce su propio resultado. Solo un recibo de la aplicación —por ejemplo, lectura validada o estado duradero— demuestra el efecto superior.
Los ACK exigen el mismo cuidado. El pipeline puede convertir un pseudosegmento que resume el reensamblado en un ACK TCP real. Su pérdida equivale al efecto de perder un ACK normal. Incluso un ACK observado confirma una etapa de transporte, no almacenamiento, interpretación ni ejecución comercial.
El prototipo presentado en ACM SIGCOMM 2026, DOI 10.1145/3789240.3829111, demuestra una traducción convincente de estado TCP a operaciones match-action. El repositorio y la explicación de APNIC permiten examinarla. No convierten los resultados del prototipo en despliegue general, compatibilidad universal o replicación independiente.
La trazabilidad correcta conserva identidad del segmento real, supuesto, validación, trigger de corrección, procedencia y época del pseudosegmento, mutación, retransmisión/reensamblado, DMA, notificación, resultado socket, recibo de aplicación y rollback.
Fuentes
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance

