68
Sistemas Distribuídos Conceitos HW e SW Edeyson Andrade Gomes www.edeyson.com.br

02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

  • Upload
    lamdieu

  • View
    221

  • Download
    5

Embed Size (px)

Citation preview

Page 1: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Sistemas Distribuídos

Conceitos HW e SW

Edeyson Andrade Gomes

www.edeyson.com.br

Page 2: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Roteiro da Aula

Page 3: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Roteiro da Aula

� Conceitos de Hardware

� Conceitos de Software

� Combinações de SW e HW

Sistemas Distribuídos Edeyson Andrade Gomes3

Page 4: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Conceitos de Hardware

Page 5: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Conceitos de HW

� Múltiplas CPUs� Diferentes formas de organização do hardware

� Interconexão

� Comunicação

Sistemas Distribuídos Edeyson Andrade Gomes5

Page 6: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Conceitos de HW

� Esquemas de classificação� Sistemas com várias CPUs� Taxonomia de Flynn

� Mais citada

� Rudimentar� Rudimentar

� Características essenciais:�Número de fluxos de instruções�Número de fluxos de dados

Sistemas Distribuídos Edeyson Andrade Gomes6

Page 7: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Taxonomia de Flynn

� SISD (Single Instruction, Single Data streams)

� Computadores com um único processador

� Microprocessadores tradicionais

� Mainframes

� SIMD (Single Instruction, Multiple Data streams)

� Processadores vetoriais

� Supercomputadores

� Uma instrução X dados em paralelo

Sistemas Distribuídos Edeyson Andrade Gomes7

Page 8: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Taxonomia de Flynn

� MISD (Multiple Instruction, Single Data streams)

� Não existe computador que atenda esse modelo

� MIMD (Multiple Instruction, Multiple Data streams)

� Grupo de computadores independentes� Grupo de computadores independentes

� Sistemas paralelos e distribuídos

Sistemas Distribuídos Edeyson Andrade Gomes8

Page 9: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Modelos

� SISD

UC EP M

CPU

FI FD

UC EP M

Page 10: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Modelos

� SIMD� Processadores Vetoriais

EP1 M1FD1

FD2UC EP2 M2

EPn Mn

.

.

.

FI FD2

FDn

Page 11: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Modelos

� MIMD� Multicomputadores

� Multiprocessadores

Page 12: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Modelos

FI1 FD1EP1UC1 M

emória com

partilhada

CPU

MIMD compartilhada MIMD distribuída

FI1 FD1EP1UC1

Sistem

a de comunicação

M1

CPU

EP2

EP3

EPn

.

.

.

FD2

FD3

FDn

FI2

FI3

FIn

UC2

UC3

UCn

.

.

.

Mem

ória compartilhada

EP1

EP2

EP3

.

.

.

FD2

FD3

FDn

FI2

FI3

FIn

UC1

UC2

UC3

UCn

.

.

.

Sistem

a de comunicação

M1

M2

M3

MnEPn

.

.

.

Page 13: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

MIMD

� Tipos de arquiteturas MIMD utilizadas

� Multiprocessador Simétrico (SMP)� Arquitetura MIMD com memória compartilhada

� Acesso Não-Uniforme à Memória (NUMA)� Acesso Não-Uniforme à Memória (NUMA)� Arquitetura MIMD com memória compartilhada

� Agregado de Computadores (Cluster)� Arquitetura MIMD com memória distribuída

Page 14: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Classificação quanto ao HW

� MIMD pode ser dividido em:

� Multi-processadores� Memória compartilhada (pública)

� Espaço de endereçamento único

� Multi-computadores� Memória não compartilhada (privada)

� Múltiplos espaços de endereçamento

Sistemas Distribuídos Edeyson Andrade Gomes14

Page 15: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Classificação quanto ao HW

� Arquiteturas de interconexão de rede:

� Barramento (BUS)� Rede única, cabo, etc

� Conexão de todas as máquinas

� Switch

� Conexão individual de máquina a máquina

� Sistema de telefonia

Sistemas Distribuídos Edeyson Andrade Gomes15

Page 16: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Classificação quanto ao HW

� Multi-processadores baseados em barramento� várias CPUs

� Barramento comum

� Rápido

� Memória única

� Ex:

� Motherboard com várias CPUs

