290 likes | 494 Views
Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado Capítulo 13 Sistemas com Múltiplos Processadores. Sistemas com Múltiplos Processadores. Arquiteturas que possuem duas ou mais CPUs interligadas funcionando em conjunto na execução de programas
E N D
Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado Capítulo 13 Sistemas com Múltiplos Processadores
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
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
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
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
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
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
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
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 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)
Sistemas Fortemente e Fracamente Acoplados ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)
Arquiteturados 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)
Arquiteturados 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)
Arquiteturados 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
Arquiteturados 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
Arquiteturados 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
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”
Sistemas NUMA • Redes de interligação dos conjuntos de processadores + memória
Sistemas NUMA • Redes de interligação dos conjuntos de processadores + memória
Sistemas NUMA • Redes de interligação dos conjuntos de processadores + memória
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
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
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 • Escalabilidade, disponibilidade, tolerância a falhas, balanceamento de carga • Transparência para o usuário
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
Topologias de Redes de Computadores • Topologias de redes de computadores
Topologias de Redes de Computadores • Topologias de redes de computadores
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)
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)