Title: Gest
1Gestão da Carga em Sistemas Distribuídos
Luís Paulo Peixoto dos Santos
Departamento de Informática Universidade do Minho
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
3Caracterização
4Caracterização
5Escalonamento
Alocação de recursos a tarefas - Problema de
escalonamento bi-dimensional
- Escalonamento Local - responsabilidade do S.O.
- Escalonamento Global - entre os nodos
6Escalonamento
- 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
7Escalonamento
- 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.
8Escalonamento
- 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.
9Escalonamento
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
10Escalonamento Dinâmico
- 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
11Escalonamento ao Nível da Aplicação
- 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.
12Escalonamento ao Nível da Aplicação
- 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
13Polí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 ???
14Polí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
15Oportunidades 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
16Desempenho 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
17Aná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
18Análise de Custos Custos Directos
19Análise de Custos
- Custos Indirectos
- consequências das acções decididas pelo
escalonador - dependem da aplicação e do sistema
- A transferência de uma tarefa para outro nodo
pode implicar - movimentação de dados
- replicação de trabalho
20Instabilidade
- 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
21Avaliação
- 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
22Informação Incompleta e Incerteza
- Mais informação sobre
- o estado do sistema
- o estado das tarefas
- a estrutura da aplicação
- significa
- decisões de maior qualidade
Ambiente inacessível logo informação
incompleta
23Informação Incompleta e Incerteza
- 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
24Informação Incompleta e Incerteza
- A incerteza pode ser incluída explicitamente no
modelo de execução do escalonador - Variáveis estocásticas
- Transições estocásticas
P(X)
0.8
0.6
0.4
0.2
X
X1
X2
X4
X3
X5
25Conclusões
- 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