[PPT]Apresentação do PowerPoint · Web viewRedes e Sistemas Distribuídos II – Cód. 30127...

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

Transcript of [PPT]Apresentação do PowerPoint · Web viewRedes e Sistemas Distribuídos II – Cód. 30127...

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

Redes e Sistemas Distribuídos IIComunicação e Sincronização de Processos

13/05/23

Mater Christi

2

Roteiro Linhas de Controle Alocação do Processador Sincronização através do Clock Exclusão Mútua Algoritmos Eletivos Transações Atômicas

13/05/23

Mater Christi

3

Alocação do ProcessadorIntrodução, Modelos de Alocação, Aspectos do Projeto e Implementação dos Algoritmos de Alocação, Exemplos de Algoritmos

13/05/23

Mater Christi

4

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?

13/05/23

Mater Christi

5

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

13/05/23

Mater Christi

6

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

13/05/23

Mater Christi

7

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

13/05/23

Mater Christi

8

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

13/05/23

Mater Christi

9

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

13/05/23

Mater Christi

10

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

13/05/23

Mater Christi

11

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

13/05/23

Mater Christi

12

Alocação do ProcessadorIntrodução, Modelos de Alocação, Aspectos do Projeto e Implementação dos Algoritmos de Alocação, Exemplos de Algoritmos

13/05/23

Mater Christi

13

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

13/05/23

Mater Christi

14

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

13/05/23

Mater Christi

15

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

13/05/23

Mater Christi

16

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

13/05/23

Mater Christi

17

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

13/05/23

Mater Christi

18

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

13/05/23

Mater Christi

19

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

13/05/23

Mater Christi

20

Modelos de Alocação Minimização

Tempo médio de resposta

13/05/23

Mater Christi

21

Não há fila Fila de 5s

ProcessoA (100 milhões de instruções)B (300 milhões de instruções)

Processador de 1 Processador de 2

10s30s

6s8s

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?

13/05/2322

Alocação do ProcessadorIntrodução, Modelos de Alocação, Aspectos do Projeto e Implementação dos Algoritmos de Alocação, Exemplos de Algoritmos

13/05/23

Mater Christi

23

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

13/05/2324

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

13/05/23

Mater Christi

25

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

13/05/23

Mater Christi

26

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

13/05/23

Mater Christi

27

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

13/05/23

Mater Christi

28

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

13/05/23

Mater Christi

29

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

13/05/23

Mater Christi

30

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

13/05/23

Mater Christi

31

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

13/05/23

Mater Christi

32

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

13/05/23

Mater Christi

33

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

13/05/23

Mater Christi

34

A máquina decide que estáCom muito trabalho

A máquina anuncia suadisponibilidade

Alocação do ProcessadorIntrodução, Modelos de Alocação, Aspectos do Projeto e Implementação dos Algoritmos de Alocação, Exemplos de Algoritmos

13/05/23

Mater Christi

35

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

13/05/2336

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

13/05/2337

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

13/05/2338

Implementação dos Algoritmos de alocação

13/05/2339

Alocação do ProcessadorIntrodução, Modelos de Alocação, Aspectos do Projeto e Implementação dos Algoritmos de Alocação, Exemplos de Algoritmos

13/05/23

Mater Christi

40

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/2013

13/05/23

Mater Christi

41

Referências TANENBAUM, A. S. Sistemas

Operacionais Modernos. 2. Ed. Prentice Hall, 2003.

13/05/23

Mater Christi

42