Prévia do material em texto
ARQUITETURA AVANÇADA DE COMPUTADORES ALUNOS: MAURO PORTO, JOÃO MARCOS LEITE, VITOR BELLONI TRABALHO: MULTI-VETOR E COMPUTADORES SI MD PRINCÍPIOS DE PROCESSAMENTO DE VETOR: Um vetor é um conjunto ordenado de itens de dados escalares, todos do mesmo tipo, armazenados em memória. Já um processador de vetor, é uma unidade de processamento central (CPU) que implementa um conjunto de instruções que contém instruções que operam sobre matrizes unidimensionais de dados chamados de vetores. As instruções vetoriais possuem as seguintes características: -Cada instrução equivale a um loop -O cálculo de cada resultado não depende de resultados anteriores (é possível haver pipelines profundos sem a ocorrência de dependências de dados) -O padrão de acesso à memória para a busca dos operandos é conhecido e regular (benéfico utilizar memória com interleaving) TIPOS DE INSTRUÇÃO DE VETOR Definimos os tipos de instrução de vetor por mapeamentos matemáticos entre seus registros de trabalho ou memória quando os operandos de vetor são armazenados. Memória-Memória -Arquiteturas mais antigas -Todas as operações vetoriais manipulam operandos na memória Registrador-Registrador -Arquitetura usadas em todos os processadores vetoriais mais recentes -Todas as operações vetoriais, com exceção de load e store, trabalham com registradores Obs: unidades funcionais são organizadas como pipelines profundos ESQUEMA DE MEMÓRIA PARA ACESSO AO VETOR O fluxo de operandos vetoriais entre a memória principal e os registradores vetoriais geralmente é feito em pipeline com vários caminhos de acesso, aqui descrevemos três esquemas de acesso vetorial de módulos de memória intercalados permitindo acessos de memória sobrepostos. Organização de memória C-acess -Concurrent Acess, onde as palavras em memória devem ser acessadas na forma interleaved -Se considerarmos saltos de tamanho 1, endereços sucessivos serão armazenados em buffers à taxa de um por ciclo. -Se considerarmos salto de tamanho 2, os acessos serão feitos em dois ciclo menores, o que impkicará na metade do desempenho do primeiro modelo -Para saltos de tamanho 3, os acessos voltam a ser como os de tamanho 1 Acima temos o acesso a memória em C/S Ao lado temos o acesso a memória em S SUPER COMPUTADORES DO PASSADO E DO PRESENTE • Supercomputador é um computador com uma grande capacidade de processamento de dados e memória, normalmente utilizado para fins científicos. Seu hardware é superavançado, apresentando um desempenho altíssimo, inconcebível para um computador caseiro. Este tem aplicação em áreas de pesquisa que grande quantidade de processamento se faz necessária, como pesquisas militares, científica, química e medicina. • Os primeiros supercomputadores foram criados na década de 1960 por Seymour Cray que fundou sua própria empresa, a Cray Research, em 1970 e dominou o mercado da supercomputação durante 25 anos (1965-1990). Obviamente, naquele tempo, essas máquinas possuíam uma capacidade ínfima de processamento se comparadas com modelos atuais, mas a evolução da informática teve desdobramentos significativos nos supercomputadores. https://www.google.com/url?q=https://pt.wikipedia.org/wiki/1960&sa=D&source=editors&ust=1759932336946599&usg=AOvVaw3Gx3PeSv18B8VCFfHhFwTs SUPER COMPUTADORES DO PASSADO E DO PRESENTE REGRA DE CONSTRUÇÃO DE PERFORMACE DIRETA • Os supercomputadores por exemplo devem fornecer o mais alto desempenho, limitado apenas pela tecnologia atual, como também devem ser programáveis e acessíveis em um ambiente multiusuário. Com isso, as regras de design de arquitetura de supercomputador são orientadas pelo desejo de oferecer o mais alto desempenho disponível em uma variedade de aspectos, incluindo processador, memória e desempenho de E / S, capacidades e larguras de banda em todos os subsistemas. Todos esses itens são técnicos e com as suas respectivas diferenças, devem ser estudados e moldados de forma analítica para que possam funcionar. CRAY Y-MP C-90 E MPP • O C90 foi um desenvolvimento da arquitetura Cray Y-MP, em comparação com o Y-MP, o processador C90 tinha um pipeline de vetor duplo e um ciclo de clock de 4,1 ns mais rápido (244 MHz), que juntos proporcionavam três vezes o desempenho do processador Y-MP. O número máximo de processadores em um sistema também foi dobrado de oito para 16. A série C90 usava o mesmo IOS Modelo E (Subsistema de Entrada / Saída) e Sistema operacional UNICOS do anterior Y-MP Modelo E. • Os sistemas de processamento paralelo maciço (MPP) têm o potencial para resolver problemas altamente paralelos. Microprocessadores padrão de prateleira podem ter deficiências quando usados como blocos de construção de um sistema MPP. O que é necessário é um sistema balanceado que corresponda à velocidade rápida do processador com E / S rápida, acesso rápido à memória e software capaz. A Cray Research anunciou o desenvolvimento do MPP em o 1992, tinha como objetivo deixar uma tendência para o MPP do ponto de vista de um principal fabricante de supercomputadores. O Fujitsu VPP500 era um sistema usado em conjunto com o VP2000 para resolver problemas de escala largo. Esta foi uma última série de supercomputadores da Fujitsu, chamada de processador paralelo vetorial. A arquitetura do VPP500 era escalonável de 7 a 222 PEs, oferecendo um sistema multivetor MIMD altamente paralelo. O desempenho máximo foi direcionado para 335 Gfiops. MINI-SUPER COMPUTADORES • Estes eram uma classe de sistemas de supercomputador de baixo custo com um desempenho de cerca de 5 a 15% e um custo de 3 a 10% daquele de um supercomputador em grande escala. Sistemas representativos do início dos anos 1990 incluem as séries Convex C, Alliant FX, Encore Multirnatt e Sequent Symmetry. A maioria deles tinha um arquitetura usando processadores padrão e sistemas UNIX. O processamento escalar e vetorial era suportado nestes sistemas multiprocessadores com memória compartilhada e periféricos. A maioria desses sistemas foi construída com um subsistema gráfico para visualização e desempenho fins de ajuste. PROCESSAMENTO DE VETOR COMPOSTO OPERAÇÕES DE VETOR COMPOSTO Uma função de vetor composto é definida pela composição de funções com operações vetoriais, convocadas a partir de estruturas de looping de operações escalares vinculadas. CADEIAS DE LOOPING DE VETOR: O Pipelining vetorial e o encadeamento são uma parte integral para todos os processadores vetoriais. LIMITAÇÕES DOS ENDEREÇAMENTOS: O número de operações vetoriais dentro das operações de vetores compostos deve estar dentro do limite disponível, para fazer o endereçamento possível. REDES DE MULTI-PIPELINES: Em vez de ligar as operações vetoriais para cadeias lineares, pode-se construir um pipenet, introduzindo múltiplos pipelines funcionais, com atrasos inseridos para alcançar a computação sistólica das Operações de vetores compostos. ORGANIZAÇÕES DE COMPUTADORES SI MD MODELOS IMPLEMENTADOS: A maioria dos computadores SIMD usa uma única unidade de controle e memórias distribuídas, exceto alguns que usam memórias associativas. ARQUITETURA DO CN-12: AS Máquinas com as arquiteturas do CN-12, eram computadores MPP de grão fino que usavam milhares de bits em processamento de elementos, em paralelo para atingir um pico de velocidade de processamento acima de 10 Gflops. ARQUITETURA DO MASPAR MP-1: A família MP-1 incluía configurações com 1024 até 16.000 processadores. O Pico de desempenho da configuração do processador de 16K foi de 26.000 MIPs, em operações de inteiro Risc de 32 bits. MÁQUINAS CM-5 As máquinas MIMD são constituídas por múltiplos processadores, interconectados entre si. Os processadores executam instruções independentemente uns dos outros e podem trocar informações entre si por meio de uma rede de comunicação. A figura mostra uma máquina MIMD de memória compartilhada onde cada processador tem sua própria unidade de controle e todos compartilhamdados localizados em um mesmo sistema de memória. Redes de computadores são máquinas MIMD denominadas de memória distribuída. Atualmente, esta categoria de máquinas (MIMD) é a mais difundida para computação de alto desempenho. Exemplos de máquinas MIMD incluem: Cosmic Cube, nCUBE 2, iPSC, Symetry, FX-8, FX-2800, TC-2000, CM-5, KSR-1 e Paragon XP/S. Várias unidades de controle buscam instruções na memória e as repassam para o processador a elas associados. Os processadores comunicam-se entre si por meio de uma memória compartilhada ou por meio de uma rede de comunicação. MÁQUINAS MIMD SINCRONIZAÇÃO DA MÁQUINA MIMD (CM-5) • Os desenvolvedores do CM-5 escolheram uma arquitetura universal, que combina as vantagens de máquinas SIMD e MIMD. Tradicionalmente, os programadores de supercomputadores eram forçados a escolher entre computadores MIMD e SIMD. Uma máquina MIMD é boa em ramificação independente, mas ruim em sincronização e comunicação. Porém, uma máquina SIMD é boa em sincronização e comunicação, mas pobre em ramificação. Dessa forma, máquinas CM-5 foram projetadas com uma estrutura MIMD sincronizada para suportar ambos os estilos de computação paralela. ARQUITETURA DA MÁQUINA CM-5 •A rede de dados é baseado no conceito “fat tree”. Esse tipo de arquitetura é representada como um “árvore” que possui nas ramificações (“folhas”) os nós de processamento, processadores de controle e os canais de E/S todos conectados entre si. Além disso, a arquitetura das máquinas CM-5 são constituídas por uma rede de dados, uma rede de controle e uma rede de diagnóstico, estas usadas para o trânsito dos dados e das mensagens. A rede de dados da máquina CM-5 formada por uma “fat tree”, onde cada ramificação está interconectada. CONTROLE DOS PROCESSADORES E DOS NÓS DE PROCESSAMENTO •O processador de controle básico consiste em um microprocessador RISC (CPU) , subsistema de memória, dispositivo de E/S com discos locais e conexões Ethernet e uma interface de rede CM-5. •Nos nós de processamento, a estrutura básica de controle se baseia em um processador SPARC com um subsistema de memória, que consiste em um controlador de memória de 8, 16 ou 32 Mbytes de mémoria RAM e o barramento interno possui 64 bits de largura. Processador de controle do CM-5 Nós de processamento do CM-5 COMUNICAÇÃO ENTRE PROCESSADORES • Nas máquinas CM-5, os mecanismos de comunicação foram projetadores projetados para serem utilizados em quatro tipos de comunicação entre o processador: replicação, redução, permutação e prefixo paralelo. REPLICAÇÃO REDUÇÃO PERMUTAÇÃO PREFIXO PARALELO