Apresentação do PowerPoint

Propaganda
Redes e
Sistemas
Distribuídos II –
Cód. 30127
Prof. MSc. Ronnison Reges
Vidal
2
30/06/2017
Redes e Sistemas
Distribuídos II
Comunicação e Sincronização de Processos
Mater Christi
3
30/06/2017
Roteiro
 Linhas
de Controle
 Alocação do Processador
 Sincronização através do Clock
 Exclusão Mútua
 Algoritmos Eletivos
 Transações Atômicas
Mater Christi
4
30/06/2017
Alocação do
Processador
Introdução, Modelos de Alocação, Aspectos do
Projeto e Implementação dos Algoritmos de
Alocação, Exemplos de Algoritmos
Mater Christi
5
30/06/2017
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?
Mater Christi
6
30/06/2017
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
Mater Christi
7
30/06/2017
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
Mater Christi
8
30/06/2017
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

Mater Christi
9
30/06/2017
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
Mater Christi
10
30/06/2017
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
Mater Christi
11
30/06/2017
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
Mater Christi
12
30/06/2017
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
Mater Christi
13
30/06/2017
Alocação do
Processador
Introdução, Modelos de Alocação, Aspectos do
Projeto e Implementação dos Algoritmos de
Alocação, Exemplos de Algoritmos
Mater Christi
14
30/06/2017
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
Mater Christi
15
30/06/2017
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
Mater Christi
16
30/06/2017
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
Mater Christi
17
30/06/2017
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
Mater Christi
18
30/06/2017
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
Mater Christi
19
30/06/2017
Modelos de Alocação
 Objetivos


O

dos algoritmos de alocação
Otimizar algum aspecto
Caso contrário seria feitas atribuições
randômicas ou em ordem numérica
que pode ser otimizado?
Varia de um sistema para o outro
Mater Christi
20
30/06/2017
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
Mater Christi
21
30/06/2017
Modelos de Alocação
 Minimização

Tempo médio de resposta
Processo
A (100 milhões de instruções)
B (300 milhões de instruções)
Processador de 1
Processador de 2
Não há fila
Fila de 5s
10s
30s
6s
8s
Mater Christi
22
30/06/2017
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?
23
30/06/2017
Alocação do
Processador
Introdução, Modelos de Alocação, Aspectos do
Projeto e Implementação dos Algoritmos de
Alocação, Exemplos de Algoritmos
Mater Christi
24
30/06/2017
Aspectos do Projeto dos
Algoritmos de Alocação
 Questões-chave
algoritmos

que envolvem o
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
25
30/06/2017
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
Mater Christi
26
30/06/2017
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
Mater Christi
27
30/06/2017
Aspectos do Projeto dos
Algoritmos de Alocação
 Algoritmos
distribuídos

centralizados versus
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
Mater Christi
28
30/06/2017
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
Mater Christi
29
30/06/2017
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
Mater Christi
30
30/06/2017
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

Mater Christi
31
30/06/2017
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
Mater Christi
32
30/06/2017
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
Mater Christi
33
30/06/2017
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
Mater Christi
34
30/06/2017
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
A máquina anuncia sua
disponibilidade
A máquina decide que está
Com muito trabalho
Mater Christi
35
30/06/2017
Alocação do
Processador
Introdução, Modelos de Alocação, Aspectos do
Projeto e Implementação dos Algoritmos de
Alocação, Exemplos de Algoritmos
Mater Christi
36
30/06/2017
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
37
30/06/2017
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
38
30/06/2017
Implementação dos
Algoritmos de alocação


Aumento da complexidade
Medição da qualidade dos algoritmos

Medidas experimentais






Simulação de tais parâmetros
Determinando-os analiticamente
Pouco se considera a complexidade do algoritmo


Utilização do processador
Tempo de resposta
Taxa de utilização
Implicações óbvias: performance, robustez e
correção
Estabilidade do Algoritmo
39
Implementação dos
Algoritmos de alocação
30/06/2017
40
30/06/2017
Alocação do
Processador
Introdução, Modelos de Alocação, Aspectos do
Projeto e Implementação dos Algoritmos de
Alocação, Exemplos de Algoritmos
Mater Christi
41
30/06/2017
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
Mater Christi
42
30/06/2017
Referências
 TANENBAUM,
A. S. Sistemas Operacionais
Modernos. 2. Ed. Prentice Hall, 2003.
Mater Christi
Download