Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouÂngelo Franca Alterado mais de 10 anos atrás
1
Redes e Sistemas Distribuídos II – Cód. 30127 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/2013 20/6/2014 Mater Christi 41
42
Referências TANENBAUM, A. S. Sistemas Operacionais Modernos. 2. Ed. Prentice Hall, 2003. 20/6/2014 Mater Christi 42
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.