1 / 28

Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado

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

pavel
Download Presentation

Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado Capítulo 13 Sistemas com Múltiplos Processadores

  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

  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

  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

  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

  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

  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

  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

  9. Sistemas Fortemente e Fracamente Acoplados

  10. 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)

  11. Sistemas Fortemente e Fracamente Acoplados ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)

  12. 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)

  13. 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)

  14. 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

  15. 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

  16. 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

  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”

  18. Sistemas NUMA • Redes de interligação dos conjuntos de processadores + memória

  19. Sistemas NUMA • Redes de interligação dos conjuntos de processadores + memória

  20. Sistemas NUMA • Redes de interligação dos conjuntos de processadores + memória

  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

  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

  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 • Escalabilidade, disponibilidade, tolerância a falhas, balanceamento de carga • Transparência para o usuário

  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

  25. Topologias de Redes de Computadores • Topologias de redes de computadores

  26. Topologias de Redes de Computadores • Topologias de redes de computadores

  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)

  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)

More Related