Buscar

Processadores e Computadores de alto desempenho

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

16
INSTITUTO FEDERAL DE SÃO PAULO BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
GIANLUCA LOURENÇO ALVES BV3009467
LAÍS BARROS NOGUEIRA BV3009971 
VÍTOR HUGO FAZOLI DA SILVA BV3009866
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 
SÃO JOÃO DA BOA VISTA 2021
Gianluca Lourenço Alves
Laís Barros Nogueira Vitor Hugo Fazoli da Silva
Arquiterura e Organização de Computadores
 Trabalho de Arquitetura e Organização de Computadores do Instituto Federal de São Paulo do Bacharelado em Ciência da Computação Sob orientação do professor Gaio Belitardo de Oliveira
 
SÃO JOÃO DA BOA VISTA 2021
Sumário
Introdução	4
O Computador de Alto Desempenho	6
Funcionamento	7 
Características	8 
Alto Desempenho x Comum Desempenho 	9
Aplicação 	12
Considerações finais 	15
Referências bibliográficas	16
INTRODUÇÃO
Desde que os primeiros computadores eletrônicos foram inventados, por volta da década de 40, até o início dos anos 90, os supercomputadores, utilizados na computação de alto desempenho, ou High Performance Computing (HPC), eram máquinas de alta especialização, com processadores vetoriais criados especificamente para realizar rapidamente um grupo de aplicações cientificas e de engenharia. 
Com a melhoria e popularização dos processadores utilizados em computadores pessoais e estações de trabalho, a partir da década de 90 os supercomputadores passaram a ser projetados como aglomerados de computadores com processadores de propósito geral, disponíveis no mercado. Aglomerados, ou clusters, de computadores são sistemas computacionais constituídos por computadores organizados em racks, sendo que cada máquina possui memória própria. 
Evolução dos supercomputadores ao longo dos anos, incluindo os dispositivos computacionais e suas respectivas tecnologias de programação.
A HPC expandiu-se para uma gama mais ampla de capacidades. Tendo mais poder de processamento e memória do que nunca para resolver problemas mais complexos. Um exemplo é o ML, sendo um subconjunto da inteligência artificial (AI), o Aprendizado de Máquina (ML) refere-se ao sistema que pode aprender ativamente por si só, em oposição a apenas receber passivamente instruções para desempenhar. Os sistemas HPC podem ser usados para Aprendizado de máquina (ML) altamente avançado que analisa grandes quantidades de dados, como a pesquisa de câncer para detectar melanoma em fotos.
Um sistema HPC também é muito útil na análise de Big Data. A comparação e a correlação rápidas do imenso conjunto de dados são usadas para complementar a pesquisa e resolver problemas em aplicações acadêmicas, científicas, de finanças, de negócio, de saúde, de cibersegurança e de governo. Este trabalho requer imensa capacidade de produtividade e computação. 
Esses sistemas também são muito importantes para modelagem e simulação, possibilitando as empresas que estas economizem tempo, materiais e custos de pessoal ao trazer produtos inovadores para o mercado de forma mais veloz. A modelagem e a simulação do HPC são utilizadas para a descoberta e testes de droga, projetos para sistemas automotivo e aeroespacial, previsão de clima/tempo, assim como aplicações de energia. 
A capacidade de um supercomputador de classe petascale, ao lado como será a capacidade de um supercomputador de classe exascale
O COMPUTADOR DE ALTO DESEMPENHO
A computação de alto desempenho, ou High-Perfomance Computing (HPC), é referente a utilização dos supercomputadores e aglomerados, ou clusters, de vários computadores para a realização de tarefas que exijam altas capacidades computacionais. O que se encaixa como um supercomputador varia com a mudança dos padrões ao longo do tempo, mudando conforme as tecnologias evoluem. 
A maioria dos sistemas HPC são aglomerados de diversos processadores e módulos de memória através de interconexões de largura de banda alta. Um cluster de supercomputação pode ter em sua arquitetura dezenas de milhares de processadores com os sistemas mais caros e poderosos do mundo, chegando a valores de mais de 100 milhões de dólares. 
A velocidade de processamento é o elemento mais importante normalmente medido em “flops”. Para alcançar tal nível é necessário o emprego de arquitetura vetorial ou paralela. É comum os supercomputadores possuirem mais de 65000 processadores atingindo velocidades na casa dos teraflops.
Evolução supercomputadores
FUNCIONAMENTO
Os dois métodos principais de processamento de informação no HPC são:
Processamento serial feito pelas unidades de processamento central (CPUs). Cada núcleo da CPU normalmente controla uma tarefa de cada vez. As CPUs são essenciais para executar funções como sistemas operacionais e aplicativos básicos (por ex., processamento de texto, produtividade do escritório).
O processamento paralelo pode ser desempenhado com várias CPUs ou unidades de processamento gráfico (GPUs). Originalmente desenvolvidas para placas de vídeos dedicadas, as GPUs podem desempenhar várias operações aritméticas através de uma matrix de dados (como pixels de tela) simultaneamente. A capacidade de trabalhar em vários planos de dados simultaneamente torna as GPUs um ajuste natural para o processamento paralelo em tarefas de aplicação de Aprendizado de máquina (ML), como reconhecer objetos em vídeos.
CARACTERÍSTICAS 
Os supercomputadores representam a tecnologia de ponta dos sistemas do HPC (High Performance Computing). Um cluster de supercomputação único pode incluir dezenas de milhares de processadores com os sistemas mais caros e poderosos do mundo, custando mais de US$ 100 milhões.5
As características de um supercomputador são até um pouco variadas, pois cada vez que a tecnologia avança um de antes é consequente da potência que aumentou de nível, e o novo entrou no lugar do antigo.
Os supercomputadores nos auxiliam na execução de tarefas em tempo muito mais curto através da execução de tarefas em paralelo.
Podemos citar algumas características de um supercomputador, o uso limitado, pois eles são usados para fins específicos, um alto custo para um processamento deste nível é preciso ter peças potentes e junto a isso tem um mercado restrito para aqueles, que geralmente são empresas buscando melhorar gestões de pesquisas e entre outros. Além disso, os supercomputadores precisam de instalações e sistemas de refrigeração especiais para o funcionamento adequado.
No ponto de vista dos programadores, devido ao alto grau de paralelismo na execução das instruções, não existe uma camada de abstração que esconde estas questões. Utilizam principalmente a memória para realizar as tarefas complicadas, com grande quantidade de informação do banco de dados.
Os processadores são poderosos, onde a ,memória é compartilhada, dependendo do modelo utiliza-se as caches ou não. 
Tendo tudo isso em vista, a tecnologia avança rapidamente, então esses computadores precisam de uma evolução constante para que entre outros fatores, consiga contribuir de maneira eficiente para a empresa que utiliza. Outro elemento importante a ser ressaltado são os flops (Floating Point Operations), ou seja, a quantidade de operações aritméticas simples por segundo com números reais, enquanto computadores comuns operam megaflops (1 milhão de flops) os supercomputadores operam acima dos gigaflops(1 bilhão de flops).
 