Sistemas Distribuídos Edeyson Andrade Gomes16

Page 17: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Classificação quanto ao HW

� Barramento comum� Linhas de endereço, dados e controle

� Leitura da memória:

� CPU coloca endereço nas linhas de endereço

� Ativa um sinal na linha de controle correspondente

� Memória responde com conteúdo nas linhas de dados

Sistemas Distribuídos Edeyson Andrade Gomes17

Page 18: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Barramento Comum

� Memória Coerente� CPU A escreve

� CPU B lê (Tb > Ta)� CPU B lê dado da CPU A

� Congestionamento no barramento gera queda no � Congestionamento no barramento gera queda no desempenho� Sobrecarga (várias CPUs)

Sistemas Distribuídos Edeyson Andrade Gomes18

Page 19: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Barramento Comum

� Desempenho melhorado com caches privadas� Cada CPU possui sua CACHE

� Diminui acessos ao barramento

� Número de CPUs pode crescer

� Incoerência de Memória

� Mesmo dado em caches diferentes

� Alteração?

Sistemas Distribuídos Edeyson Andrade Gomes19

Page 20: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Gerência de Cache

� Gerência de Cache Write-Through� Leitura na Cache

� Escrita na Cache e na memória

� Snoopy Cache� Monitorar o barramento

� Escrita em endereço armazenado� Troca

� Snoopy Write-Through Cache� Coerente

� Transparente

Sistemas Distribuídos Edeyson Andrade Gomes20

Page 21: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Switch

� Multi-processadores baseados em Switch� Suporte a multi-processadores com mais de 64 CPUs

� Crosspoint Switch� Estados

� Aberto ou fechado

� Muitos processadores podem acessar diferentes módulos de memória ao mesmo tempo� Módulos têm acesso não simultâneo por várias CPUs

Sistemas Distribuídos Edeyson Andrade Gomes21

Page 22: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Switch

Sistema C.mpp: rede crossbar 16 × 16

(16 proc. PDP11 e 16 módulos de memória) (HWANG, 1993)

Page 23: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Switch

� Desvantagens� n CPUs e n módulos de memória

� n2 crosspoint switches

� Custo proibitivo se n cresce

Sistemas Distribuídos Edeyson Andrade Gomes23

Page 24: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Switch

� Características� CPUs são ligadas aos módulos de memórias por meio de crosspoints (switches que são eletronicamente abertos/fechados para conectar um par processador-memória);

� Acessos à memória em paralelo, desde que para módulos de memória distintos.memória distintos.

Page 25: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Switch

Page 26: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Redes Omega

� Redes alternativas de Switch� Exemplo:

� 4 switches 2 X 2 com 2 entradas e 2 saídas cada.

� Toda CPU pode acessar qualquer módulo de memória

Sistemas Distribuídos Edeyson Andrade Gomes26

M

M

M

M

C

C

C

CSwitch2 X 2

Page 27: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Redes Multiestágio

Rede Omega (switches 2x2)

Page 28: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Redes Omega

� Caso geral de Redes Omega� n CPUs e n módulos de memória

� Log2n estágios de switches

� Cada estágio contém n/2 switches

� Total: (n log2n) /2 switches

� Performance� Número de estágios determina Overhead

� Switchs mais rápidos� Maior Custo

Sistemas Distribuídos Edeyson Andrade Gomes28

Page 29: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Sistema com 512 MB de RAM (= endereços de 29 bits) divididos em 8

módulos de memória (= módulos de 64 MB). Portanto, os 3 primeiros

bits especificam o módulo de memória, os outros 26 especificam um

endereço dentro do módulo.

CPU 01

REDES OMEGA

CPU 02

CPU 03

CPU 04

CPU 05

CPU 06

CPU 07

CPU 08

Page 30: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

CPU 03 executa instrução

LOAD (110 00000000000000000000000001), i.e., para

um endereço que está “contido” no módulo 110.

CPU 01

REDES OMEGA

Load

CPU 02

CPU 03

CPU 04

CPU 05

CPU 06

CPU 07

CPU 08

Page 31: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

O switch 1C verifica o 1º digito do campo módulo (um switch no 1º

estágio da rede verifica o 1º dígito do campo módulo), neste caso 1. Um

valor 1 indica que a requisição de leitura deve prosseguir pela saída

inferior do switch, neste caso indo para o switch 2B.

