FluidPD: riassegnazione dinamica delle risorse per bilanciare prefill e decode nel serving di LLM
Imagen generada con gpt-image-2.5-sunburst para InferamaFonte ↗
01

Lo squilibrio tra prefill e decode

L'architettura per il servizio dei modelli linguistici (LLM) è evoluta verso la separazione delle fasi di prefill e decode. Questa dissociazione, nota come prefill-decode disaggregation, consente di ottimizzare ciascuna fase in modo indipendente, poiché presentano pattern di esecuzione e obiettivi di servizio (SLO) molto diversi.

Tuttavia, i carichi di lavoro reali non sono statici. Burst brevi e spostamenti sostenuti nel rapporto di domanda tra prefill e decode possono sbilanciare rapidamente una configurazione inizialmente dimensionata correttamente. Questo disallineamento provoca violazioni degli SLO di latenza, anche quando esiste capacità inattiva in altre parti del sistema.

La separación de prefill y decode permite tratar de manera distinta dos etapas que tienen patrones de ejecución y objetivos de servicio diferentes, pero no elimina la necesidad de coordinarlas cuando cambia la demanda. Por eso, una configuración adecuada en un momento dado puede dejar de estar equilibrada cuando llegan variaciones del tráfico: la capacidad disponible en una fase no garantiza que la otra pueda cumplir sus objetivos de latencia.

La diferencia entre un cambio breve y uno sostenido es importante para entender el problema. Un pico transitorio puede generar presión durante un periodo limitado, mientras que una variación persistente en la proporción entre prefill y decode puede hacer que la distribución de recursos deje de corresponder a las necesidades del sistema. En ambos casos, la capacidad ociosa en una parte de la infraestructura puede coexistir con incumplimientos de SLO en otra, porque esos recursos no se trasladan automáticamente a la fase que los necesita.

02

Meccanismi di elasticità in-place di FluidPD

FluidPD è un sistema di servizio P/D-disaggregato che introduce due meccanismi complementari per gestire questo squilibrio. Il primo, FluidToken, affronta lo squilibrio transitorio scaricando una porzione limitata del calcolo di prefill sui worker di decode quando questi hanno capacità inattiva.

Il secondo meccanismo, FluidRole, gestisce lo squilibrio sostenuto riassegnando i worker in esecuzione tra i ruoli di prefill e decode. Questa riassegnazione avviene in-place, evitando il ricaricamento del modello e il riavvio del motore di inferenza, consentendo un adattamento molto più rapido ai cambiamenti di carico.

Los dos mecanismos de FluidPD responden a escalas distintas del desequilibrio, en vez de tratar cualquier variación como una razón para añadir o retirar GPU. FluidToken actúa sobre el componente transitorio: cuando los trabajadores de decode disponen de capacidad ociosa, absorben una parte acotada del cálculo de prefill. La limitación de esa descarga es relevante, pues el mecanismo no se describe como un traslado ilimitado de trabajo, sino como una respuesta parcial que aprovecha capacidad disponible en la otra fase.

FluidRole aborda una situación sostenida mediante la reasignación de trabajadores que ya están en ejecución. Al cambiar su función entre prefill y decode in-place, busca ajustar la distribución de capacidad sin recargar el modelo ni reiniciar el motor de inferencia. Esta característica distingue el mecanismo de una expansión basada en nuevos nodos, aunque su eficacia depende de que la reasignación pueda completarse con suficiente rapidez para responder al cambio de carga.

En conjunto, los mecanismos plantean una elasticidad que utiliza los recursos existentes de forma diferente: FluidToken desplaza una porción limitada de cálculo cuando hay capacidad ociosa, mientras que FluidRole cambia la asignación de funciones ante un desequilibrio sostenido. El planteamiento no elimina la necesidad de que el sistema identifique qué tipo de desequilibrio está ocurriendo. La tabla resume la distinción declarada entre ambos mecanismos y el autoscaling tradicional; no implica que todas las configuraciones de este último tengan idéntico comportamiento.

