320 likes | 593 Views
Arquitetura de computadores. Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari. Processamento paralelo. 19/06/2013. Processamento paralelo. Visão geral. Visão geral.
E N D
Arquitetura de computadores Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari
Processamento paralelo 19/06/2013
Processamento paralelo Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Visão geral
Visão geral • O computador tradicionalmente possui uma abordagem como uma máquina sequencial; • Programador desenvolve algoritmos sequenciais; • Processadores executam códigos sequenciais; • Cada instrução possui uma sequencia de operações; • Algumas técnicas tentam quebrar essa visão: • Pipeline; • Superpipeline; • Superescalar; • Surge novos enfoques em termos de paralelismo: • Custo do hardware diminui a ponto de aglutinar: • Várias CPUs (Multiprocessadores simétricos - SMP) , vários Computadores (clusters), e o conceito de NUMA; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Processamento paralelo Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Organizações de Múltiplos Processadores
Tipos de sistemas com processadores paralelos • SISD (Única Instrução, Único Dado): • A unidade de controle (UC) fornece uma sequência de instruções para a unidade de processamento(UP); • A UP opera sobre uma única sequência de dados (SD) de uma única unidade de memória (UM) • Como exemplo podemos utilizar um sistema uniprocessado; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Tipos de sistemas com processadores paralelos • SIMD (Única Instrução, Múltiplos Dados): • A UC alimenta várias UP; • Cada UP opera sobre uma única SD de uma UM; • Como exemplopodemos utilizar os processadores vetoriais e matriciais; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Tipos de sistemas com processadores paralelos • MIMD (Múltiplas Instruções, Múltiplos Dados): • Há múltiplas UC, cada qual alimentando sua própria UC comum a SI diferente; • A memória é compartilhada. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Tipos de sistemas com processadores paralelos • MIMD (Múltiplas Instruções, Múltiplos Dados): • Há múltiplas UC, cada qual alimentando sua própria UC comum a SI diferente; • A memória é distribuída. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Tipos de sistemas com processadores paralelos • MISD (Múltiplas instruções, Único dado): • Os mesmos dados são mandados para um conjunto de UP diferente; • Cada UP executa diferentes instruções sobre esses dados. • Nunca fui implementado. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Tipos de sistemas com processadores paralelos • Assim temos a seguinte classificação: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Multiprocessamento simétrico • Por um bom tempo os computadores pessoais possuíam um único processador de uso geral; • Introdução do conceito de multiprocessamento simétrico, ou simplismenteSMP (Symmetricmultiprocessing) foi possível devido: • Queda no custo do hardware; • Demanda por maior desempenho; • SMP pode ser designação tanto para a arquitetura de hardware quanto o comportamento do SO. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Características do sistema SMP • As principais características de um sistema SMP são: • Existem duas ou mais CPUs; • As CPUs compartilham a mesma memória ou I/O; • Todas as CPUs podem desempenhar as mesmas funções (por isso simétrico); • O sistema é controlado por um SO integrado, que possibilita extrair o máximo de interação entre as CPUs. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Organização do sistema SMP Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Organização do sistema SMP • A organização de um sistema multiprocessado pode ser de várias formas, mas as características mais comuns são: • Tempo compartilhado ou barramento comum; • Memória com múltiplas portas; • Unidade de controle central. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Tempo compartilhado ou barramento comum: • É o mecanismo mais simples de construção de um sistema multiprocessado; • Muito semelhante ao sistema uniprocessado, pois utiliza o mesmo sistema de interconexão: • Barramento de dados; • Barramento e endereços; • Barramento de controle. • Os vários processadores competem pelo barramento e pela memória. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Tempo compartilhado ou barramento comum • Vantagens: • Simplicidade; • Flexibilidade; • Confiabilidade. • Desvantagens: • Desempenho relativamente ruim; • Toda referência à memória passa pelo barramento; • Alternativa de projeto: uso de memórias cache; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Tempo compartilhado ou barramento comum Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória com múltiplas portas • É uma abordagem mais complexa para a memória que a de barramento compartilhada; • Cada processador pode acessar a memória e módulos de I/O independentemente e de forma separada; • Os acessos a cada porta são semelhantes ao sistema uniprocessado, não demandando muitas alterações no projeto da CPU, mas sim no projeto de memória; • Cada processador tem um caminho dedicado para a memória; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória com múltiplas portas Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Unidade de Controle Central • UC central comanda fluxos de dados distintos de e para módulos independentes: • CPUs; • Memórias e; • I/O. • Desempenha funções de arbitração e temporização; • Passa mensagens de controle entre as CPUs e alertas sobre atualizações de cache; • A logica de controle está centralizada na UC, portanto CPUs e memórias não tem o projeto alterados; • A UC é mais complexa; • Geralmente utilizada em computadores de grande porte; • Não é utilizada atualmente. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
SO para SMP • Um SO para SMP deve transparecer ao usuário a existência de múltiplos processadores; • As tarefas de um SO para SMP são as mesmas de um sistema uniprocessado, mais as gerências de recursos para as várias CPUs; • As principais tarefas de SO para SMP, além das tradicionais, são: • Processos concorrentes simultâneos; • Escalonamento; • Sincronização; • Gerência de memória; • Confiabilidade e tolerância a falhas. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Processamento paralelo Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Clusters
Clusters • Clusters são alternativas para o sistema SMP; • Muito atrativos para uso como servidores de alto desempenho; • Um Cluster é um grupo de computadores (ou nós) completos interconectados, que devem: • Trabalhar em conjunto; • Criar a ilusão de constituir uma única máquina. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Clusters • Os principais benefícios (ou requisitos de projeto) são: • Escalabilidade absoluta: • Clusters grandes podem ultrapassar várias vezes a capacidade de computação de grandes computadores individuais. • Escalabilidade incremental: • É possível expandir o cluster colocando máquinas adicionais; • Pode começar modesto, com poucas máquinas, sendo incrementado a medida que for necessário. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Clusters • Continuação... os principais benefícios (ou requisitos de projeto) são: • Alta disponibilidade: • Computadores individuais podem ser inseridos ou removidos do sistema; • Caso alguma máquina falhe, o sistema pode continuar operando, mesmo com baixo desempenho. • Melhor relação custo/desempenho: • Feito com máquinas relativamente baratas e de fácil acesso; • Pode obter desempenho de um computador de grande porte. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Configuração dos Clusters • Existem várias classificações para os clusters; • A forma mais simples são aquelas de acesso aos discos; • Todas as classificações possuem formas de troca de mensagens entre os nós para gerenciamento; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Configuração dos Clusters Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Questões de projetos • Gerência de falhas: • Recuperação de falhas (failover): • Troca de aplicação e transferência de recursos de um sistema falho para outro em operação no cluster. • Retorno de falhas (failback): • Restabelecimento de aplicações e retorno de recursos para o sistema após as falhas; • Balanceamento de carga: • Importante durante o crescimento incremental do cluster; • O cluster deve ter mecanismos automáticos para inclusão de novos nós, e escalonar os processos adequadamente; • Deve possuir um middleware para reconhecer os serviços que possam ser migrados de um nó para outro. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013