← Últimos artigos
💻 computer science

DriftSched: Adaptive QoS-Aware Scheduling under Runtime Token Drift for Multi-Tenant GPU Inference

Este artigo apresenta o DriftSched, um framework de escalonamento consciente de QoS para inferência de LLM multi-inquilino que utiliza um mecanismo de feedback online para corrigir erros de estimativa de tokens em tempo de execução, demonstrando que, embora a calibração adaptativa melhore significativamente a precisão da estimativa, a política de escalonamento Shortest-Job-First (SJF) produz as reduções mais substanciais na latência de ponta a ponta e na cauda.

Autores originais: Kathiravan Palaniappan

Publicado 2026-06-03
📖 6 min de leitura🧠 Leitura aprofundada

Autores originais: Kathiravan Palaniappan

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você está administrando um restaurante muito popular com apenas uma cozinha (a GPU) e um único chef. Você tem três tipos de clientes:

  1. VIPs (Premium): Que querem sua comida rápido e estão dispostos a pagar extra.
  2. Clientes Regulares (Standard): Que apenas querem uma refeição normal.
  3. Compradores de Grandes Quantidades (Batch): Que estão fazendo pedidos de bandejas enormes de buffet e não se importam em esperar.
    O problema? A cozinha fica sobrecarregada. Os pedidos se acumulam e algumas pessoas esperam uma eternidade enquanto outras são atendidas rapidamente. O chef precisa decidir quem cozinhar a seguir. Isso é chamado de "escalonamento" (scheduling).

O Problema Central: Adivinhar a Carga de Trabalho

Para decidir quem atender a seguir, o escalonador precisa saber o tamanho de cada pedido.

  • É uma salada simples (trabalho curto)?
  • Ou é um jantar de 5 pratos complexo (trabalho longo)?
    Se o escalonador adivinhar errado, o caos se instala. Se ele achar que um pedido enorme de buffet é pequeno, pode servir antes o aperitivo rápido de um VIP, fazendo com que o VIP espere demais. Isso é chamado de "Classificação Incorreta de Carga de Trabalho" (Workload Misclassification).

As Duas Formas de Adivinhar

O artigo, DriftSched, testa duas formas de adivinhar o tamanho de um pedido:

  1. A "Adivinhação Preguiçosa" (Proxy de Espaço em Branco): Imagine contar as palavras no ticket do pedido. Se tem 10 palavras, provavelmente é pequeno. Se tem 100, é grande. Isso é rápido e fácil para o recepcionista fazer, mas é impreciso. Uma frase curta pode ser complexa de cozinhar, e uma frase longa pode ser simples.
  2. A "Adivinhação do Especialista" (Consciente do Tokenizador): Imagine que o recepcionista realmente lê a receita e sabe exatamente quantos ingredientes e etapas estão envolvidos. Isso é preciso, mas leva um pouco mais de tempo e esforço para o recepcionista calcular.

A Solução: DriftSched

O DriftSched é um sistema inteligente que gerencia este restaurante. Ele possui um recurso especial chamado "Calibração Adaptativa" (ou EMA).

Pense da seguinte forma: Se o recepcionista usa a "Adivinhação Preguiçosa" e percebe que consistentemente subestimou quanto tempo um pedido de "Relatório Técnico" leva para ficar pronto, o DriftSched aprende com seus erros. Ele diz: "Ah, toda vez que adivinhamos que um Relatório Técnico é pequeno, ele na verdade demora 20% a mais. Na próxima vez, vou adicionar 20% à estimativa."
Com o tempo, a "Adivinhação Preguiçosa" torna-se quase tão boa quanto a "Adivinhação do Especialista" porque o sistema corrige seus próprios erros com base no que realmente aconteceu na cozinha.

As Cinco Estratégias de Escalonamento

O artigo testou cinco regras para decidir quem come a seguir:

  1. FIFO (First-In, First-Out): Como uma fila padrão de tickets. O primeiro a chegar é o primeiro a ser servido. É justo, mas se um Comprador de Grandes Quantidades estiver na sua frente com um pedido enorme, você esperará para sempre.
  2. Prioridade (Priority): VIPs sempre furam a fila. Clientes Regulares e Compradores de Grandes Quantidades esperam. Ótimo para os VIPs, terrível para todos os outros.
  3. Ponderado (Weighted): Um meio-termo. VIPs são atendidos 50% das vezes, Regulares 30% e Compradores de Grandes Quantidades 20%. Todos têm sua vez, mas os VIPs têm preferência.
  4. SJF (Shortest-Job-First): O chef sempre escolhe o menor e mais rápido pedido a seguir, independentemente de quem o fez. Se um Comprador de Grandes Quantidades tiver um acompanhamento minúsculo, ele será cozinhado antes do prato principal de um VIP.
  5. Prioridade por Envelhecimento (Aging Priority): Como a Prioridade, mas se um Comprador de Grandes Quantidades esperar demais, o ticket dele recebe um "carimbo" que aumenta sua prioridade para que ele não morra de fome.

O Que Eles Descobriram?

1. A Precisão Importa, Mas a Estratégia Importa Mais
Usar a "Adivinhação do Especialista" (Tokenizador) é melhor do que a "Adivinhação Preguiçosa" (Espaço em Branco). No entanto, a regra que você usa para escolher o próximo cliente (a Política de Escalonamento) tem um impacto muito maior no tempo de espera do que o quão precisamente você adivinhou o tamanho do pedido.

2. SJF é o Rei da Velocidade
A regra Shortest-Job-First (SJF) foi a mais rápida. Ela reduziu o tempo médio de espera em cerca de 42% em comparação com a fila padrão (FIFO). Por quê? Porque ao limpar todos os pedidos pequenos e rápidos primeiro, a cozinha permanece ocupada e eficiente, e menos pessoas ficam presas esperando atrás de um pedido gigante.

3. Prioridade é o Rei dos VIPs
Se você quer manter os VIPs felizes, o Escalonamento por Prioridade é o melhor. Os VIPs esperaram apenas ~77 segundos, enquanto os Compradores de Grandes Quantidades esperaram ~427 segundos. O SJF, por outro lado, não se importava com quem você era; ele só se importava com o quão pequeno era o seu pedido. De fato, sob o SJF, Compradores de Grandes Quantidades às vezes eram atendidos mais rápido que os VIPs porque seus pedidos eram menores por acaso.

4. A "Adivinhação Preguiçosa" Pode Ser Corrigida
O recurso de autocorreção do sistema (EMA) funcionou bem. Quando usando a "Adivinhação Preguiçosa" imprecisa, o sistema aprendeu a ajustar suas estimativas ao longo do tempo, reduzindo os erros em cerca de 40%. No entanto, se você já usa a "Adivinhação do Especialista", a autocorreção não ajuda muito porque as estimativas já eram precisas.

A Conclusão

  • Se você quer o serviço mais rápido no geral: Use SJF (Shortest-Job-First). Ele limpa a fila mais rápido.
  • Se você quer proteger seus clientes mais importantes: Use o Escalonamento por Prioridade. Ele garante que os VIPs sejam atendidos primeiro, mesmo que isso faça os outros esperarem mais.
  • Não se preocupe tanto com uma estimativa perfeita: Mesmo que você use uma estimativa bruta de quanto tempo um pedido leva, a regra de escalonamento que você escolhe (SJF vs. Prioridade) importa muito mais para o tempo de espera final. Mas, se você puder adivinhar com precisão (usando o Tokenizador), o sistema funciona melhor.

Em resumo: Como você organiza a fila dos clientes importa mais do que o quão perfeitamente você estima o tamanho do pedido deles.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →