O que é um
Supercomputador?


Um supercomputador é um computador cujo desempenho é extremamente grande. A velocidade de processamento de uma máquina dessas supera em milhares (às vezes milhões) de vezes a de um computador doméstico. Ele também precisa ter uma capacidade de memória absurdamente superior para dar conta da enorme quantidade de dados apresentados na entrada e depois produzidos na saída. Por fim, a maioria dos supercomputadores usa um tipo de processamento de informação chamado de processamento paralelo, o que quer dizer que pode calcular várias coisas ao mesmo tempo.

Arquitetura


Computadores paralelos podem ser classificados de acordo com o nível em que o hardware suporta o paralelismo. Computadores multinúcleos possuem muitos elementos de processamento em uma máquina só, enquanto que clusters e MPP (Massively Parallel Processor) usam múltiplos computadores para processar as mesmas tarefas. Atualmente, as arquiteturas mais utilizadas em supercomputadores são o cluster e o MPP.

Um cluster é formado por um conjunto de computadores, que utiliza um tipo especial de sistema operacional classificado como sistema distribuído. Muitas vezes é construído a partir de computadores convencionais, os quais são ligados em rede e juntos trabalham como se fosse uma única máquina de grande porte. Já os MPPs são construídos com milhares de processadores comerciais conectados por uma rede de alta velocidade. O alto desempenho é obtido através do grande número de processadores.


PROCESSADORES

Os principais fatores a serem levados em conta para os processadores são sua quantidade, número de núcleos de cada um, frequência de operação, consumo, dissipação de calor e custo. A velocidade de processamento de um supercomputador é medida em FLOPS (Floating Point Operations Per Second), ou seja, quantidade de operações de ponto flutuante por segundo. Os supercomputadores atuais atingem a grandeza dos petaflops (PFLOPS), o que equivale a quatrilhões de cálculos por segundo. Um computador pessoal chega aos 100 gigaflops (Core i7 980x Intel), cerca de 10 mil vezes menor.

Quando se usa muitos processadores e núcleos, é consumida muita energia e há grande dissipação de calor, sendo necessário que as salas em que os supercomputadores são mantidos devem conter sistemas de refrigeração especiais. Devido ao seu alto número de processadores e dispositivos, eles chegam a ocupar salas inteiras.


SISTEMAS OPERACIONAIS

98,8% do mercado dos supercomputadores utiliza Linux como sistema operacional devido à sua abertura, pois possibilita que os desenvolvedores personalizem o SO para que haja o maior desempenho possível.


Sunway TaihuLight

Existe uma grande diversidade de arquiteturas de supercomputadores, então para demonstrar um pouco mais a fundo precisamos escolher uma, e nada melhor que usar o primeiro colocado na lista do TOP 500 de junho de 2017, o TaihuLight da Sunway.

Esse supercomputador chinês tem um desempenho que pode chegar a 125,4 Pflops por segundo suas características são:

Memória principal 1,31 PB
*Processador SW26010
Núcleos de processamento 10.649.600
Sistema Operacional Sunway Raise OS 2.0.5

Processador

O SW26010 é um processador multinúcleo que contém 260 núcleos(CPEs e MPEs), ele segue a arquitetura RISC (Reduced Instruction Set Computer), onde todas as instruções possuem o mesmo tamanho no caso 64 bits. Ele é composto por:

  • 4 cluster de Elementos de Processamento de Computação(CPE), cada cluster possui 64 CPE,
  • 4 Elemento Gerenciador de Processamento(MPE).
  • Além de um Network on Chip (NoC) que é conectado à Interface do Sistema (SI), que é uma interface PCIe padrão de 16GB/s.

Cada MPE e CPE é um RISC de 64 bits que processa instruções de 264bits, com cache L1 de 16KB 64KB de Scratch Pad Memory(memória de acesso rápido), porém o CPE só tem suporte ao modo usuario, sendo o modo sistema restrito ao MPE.

A estrura do processador é explicada na figura abaixo.

Cada processador representa um nó do TaihuLight.

Na próxima figura é exemplificada a conexão entre os nós e os elementos externos


Para se ter uma idéia da grandeza desse computador:

  • 1 Nó = 260 núcleos
  • 1 Nó = 3.06 Tflop / s
  • 1 Super nó = 256 nós
  • 1 Super nó = 783.97 Tflops
  • 1 Gabinete = 4 Super nó
  • 1 Gabinete = 3.1359 Pflops
  • 1 Sunway TaihuLight = 40 Armários = 160 Super nós = 40.960 nós = 10.649.600 núcleos.
  • 1 Sunway TaihuLight = 125.4359 Pflop / s

Evolução dos Supercomputadores


Confira a evolução dos Supercomputadores com o passar do tempo.

Fonte: http://www.popsci.com/supercomputers-then-and-now

Principais Aplicações


Devido ao seu grande poder de processamento, os supercomputadores podem realizar inúmeras tarefas e resolver problemas dos mais variados tipos, como: problemas com alta precisão numérica, repetidas operações numéricas sobre grandes vetores de números, etc. Abaixo estão algumas áreas que também utilizam supercomputadores atualmente:


MEDICINA

Eles podem ser usados para calcular a interação de medicamentos e tratamentos com base em condições genéticas, cruzamento de informações com resultados passados e até mesmo simulações. Desta forma, se tornaram grandes aliados dos médicos e cientistas que estão em busca da cura do câncer, de DSTs e de várias outras doenças que ainda não conhecem uma solução definitiva.

METEOROLOGIA

Cruzando informações sobre presença e densidade de nuvens, velocidade e direção dos ventos, temperatura das massas de ar e outros dados relevantes, eles podem definir quando vai haver chuva ou quando vai esfriar ou quando o Sol estará mais presente

INTELIGÊNGIA ARTIFICIAL

O IBM Watson é um supercomputador utilizado para o processamento avançado, recuperação de informação, representação de conhecimento, raciocínio automatizado e tecnologias de aprendizado de máquinas. De acordo com a IBM, "Mais de 100 técnicas diferentes são utilizadas para analisar a linguagem natural, identificar origem, localizar e gerar hipóteses, localizar e marcar evidências e juntar e rankear hipóteses."