Lottery Scheduling: FlexibleProportional-Share Resource Management
Carl A. Waldspurger, William E. Weihl
Escalonamento de recursos em sistemas multi-thread é um problema complexo. A decisão de qual aplicação/cliente priorizar durante a tarefa de multiplexação nem sempre é justa. Esse é problema que o artigo se propõe a investigar.
O sistema Lottery, proposto pelo trabalho, é um mecanismo de escalonamento de recursos randomizado. Assim como em uma loteria, cada cliente recebe um número finito de bilhetes. Em cada loteria, o recurso é alocado para o cliente sorteado. Essa abordagem garante uma alocação proporcional ao número de bilhetes que um cliente possui.
Foram avaliados flexibilidade, responsividade e eficiência no controle e taxas de execução de vários cliente para recursos disponíveis no sistema operacional. Foram utilizados como experimento uma aplicação de benchmark de computação, um programa que computa integrações numéricas com o método Monte-Carlo, uma aplicação cliente/servidor de busca em texto e um serviço de vídeo MPEG.
Os resultados comprovaram, dentro do limite dos experimentos, que a proporção de alocação feita pelo Lottery se refletiram na vazão computada para cada cliente.
Os autores citam que os sistema tradicionais utilizam uma lógica de priorização no escalonamento. Eles citam como trabalho relacionado um sistema que escalona arbitrariamente e um que tenta aplicar políticas para tornar o sistema o mais justo possível.
Comparativamente, afirmam que a solução do Lottery é menos complexa, pois baseia-se em princípios estatísticos.
[1] Lottery scheduling: flexible proportional-share resource management