Arquiteturas de Alto Desempenho
Por: Junior Prates • 8/3/2016 • Trabalho acadêmico • 595 Palavras (3 Páginas) • 1.150 Visualizações
Arquiteturas de Alto desempenho
Conhecidos também como supercomputadores, são desenvolvidos para simulações numéricas muito grandes. Geralmente são usados Clusters que são vários computadores conectados que funcionam como um só gerenciados por um software para trocarem informações de maneira eficiente. Um bom exemplo de um Cluster é o Cluster Google, utilizando o paralelismo para melhorar o tempo de resposta dos fluxos de requisições e com um software potente para um alto processamento de dados por um preço relativamente baixo.
Paralelismo
O paralelismo basicamente divide as grandes tarefas em pequenas tarefas que são distribuídas em vários processadores para serem executadas de maneira simultânea. [pic 1][pic 2][pic 3][pic 4][pic 5][pic 6][pic 7][pic 8][pic 9][pic 10][pic 11][pic 12][pic 13][pic 14][pic 15][pic 16][pic 17]
Normalmente um software é desenvolvido para ser executado sequencialmente, o algoritmo é implementado com instruções em serie e são executadas pela CPU, uma instrução por vez. A computação paralela, ela quebra usa múltiplos elementos de processamento simultaneamente, quebrando um problema em partes independentes de forma que cada elemento pode executar sua parte do algoritmo simultaneamente com outros. Os elementos usados podem ser diversos como um único computador com múltiplos processadores, diversos computadores em rede (Como o cluster Google), hardware especializado ou uma combinação qualquer desses citados.
A obtenção de alto desempenho não depende só do hardware, podemos melhorar a arquitetura e as técnicas de processamento. Segue alguns exemplos de de arquiteturas avançadas baseadas em paralelismo:
- Pipeline : Técnica que consiste em dividir o processador em vários estágios distintos. Quando uma nova instrução é carregada ela passa pelo primeiro estágio, depois segundo estágio e vai passando por estágios sucessivamente, assim que o primeiro estágio for liberado, ou seja, depois do primeiro pulso de clock, outra instrução já é carregada no primeiro estágio. A vantagem dessa técnica é que o primeiro estágio não precisa ficar esperando a instrução passar pelos demais para carregar a próxima, e sim carregar uma instrução assim que a primeira é liberada.
- SIMD: É método de operação com múltiplas ULA’s e uma única UC, recebe uma única instrução ao mesmo tempo e atuam sobre diferentes fluxos de dados para produzir mais resultados. O modelo é desenvolvido para tratamento de conjuntos regulares de dados, como vetores e matrizes
- MIMD: Ao contrário do SMIND é usado vários processadores e executam, cada um, instruções diferentes.
Existem exemplos de arquiteturas de alto desempenho no Brasil também como:
- Os PAD – CPTEC/INPE que tem o cray XT-6:
CPUs | 1272 nós, cada nó com 2 Opteron 12 core de 2GHz, cada nó com velocidade máxima de 192 GFlops/s, 32 GB de memória e rede SeaStar2, totalizando 30528 cores |
Desempenho | Máximo: 205.1 TFlops |
Disco primário | Sistema de arquivos com 866 TB líquidos, acessíveis à 320 Gbs |
Armazenamento Secundário | 3,84 Petabytes (PB) em discos SATA, biblioteca de fitas com 8.000 slots com 8.000 fitas LTO4, 6 PB de fitas |
Processamento Auxiliar | 20 nós, cada nó com 4 Opteron 4 core de 2,7 GHz, 128 GB de memória com desempenho SPCE agregado de 3760 |
Acesso Interativo | 13 nós, cada nó com 4 Opteron 4 core de 2,7 GHz, 128 GB de memória com desempenho SPEC agregado de 2.444 |
Espaço físico, energia e refrigeração | Ocupa 100 m2, requer 639 Kw de energia, refrigerado a ar com dissipação máxima de 550.000 Kcal/h |
...