CPU 01

CPU 02

REDES OMEGA

CPU 02

CPU 03

CPU 04

CPU 05

CPU 06

CPU 07

CPU 08

Page 32: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

O switch 2B, no estágio 2 da rede, analisa o segundo dígito do campo

módulo, que também é 1, e a requisição prossegue através do switch 3D.

CPU 01

CPU 02

REDES OMEGA

CPU 03

CPU 04

CPU 05

CPU 06

CPU 07

CPU 08

Page 33: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

O switch 3D, no estágio 3 da rede, verifica o terceiro dígito do campo

módulo, que é 0 (zero). Um valor 0 indica que a operação deve prosseguir

pela a saída superior do switch. Então, o módulo 110 é “alcançado”.

CPU 01

CPU 02

REDES OMEGA

CPU 02

CPU 03

CPU 04

CPU 05

CPU 06

CPU 07

CPU 08

Page 34: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

REDES OMEGA

� Para a construção da rede anterior foram utilizados 12 switches (para uma rede n × n utilizam-se log2 n estágios e n/2 switches por estágio, num total de (log2 n) * n/2 switches). Para a construção de uma rede crossbar seriam necessários n2 switches.

� A desvantagem de uma rede multiestágio em relação à � A desvantagem de uma rede multiestágio em relação à crossbar, é que nem sempre dois acessos podem ocorrer em paralelo, mesmo que sejam para módulos diferentes.

Page 35: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Sistemas Hierárquicos

� Redução de Custo� Cada CPU possui memória

� Acesso local rápido e em outra CPU é lento� NUMA (NonUniform Memory Access)

� Máquinas Numa� Tempo de acesso médio melhor que redes Omega� Maior complexidade� Maior complexidade

� Alocação de programas, dados, etc.� Maximizar acesso local

Sistemas Distribuídos Edeyson Andrade Gomes35

Page 36: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

NUMA

� Assim como em SMPs, neste tipo de arquitetura existem dois ou mais processadores, que compartilham uma memória global (= um único espaço de endereçamento).

� Em um sistema NUMA os processadores são organizados em nós.

� Cada nó possui 1 ou mais processadores, com sua(s) � Cada nó possui 1 ou mais processadores, com sua(s) própria(s) memória(s) cache (um, dois, ou mais níveis) e alguma memória principal conectados por um barramento ou outro sistema de interconexão.

Page 37: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

NUMA

Page 38: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

NUMA

� A principal característica de uma arquitetura NUMA é o acesso não uniforme à memória, ou seja, embora todos os processadores possam acessar todas as posições de memória, os tempos de acesso variam de acordo com o endereço acessado.

Page 39: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

NUMA

� O acesso a uma posição de memória local (memória no mesmo nó do processador que está realizando o acesso) é mais rápido do que o acesso a uma posição de uma memória remota.

� Assim, o sistema operacional de uma máquina NUMA � Assim, o sistema operacional de uma máquina NUMA deveria, sempre que possível, escalonar as threads de um processo entre os processadores do nó da memória usada pelo processo.

Page 40: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

NUMA

� O programador usando uma arquitetura NUMA também deveria explorar a localidade.

� O sistema operacional Windows, por exemplo, oferece uma série de funções através da API Win32 para programação em sistemas NUMA.programação em sistemas NUMA.

Page 41: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

NUMA

� Existem dois tipos de arquiteturas NUMA� NC-NUMA

� NUMA que não utiliza cache

� CC-NUMA (Cache Coherent NUMA)� NUMA com cache (e coerência de cache)NUMA com cache (e coerência de cache)

Page 42: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Uma das primeiras máquinas NC-NUMA foi a Carnegie-Mellon

Cm. Era composta por uma coleção de CPUs LSI-11 (uma

versão em chip único do PDP-11), cada uma com uma

memória acessível diretamente através de um barramento

local. Os nós eram interconectados por um barramento de

sistema.

NC-NUMA

NC-NUMA Carnegie-Mellon Cm

sistema.

Page 43: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

A MMU em cada referência à memória verificava se o

endereço pertencia à memória local. Se sim, a requisição

era feita à memória local, via barramento local. Caso

contrário era feita ao nó remoto, através do barramento de

sistema.

NC-NUMA

NC-NUMA Carnegie-Mellon Cm

Page 44: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

