6 - Algoritmos Fair-share e Loteria

A política de agendamento fair-share tem como base promover a distribuição do uso do recurso de processamento de forma justa entre os diferentes atores.

Modelos como o FIFO e o SJF, por não serem estabelecidos com requisitos de prioridade, tratam todos os processos de forma igualitária. Entretanto, segundo esta lógica, em um ambiente onde poucos usuários criam muitos processos, o uso da capacidade de processamento não seria distribuído de forma igual entre os diferentes usuários.

Tomemos como exemplo uma fila de execução na qual existem 10 processos alocados com a mesma duração de processamento, sendo que cinco destes processos são de propriedade de um mesmo usuário e os outros cinco possuem diferentes donos. Baseado nesta realidade, a maioria dos algoritmos de agendamento direcionaria 50% do tempo de processamento a apenas um indivíduo, sendo a outra metade compartilhada entre os donos dos demais processos.

Para evitar esta situação, o algoritmo fair-share divide o tempo de processamento não pela quantidade de processos, mas pela quantidade de donos. Desta forma, mesmo com um mesmo usuário tendo cinco dos dez processos na fila de espera, este teria apenas cerca de 17% do tempo de processamento disponível na CPU, ou seja, o mesmo percentual dos outros cinco usuários donos de um único processo cada. O algoritmo fair-share se baseia no modelo preemptivo.

Copyright © 2014 AIEC.