implementação distribuída escalonamento de tempo-real prof. dr. norian marranghello grupo 8...

24
Implementação Implementação Distribuída Distribuída Escalonamento de Escalonamento de Tempo-Real Tempo-Real Prof. Dr. Norian Marranghello Prof. Dr. Norian Marranghello Grupo 8 Grupo 8 Daniela Gonçalves Strozi – 004812 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330 Sayuri Watanabe - 002330

Upload: rachel-caldeira-de-sintra

Post on 07-Apr-2016

291 views

Category:

Documents


64 download

TRANSCRIPT

Page 1: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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

Page 2: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri 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.

Page 3: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

IntroduçãoIntrodução

• Site remoto.

• Modelo Cliente/Servidor (RPC).

• Processos Stub.

Page 4: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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

Page 5: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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;

Page 6: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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.

Page 7: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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.

Page 8: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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.

Page 9: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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

Page 10: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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;

Page 11: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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.

Page 12: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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

Page 13: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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.

Page 14: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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;

Page 15: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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

Page 16: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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.

Page 17: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

Escalonamento de Escalonamento de Tempo-Real Tempo-Real

• Introdução.

• Taxa monotônica.

• Deadline monotônico.

• Sincronização de tempo-real.

Page 18: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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.

Page 19: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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

Page 20: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

Taxa Monotônica Taxa Monotônica Exemplo de instante crítico de uma tarefaExemplo de instante crítico de uma tarefa

Page 21: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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

Page 22: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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.

Page 23: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

Sincronização de Tempo-RealSincronização de Tempo-Real

Page 24: Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – 004812 Sayuri Watanabe - 002330

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.