Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8...
-
Upload
rachel-caldeira-de-sintra -
Category
Documents
-
view
291 -
download
64
Transcript of Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8...
Implementação Implementação DistribuídaDistribuída
Escalonamento de Escalonamento de Tempo-RealTempo-Real
Prof. Dr. Norian MarranghelloProf. Dr. Norian Marranghello
Grupo 8Grupo 8Daniela Gonçalves Strozi – 004812Daniela Gonçalves Strozi – 004812
Sayuri Watanabe - 002330Sayuri Watanabe - 002330
Implementação de Implementação de Processos DistribuídosProcessos Distribuídos
• Introdução.
• Serviço Remoto.
• Execução Remota.
• Migração de Processos.
IntroduçãoIntrodução
• Site remoto.
• Modelo Cliente/Servidor (RPC).
• Processos Stub.
Modelo Lógico de Processo Modelo Lógico de Processo Local e RemotoLocal e Remoto
Cliente
Processo local
Processo Stub
Processo remoto
Processo Stub
Servidor
Serviço RemotoServiço Remoto
• Compartilhamento de arquivos, periféricos, capacidade de processamento.
• Três diferentes níveis de pedido à serviço remoto:– Nível de linguagem;– Nível de Sistema Operacional;– Nível de aplicação;
Serviço RemotoServiço Remoto• Nível de linguagem:
– Chamada a um procedimento;
– Acesso e locação transparente;• Nível de Sistema Operacional:
– Comandos remotos;
– Construídos como parte do shell;
– Reconhecido pelo Sistema Operacional;• Nível de aplicação:
– Mensagens interpretativas;
– Processo stub do servidor interpreta mensagens enviadas.
Serviço RemotoServiço Remoto• O que é necessário para a execução de operações remotas?
– Redirecionamento I/O;• Stub cliente copia entrada;• Stub servidor copia saída e erros;
– Segurança.• Stub servidor pode autenticar processo do cliente.
Execução RemotaExecução Remota
• Execução de um programa.• Processo servidor é responsável:
– Manter informações;– Negociar com o host remoto;– Chamar uma operação remota;– Criar um processo stub.
• Algumas implementações.– Algoritmos de Compartilhamento de Carga;– Locação Independente;– Sistemas Heterogêneos;– Proteção e Segurança.
Algoritmo de Algoritmo de Compartilhamento de CargaCompartilhamento de Carga
• Inicializado Explicitamente: - Processo; Implicitamente: - Processo servidor local;• Lista de host;• Seleciona um host;• Serviços registrados ou não implementação por broadcasting;• Host selecionado requisição de serviços;• Cliente autenticado e requisição aceita Execução Remota;• Servidor processo remoto e stub;• Cliente Site remoto
Locação IndependenteLocação Independente
• Suporte para concepção lógica do processo;
• Processo remoto representado por agente de processo do host original
• Mecanismo de comunicação inter processos são locações transparentes;
Sistema HeterogêneoSistema Heterogêneo• Configuração diferente de hardware e software;
• Necessidade de recompilação;
• Conseqüência: Overhead.
• Solução: Linguagem independente de máquina Ex.: Java.
Proteção e SegurançaProteção e Segurança• Códigos originais ou intermediários;
• Restrição de ponteiros e heranças múltiplas;
• Verificar se o programa é original;
• Run-time e stack overflow protege hosts remotos;
• Motivo para constantes pesquisas
Migração de ProcessoMigração de Processo• Preempção na execução remota (modelo de compartilhamento de
carga);• Similar a execução remota• Precisa transferir informações;• Informação do estado do processo é subdividido em:
– Estado Computacional;• Informação para salvar e restaurar processo;
– Estado de Comunicação;• Status do link de comunicação de processo;• Transferência de mensagens;• Redirecionamento de link e transmissão de mensagens;• Estado e Contexto de transferência.
Redirecionamento de Link e Redirecionamento de Link e Transmissão de MensagensTransmissão de Mensagens
• Tabela de links mantida pelo Kernel;
• Ponteiros para endpoints de comunicação de pares de processos;
• Atualização dos links;
• Redirecionamento pode ser antes ou depois da mudança;
Redirecionamento de Link e Redirecionamento de Link e Transmissão de MensagensTransmissão de Mensagens
Mensagens transferidas pelo kernel origem
Tempo de congelamento do processo
Mensagens transferidas pelo kernel destino
Execução recuperada
Estado e contexto de transferência
Execução suspensa
Redirecionamento de link
Estado e Contexto de Estado e Contexto de TransferênciaTransferência
• Overhead;• Solução: Minimizar o tempo de congelamento: Transferência de contexto, redirecionamento do link e envio de
mensagem– Proceder concorrentemente;– Esperar o recomeço da execução;
• Transferir informações do estado computacional e códigos iniciais;
• Cópia do código do processo pode ser quebrado em blocos.
Escalonamento de Escalonamento de Tempo-Real Tempo-Real
• Introdução.
• Taxa monotônica.
• Deadline monotônico.
• Sincronização de tempo-real.
IntroduçãoIntrodução• Sistemas de tempo-real.
• Tarefas:– Periódicas.– Não-Periódicas
• Classificação dos Sistemas:– Sistemas Críticos.– Sistemas Não-Críticos.– Sistemas Não-Essenciais.
Taxa MonotônicaTaxa Monotônica
• As tarefas são periódicas e Ti é o período para cada tarefa i.
• As tarefas não se comunicam uma com as outras.
• Prioridade (Escalonamento Estático de Prioridade)
• Atribuição de Prioridade à taxa monotônica.– Se Th < Tl então PRh > PRl
Taxa Monotônica Taxa Monotônica Exemplo de instante crítico de uma tarefaExemplo de instante crítico de uma tarefa
Taxa MonotônicaTaxa Monotônica• Análise de tempo
• L = e L = n(21/n - 1)
• ri(0) = Ci
• ri(k +1) = Ci +
• Se ri (k) = ri (k+1) então o sistema é possível.
• Se em alguma iteração ri(k) > Ti então os sistema não possui uma atribuição de prioridade factível.
i
n
i
i TC /1
1
1
]/)([i
h
hhi CTkr
Deadline MonotônicoDeadline Monotônico
• Atribuição de prioridade através do deadline de cada tarefa.
• Atribuição de prioridade de deadline monotônico:
– Se Dh < Dl então PRh > PRl.
– O conjunto de tarefas é possível se ri Di , para i = 1,...,n.
Sincronização de Tempo-RealSincronização de Tempo-Real
Sincronização de Tempo-RealSincronização de Tempo-Real
• Protocolo de Herança de Prioridade (PIP).– Prioridade RM;– CPU - prioridade mais alta;– Bloqueio de semáforo;– PRl recebe PRh;– Herança de prioridade transitiva;– PRh volta a executar com sua prioridade original;
• Protocolo de Prioridade Máxima.