Sistemas Operacionais SISTEMAS COM MÚLTIPLOS PROCESSADORES LIVRO TEXTO: CAPÍTULO 13, PÁGINA 243 Prof. Pedro Luís Antonelli Anhanguera Educacional
INTRODUÇÃO Arquiteturas que possuem duas ou mais CPUs interligadas que funcionam em conjunto na execução de tarefas independentes ou no processamento simultâneo de uma mesma tarefa Implementar Paralelismo em Hardware Surgiram na década de 1960 para acelerar a execução de aplicações que lidavam com um grande volume de cálculos
VANTAGENS Desempenho Execução simultânea de tarefas independentes Execução de uma mesma tarefa por vários processadores Escalabilidade Capacidade de adicionar novos processadores Relação custo/desempenho Utilização de CPUs adicionais Tolerância a falhas e disponibilidade Capacidade de manter o sistema em operação em casos de falhas em algum componente Balanceamento de carga Distribuição do processamento entre os diversos componentes da configuração
DESVANTAGENS Problemas de comunicação e sincronização Organizar de forma eficiente os processadores Tolerância contra falhas é dependente do SO
TIPOS DE SISTEMAS COMPUTACIONAIS Classificados conforme o grau de paralelismo SISD (Single Instruction Single Data) Única seqüência de instrução é uma seqüência de dados Usado na maioria dos computadores SIMD (Single Instruction Multiple Data) Única seqüência de instruções e múltiplas seqüências de dados Vantajosa para aplicações com elevado grau de paralelismo de dados
TIPOS DE SISTEMAS COMPUTACIONAIS Classificados conforme o grau de paralelismo MISD (Multiple Struction Simple Data) Múltiplas seqüências de instruções e única seqüência de dados Não existe computador com este modelo MIND (Multiple Instruction Multiple Data) Sistemas com múltiplos processadores
SISTEMAS FORTEMENTE E FRACAMENTE ACOPLADOS Arquitetura MIND (Flynn 1966) Fortemente Acoplados Processadores compartilham uma única memória principal e são controlados por apenas um SO MACHADO, fig.13.1 a, pag 247 Sistemas fortemente acoplados
SISTEMAS FORTEMENTE E FRACAMENTE ACOPLADOS Arquitetura MIND (Flynn 1966) Fracamente Acoplados Possuem dois ou mais sistemas computacionais independentes conectados por uma rede de comunicação, com processadores e memórias e E/S próprios MACHADO, fig.13.1 b, pag 247 Sistemas fracamente acoplados
SISTEMAS FORTEMENTE E FRACAMENTE ACOPLADOS Arquitetura MIND (Bell 1985) Grau de acoplamento de memória principal: Multiprocessadores Compartilham um espaço de endereçamento Multicomputadores Possuem espaço de endereçamento próprio MACHADO, fig.13.2, pag 248 Sistemas com múltiplos processadores
SISTEMAS COM MULTIPROCESSADORES SIMÉTRICOS SMP (Simetric Multiprocessors) Dois ou mais processadores compartilhando um único espaço de endereçamento e gerenciados por um único SO Evolução dos sistemas com múltiplos processadores assimétricos (mestre/escravo) Todos os processadores realizam a mesma função Barramento Único Barramento Único com Cache
ARQUITETURA DOS SISTEMAS SIMÉTRICOS SMP (Simetric Multiprocessors) Barramento Cruzado comunicação simultânea entre diferentes unidades funcionais, onde o hardware é responsável e o SO pela resolução de conflitos de acesso a uma unidade MACHADO, fig.13.5, pag 252 Barramento cruzado comutado
SISTEMAS NUMA (Non Uniform Memory Access) Vários conjuntos de processadores e memórias conectados por uma rede compartilhando o mesmo SO Desempenho das operações de acesso a memória Memória principal é fisicamente distribuída entre processadores e um único espaço de endereçamento compartilhado Alternativa para organizações SMP pois oferecem escalabilidade maior de processadores, menor custo e maior desempenho MACHADO, fig.13.7, pag 254 Exemplo de arquitetura NUMA
TOPOLOGIAS DE SISTEMAS NUMA MACHADO, fig.13.8, pag 255 Topologias NUMA
TOPOLOGIAS DE SISTEMAS NUMA DASH (Directory Architecture for Shared Memory) Formada por 16 conjuntos com 4 processadores cada, uma memória principal e dispositivos de E/S MACHADO, fig.13.9, pag 256 Arquitetura DASH
CLUSTER Sistemas Fracamente Acoplados, formados por nós conectados por uma rede de interconexão de alto desempenho dedicada Cada nó possui seus próprios recursos como processadores, memória, dispositivos de E/S e SO VAXCluster (1983 - DEC) 1º Cluster comercial Digital Equipament Corporation Maior necessidade de tolerância a falhas e alta disponibilidade, escalabilidade e balanceamento de carga Transparente para o usuário Permite o compartilhamento de dispositivos de E/S Permite processamento paralelo
CLUSTER MACHADO, fig.13.11, pag 258 Exemplo de cluster
Master Processador Athlon 1.4GHz MB ASUS A7A266 Memoria: 1 Gb RAM DDR HD SCSI ST36706 36 Gbytes HD IDE Quantum Fireball AS60 60 Gbytes Placa SCSI Adpatec 29160 2 Placas de rede Intel eepro100+ Monitor 15" LG 560A Unidade de fita DAT TLZ09 16 Nodos Processador Athlon 1.4GHz MB ASUS A7A266 Memoria: 512 Mb RAM DDR HD IDE Quantum Fireball 20 Gbytes Placa de rede Intel eepro100+ Conexão Switch Micronet SP624K Etherfast 10/100 EXEMPLO DE CLUSTER
Cluster do CPTEC/INPE 1100 processadores 275 nós com 2 processadores dual AMD Opteron 64-bits nativos velocidade de pico de 5,7 Teraflops 62 Terabytes de disco conexão entre nós com rede rápida InfiniBand Voltaire 10/100 EXEMPLO DE CLUSTER
EXEMPLO DE CLUSTER Columbia (NASA) 23 Nós 14.336 núcleos 304 gabinetes 88.88 Teraflop/s Memória total de 28,672 GB Sistema NUMA 10Gb Ethernet LAN/WAN Sistema de arquivos XFS SUSE Linux Enterprise
SISTEMAS OPERACIONAIS DE REDE Melhor exemplo de Sistema Fracamente Acoplado Cada sistema (Host) possui recursos de hardware próprios Os Nós totalmente independentes, conectados por uma rede Redes Locais (LAN) Ethernet, Token Ring Redes distribuídas (WAN) Internet Comunicação por uma interface de rede Sistemas heterogêneos, (TCP/IP) Exemplos Microsoft Windows 2003 Novel Netware UNIX Linux MACHADO, fig.13.12, pag 259 Rede de computadores
TOPOLOGIAS DE REDE DE COMPUTADORES MACHADO, fig.13.13, pag 260 Topologias de redes de computadores
SISTEMAS DISTRIBUÍDOS Conjunto de sistemas autônomos, interconectados por uma rede de comunicação que funciona como se fosse um sistema fortemente acoplado Cada componente possui seus próprios recursos Relacionamento mais forte entre os seus componentes Sistema Fracamente Acoplado pelo aspecto de hardware e fortemente acoplado pelo aspecto de software LAN ou WAN Escalabilidade ilimitada Aplicações distribuídas Transparência Tolerância a falhas MACHADO, fig.13.14, pag 261 Sistema distribuído
TRANSPARÊNCIA EM SISTEMAS DISTRIBUÍDOS 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 no desempenho Transparência de escalabilidade Transparência a falhas
TRANSPARÊNCIA EM SISTEMAS DISTRIBUÍDOS Tolerância a Falhas Garantir que, em caso de problema em um de seus componentes, as aplicações continuem sendo processadas sem qualquer interrupção ou intervenção do usuário, de forma totalmente transparente Tolerância a falhas de hardware é facilmente oferecida utilizando-se componentes redundantes Tolerância a falhas de software é bem mais complexa de implementar Com a tolerância a falhas, é possível também oferecer alta disponibilidade e confiabilidade
TRANSPARÊNCIA EM SISTEMAS DISTRIBUÍDOS Imagem Única do Sistema A maior dificuldade em implementar um sistema distribuído é a complexidade em criar para os usuários e suas aplicações uma imagem única do sistema, a partir de um conjunto de sistemas autônomos Capacidade de lidar com os diversos problemas de comunicação existentes em um ambiente fracamente acoplado O sistema precisa oferecer tolerância a falhas de forma Exige mecanismos mais complexos e lentos para manter a integridade e segurança dos dados Um dos grandes desafios para a adoção de sistemas distribuídos é a dificuldade no desenvolvimento de aplicações paralelas
BIBLIOGRAFIA MACHADO, F. B. & MAIA, L. P., Arquitetura de Sistemas Operacionais, 4 Edição, São Paulo, LTC, 2007. TANENBAUM, A. S. Sistemas Operacionais Modernos: 2ª edição, São Paulo, editora Prentice Hall, 2003. SILBERSCHATZ, A. Sistemas Operacionais Conceitos: São Paulo, editora LTC, 2004.