55
n Sistemas Operacionais Moder Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos 1

Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Embed Size (px)

Citation preview

Page 1: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Sistemas com Múltiplos Processadores

Capítulo 8

8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

1

Page 2: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Sistemas Multiprocessadores

• Necessidade contínua de computadores mais rápidos– modelo de memória compartilhada– multicomputador com troca de mensagens– sistema distribuído de longa distância

2

Page 3: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Multiprocessadores

Definição:um sistema computacional no qual duas ou mais CPUs compartilham acesso total a uma RAM comum

3

Page 4: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

4Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Hardware de Multiprocessador (1)

Multiprocessadores baseados em barramento

Page 5: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Hardware de Multiprocessador (2)

Multiprocessador UMA usando uma chave crossbar5

Page 6: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Hardware de Multiprocessador (3)

• Multiprocessadores UMA usando redes de comutação multiestágio podem ser construídos a partir de chaves 2 x 2

(a) Uma chave 2x2 (b) Formato de mensagem

6

Page 7: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Hardware de Multiprocessador (4)

• Rede de chaveamento Omega7

Page 8: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Hardware de Multiprocessador (5)

Características de Multiprocessadores NUMA1. Espaço de endereçamento único visível a todas

as CPUs

2. Acesso à memória remota via comandos- LOAD- STORE

3. Acesso à memória remota mais lento que acesso à memória local

8

Page 9: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Hardware de Multiprocessador (6)

(a) Multiprocessador de 256 nodos com base em diretório

(b) Campos de um endereço de memória de 32 bits(c) Diretório no nodo 36

9

Page 10: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Tipos de SO para Multiprocessadores (1)

Cada CPU tem seu próprio sistema operacional

10

Page 11: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Tipos de SO para Multiprocessadores (2)

Multiprocessadores mestre-escravo

11

Page 12: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Multiprocessadores simétricos– Modelo de multiprocessador SMP

Tipos de SO para Multiprocessadores (3)

12

Page 13: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Sincronização em Multiprocessadores (1)

Instrução TSL pode falhar se barramento não puder ser reservado

13

Page 14: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Múltiplos locks para evitar a substituição excessiva na cache

Sincronização em Multiprocessadores (2)

14

Page 15: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Teste contínuo vs. chaveamento• Em alguns casos a CPU deve esperar

– até que possa acessar a lista de processos prontos para executar

• Em outros casos existe uma escolha– teste contínuo gasta ciclos de CPU– chaveamento também usa ciclos de CPU– é possível tomar decisão independente cada vez

que um mutex impedido é encontrado

Sincronização em Multiprocessadores (3)

15

Page 16: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Escalonamento de Multiprocessadores (1)

• Compartilhamento de tempo– Note o uso de uma única estrutura de dados para

o escalonamento

16

Page 17: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Compartilhamento de espaço– Múltiplos threads em múltiplas CPUs ao mesmo tempo

Escalonamento de Multiprocessadores (2)

17

Page 18: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Problema com a comunicação entre dois threads– ambos pertencem ao processo A– ambos estão executando fora de fase

Escalonamento de Multiprocessadores (3)

18

Page 19: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Solução: escalonamento em bando1. Grupos de threads relacionados são escalados

como uma unidade (um bando)

2. Todos os membros do bando executam simultaneamente

• em diferentes CPUs com compartilhamento de tempo

3. Todos os membros de um bando iniciam e finalizam juntos suas fatias de tempo

Escalonamento de Multiprocessadores (4)

19

Page 20: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Escalonamento em bando

Escalonamento de Multiprocessadores (5)

20

Page 21: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Multicomputadores

• Definição:CPUs fortemente acopladas que não compartilham memória

• Também conhecidos como – computadores clusters

– clusters de estações de trabalho (COWs)

21

Page 22: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Hardware de Multicomputador (1)

• Topologias de interconexão(a) chave simples(b) anel(c) grade

(d) toro duplo(e) cubo(f) hipercubo 4D

22

Page 23: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Esquema de comutação– Comutação de pacotes armazena-e-

encaminha (store-and-forward)

Hardware de Multicomputador (2)

23

Page 24: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Placas de interface de rede em um multicomputador

Hardware de Multicomputador (3)

24

Page 25: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Software de Comunicação de Baixo Nível (1)

• Se vários processos estão executando em um nodo– precisam de acesso à rede para enviar pacotes ...

• Mapear a placa de interface para todos os processos que precisam dela

• Se o núcleo precisa acessar a rede ...• Usar duas placas de rede

– Uma para o espaço do usuário, uma para o núcleo

25

Page 26: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Comunicação entre o nodo e a interface de rede• Uso de anéis de envio e recepção• Coordena a CPU principal com a CPU da placa de rede

Software de Comunicação de Baixo Nível (2)

26

Page 27: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Serviços mínimos oferecidos– Comandos de envio

e recepção

• Estas são chamadas bloqueantes (síncronas)

(a) Chamada send bloqueante (b) Chamada send não bloqueante

Software de Comunicação no Nível do Usuário

27

Page 28: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Passos na realização de uma chamada de procedimento remoto– Os stubs são mostrados em tonalidade escurecida

