Title: Arquitetura de Sistemas Operacionais
1- Arquitetura de Sistemas Operacionais
- Francis Berenger Machado
- Luiz Paulo Maia
- Complementado
- Capítulo 13
- Sistemas com Múltiplos Processadores
2Sistemas 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
3Principais 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
4Principais 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
5Balanceamento 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
6Tipos 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
7Tipos 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
8Sistemas 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
9Sistemas Fortemente e Fracamente Acoplados
10Sistemas 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
ASO Machado/Maia complem. por Sidney Lucena
(UNIRIO)
11Sistemas Fortemente e Fracamente Acoplados
ASO Machado/Maia complem. por Sidney Lucena
(UNIRIO)
12Arquitetura 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
ASO Machado/Maia complem. por Sidney Lucena
(UNIRIO)
13Arquitetura 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
ASO Machado/Maia complem. por Sidney Lucena
(UNIRIO)
14Arquitetura 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
15Arquitetura 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
16Arquitetura 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
17Sistemas 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
18Sistemas NUMA
- Redes de interligação dos conjuntos de
processadores memória
19Sistemas NUMA
- Redes de interligação dos conjuntos de
processadores memória
20Sistemas NUMA
- Redes de interligação dos conjuntos de
processadores memória
21Sistemas 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
22Sistemas 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
23Clusters
- 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
- Escalabilidade, disponibilidade, tolerância a
falhas, balanceamento de carga - Transparência para o usuário
24Topologias 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
25Topologias de Redes de Computadores
- Topologias de redes de computadores
26Topologias de Redes de Computadores
- Topologias de redes de computadores
27Sistemas 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)
28Sistemas 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)