Upload
internet
View
111
Download
0
Embed Size (px)
Citation preview
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/1
Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais
Francis Berenger MachadoFrancis Berenger MachadoLuiz Paulo MaiaLuiz Paulo Maia
Complementado por Sidney Lucena (Prof. UNIRIO)Complementado por Sidney Lucena (Prof. UNIRIO)
Capítulo 13Capítulo 13Sistemas com Múltiplos ProcessadoresSistemas com Múltiplos Processadores
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/2
Sistemas com Múltiplos Processadores
• Arquiteturas que possuem duas ou mais CPUs interligadas funcionando em conjunto na execução de programas– Processando tarefas independentes ou simultaneamente
processando uma mesma tarefa– Paralelismo a nível de instrução ou de tarefas
• Opção com melhor custo/benefício em relação a desenvolver processadores mais rápidos– Custo elevado, limitações físicas p/ maior desempenho
• Surgimento de aplicações que demandam grande poder computacional:– Previsão do tempo, Dinâmica dos fluidos, Genoma
humano, Simulação de eventos raros, Modelagem computacional de sistemas
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/3
Principais Vantagens
• Desempenho:– Apesar de não ser linear, desempenho aumenta a
medida que novos processadores são acrescentados à arquitetura
• Maior throughput, menor tempo de resposta, menor tempo de processamento
– Ganho obtido pela execução simultânea de tarefas independentes
• Aumento de throughput, atende número maior de usuários simultaneamente
– Ganho obtido pela execução simultânea de uma mesma tarefa por vários processadores
• Depende da organização dos processadores, linguagem de programação utilizada, grau de paralelismo da aplicação
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/4
Principais Vantagens
• Escalabilidade:– Capacidade de computação é ampliada ao se adicionar
novos processadores ao hardware• Custo inferior ao da aquisição de um sistema com
maior desempenho
• Relação custo/desempenho
• Tolerância a falhas e disponibilidade– Sistema se mantém em operação mesmo no caso de
falha de algum dos processadores• Apenas a capacidade é diminuída
– Disponibilidade aumenta em função do número mais reduzido de paradas
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/5
Balanceamento de Carga e Desvantagens
• Balanceamento de carga:– Distribuição do processamento entre os diversos
processadores melhora desempenho do sistema como um todo
• Desvantagens de sistemas multiprocessadores:– Introdução de novos problemas de comunicação e
sincronização• P/ex.: vários processadores podem estar acessando a
mesma posição de memória– Organização de processadores, memórias e periféricos
devem permitir boa relação custo/benefício– Tolerância a falhas pode ser dependente do SO e não
apenas do hardware• Difícil implementação
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/6
Tipos de Sistemas Computacionais
• Podem ser classificados quanto ao grau de paralelismo no processamento de instruções e dados
• Modelo proposto por Flynn (1966) ainda é usado:– SISD (Single Instruction Single Data)
• Sistemas que suportam seqüência única de instrução e apenas uma seqüência de dados
• Engloba maioria dos sistemas monoprocessador– SIMD (Single Instruction Multiple Data)
• Sistemas que suportam seqüência única de instruções e múltiplas seqüências de dados
• Permite a execução de uma mesma instrução sobre diferentes elementos de dados (p/ex., vetores)
• Vantajoso p/ aplicações c/ alto grau de paralelismo
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/7
Tipos de Sistemas Computacionais
– SIMD (Single Instruction Multiple Data)• Computadores específicos desenvolvidos para este
modelo, chamados supercomputadores ou computadores vetoriais
– Ex.: Cray T90, com 8 registradores vetoriais, cada qual com 128 elementos, e até 32 processadores
– MISD (Multiple Instruction Single Data)• Permite múltiplas seqüências de instrução e um única
seqüência de dados• Nenhuma arquitetura desenvolvida para este modelo
– MIMD (Multiple Instruction Multiple Data)• Múltiplas seqüências de instrução e múltiplas
seqüências de dados• Compreende maioria dos sistemas com múltiplos
processadores
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/8
Sistemas Fortemente e Fracamente Acoplados
• Arquiteturas MIMD podem ser classificadas quanto a seu grau de acoplamento– Compartilhamento de memória, distância entre
processadores, tempos de acesso, mecanismos de comunicação e sincronização
• Sistemas fortemente acoplados são aqueles onde os processadores compartilham uma mesma MP e são governados por um mesmo SO
• Sistemas fracamente acoplados são aqueles que possuem dois ou mais sistemas computacionais independentes conectados em rede
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/9
Sistemas Fortemente e Fracamente Acoplados
U C P U C PM em ó riaPr in cip a l
D ispo sitivo sd e E/ S
D ispo sitivo sd e E/ S
(a ) Sistem a s fo rtem ente acop lad os
U C P U C P
M em ó riaPr in cip a l
M em ó r iaPr in cip a l
D ispo sitivo sd e E/ S
l in k de com u n icaçã o
D ispo sitivo sd e E/ S
(b ) Sistem a fraca m en te a co p la dos
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/10AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Sistemas Fortemente e Fracamente Acoplados
• Sistemas fortemente acoplados podem ser subdivididos quanto à forma de compartilhamento de memória– SMP (Symmetric Multiprocessors)
• 2 ou mais processadores compartilhando mesmo espaço de endereçamento
• Tempo de acesso à MP é uniforme p/ processadores
– NUMA (Non-Uniform Memory Access)• Tempo de acesso à memória depende da localização
física do processador• Vários conjuntos de processadores e memória, cada
conjunto ligado aos demais por uma rede de interconexão
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/11AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Sistemas Fortemente e Fracamente Acoplados
M IM D
Sistem a s Fo rtem enteA cop la do s
SM P Sistem a sD istr ib u ído sC lu ster
Sistem a sO peracion a is
d e RedeN U M A
Sistem a s Fracam en teA cop la do s
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/12
Arquitetura dos Sistemas Simétricos
• A organização interna de processadores, memória e dispositivos de E/S determinam o dimensionamento do sistema e o mecanismo de acesso à MP– Fundamental para o projeto de sistemas simétricos
• Formas de interligação mais usuais das unidades funcionais:– Barramento único– Barrameno único com cache– Barramento cruzado comutado (crossbar)– Rede Ômega
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/13
Arquitetura dos Sistemas Simétricos
• Barramento único– Forma mais simples, econômica e flexível– Somente uma unidade funcional pode usar o
barramento num dado instante• Gargalo!
– Se barramento falha, todo o sistema é comprometido
D ispo sitivo sd e E/ SM em ór ia
Pr in cip a l
U C P U C P U C P
. . .
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/14
Arquitetura dos Sistemas Simétricos
• Barramento único com cache – Reduz limitação imposta pela velocidade do barramento
• Cache reduz latência das operações de acesso à MP– Apresenta problema de Coerência de Cache:
• Caches de cada processador podem ter sido modificadas para os mesmos endereços na MP
• Solução mais usada: write-back c/ write-invalidate
C a che C a cheC a che
D ispo sitivo sd e E/ SM em ó r ia
Pr in cip a l
U C P U C P U C P
. . .
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/15
Arquitetura dos Sistemas Simétricos
• Barramento cruzado comutado– MP é dividida em N módulos, unidades funcionais
conectadas entre si por uma matriz comutadora (crossbar)
• Possibilita N comunicações simultâneas• HW e SO devem resolver conflitos de acesso• Se N for grande, custo da matriz será muito alto
P1
P2
P3
P4
M 1 M 2 M 3 M 4
C om uta do r
M em ória s
Pro
cess
ad
ore
s
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/16
Arquitetura dos Sistemas Simétricos
• Rede Omega – Forma de reduzir o custo da matriz de comutação da
arquitetura crossbar– Não há ligações exclusivas entre processadores e
módulos de memória, caminhos são compartilhados • Usa técnica de comutação das redes de pacotes
– Aumenta a possibilidade de conflitos, maior latência
M 1
M 2
M 3
M 4
P1
P2
P3
P4
C om utado r
M em ór ia sProcessad o res
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/17
Sistemas NUMA
• Vários conjuntos de processadores e memória, interconectados por rede interna, compartilham mesmo SO e espaço de endereçamento– Tempo de acesso à memória segue esquema hierárquico
• Acessos mais rápidos à memória “local”
M 1P2 P3P1
M 2P5 P6P4
M 3P8 P9P7
Barram ento in terno
Ba
rra
men
to i
nte
r-co
nju
nto
Co
nju
nto
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/18
Sistemas NUMA
• Redes de interligação dos conjuntos de processadores + memória
(a ) Fa t- tree
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/19
Sistemas NUMA
• Redes de interligação dos conjuntos de processadores + memória
(b ) A n el
(c) G rid 2D
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/20
Sistemas NUMA
• Redes de interligação dos conjuntos de processadores + memória
(d ) To rus 2D (e) H ip ercub o
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/21
Sistemas NUMA
• Arquitetura DASH (Universidade de Standford)– Cada conjunto possui 4 processadores, módulo da MP,
dispositivos de E/S e Diretório• Diretório: estrutura usada para fazer coerência de
cache
C 1 C 2 C 3 C 4
C 5 C 6 C 7 C 8
C 9 C 10 C 11 C 12
C 13 C 14 C 15 C 16
M P D iretó r io
P P P P
C on ju n to
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/22
Sistemas NUMA
• Arquitetura do Multiplus (NCE/UFRJ)– Cada EP formado por processador, cache e módulo da
MP– Rede de interconexão usa topologia n-cube invertido
EP1 EP2 EP3 EP8. . .
EP1 EP2 EP3 EP8. . .
Red
e d
e In
terc
on
exã
o M
ulti
está
gio
.
.
.
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/23
Clusters
• São sistemas fracamente acoplados, formados por nós interconectados em rede dedicada de alto desempenho– Cada nó (membro) possui seus próprios recursos
(processador, MP, SO, E/S, etc)– Cada membro possui seu próprio espaço de
endereçamento
G ab in eted e d isco s
Rede de in tercon exão
Mem
bro
1
Mem
bro
2
Rede de acesso
• Escalabilidade, disponibilidade, tolerância a falhas, balanceamento de carga
• Transparência para o usuário
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/24
Topologias de Redes de Computadores
• Rede de computadores– Nós são totalmente independentes dos demais,
podendo ser heterogêneos• Cada nó possui seu próprio SO, processador, MP, etc• Cada nó é unicamente identificado na rede
H ost
H ost
H ost
H ost
H ost
H ost
H ost
H ost
Rede deC om un icaçã o
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/25
Topologias de Redes de Computadores
• Topologias de redes de computadores
(a ) A ne l (b ) Estrela (c) To ta lm enteLiga da
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/26
Topologias de Redes de Computadores
• Topologias de redes de computadores
(d ) Ba rram en to
(e) Á rvo re(f) Pa rcia lm en te
Liga da
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/27
Sistemas Distribuídos
• Conjunto de sistemas interconectados por rede que funcionam como se fosse um único sistema– Sistemas fracamente acoplados do ponto de vista de
HW mas fortemente acoplados do ponto de vista de SW– Para usuários e aplicações é como se não houvesse
rede, apenas uma imagem única do sistema (single system image)
Rede de C o m p utad o res
Im ag em ún icad o sistem as
U su á r io
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
13/28
Sistemas Distribuídos
• Permitem a execução de aplicações distribuídas– Partes da aplicação podendo ser executadas em
qualquer dos sistemas componentes– Necessário haver transparência e tolerância a falhas em
diversos níveis:• Transparência de acesso• Transparência de localização• Transparência de migração• Transparência de replicação• Transparência de concorrência• Transparência de paralelismo• Transparência de desempenho• Transparência de escalabilidade• Transparência a falhas (incluindo falhas de SW)