SageSched: Efficient LLM Scheduling Confronting Demand Uncertainty and Hybridity

O artigo apresenta o SageSched, um agendador eficiente para inferência de LLMs que supera as limitações das abordagens existentes ao lidar com a incerteza da demanda e a natureza híbrida das cargas de trabalho, combinando previsões precisas de comprimento de saída com uma política de agendamento que considera simultaneamente custos computacionais e de memória para alcançar ganhos de eficiência superiores a 28,7%.

Zhenghao Gan, Yichen Bao, Yifei Liu, Chen Chen, Quan Chen, Minyi Guo

Publicado Tue, 10 Ma
📖 5 min de leitura🧠 Leitura aprofundada

Each language version is independently generated for its own context, not a direct translation.

Imagine que você é o gerente de um restaurante muito famoso e moderno, onde os clientes (os usuários) pedem pratos complexos feitos por um chef robô superinteligente (a Inteligência Artificial ou LLM).

O problema é que esse restaurante tem dois desafios gigantescos que os gerentes antigos não sabiam resolver:

  1. A Incerteza do Pedido: Quando um cliente pede um prato, o chef não sabe exatamente quanto tempo vai demorar para cozinhar. Um pedido de "sopa" pode demorar 5 minutos ou 50 minutos, dependendo de como o cliente quer o tempero. Ninguém sabe o tamanho do prato antes de ele estar pronto.
  2. A Mistura de Recursos: Cozinhar esses pratos exige duas coisas ao mesmo tempo: muito fogo (processamento do computador) e muitas panelas (memória do computador). Às vezes, o gargalo é o fogo; outras vezes, é a falta de panelas.

O Problema dos Gerentes Antigos (Sistemas Atuais)

Os sistemas atuais de agendamento (como o vLLM ou SGLang) funcionam de duas formas ruins:

  • A fila da padaria (FCFS): "Quem chegou primeiro, é atendido primeiro." Se um cliente pedir um banquete gigante (que vai demorar horas), todos os outros clientes ficam esperando na fila, mesmo que seus pedidos sejam rápidos. Isso é chamado de "bloqueio da cabeça da fila".
  • O palpite cego (SJF): Alguns sistemas tentam adivinhar o tempo de cozimento usando um modelo complexo (como um chef que estuda o pedido antes). Mas isso é caro, lento e muitas vezes erra, porque a IA é imprevisível. Além disso, eles só olham para o "tempo de fogo" e esquecem das "panelas". Se o restaurante estiver sem panelas, priorizar um prato rápido que usa 100 panelas vai travar a cozinha inteira.

A Solução: SageSched (O Gerente Sábio)

Os autores criaram o SageSched, um novo sistema de gerenciamento que é como um gerente experiente e sábio. Ele usa três truques mágicos:

1. O "Detetive de Pedidos Semelhantes" (Previsão Inteligente)

Em vez de tentar adivinhar o futuro com um modelo complexo, o SageSched olha para o histórico.

  • A Analogia: Imagine que um cliente pede "uma receita de bolo de chocolate com frutas". O gerente olha no livro de pedidos de ontem e vê: "Ah, três pessoas pediram algo muito parecido e os bolos ficaram com tamanhos entre 20 e 30 fatias".
  • O Truque: Ele não tenta prever um número exato (que seria errado). Ele cria uma distribuição de probabilidade: "Há 30% de chance de ser pequeno, 50% médio e 20% grande". Isso é leve, rápido e muito mais preciso do que tentar simular a receita inteira de novo.

2. A "Medida de Custo Real" (Fogo + Panelas)

O SageSched entende que o custo de um pedido não é apenas o tempo, mas a combinação de tempo de cozimento e quantidade de panelas usadas.

  • A Analogia: Se o restaurante está sem panelas, ele não vai priorizar um prato rápido que precisa de 50 panelas, mesmo que seja rápido. Ele vai priorizar um prato que usa apenas 2 panelas, liberando espaço para outros.
  • O Truque: Ele calcula um "custo total" que considera tanto o processamento quanto a memória. Se o sistema está cheio de memória, ele age de um jeito; se está cheio de processamento, age de outro.

3. O "Índice de Sorte" (Agendamento com Incerteza)

Aqui está a parte mais genial. Como ninguém sabe o tamanho exato do prato, como decidir quem atender?

  • A Analogia: Imagine que você tem várias apostas. Uma aposta pode ganhar $100 amanhã, mas tem 90% de chance de não ganhar nada. Outra pode ganhar $10 com certeza. Qual você escolhe?
  • O Truque (Índice de Gittins): O SageSched usa uma fórmula matemática chamada Índice de Gittins. Em vez de olhar para a "média" (o que é comum), ele olha para a probabilidade de terminar logo. Ele prioriza os pedidos que têm a maior chance de serem concluídos agora, mesmo que o tamanho total seja incerto. É como dizer: "Vamos servir primeiro quem tem mais chance de sair da cozinha em 5 minutos, em vez de quem tem o pedido médio mais curto".

O Resultado

Quando os autores testaram o SageSched em laboratórios e simulações:

  • O tempo total que os clientes esperavam para receber tudo o que pediram (TTLT) caiu em mais de 28%.
  • O sistema funcionou bem tanto em restaurantes pequenos quanto em grandes redes de 64 cozinhas (GPUs).
  • Ele foi rápido demais para atrasar o serviço: o tempo extra para o gerente pensar na fila foi de apenas 100 milissegundos (menos que um piscar de olhos).

Resumo em uma Frase

O SageSched é como um gerente de restaurante que não tenta adivinhar o futuro, mas sim olha para o passado recente para entender as probabilidades, considera tanto o tempo quanto o espaço na cozinha, e usa matemática avançada para decidir quem atender primeiro, garantindo que ninguém fique esperando em vão.