2. Problema
● No contexto de um cluster (sistema):
○ Máquinas disponibilizam recursos.
■ memória, CPU’s, GPU’s, armazenamento
secundário, etc.
○ Clientes submetem jobs.
■ formados por unidades escalonáveis (tarefas).
■ tarefas possuem demandas de recursos.
● Escalonador decide atribuições (tarefa -> máquina).
3. Objetivo do escalonador
● Minimizar o tempo de resposta
● Maximizar a justiça no acesso aos
recursos.
● Maximizar a produtividade (utilização).
● Minimizar a sobrecarga.
● ...
4. Perguntas
● Qual é o impacto das demandas heterogêneas
no escalonamento multi-recurso e como isso
se compara às políticas de escalonamento?
● Quais fatores são mais sensíveis ao processo?
● Foi possível identificar alguma oportunidade?
5. Fatores
1. Algoritmo de escalonamento.
○ FIFO, SRF (Single Resource Fairness), DRF
(Dominant Resource Fairness).
2. Carga de trabalho.
○ Quão impactante é a demanda de uma tarefa para o
sistema ?
3. Máquinas (tipicamente heterogêneas).
4. Tempo entre chegadas (assumindo uma dist.
exponencial).
6. Técnicas de avaliação
● Simulação (eventos discretos).
● Projeto fatorial 2kr (k=4, r = 4).
● Projeto de dois fatores.
○ possivelmente com carga e máquinas.
● Comparação de sistemas (algoritmos).
7. Google cluster data
● Trace público.
● Jobs e tarefas.
○ requisições e medições de uso de recursos.
○ usuários.
● Máquinas.
● Eventos de escalonamento (início, fim, etc.).
14. Projeto fatorial 2kr (k=4, r=4)
A :: Escalonador B :: Carga C :: Máquinas (%) D :: Tempo entre chegadas
Nível baixo (-1) FIFO 0 1 (20 maqs.) 1ms
Nível alto (1) DRF 3 5 (634 maqs.) 100ms
-- M1 :: Utilização da memória M2 :: Utilização de CPU M3 :: Vazão (tarefas / min)
-- e.e. A B C D AB AC AD BC BD CD ABC ABD ACD BCD ABCD
Variação explicada (%, sem transformação)
M1 0.02 0.00 16.39 44.13 4.59 0.48 0.01 0.04 26.76 4.83 1.13 0.11 0.05 0.15 1.19 0.11
M2 0.05 0.00 16.00 48.00 5.00 1.00 0.00 0.00 16.00 4.00 6.00 0.00 0.00 0.00 5.00 0.00
M3 0.00 0.01 41.00 15.00 8.00 0.00 0.00 0.00 13.00 8.00 7.00 0.00 0.00 0.00 7.00 0.00
Variação explicada (%, com transformação log)
M1 0.02 0.00 2.82 42.55 9.01 0.35 0.00 0.01 23.42 9.41 6.04 0.03 0.01 0.06 6.22 0.03
M2 0.03 0.00 17.00 32.00 9.00 0.00 0.00 0.00 17.00 8.00 9.00 0.00 0.00 0.00 8.00 0.00
M3 0.00 0.05 81.00 15.00 0.00 0.00 0.00 0.00 2.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
◾ Efeito significativo com 95% de confiança ◾ Efeito não significativo com 95% de confiança
15. Referências
● Ali Ghodsi, Matei Zaharia, Benjamin Hindman, Andy Konwinski, Scott Shenker, and
Ion Stoica. 2011. Dominant resource fairness: fair allocation of multiple
resource types. In Proceedings of the 8th USENIX conference on Networked
systems design and implementation (NSDI'11). USENIX Association, Berkeley, CA,
USA, 323-336.
● Google Cluster Data. https://code.google.com/p/googleclusterdata/
● Charles Reiss, Alexey Tumanov, Gregory R. Ganger, Randy H. Katz, and Michael A.
Kozuch. 2012. Heterogeneity and dynamicity of clouds at scale: Google
trace analysis. In Proceedings of the Third ACM Symposium on Cloud Computing
(SoCC '12). ACM, New York, NY, USA