ALTO DESEMPENHO X COMUM DESEMPENHO
Com a evolução acelerada das tecnologias e a maior dependência dessas em no cotidiano, os computadores vêm sendo mais utilizados em diversas tarefas, com o principal objetivo de solucionar problemas da melhor forma e no menor tempo possível. Com isso, o poder computacional das máquinas vêm evoluiu cada vez mais, na tentativa de acompanhar as demandas que crescem de forma exponencial com o passar dos anos.
Em uma forma geral, a maioria dos computadores é composta basicamente de um processador, memória e dispositivos de entrada e saída de dados, onde o processador atuana execução das instruções de forma sequencial previamente estabelecida. Durante um tempo, somente isso, era suficiente para cumprir os seus objetivos. Esta dependência da computação principalmente por parte da ciência tornou esses computadores obsoletas e novas tecnologias e arquiteturas foram desenvolvidas, entre elas, aprimoramento da velocidade dos dispositivos de entrada e saída, velocidade do processador e barramentos, bem como a execução de instruções em paralelo, sistemas distribuídos.
Um conceito que é empregado de forma genérica tanto nas arquiteturas paralelas quanto nos sistemas distribuídos, é o termo “Divisão e conquista”, que, consiste em dividir um problema maior em problemas menores, onde esses são resolvidos separadamente e após a conclusão de cada um, obtém-se o resultado do problema maior através da combinação dos resultados de todos os problemas menores. Deste modo, é como se as partes menores de um problema fossem distribuídas entre os diversos processadores de uma arquitetura paralela.
Para exemplificar, as arquiteturas antigas e de desempenho comum são: 
· Arquitetura SISD (Single Instruction Single Data) – É a categoria mais simples, onde o fluxo de processamento e de dados é sequencial, já que uma única instrução é executada por vez para cada dado enviado. 
· Arquitetura SIMD (Single Instruction Multiple Data) – as máquinas SIMD funcionam através do processamento de diversos conjuntos de dados em paralelo. Um exemplo de aplicação desse tipo de computador seria na previsão do tempo, onde os cálculos de uma média de temperatura são feitas através de diversos dados diferentes, organizados em um array de dados.
· Arquitetura MIMD (Multiple Instruction Multiple Data) – Essa é a categoria que engloba uma variedade de processadores paralelos existentes no mercado. Nesse modelo, cada CPU é independente, executando tarefas e instruções diferentes de forma totalmente paralela.
Já os processadores e computadores de alto desempenho, possuem uma arquitetura mais complexa, entre eles:
· Symmetric Multiprocessors (SMP)
Os sistemas de multiprocessadores simétricos podem ser constituídos de dois e até 64 processadores, sendo classificados como um sistema fortemente acoplado, já que a memória principal é compartilhada entre os processadores e são considerados simétricos pois todos eles tem o mesmo custo de acesso à memória e a qualquer dispositivo de entrada e saída do sistema.
Esses computadores são utilizados em aplicações de até médio porte, como por exemplo, servidores de banco de dados, servidores web em geral e outros tipos de aplicações com uma elevada carga de processamento.
Por se tratar de um sistema fortemente acoplado, estes sistemas não são facilmente escaláveis, pois seu crescimento ocorre de forma vertical, ou seja, para aumentar o poder computacional é necessário o acréscimo de novos processadores, onde todos estes se mantém concentrados num mesmo computador, com uma interconexão por barramento. Para o aumento da quantidade de processadores do sistema, acabaram surgindo diversos empecilhos, como por exemplo, a limitação de processadores suportados pela placa-mãe e principalmente pelo aumento considerável de colisão de acesso à memória principal. Além disto, existe a limitação da largura de banda do barramento de interconexão, que é de tamanho fixo.
· Massively Parallel Processors (MPP)
O MPP pode ser descrito como um sistema que efetua processamento paralelo com uso de memória compartilhada e centralizada, sendo composta de até centenas de nós interligados por uma rede de alta velocidade (através de hubs/switches, por exemplo), onde cada um desses nós podem ser computadores comuns com um ou mais processadores e memória principal.
Além disso, cada um dos nós tem como característica o fato de possuir cópia independente do sistema operacional, onde os processos e aplicações são executados localmente e se comunicam com processos de outros nós através de troca de mensagens através de uma rede de comunicação de dados. Elas têm como principais parâmetros: a topologia, algoritmo de roteamento, estratégia de comunicação e o controle do fluxo entre os nós.
· Sistemas distribuídos
Os sistemas distribuídos possuem uma arquitetura com grande escalabilidade, devido a possibilidade de agregação de computadores comuns interligados por redes convencionais. Esses ambientes podem ser constituídos tanto por um conjunto de máquinas homogêneas (todas exatamente com a mesma configuração) quanto de heterogêneas, não havendo qualquer limitação quanto a isso. Devido a esse fator, como cada nó possui sua própria configuração de hardware e software, torna-se possível a formação de diversas configurações de sistemas distribuídos, utilizando-se de configurações SMPs, MPPs.
São projetos visando basicamente três objetivos: distribuição de tarefas, compartilhamento de recursos e aumento do poder computacional, sendo todas essas tarefas realizadas através do uso de diversos processadores com memória própria e interligadas através de uma rede de computadores (ou linhas de comunicação de dados).
Desta forma, cria-se uma imagem de como se aquela rede de computadores que compõem o sistema distribuído fosse um único sistema de tempo compartilhado, e não simplesmente um agregado de máquinas distintas.
Seriam necessários cinco milhões de computadores desktop para atingir o próximo nível de desempenho de processamento de supercomputadores de 1 exaFLOP.*
* Supondo que cada desktop seja capaz de 200 gigaFLOPS
APLICAÇÃO
A utilização dos supercomputadores são poucas, porém é de grande utilidade para o mundo, já que estamos falando de várias áreas de pesquisas, onde envolvem cálculos muito complexos e tarefas intensivas para fazer todo o trabalho de resolver problemas que envolvem física quântica, mecânica, meteorologia, pesquisas de clima, modelagem molecular de compostos químicos dentre outros.
Por isso eles são tão caros, que permitem um avanço científico estrondosamente mais rápido, mas não só isso, o supercomputador torna acessíveis e populares alguns dos melhores subprodutos do processamento gráfico e de imagens, tanto para o cinema digital quanto para TV de alta definição e das novas gerações de home theaters, também revoluciona o projeto de aviões, como acontece hoje na Embraer, uma indústria que é o orgulho brasileiro. Outro fato que é de grande importância para a nação é a aceleração do desenvolvimento de toda pesquisa científica e tecnológica no País. Entre os melhores exemplos, está a confiabilidade crescente das previsões meteorológicas, com antecipação cada dia maior.
Pode ser encontrado em áreas como, por exemplo:
· Bio informática – Nesse ramo da ciência, onde a biologia e a informática andam juntas, um dos exemplos de software é o mpiBLAST, que é uma implementação paralela do NCBIBlast. Esse programa foi utilizado para a realização de busca e comparação de cadeias genéticas;
· Dinâmica molecular – Nesta área, os clusters HPC são utilizados para realizar simulações de dinâmicas moleculares e também minimização do uso de energia. Um exemplo de programa utilizado para ser executado no agregado é o GROMACS. O famoso projeto GENOMA também faz uso dos clusters de alto desempenho;
· Química quântica – Através do sistema MPQC, que é um programa de química quântica massivamente paralela. Através dele, são computadas as propriedades dos átomos e moléculas dos princípios ativos usando uma equação matemática específica que acaba gerando uma grande carga computacional.
· Segurança da informação – Os clusters HPC são utilizados para testarem sistemas de criptografia através de simulações de ataques de força bruta e outros tipos de ataques, com intuito de descobrir as fragilidades dos sistemas criptográficos e as respectivas soluções;
· Bancos de dados – Através do processamento paralelo, o tempo de pesquisas intensivas pode ser drasticamente reduzido;
· Computação gráfica – O tempo de renderização de imagens e vídeos criados por computação gráfica exige uma grande demanda de processamento. Um filme de longa metragempoderia demorar meses para ser completamente renderizado em um computador comum. Através dos clusters, este tempo pode ser reduzido para algumas horas. Filmes que usam muitos efeitos especiais gerados por computação gráfica, como por exemplo, o Titanic e Matrix, utilizaram de clusters heterogêneos para renderizar as cenas;
· Previsão do tempo – Com o uso de computação paralela realizada através dos clusters, o processo de previsão do tempo é acelerado e a precisão é aumentada;
· Pesquisas militares – Os clusters são utilizados em simulações dos efeitos do uso de armas nucleares, no processamento dos dados de radares usados em mísseis antibalísticos, geração de mapas, etc.
Para ilustrar onde são aplicados especificamente temos:
Um F18 Hornet no momento da quebra da barreira de som
Simulação de um F117 em condições de voo
Campo de Ventos em Regiões de Relevo Complexo
CONSIDERAÇÕES FINAIS
Foi visto que, um dos maiores fatores que podem comprometer o seu desempenho são as redes de interconexão. Por se tratar do barramento de comunicação dos processadores, caso a rede tenha muita latência, ou seja, instável, o desempenho do sistema como um todo será extremamente prejudicado.
Nos dias atuais, a grande demanda por alta capacidade de processamento deixou de ser um luxo ou raridade para se tornar algo cada vez mais comum em diversos ambientes computacionais, tanto no meio científico quanto no meio industrial e comercial. Com o desenvolvimento de milhares de projetos diferentes nas mais diversas áreas, onde o menor tempo de processamento é necessário, os supercomputadores juntamente com seus superprocessadores foram desenvolvidos para suprir esta necessidade. 
REFERÊNCIAS BIBLIOGRÁFICAS
WSCAD 2018 – MINICURSOS - Introdução à Computação de Alto Desempenho na Nuvem Computacional < Disponível em: 
https://sol.sbc.org.br/livros/index.php/sbc/catalog/download/25/91/187-1?inline=1 > Acesso em 28/01/2021
AMD – Computação de Alto desempenho < Disponível em: 
https://www.amd.com/pt/technologies/hpc-explained >
Acesso em Acesso em 28/01/2021
Clusters computacionais de alto desempenho < Disponível em: 
https://www.monografias.com/pt/trabalhos3/clusters-computacionais-alto-desempenho/clusters-computacionais-alto-desempenho.shtml
Acesso em Acesso em 28/01/2021
MUNDODIGITAL – O que são e para que servem os Supercomputadores < Disponível em: http://www.mundodigital.net.br/index.php/noticias/ti/10043-o-que-sao-e-para-que-servem-os-supercomputadores > 
Acesso em Acesso em 28/01/2021
WIKIPEDIA – Supercomputador < Disponível em: 
https://pt.wikipedia.org/wiki/Supercomputador
Acesso em Acesso em 28/01/2021
IFBA.EDU - Introdução a Processamento de Alto Desempenho < Disponível em:
http://www.ifba.edu.br/anais_erad-ne2013/PDF/MC/Minicurso_A.pdf
Acesso em Acesso em 28/01/2021
RICARDO RODRIGUES BARCELAR – Introdução a Supercomputação < Disponível em: Aula_4_Supercomputacao%20.pdf 
Acesso em Acesso em 28/01/2021

Continue navegando