A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Redes e Sistemas Distribuídos II – Cód. 30127 Prof. MSc. Ronnison Reges Vidal.

Apresentações semelhantes


Apresentação em tema: "Redes e Sistemas Distribuídos II – Cód. 30127 Prof. MSc. Ronnison Reges Vidal."— Transcrição da apresentação:

1 Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal

2 Redes e Sistemas Distribuídos II Comunicação e Sincronização de Processos 20/6/2014 Mater Christi 2

3 Roteiro  Linhas de Controle  Alocação do Processador  Sincronização através do Clock  Exclusão Mútua  Algoritmos Eletivos  Transações Atômicas 20/6/2014 Mater Christi 3

4 Alocação do Processador Introdução, Modelos de Alocação, Aspectos do Projeto e Implementação dos Algoritmos de Alocação, Exemplos de Algoritmos 20/6/2014 Mater Christi 4

5 Introdução  Sistemas Distribuídos (Tanenbaun)  consistem em diversos processadores que podem ser organizados como um conjunto de estações de trabalho pessoais, como um pool público de processadores ou de alguma forma híbrida  Questionamentos  Como fazer?  Quando fazer? 20/6/2014 Mater Christi 5

6 Introdução  Como fazer?  Utiliza-se um algoritmo para decidir qual processo deve rodar em qual máquina  Quando fazer?  Modelo de sistema  Modelo de estação de trabalho  Modelo de pool de processadores 20/6/2014 Mater Christi 6

7 Introdução  Modelo de sistema  Diferentes organizações para processadores em sistemas distribuídos  Modelo de estação de trabalho  Simplicidade  Compostos por várias estações de trabalho (computadores pessoais de alto desempenho) espalhados geograficamente e conectados através de uma rede local de alta velocidade  Em algum momento do dia por algum instante de tempo as estações estão ociosas 20/6/2014 Mater Christi 7

8 Introdução  Modelo de estação de trabalho  Estações de trabalho diskless  Sistema de arquivos é implementado em um ou mais servidores em qualquer ponto da rede  As requisições para leitura e escrita são enviadas ao servidor que realiza a operação solicitada e envia de volta o resultado  Facilidade de manutenção  Evita barulhos causados pelos discos  Simetria e Flexibilidade 20/6/2014 Mater Christi 8

9 Introdução  Modelo de pool de processadores  O que acontece quando é possível fornecer 10 ou 100 vezes mais processadores do que o número de usuários ativos?  Construir um pool de processadores é uma metodologia alternativa  Possuir uma prateleira de cheia de processadores, e alocá-los dinamicamente aos usuários, sob demanda 20/6/2014 Mater Christi 9

10 Introdução  Modelo de pool de processadores  Motivação  Redução de gastos com energia  Aumento de poder computacional  Economia Financeira  Desacoplamento do número de usuários e do número de estações de trabalho  Crescimento computacional incremental  Todos os processadores pertencem igualmente a todos os usuários 20/6/2014 Mater Christi 10

11 Introdução  Modelo de pool de processadores  Principal Motivação  Teoria das Filas  Sistemas de filas são a situação onde na qual os usuários geram requisições de trabalho randômicas para um servidor  Quando o servidor estiver ocupado, os usuários são enfileirados e atendidos em ordem de chegada conforme a disponibilidade do servidor 20/6/2014 Mater Christi 11

12 Introdução  Modelo Híbrido  Fornece uma estação de trabalho para todos os usuários e forma ainda um pool de processadores  Custo alto  Combinação das vantagens das duas abordagens  Simplifica o projeto do sistema  Trabalhos interativos e não-interativos 20/6/2014 Mater Christi 12

13 Alocação do Processador Introdução, Modelos de Alocação, Aspectos do Projeto e Implementação dos Algoritmos de Alocação, Exemplos de Algoritmos 20/6/2014 Mater Christi 13

14 Modelos de Alocação  Modelo, Objetivos de Trabalho de Alocação  Máquinas idênticas ou no mínimo compatíveis em nível de código  Alguns sistemas podem ser constituídos de vários pools disjuntos  Cada um composto do mesmo tipo de processador, ou seja cada um é homogêneo  É assumido que o sistema é totalmente interconectado  Cada processador pode se comunicar com todos os outros 20/6/2014 Mater Christi 14

15 Modelos de Alocação  As mensagens podem ser repassadas passo a passo por uma sequência de máquinas  Algumas redes facilitam o broadcast e o multicast e alguns algoritmos fazem uso dessas facilidades  Início de uma trabalho  Quando um processo em execução decide criar um subprocesso 20/6/2014 Mater Christi 15

