Upload
vitor-delgado-bento
View
217
Download
2
Embed Size (px)
Citation preview
Gestão da Carga em Sistemas Distribuídos :
Algumas Considerações
Luís Paulo Peixoto dos Santos
Departamento de Informática
Universidade do Minho
04/27/23 Gestão da Carga em Sistemas Distribuídos
2
Índice
• Caracterização• Escalonamento ao nível da aplicação• Estratégias Estáticas vs. Dinâmicas• Avaliação das Soluções• Informação Incompleta e Incerteza• Conclusões
04/27/23 Gestão da Carga em Sistemas Distribuídos
3
Caracterização
RECURSOS
GESTOR
TAREFAS
04/27/23 Gestão da Carga em Sistemas Distribuídos
4
Caracterização
MEM
CPUCPUCPU
MEM
NODO NODO
NODO
CPU
MEM
04/27/23 Gestão da Carga em Sistemas Distribuídos
5
Escalonamento
• Escalonamento Local - responsabilidade do S.O.
• Escalonamento Global - entre os nodos
Alocação de recursos a tarefas - Problema de escalonamento bi-dimensional
Escalonador
Objectivos
Tarefas
Sistema
Escalonamento
04/27/23 Gestão da Carga em Sistemas Distribuídos
6
Escalonamento
• Objectivos - – minimização do tempo de execução– maximização do débito do sistema– previsibilidade dos tempos de resposta– maximização da utilização dos recursos– fiabilidade do sistema
• Tarefas - informação relacionada com a carga
• Sistema - capacidades absolutas dos rescursos e respectivo estado actual
Escalonador
Objectivos
Tarefas
Sistema
Escalonamento
04/27/23 Gestão da Carga em Sistemas Distribuídos
7
Escalonamento
Escalonador - decide, em cada instante, qual a acção mais adequada baseado naquilo que sabe sobre o ambiente e nos seus objectivos.
Agente autónomo que observa o ambiente através dos seus sensores e age sobre o mesmo através dos actuadores.
Autonomia - o agente determina o seu comportamento sem a intervenção de sistemas externos.
Escalonador
Objectivos
Tarefas
Sistema
Escalonamento
04/27/23 Gestão da Carga em Sistemas Distribuídos
8
Escalonamento
Estático / Dinâmico
Estático - lista de pares (tarefa, recurso) gerada antes da execução.
Possível se os requisitos das tarefas e as capacidades dos recursos forem conhecidas.
Escalonador
Objectivos
Tarefas
Sistema
Escalonamento
NODO NODO NODO
04/27/23 Gestão da Carga em Sistemas Distribuídos
9
Escalonador
Objectivos
Tarefas
Sistema
Escalonamento
Escalonamento
Escalonamento Dinâmico - gerado em tempo de execução usando um conjunto de regras que geram acções com vista a redistribuir a carga pelo sistema
NODO
NODO
NODO
04/27/23 Gestão da Carga em Sistemas Distribuídos
10
• Decidir sem considerar o estado do sistema
– Ex. Aleatório
• Decidir considerando o estado do sistema
• Usar o estado do sistema para:– alterar os parâmetros da política de decisão– mudar de política de decisão
Escalonamento Dinâmico
Adaptativa
04/27/23 Gestão da Carga em Sistemas Distribuídos
11
• Sistema Distribuído Partilhado: partilhado em simultâneo por vários utilizadores e respectivas aplicações.Desempenho dos recursos varia ao longo do tempo.
• Escalonamento ao Nível da Aplicação: escalonamento efectuado pela própria aplicação, com vista a atingir os seus objectivos, em competição com outras aplicações que partilham o mesmo conjunto de recursos.
Escalonamento ao Nível da Aplicação
04/27/23 Gestão da Carga em Sistemas Distribuídos
12
Eficiência do escalonador embebido na aplicação implica:
• Conhecimento sobre as características do sistema e sobre a estrutura e requisitos da aplicação
• Informação dinâmica sobre o estado sistema
• Previsão do desempenho da aplicação e do sistema• Modelo de execução
• Avaliação dos recursos em função do desempenho que entregam à aplicação
• Recursos partilhados no tempo
Escalonamento ao Nível da Aplicação
04/27/23 Gestão da Carga em Sistemas Distribuídos
13
Políticas Estáticas vs. Dinâmicas
Características do ambiente Flexibilidade do escalonador
• Acessível vs. Inacessível• Os sensores dão ao agente informação completa, precisa e actualizada
sobre o estado do sistema ???
• Determinístico vs. Não-Determinístico• As consequências de cada acção são perfeitamente conhecidas, isto é, o
agente sabe qual o estado do sistema após a execução de cada acção ???
• Estático vs. Dinâmico• Não existe qualquer outro processo a actuar no sistema além do
agente ???
04/27/23 Gestão da Carga em Sistemas Distribuídos
14
Políticas Estáticas vs. Dinâmicas
Sistema Distribuído Partilhado:
• Dinâmico• Coexistem várias aplicações e processos
• Inacessível• O ambiente é demasiado complexo para que o escalonador possa
considerar todos os factores no seu modelo de execução• A informação desactualiza-se -- envelhecimento da informação
• Não-determinístico• Cada acção pode ter um leque variado de resultados
Política Dinâmica
04/27/23 Gestão da Carga em Sistemas Distribuídos
15
Oportunidades de Adaptação
• Correcção das previsões sobre o comportamento do sistema e da aplicação
• Correcção de imprecisões no modelo de execução
• Controlo da relação Custo - Desempenho
04/27/23 Gestão da Carga em Sistemas Distribuídos
16
Desempenho e Eficiência
O escalonador consome os recursos que está a gerir!
CPU - tomada de decisões
Largura de Banda - aquisição de informação e execução de acções
Memória - programa + estruturas de dados
Desempenho - grau de satisfação dos objectivos
• relacionado com a qualidade das decisões tomadas
Eficiência - medida dos custos, em termos de recursos consumidos
• relacionada com o nível de intrusão imposto no sistema
04/27/23 Gestão da Carga em Sistemas Distribuídos
17
Análise de Custos
Custos Directos
• recursos consumidos directamente pelo escalonador
• dependem da complexidade da estratégia e da frequência com que os vários mecanismos são activados
04/27/23 Gestão da Carga em Sistemas Distribuídos
18
Actividade CustosCálculo de Métricas Largura de banda
CPUMensagens de Informação Largura de banda
CPU
Mensagens de Controlo Largura de banda CPU
Tomada de Decisão CPU
Execução das acções Largura de banda CPU
Análise de Custos: Custos Directos
04/27/23 Gestão da Carga em Sistemas Distribuídos
19
Análise de Custos
Custos Indirectos
• consequências das acções decididas pelo escalonador• dependem da aplicação e do sistemaA transferência de uma tarefa para outro nodo pode implicar:
– movimentação de dados– replicação de trabalho
04/27/23 Gestão da Carga em Sistemas Distribuídos
20
Excesso de actividade do escalonador sem que o sistema convirja para um estado mais desejável
Exemplo: intolerância a pequenas diferenças de carga
Instabilidade
NODO NODO
04/27/23 Gestão da Carga em Sistemas Distribuídos
21
• Pretende-se maximizar o desempenho, não a eficiência;
• Grandes custos sugerem que o desempenho pode ser melhorado;
ORIENTAÇÕES:• Minimização do número de transferências de
trabalho• Maximização de transferências bem sucedidas
Avaliação
04/27/23 Gestão da Carga em Sistemas Distribuídos
22
Mais informação sobre:• o estado do sistema• o estado das tarefas• a estrutura da aplicaçãosignifica:• decisões de maior qualidade
Informação Incompleta e Incerteza
Ambiente inacessível … logo … informação incompleta
04/27/23 Gestão da Carga em Sistemas Distribuídos
23
• Ignorância Teórica - não existe nenhuma teoria que indique todos os factores a considerar;
• Laziness - qualquer representação de um problema real é uma simplificação dos objectos e relações existentes no mundo;
• Ignorância Prática - mesmo para os factores considerados no modelo de execução é demasiado custoso, ou mesmo impossível, manter informação actualizada, precisa e completa sobre todos eles;
Informação Incompleta e Incerteza
04/27/23 Gestão da Carga em Sistemas Distribuídos
24
A incerteza pode ser incluída explicitamente no modelo de execução do escalonador
• Variáveis estocásticas
• Transições estocásticas
Informação Incompleta e Incerteza
P(X)
XX1
0.8
0.6
0.4
0.2
X2 X4X3 X5
04/27/23 Gestão da Carga em Sistemas Distribuídos
25
• A gestão da carga é um problema de escalonamento
• O escalonamento ao nível da aplicação em sistemas distribuídos partilhados exige estratégias dinâmicas
• A avaliação de um escalonador deve considerar o desempenho e a eficiência com que esse desempenho foi conseguido
• A incerteza sobre o estado actual do sistema deve ser incluída, implícita ou explicitamente, no modelo de execução do escalonador
Conclusões