Chamada de Procedimento Remoto (1)

28

Page 29: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Questões de Implementação• Não pode passar ponteiros

– chamada por referência se torna copia-restaura (mas pode falhar)

• Linguagens fracamente tipificadas– stub cliente não consegue determinar tamanho

• Nem sempre é possível deduzir os tipos de parâmetros

• Não pode usar variáveis globais– pode ser movido para máquina remota

Chamada de Procedimento Remoto (2)

29

Page 30: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Memória Compartilhada Distribuída (1)

• Note os níveis onde ela pode ser implementadaa) hardwareb) sistema operacionalc) software no nível do usuário

30

Page 31: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Replicação(a) Páginas distribuídas em 4 máquinas

(b) CPU 0 lê página 10

(c) CPU 1 lê página 10

Memória Compartilhada Distribuída (2)

31

Page 32: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Falso compartilhamento• Deve também obter consistência seqüencial

Memória Compartilhada Distribuída (3)

32

Page 33: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Escalonamento em MulticomputadorBalanceamento de Carga (1)

• Algoritmo determinístico grafo-teórico

33

Page 34: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Balanceamento de Carga (2)

• Algoritmo heurístico distribuído iniciado pelo emissor– emissor sobrecarregado

34

Page 35: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Algoritmo heurístico distribuído iniciado pelo receptor– com receptor subatarefado

Balanceamento de Carga (3)

35

Page 36: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Sistemas Distribuídos (1)

Comparação de três tipos de sistemas com múltiplas CPUs

36

Page 37: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Atingindo uniformidade com middleware

Sistemas Distribuídos (2)

37

Page 38: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Hardware de Rede (1)

• Ethernet(a) Ethernet clássica(b) Ethernet com chave (switch)

38

Page 39: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

A Internet

Hardware de Rede (2)

39

Page 40: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Serviços de Rede e Protocolos (1)

Serviços de Rede

40

Page 41: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Protocolo da Internet - IP• Protocolo de Transmissão e Controle – TCP • Interação de Protocolos

Serviços de Rede e Protocolos (2)

41

Page 42: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Middleware com Base em Documentos (1)

• A Web– um grande grafo dirigido de documentos

42

Page 43: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Como o navegador obtém uma página1. Pergunta ao DNS pelo endereço IP

2. DNS responde com o endereço IP

3. Navegador abre uma conexão

4. Envia requisição para página especificada

5. Servidor envia arquivo

6. Conexão TCP liberada

7. Navegador exibe texto

8. Navegador busca, exibe imagens

Middleware com Base em Documentos (2)

43

Page 44: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Middleware Baseado no Sistema de Arquivos (1)

• Modelos de Transferência(a) modelo upload/download

(b) modelo de acesso remoto44

Page 45: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Middleware Baseado no Sistema de Arquivos (2)

Transparência de nomeação(b) Clientes têm a mesma visão do sistema de arquivos(c) Alternativamente, clientes com diferentes visões

45

Page 46: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Semântica do compartilhamento de arquivos– (a) processador único provê consistência seqüencial– (b) sistema distribuído pode retornar valor obsoleto

Middleware Baseado no Sistema de Arquivos (3)

46

Page 47: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

a) AFS – Andrew File System– Estações de trabalho agrupadas

em células– Note posição de venus e vice

b) Visão do cliente

Middleware Baseado no Sistema de Arquivos (4)

47

Page 48: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Middleware Baseado em Objetos Compartilhados (1)

• Principais elementos de um sistema distribuído baseado em CORBA– Common Object Request Broker Architecture

48

Page 49: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Evolução para sistemas muito grandes– objetos replicados– flexibilidade

• Globe– projetado para evoluir para um bilhão de

usuários– um trilhão de objetos pelo mundo

Middleware Baseado em Objetos Compartilhados (2)

49

Page 50: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Objeto Globe estruturado

Middleware Baseado em Objetos Compartilhados (3)

50

Page 51: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Um objeto compartilhado distribuído no Globe– pode ter seu estado copiado em múltiplos computadores de

uma só vez

Middleware Baseado em Objetos Compartilhados (4)

51

Page 52: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Estrutura interna de um objeto Globe

Middleware Baseado em Objetos Compartilhados (5)

52

Page 53: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Middleware com Base em Coordenação (1)

• Linda– processos independentes– comunicam-se via um espaço de tuplas abstrato

• Tupla– como uma structure em C, record em Pascal

• Operações: out, in, read, eval

53

Page 54: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Arquitetura publica/inscreve

Middleware com Base em Coordenação (2)

54

Page 55: Pearson Education Sistemas Operacionais Modernos – 2ª Edição Sistemas com Múltiplos Processadores Capítulo 8 8.1 Multiprocessadores 8.2 Multicomputadores

Pearson Education Sistemas Operacionais Modernos – 2ª Edição

• Jini – baseado no modelo Linda– dispositivos conectados em uma rede– oferece, usa serviços

• Métodos Jini1. read

2. write

3. take

4. notify

Middleware com Base em Coordenação (3)

55