16 Modelos de Alocação  Início de uma trabalho  Exemplo  Quando o interpretador de comando (shell) executa algum comando usuário  Processo de usuário cria um ou mais processos filhos  Ganha performance, pode executar em paralelo 20/6/2014 Mater Christi 16

17 Modelos de Alocação  Estratégias de alocação do processador  Não-migratórias  Migratórias  Não-Migratórias  Na criação de um processo é tomado a decisão de onde este deve ser colocado para rodar  Uma vez determinada a máquina o processo permanece lá até terminar  Não pode ser executada em outra máquina  não importa o quão sobrecarregada esteja  Nem se existirem outras máquinas livres 20/6/2014 Mater Christi 17

18 Modelos de Alocação  Migratórias  Um processo pode trocar de máquinas, mesmo que sua execução tenha iniciado  Permitem melhor balanceamento de carga de trabalho  Substancialmente mais complexas  Maior impacto no projeto do sistema 20/6/2014 Mater Christi 18

19 Modelos de Alocação  Objetivos dos algoritmos de alocação  Otimizar algum aspecto  Caso contrário seria feitas atribuições randômicas ou em ordem numérica  O que pode ser otimizado?  Varia de um sistema para o outro 20/6/2014 Mater Christi 19

20 Modelos de Alocação  Maximização  Utilização do processador  Maximiza o número de ciclos do processador efetivamente executados em benefícios de tarefas de usuário  Sinônimo de eliminação que qualquer custo de tempo ocioso 20/6/2014 Mater Christi 20

21 Modelos de Alocação  Minimização  Tempo médio de resposta 20/6/2014 Mater Christi 21 Não há filaFila de 5s Processo A (100 milhões de instruções) B (300 milhões de instruções) Processador de 1Processador de 2 10s 30s 6s 8s

22 Modelos de Alocação  Minimização  Taxa de resposta  É o tempo gasto por um processo para executar em determinada máquina, dividido pelo tempo que gasta para executar em um processador sem nenhuma carga  Considerados por uns mais importante que o tempo de resposta  Qual a situação mais eficiente?  Um job de 1s que executa em 5s?  Um job de 1min que executa em 70s? 20/6/201422

23 Alocação do Processador Introdução, Modelos de Alocação, Aspectos do Projeto e Implementação dos Algoritmos de Alocação, Exemplos de Algoritmos 20/6/2014 Mater Christi 23

24 Aspectos do Projeto dos Algoritmos de Alocação  Questões-chave que envolvem o algoritmos  Principais decisões de projeto  Algoritmos heurísticos versus determinísticos  Algoritmos centralizados versus distribuídos  Algoritmos ótimos versus subótimos  Algoritmos locais versus globais  Algoritmos iniciados pelo transmissor versus iniciados pelo receptor 20/6/201424

25 Aspectos do Projeto dos Algoritmos de Alocação  Algoritmos heurísticos versus determinísticos  Algoritmos determinísticos  Conhecimento por antecedência de tudo a respeito do comportamento do processo  Necessidades computacionais, arquivamento, comunicação, entre outros  Alocação perfeita 20/6/2014 Mater Christi 25

26 Aspectos do Projeto dos Algoritmos de Alocação  Algoritmos heurísticos versus determinísticos  Algoritmos Heurísticos  Imprevisibilidade – Carga de trabalho  Carga de trabalho depende das requisições dos usuários, podendo mudar a todo instante  Utiliza-se técnicas heurísticas 20/6/2014 Mater Christi 26

27 Aspectos do Projeto dos Algoritmos de Alocação  Algoritmos centralizados versus distribuídos  Algoritmos Centralizados  Alocação em um único lugar permite melhor tomada de decisões  Pouco robusto, carga de trabalho excessiva  Sugeridos na ausência de alternativas descentralizadas 20/6/2014 Mater Christi 27

28 Aspectos do Projeto dos Algoritmos de Alocação  Algoritmos Ótimos versus Subótimos  Tem relação com os dois primeiros aspectos  “Estamos interessados em encontrar o melhor algoritmo de alocação, ou simplesmente buscamos um algoritmo aceitável?”  Algoritmos Ótimos  Podem ser encontradas com maiores custo que as soluções subótimas 20/6/2014 Mater Christi 28