� A coerência dos dados em máquinas NC-NUMA

é garantida porque não existe caching;

� Porém, um dado no lugar “errado” gera muitas

penalidades. Se forem feitas três referências

NC-NUMA

penalidades. Se forem feitas três referências

seguidas a uma posição de memória remota, são

necessárias três buscas através do barramento

de sistema.

Page 45: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

� Para amenizar este problema, usam-se

esquemas implementados em software. Por

exemplo: um daemon pode fazer estatísticas de

uso do sistema.

NC-NUMA

� Se for verificado que uma página parece estar

no lugar “errado”, ele remove esta página da

memória para que da próxima vez ocorra uma

page fault ela possa ser alocada em um novo nó.

Page 46: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

• Um sistema NUMA com coerência de cache é chamado

CC-NUMA. A existência de cache requer algum protocolo de

coerência.

• O método mais popular para a coerência de cache em

sistema CC-NUMA é baseado no conceito de diretório.

CC-NUMA

sistema CC-NUMA é baseado no conceito de diretório.

• O diretório funciona como uma espécie de banco de dados

que indica a localização das várias porções de memória,

assim como o status das caches.

Page 47: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

A figura abaixo ilustra um sistema CC-NUMA com 256 nós,

1 processador por nó, 16 MB por nó (256 x 16 = 4GB RAM

= endereços de 32 bits). A memória dos nós é acessada

em blocos de 64 bytes.

CC-NUMA

Diagrama de um sistema CC-NUMA

0 – 16 MB 16 – 32 MB

Page 48: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

CC-NUMA

Coerência baseada em diretórios

Mem. 16 MB

Diretório

Bloco 218

.....218....

NÓ 89

Bloco 0

Bloco 1

64 bytes

1

0

2

...

3

4

nó (8 bits)

17

214

Page 49: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

(1) CPU 20 executa a instrução LOAD 0x24000108

(2) MMU converte endereço lógico emfísico.

CC-NUMA

Coerência baseada em diretórios

Nó Bloco/Linha de Cache Offset

8 bits 18 bits 6 bits

36 4 8

(3) Verifica sua memória cache

(4) Não encontrando envia requisição para nó 36 solicitando bloco 4

Page 50: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Diretório nó 36218.....

(5) Hardware do nó 36 verifica diretório

(6) Entrada do bloco 4 vazia, portanto, ele não se encontra em cache

CC-NUMA

Coerência baseada em diretórios

1

0

2

3

4

nó (8 bits)

82

ele não se encontra em cache

(7) Hardware do diretório 36 envia o bloco 4 à CPU 20 e atualiza o diretório

20

Page 51: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Problema de Custo

� Construção de grandes multi-processadores� Fortemente acoplados

� Memória Compartilhada� Difícil e Caro

� Solução?� Solução?

� Multi-computadores

Sistemas Distribuídos Edeyson Andrade Gomes51

Page 52: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Multi-computadores

� Baseados em Barramento� Memória Privada

� Cada CPU possui sua memória local

� Comunicação CPU-CPU� Menor tráfego que CPU-Memória� Menor tráfego que CPU-Memória

� Requisitos de performance

� Rede local (10-100 Mbps 1Gbps)

� Barramento

Sistemas Distribuídos Edeyson Andrade Gomes52

Page 53: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Multi-computadores

MemóriaLocal

CPU

MemóriaLocal

CPU

MemóriaLocal

CPU

Sistemas Distribuídos Edeyson Andrade Gomes53

Page 54: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Multi-computadores

� Baseados em Switch� Malhas

� Problemas de natureza bidimensional

� Teoria dos Grafos

� Crescimento dos caminhos� Raiz quadrada do número de CPUs

Sistemas Distribuídos Edeyson Andrade Gomes54

Page 55: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Multi-computadores

� Baseados em Switch� Hipercubos

� Cubo n-dimensional� Cada CPU com n conexões para outras CPUs� Crescimento logarítmico� Conexão de CPUs próximas (vizinhas)

� Caminho das mensagens� Caminho das mensagens� Menor que com Malhas� Logarítmico

� Milhares de CPUs

Sistemas Distribuídos Edeyson Andrade Gomes55

Page 56: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Conceitos de Software

Page 57: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Conceitos de Software

� Software fracamente acoplado

� Máquinas e usuários independentes entre si