Confronto dei meccanismi di elasticità

Differenze chiave tra i meccanismi di FluidPD e l'autoscaling tradizionale.

CaratteristicaFluidTokenFluidRoleAutoscaling tradizionale
Tipo di squilibrioTransitorioSostenutoSostenuto
Azione principaleScarico di calcoloRiassegnazione di ruoliAggiunta/rimozione GPU
Richiede GPU di riservaNoNoSì
Ricaricamento del modelloNoNoSì (su nuovi nodi)
03

Metriche e condizioni di valutazione

Gli autori del preprint riportano che FluidPD migliora il rispetto globale degli SLO di fino a 94,6 punti percentuali rispetto a SGLang statico. Questo miglioramento viene valutato utilizzando tracce di lavoro di produzione di Azure, il che suggerisce una rilevanza pratica per ambienti su larga scala.

È importante sottolineare che queste metriche provengono dall'abstract del preprint e non sono state verificate in modo indipendente. La valutazione si concentra sulla capacità del sistema di mantenere gli SLO senza provisionare worker aggiuntivi, un obiettivo chiave per l'efficienza operativa.

La cifra comunicada debe interpretarse como un resultado de la evaluación descrita en el resumen del preprint, no como una garantía de rendimiento para cualquier instalación. «Hasta 94,6 puntos porcentuales» expresa el máximo de mejora reportado frente a la configuración estática de SGLang en los escenarios evaluados; no significa que cada petición mejore en esa cantidad ni que el mismo resultado se reproduzca con cargas diferentes.

El uso de trazas de trabajo de producción de Azure aporta una condición concreta a la evaluación, pero por sí solo no permite establecer cómo se comportaría FluidPD con otros patrones de tráfico o configuraciones. Además, la métrica se refiere al cumplimiento global de los SLO: la interpretación de ejemplo describe una mayor proporción de peticiones que se mantuvo dentro de los límites de latencia en los escenarios evaluados, no una reducción equivalente de la latencia de cada petición. La cifra procede del resumen del preprint y no ha sido verificada independientemente.

La evaluación también se presenta como un examen de la capacidad de mantener los SLO sin aprovisionar trabajadores adicionales. Esto sitúa la eficiencia en el uso de capacidad existente entre los objetivos del sistema, pero no basta para determinar, con la información disponible, cuánto margen de desequilibrio puede absorber ni en qué condiciones dejaría de cumplir los SLO. Esos límites permanecen por comprobar.

04

Costi operativi e dipendenze

La strategia di FluidPD dipende dalla capacità dei worker di decode di assorbire parte del carico di prefill (FluidToken) e dalla possibilità di riassegnare i ruoli senza riavviare il motore (FluidRole). Ciò implica che l'architettura del sistema di inferenza deve supportare nativamente queste operazioni.

Sebbene il sistema eviti la necessità di GPU di riserva, la velocità della riassegnazione e l'efficienza dello scarico del calcolo sono fattori critici. Se la riassegnazione non è sufficientemente rapida, lo squilibrio potrebbe persistere e causare violazioni degli SLO prima che il sistema si stabilizzi.

La ausencia de GPU de reserva en la comparación describe una característica del enfoque, pero no significa que la reasignación no tenga costes operativos o restricciones. Para que FluidToken funcione, los trabajadores de decode deben disponer de capacidad ociosa que pueda utilizarse para parte del cálculo de prefill. Si esa capacidad no está disponible, la posibilidad de descargar trabajo queda limitada por la propia condición que hace posible el mecanismo.

FluidRole, por su parte, depende de que el motor de inferencia y la arquitectura de servicio permitan cambiar el rol de un trabajador en ejecución sin reinicio. La descripción del sistema presenta esta operación como in-place, pero no aporta aquí información suficiente para cuantificar el tiempo necesario, el alcance de las reasignaciones posibles o los límites de elasticidad. Por ello, la rapidez de respuesta debe entenderse como una cuestión operativa que requiere evaluación, no como un resultado cuantificado en la información disponible.