29 Aspectos do Projeto dos Algoritmos de Alocação  Algoritmos Ótimos versus Subótimos  Algoritmos Ótimos  Coleta de muitas informações  Processamento mais rigoroso  A maioria dos algoritmos empregados em sistemas distribuídos são heurísticos, distribuídos e subótimos  Devido a imensa dificuldade de se obter a solução ótima 20/6/2014 Mater Christi 29

30 Aspectos do Projeto dos Algoritmos de Alocação  Algoritmos Locais versus Globais  Conhecido como política de transferência  Tomada de decisão a respeito do fato de ele poder ou não rodar na máquina em que foi gerado  Caso a máquina esteja sobrecarregada um novo processo deve ser transferido para outra máquina  A questão é, se devemos fundamentar a decisão de transferência exclusivamente nas informações disponíveis localmente ou se devemos lançar mão de informações globais 20/6/2014 Mater Christi 30

31 Aspectos do Projeto dos Algoritmos de Alocação  Algoritmos Locais versus Globais  Utilização de algoritmo local caso a máquina esteja abaixo de um valor-limite  Caso contrário o algoritmo deve sinalizar a necessidade de encontrar uma outra máquina para o processo  Outra opção seria coletar informações globais sobre a carga das demais máquinas e fazer a decisão 20/6/2014 Mater Christi 31

32 Aspectos do Projeto dos Algoritmos de Alocação  Algoritmos Locais versus Globais  Ambas as situações têm vantagens e desvantagens  Algoritmos locais são simples, contudo estão distantes do ótimo  Algoritmos globais têm um resultado um pouco melhor ao custo de maior complexidade 20/6/2014 Mater Christi 32

33 Aspectos do Projeto dos Algoritmos de Alocação  Algoritmos iniciados pelo transmissor versus iniciados pelo receptor  Relativo a política de localização  Baseado no caso onde a máquina deve se livrar do processo e encontrar outra máquina para receber o processo  Não pode ser local  Necessidade do conhecimento das cargas alheias para poder tomar alguma decisão 20/6/2014 Mater Christi 33

34 Aspectos do Projeto dos Algoritmos de Alocação  Algoritmos iniciados pelo transmissor versus iniciados pelo receptor  Há duas maneiras  O transmissor começa a trocar informações  O receptor quem toma a iniciativa 20/6/2014 Mater Christi 34 A máquina decide que está Com muito trabalho A máquina anuncia sua disponibilidade

35 Alocação do Processador Introdução, Modelos de Alocação, Aspectos do Projeto e Implementação dos Algoritmos de Alocação, Exemplos de Algoritmos 20/6/2014 Mater Christi 35

36 Implementação dos Algoritmos de alocação  Assume-se que cada máquina conhece sua própria carga de trabalho  Afim de informar se esta se encontra sobrecarregada ou se está abaixo de sua capacidade  Medida da carga  Contabilidade de processos em cada máquina  Processos em background contribuem muito pouco para a carga da máquina  Conta-se apenas os processos que estão executando efetivamente ou prontos para executar  Determinar a taxa de utilização do processador 20/6/201436

37 Implementação dos Algoritmos de alocação  Medição da taxa de utilização  Inicialização de um interruptor  A cada interrupção é analisado o estado do processador  Para determinar a fração de tempo gasta em um loop ocioso  Tratamento do Overhead  Overhead produzido pela coleta das informações e do movimento dos processos 20/6/201437

38 Implementação dos Algoritmos de alocação  Aumento da complexidade  Medição da qualidade dos algoritmos  Medidas experimentais  Utilização do processador  Tempo de resposta  Taxa de utilização  Simulação de tais parâmetros  Determinando-os analiticamente  Pouco se considera a complexidade do algoritmo  Implicações óbvias: performance, robustez e correção  Estabilidade do Algoritmo 20/6/201438

39 Implementação dos Algoritmos de alocação 20/6/201439

40 Alocação do Processador Introdução, Modelos de Alocação, Aspectos do Projeto e Implementação dos Algoritmos de Alocação, Exemplos de Algoritmos 20/6/2014 Mater Christi 40

41 Exemplos de Algoritmos  Exercício  Resuma os algoritmos:  Determinístico Baseado na Teoria dos Grafos  Centralizados  Hierárquicos  Heurístico Distribuído  Leiloeiro  Data Limite: 18/10/ /6/2014 Mater Christi 41

42 Referências  TANENBAUM, A. S. Sistemas Operacionais Modernos. 2. Ed. Prentice Hall, /6/2014 Mater Christi 42


Carregar ppt "Redes e Sistemas Distribuídos II – Cód. 30127 Prof. MSc. Ronnison Reges Vidal."

Apresentações semelhantes


Anúncios Google