� Interação limitada

� Sistema Distribuído

� Grupo de computadores (PCs)� Grupo de computadores (PCs)

� Rede Local

� Compartilhamento

Sistemas Distribuídos Edeyson Andrade Gomes57

Page 58: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Conceitos de Software

� Software fracamente acoplado

� Falha na rede

� Computadores individuais operam com falta dos recursos compartilhados

� Funcionalidades:

� Arquivos

� Impressoras

Sistemas Distribuídos Edeyson Andrade Gomes58

Page 59: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Combinações de SW e HW

59

Page 60: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Combinações de SW e HW

� SW fracamente acoplado em HW fracamente acoplado (multi-computador)� Combinação mais comum

� Sistema operacional de rede� Máquinas com alto grau de autonomia

� Poucos requisitos de sistemas� Poucos requisitos de sistemas

� Heterogeneidade

� Estações de trabalho + LAN

Sistemas Distribuídos Edeyson Andrade Gomes60

Page 61: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Combinações de SW e HW

� SW fracamente acoplado em HW fracamente acoplado (multi-computador)

� Cada estação tem seu próprio Sistema Operacional

� Execução local de comandos e programas

� Conexão remota a outras máquinasConexão remota a outras máquinas� Terminais remotos

Sistemas Distribuídos Edeyson Andrade Gomes61

Page 62: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Combinações de SW e HW

� SW fracamente acoplado em HW fracamente acoplado (multi-computador)� Compartilhamento de dados através de sistema de arquivos distribuído

� Comunicação mais conveniente� Compartilhamento de informação� Compartilhamento de informação

� Servidores de arquivos� Diferentes sistemas nos clientes

� Visões dos arquivos?

� Transparência

� Padrão para troca de mensagens

Sistemas Distribuídos Edeyson Andrade Gomes62

Page 63: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Combinações de SW e HW

� SW fortemente acoplado em HW fracamente acoplado (multi-computador)� Meta:

� “Ilusão” de que a rede é um sistema único, ao invés de uma coleção de computadores

� Imagem de sistema único

Uniprocessador Virtual� Uniprocessador Virtual

� Transparência

� Multi-computadores são transparentes ao usuário

Sistemas Distribuídos Edeyson Andrade Gomes63

Page 64: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Combinações de SW e HW

� SW fortemente acoplado em HW fracamente acoplado (multi-computador)� Mecanismo global de comunicação entre processos

� Comunicação local = comunicação remota

� Esquema de proteção global� Igual gerência de processos� Igual gerência de processos

� Interface para manipulação de processos� Criar, destruir, iniciar, parar,...

� System Calls para ambiente distribuído� Não basta serem iguais

� Mesma Interface

Sistemas Distribuídos Edeyson Andrade Gomes64

Page 65: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Combinações de SW e HW

� SW fortemente acoplado em HW fracamente acoplado (multi-computador)� Visão igual do sistema de arquivos

� Restrições, nomenclatura, direitos, ...

� Mesma interface para System Calls� Mesma interface para System Calls� Kernel idêntico nas diversas CPUs

� Conseqüência lógica

� Facilidade na coordenação de atividades

� Cooperação entre os diversos kernels

Sistemas Distribuídos Edeyson Andrade Gomes65

Page 66: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Combinações de SW e HW

� SW fortemente acoplado em HW fortemente acoplado� Multi-processador de tempo compartilhado

� Arquiteturas de propósito específico� Databases machines� Databases machines

� Característica principal: fila única de tarefas� O escalonador executa numa região crítica, evitando que dois processadores escolham o mesmo processo simultaneamente

Sistemas Distribuídos Edeyson Andrade Gomes66

Page 67: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Combinações de SW e HW

� SW fortemente acoplado em HW fortemente acoplado

� Sistema de arquivos simples

� É comum o uso de uma memória cache única

� Comunicação através de memória compartilhada

� Cópia única do sistema operacional em execução� Cópia única do sistema operacional em execução

Sistemas Distribuídos Edeyson Andrade Gomes67

Page 68: 02 SOD Conceitos HW SW - edeyson.com.bredeyson.com.br/Arquivos/SD/Aulas/02_SO2_Conceitos_HW_SW.pdf · Conceitos de HW Esquemas de classificação Sistemas com várias CPUs Taxonomia

Conclusão