El flujo descrito supone que el sistema detecta una presión sostenida, identifica trabajadores candidatos y reasigna sus roles antes de reequilibrar la carga. Cada paso importa para la respuesta global: una detección tardía, una selección inadecuada o una reasignación lenta podría prolongar el desequilibrio. Esta es una dependencia del enfoque, no una afirmación de que tales fallos hayan ocurrido en la evaluación; los detalles disponibles no permiten establecer sus umbrales ni su frecuencia.

Flusso di riassegnazione di FluidRole

Processo semplificato di come FluidRole gestisce lo squilibrio sostenuto.

  1. 01Rilevamento dello squilibrio sostenuto tramite indici di pressione.
  2. 02Identificazione dei worker candidati per la riassegnazione.
  3. 03Riassegnazione in-place del ruolo del worker (da prefill a decode o viceversa).
  4. 04Ribilanciamento del carico di lavoro tra i worker riassegnati.
05

Test esterni e deployment in produzione

Prima di raccomandare il deployment di FluidPD in produzione, sarebbe necessario valutarne le prestazioni con carichi di lavoro reali e diversificati, non solo con tracce di Azure. Ciò includerebbe test con diversi modelli linguistici, dimensioni di batch e pattern di traffico.

Inoltre, è necessario verificare la disponibilità di codice e configurazioni per riprodurre i risultati, nonché i limiti di elasticità del sistema. La mancanza di una peer review indipendente e la natura di preprint del lavoro richiedono un'ulteriore cautela nell'interpretare le sue affermazioni sulle prestazioni.

La evaluación previa a una decisión de producción debe distinguir entre lo que el preprint comunica y lo que todavía necesita comprobarse en el entorno donde se pretende usar el sistema. Las trazas de producción de Azure constituyen la base indicada para los resultados reportados, pero no sustituyen la evaluación con cargas de trabajo reales y diversas en las condiciones específicas de despliegue. Los cambios de modelo, tamaño de lote y patrón de tráfico mencionados como pruebas pendientes permitirían comprobar si la respuesta de los mecanismos se mantiene cuando varían esas condiciones.

También es necesario establecer si se dispone del código y de las configuraciones requeridas para reproducir la evaluación, y comprobar los límites de elasticidad de FluidPD. Sin esa información no puede darse por sentado que los resultados sean reproducibles ni determinarse qué magnitud de desequilibrio puede manejar el sistema. La compatibilidad con la infraestructura existente es otra condición práctica: la reasignación in-place y la descarga de cálculo requieren soporte nativo en la arquitectura de inferencia.

La cautela al interpretar las afirmaciones de rendimiento se justifica por la naturaleza de preprint del trabajo y la falta de una revisión por pares independiente señalada en la información disponible. Esto no invalida los resultados comunicados, pero sí limita lo que puede concluirse antes de contar con comprobaciones adicionales. En consecuencia, la cifra de mejora y la ausencia de trabajadores adicionales deben tratarse como resultados reportados bajo las condiciones descritas, no como evidencia suficiente por sí sola para recomendar un despliegue general.

Questioni aperte

  • Il miglioramento di 94,6 punti percentuali negli SLO proviene dall'abstract del preprint e non è stato verificato in modo indipendente.
  • Non è stata trovata evidenza sufficiente nei materiali forniti per confermare l'architettura e la piattaforma di serving valutate in dettaglio.
  • Non sono disponibili informazioni sui limiti di elasticità del sistema né sulla disponibilità di codice o configurazioni per riprodurre i risultati.
  • Il lavoro è un preprint e non è stato sottoposto a peer review, il che richiede cautela nell'interpretare le sue affermazioni sulle prestazioni.
06

Continua a esplorare

06

Fonti consultate

03

Correzioni e trasparenza

Se trovi un dato errato o non aggiornato, inviaci la pagina e la fonte da verificare.

Proponi una correzione