gestão da carga em sistemas distribuídos : algumas considerações luís paulo peixoto dos santos...

25
Gestão da Carga em Sistemas Distribuídos : Algumas Considerações Luís Paulo Peixoto dos Santos Departamento de Informática Universidade do Minho

Upload: vitor-delgado-bento

Post on 07-Apr-2016

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Gestão da Carga em Sistemas Distribuídos : Algumas Considerações Luís Paulo Peixoto dos Santos Departamento de Informática Universidade do Minho

Gestão da Carga em Sistemas Distribuídos :

Algumas Considerações

Luís Paulo Peixoto dos Santos

Departamento de Informática

Universidade do Minho

Page 2: 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

Page 3: 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

3

Caracterização

RECURSOS

GESTOR

TAREFAS

Page 4: 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

4

Caracterização

MEM

CPUCPUCPU

MEM

NODO NODO

NODO

CPU

MEM

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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

Page 12: 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

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

Page 13: 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

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 ???

Page 14: 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

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

Page 15: 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

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

Page 16: 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

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

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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

Page 20: 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

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

Page 21: 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

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

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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

Page 25: 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

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