A evolução dos supercomputadores.

A Historia

A computação originalmente era composta por sistemas centralizados para os quais você enviava seu conjunto de cartões perfurados contendo seu código e dados; então, você esperava pelo seu resultado, que provavelmente era impresso por uma enorme impressora matricial em papel verde e bege.

Todos esperavam sua vez para enviar suas aplicações e dados, que eram executados um após o outro - primeiro a entrar, primeiro a sair (FIFO). Quando seu código e dados eram lidos, você não precisava estar presente; no entanto, muitas vezes você tinha que ficar por perto para enviar seu conjunto de cartões quando o sistema estivesse disponível.

Nos últimos anos da década de 1980 e durante os anos 1990, você provavelmente tinha um monitor onde podia inserir seus programas que estavam salvos em dispositivos de armazenamento em massa.

Frequentemente, eram sistemas front-end dedicados que acomodavam os usuários. Qualquer pessoa que quisesse usar o sistema acessava este sistema front-end, criava seu código e dados, e então submetia um "job" para executar a aplicação com os dados.

O job era na verdade um script com informações sobre os recursos necessários: quantas CPUs, quanto de memória, como executar sua aplicação (o comando), e assim por diante. Se os recursos de hardware pudessem ser encontrados, seu programa era executado, e os resultados retornavam para sua conta.

Observe que você não precisava estar logado no sistema para que o job fosse executado. O escalonador de jobs fazia tudo por você.

O escalonador de jobs podia lançar vários jobs para utilizar o máximo possível dos recursos disponíveis. Ele também mantinha uma lista dos próximos jobs a serem executados.

Como essa lista era criada era definido por políticas e poderia ser muito sofisticado, garantindo a melhor utilização dos recursos do sistema.

Os primeiros sistemas de computação de alto desempenho (HPC) eram grandes recursos centralizados compartilhados por todos que queriam usá-los. Você tinha que esperar na fila pelos recursos que precisava.

Além disso, os recursos não eram interativos, o que tornava mais difícil escrever código. Suas aplicações eram executadas, e os resultados eram retornados para você.

Em outras palavras, seu trabalho estava à mercê do que todos os outros estavam executando e dos recursos disponíveis. Além disso, pré-processar ou pós-processar seus dados nesses sistemas era impossível.

Para pesquisadores, engenheiros, cientistas e outros usuários de HPC, esse fluxo de trabalho era uma bagunça. Você tinha momentos de atividade intensa e muito tempo parado.

Os pesquisadores cada vez mais precisavam de recursos de HPC, especialmente à medida que as aplicações exigiam mais ciclos de computação, memória, armazenamento e interatividade.

Os primeiros Supercomputadores.

Os supercomputadores do meio da década de 1980 até o início da década de 1990 eram dominados pela Cray. Em 1988, a Cray Research introduziu o Cray Y-MP, que tinha até oito processadores vetoriais de 32 bits funcionando a 167 MHz. Ele tinha opções para 128, 256 ou 512 MB de memória principal SRAM e foi o primeiro supercomputador a sustentar mais de 1 GFLOPS (10^9 operações de ponto flutuante por segundo).

O Crazy Y-MP foi o primeiro supercomputador a sustentar mais de 1 GFLOPS de capacidade de processamento.

Esse supercomputador era caro. Um predecessor do Y-MP, o X-MP, foi vendido para um centro de pesquisa nuclear na Alemanha Ocidental por US$ 11,4 milhões em 1981, o equivalente a US$ 39 milhões em dólares de 2024.

Embora a Cray possa ter dominado a indústria de supercomputação no início da década de 1990, eles não estavam sozinhos. A NEC tinha uma linha de supercomputadores vetoriais chamada SX.

Os dois primeiros modelos da NEC, o SX-1 e o SX-2, foram lançados em 1985. Ambos os sistemas tinham até 256 MB de memória principal.

O NEC SX-2 lançado em 1985.

O SX-2 foi o primeiro supercomputador a superar 1GFLOPS. Ele tinha quatro conjuntos de pipelines de operações vetoriais de alta performance com um máximo de 16 unidades aritméticas capazes de operação múltipla/paralela. O NEC SX-1 tinha cerca da metade do desempenho do SX-2 e presumivelmente era menos caro.

Nessa época, diversos computadores maciçamente paralelos foram lançados, incluindo os da Thinking Machines, nCUBE, Meiko Scientific, Kendall Square Research (KSR) e MasPar.

Tanto a Thinking Machines quanto a Meiko sobreviveram até os anos 1990, e outras empresas como KSR e MasPar venderam sistemas até o início dos anos 1990.

Essas empresas foram especialmente importantes para o futuro da HPC porque mostraram que o uso de um grande número de processadores em uma arquitetura distribuída poderia alcançar um ótimo desempenho.

Elas também ilustraram que alcançar esse nível de desempenho exigia uma grande quantidade de codificação, então o software assumiu um papel muito mais importante do que antes.

Não era mais necessário depender de processadores mais rápidos para obter melhor desempenho através da recompilação do código ou fazendo algumas pequenas alterações.

Agora, era possível usar muitos elementos de computação simples combinados com muito desenvolvimento de software para alcançar um ótimo desempenho. Havia mais de um caminho para alcançar desempenho eficiente em HPC.

Os processadores para PC baseados na arquitetura Intel daquela época não eram tão avançados quanto os processadores de supercomputadores.

No entanto, os supercomputadores estavam sendo desafiados por sistemas massivamente paralelos, e muitas vezes os fabricantes estavam criando seus próprios processadores; no entanto, quase todos eventualmente mudaram para processadores de estação de trabalho.

Essa mudança de processadores foi impulsionada pelo custo. Desenvolver novos sistemas muito paralelos, assim como novos processadores, é muito caro.

Como você verá, isso terá algum efeito nas tendências de sistemas de HPC na década de 1990. Por enquanto, as CPUs para PC não estavam na classe de HPC, e quaisquer sistemas possíveis construídos a partir delas não eram escaláveis porque as redes de PC realmente não existiam.

Os Processadores dos supercomputadores no início dos anos 1990.

A Cray entrou na década de 1990 com o Cray Y-MP, que tinha até oito processadores vetoriais rodando a 167 MHz, uma velocidade de clock muito mais alta do que as CPUs de PC.

No entanto, assim como o i486, ele usava processadores de 32 bits, limitando a memória endereçável a 4 GB. No início dos anos 1990, a Cray lançou alguns novos sistemas. Em 1991, foi lançado o Cray C90, um desenvolvimento do Cray Y-MP.

O Cray C90, lançado em 1991.

Ele possuía um pipeline duplo de vetores, enquanto o Y-MP possuía apenas um pipeline único. A velocidade de clock também foi aumentada para 244 MHz, resultando em três vezes o desempenho do Y-MP.

O número máximo de processadores aumentou de oito para 16. Note que esses processadores ainda eram projetados e utilizados apenas pela Cray.

O último grande sistema de processamento vetorial da Cray, o T90, foi lançado pela primeira vez em 1995. Os processadores eram uma evolução daqueles no C90, mas com uma velocidade de clock muito mais alta de 450 MHz.

O Cray T90 lançado em 1995.

O número de processadores também dobrou para 32. O sistema não era barato, com um T932 de 32 processadores custava cerca de US$ 35 milhões (US$ 71,2 milhões em dólares de 2024).

A Cray lançou o T3D em 1994. Este foi um sistema importante para a Cray porque foi o primeiro supercomputador massivamente paralelo da empresa. Ele usava uma rede Torus 3D para conectar todos os elementos de processamento, daí o nome T3D.

O Cray T3D lançado em 1994.

Ele integrava de 32 a 2.048 elementos de processamento (PEs), onde cada PE era um chip DEC Alpha 21064 RISC de 64 bits. O chip tinha sua própria área de memória, controlador de memória e fila de pré-busca. Os PEs eram agrupados em pares ou nós de seis chips.

O T3D possuía memória distribuída, cada PE com sua própria memória, mas tudo era globalmente endereçável com um máximo de 8 GB de memória no total.

O T3D utilizava um sistema "front-end" para fornecer funcionalidades como I/O. Exemplos de sistemas front-end eram o Cray C90 ou Y-MP.

O T3D representou uma espécie de mudança radical para a Cray. A primeira razão é que ele se afastou das CPUs vetoriais e concentrou-se mais em sistemas massivamente paralelos (ou seja, muitos elementos de processamento).

Segundo, houve uma transição dos processadores projetados pela Cray para aqueles de outra empresa - neste caso, a DEC. Se isso foi uma medida para reduzir custos ou melhorar o desempenho, somente a Cray saberia, mas parece ter sido um esforço para reduzir custos. Uma terceira razão é a adoção de uma rede Torus 3D.

O Cray T3E foi uma continuação do T3D, mantendo a arquitetura massivamente paralela. Lançado no final de 1996, ele continuou a usar a rede Torus 3D do T3D, mas mudou para o processador DEC Alpha 21164.

O Cray T3E foi lançado em 1996.

A velocidade inicial do processador era de 300 MHz. Processadores posteriores utilizaram 450, 600 e até mesmo 675 MHz.

Semelhante ao T3D, o T3E poderia escalar de 8 a 2.176 PEs, e cada PE tinha entre 64 MB e 2 GB de memória. O T3D e o T3E foram, sem dúvida, sistemas altamente bem-sucedidos.

Um sistema de 1.480 processadores foi o primeiro sistema na lista TOP500 a ultrapassar 1 TFLOPS (10^12FLOPS) executando uma aplicação científica.

A Cray não apenas desenvolveu sistemas multiprocessadores com processadores DEC Alpha. Ela continuou o desenvolvimento de sistemas vetoriais baseados no Cray Y-MP.

Lembre-se de que o Y-MP havia sido lançado em 1988 com até oito processadores vetoriais de 32 bits rodando a 167 MHz.

O Cray J90 foi desenvolvido a partir do modelo Cray Y-MP EL (entrada) do Y-MP. Esperava-se desenvolver uma versão menos cara do Y-MP usando refrigeração a ar. O sistema suportava até quatro processadores e 32MB de memória DRAM.

Cray J90

O J90 suportava até 32 processadores vetoriais a 100 MHz e até 4 GB de memória principal. Cada processador era composto por dois chips: um para a parte escalar da arquitetura e o segundo para a parte vetorial da arquitetura.

A NEC também estava lançando novos sistemas SX no início dos anos 1990. Em 1990, lançou o sistema SX-3 que permitia computação paralela, permitindo operações tanto SIMD (instrução única, múltiplos dados) quanto MIMD (múltiplas instruções, múltiplos dados).

NEC SX-3

Ele tinha até quatro processadores aritméticos com até quatro compartilhando a mesma memória principal e até vários processadores no sistema.

O sistema NEC SX-4 foi anunciado em 1994 e enviado pela primeira vez em 1995. Ele organizava vários CPUs em um nó de processamento vetorial paralelo; então, esses nós eram instalados em uma disposição de multiprocessamento simétrico (SMP) regular.

NEC SX-4 lançado em 1994.

Trajetória do Processador.

Tanto os processadores de PC Intel 486 quanto os Pentium tinham desempenho aproximadamente equivalente aos das estações de trabalho Sun-3 e SPARCstation-1, que estavam se tornando populares.

Processador Intel 486

Em comparação, os supercomputadores ainda eram definitivamente muito mais rápidos do que aqueles em um PC, mas os fabricantes de supercomputadores sabiam que desenvolver seus próprios processadores estava se tornando um fardo, forçando seus preços a permanecerem altos.

Por outro lado, a Intel estava melhorando rapidamente seus processadores com versões mais rápidas quase todos os anos, e eles se encaixavam no mesmo socket, economizando dinheiro para os clientes. No espaço de cinco anos, eles lançaram três novos processadores com velocidades e sofisticação crescentes - todos eles acessíveis para milhões de pessoas.

No início da década de 1990, o ritmo de desenvolvimento das CPUs de PC era rápido, e as quantidades de processadores de PC vendidos eram muito maiores do que os processadores de supercomputadores e cresciam rapidamente. No entanto, ainda estavam atrás em termos de desempenho.

Apesar dos sistemas Cray terem migrado de processadores personalizados para processadores de estação de trabalho, eles não tinham nem de longe o volume de vendas dos processadores de PC.

A segunda metade da década de 1990 foi um período muito agitado para as CPUs de PC. A Intel lançou o Pentium Pro em novembro de 1995, com 5,5 milhões de transistores, um grande salto em relação aos 3,3 milhões de transistores do Pentium.

Intel Pentium Pro
150 MHz, mas versões subsequentes subiram para 166 e 200 MHz. As velocidades do FSB variavam de 60 a 66 MHz.

O Pentium Pro tinha um grande cache L2 na própria CPU para um PC, com as primeiras versões começando em 256 KB, depois aumentando para 512 KB e, finalmente, 1 MB.

O Pentium Pro era um processador superescalar e suportava MMX, o que adicionava mais desempenho à CPU. Ele também tinha execução fora de ordem para torná-lo mais eficiente.

O Pentium Pro tinha um barramento de endereços de 36 bits que era utilizável pela extensão de endereços físicos (PAE), permitindo acesso a 64 GB de memória.

O Pentium Pro podia ser usado em configurações de dois e até quatro soquetes, criando soluções SMP. O soquete era o mesmo para todos os soquetes na placa.

Talvez um dos pontos mais importantes sobre o Pentium Pro seja que ele foi o primeiro CPU de PC a ser usado em um supercomputador, o ASCI Red.

ASCI Red, o primeiro supercomputador a utilizar processadores Intel para PC.

O ASCI Red foi o supercomputador mais rápido até o final de 2000 e foi o primeiro supercomputador a ultrapassar 1 TFLOPS, alcançando 1,06 TFLOPS em dezembro de 1996.

Os processadores de PC continuaram a evoluir ao longo da década de 1990, com uma rápida escalada da potência de processamento e o surgimento da AMD como concorrente da Intel.

No final da década, o ritmo de inovação e lançamento de novos processadores de PC era impressionante. Um processador era lançado quase todos os anos ou 18 meses, e às vezes dois processadores eram lançados em um ano.

Os processadores de PC aumentavam constantemente em velocidade de clock e tamanho do cache L2. As CPUs tornaram-se superscalares e adicionaram instruções SIMD, proporcionando mais desempenho para aplicativos que podiam usá-las. No entanto, apesar de todos esses desenvolvimentos, os processadores de PC ainda eram de 32 bits.

Processadores de Supercomputadores no final da década de 1990

Em fevereiro de 1996, a Cray foi adquirida pela SGI. Enquanto a SGI foi proprietária da Cray, apenas uma nova linha de modelos da Cray foi lançada, o Cray SV1 em 1998.

O Cray SV1, modelo lançado apos a aquisição da Cray pela SGI.
Ela voltou aos sistemas vetoriais da Cray usando processadores fabricados pela própria Cray e era compatível com software J90 e Y-MP. No entanto, ao contrário dos processadores anteriores, os do SV1 incluíam um cache vetorial, uma partida dos projetos anteriores.

Ele rodava a 300 MHz, mas variantes posteriores rodavam a 500 MHz. O design do nó SV1 era algo semelhante a um sistema SMP no estilo do J90. Esses nós poderiam ser conectados para criar um sistema vetorial SMP clusterizado.

NEC SX-5 - capaz rde atingi 4 TFLOPS de desempenho.

A NEC lançou seu sistema SX-5 em 1998. Ele poderia atingir 4 TFLOPS de desempenho. Cada nó do sistema usava 16 CPUs com até 128 GB de memória principal. Ele poderia conectar até 32 nós para um total de 4.096 GB de memória.

A SGI anunciou um sistema HPC em grande escala, o SGI Origin 2000, em 1996. Ele podia acomodar de 2 a 128 CPUs MIPS. Esses eram os processadores MIPS R10000 que inicialmente operavam a 180 MHz, mas depois aumentaram para 300 e 400 MHz.

Uma vantagem da SGI era que os processadores não eram apenas usados para supercomputadores como o Origin 2000. Eles também eram utilizados em estações de trabalho da SGI.

A estação de trabalho SGI O2 foi introduzida em 1996 e usava um único processador MIPS R10000 que operava de 150 a 400 MHz.

A linha clássica de supercomputadores - Cray, NEC e agora SGI - fez bons progressos na década de 1990. Em alguns casos, eles utilizaram processadores mais comuns, como o DEC Alpha nos sistemas da Cray ou até mesmo o MIPS no SGI Origin.

Globalmente, os processadores de supercomputador também tiveram alguns bons ganhos de velocidade de clock durante esse período. Em termos de arquitetura, Cray e NEC se voltaram para sistemas paralelos distribuídos conectados com uma rede de alto desempenho. Os sistemas da SGI eram SMP, e tanto a Cray quanto a NEC tinham sistemas SMP paralelos.

Embora esses sistemas dominassem a computação de alto desempenho, eles ainda eram extremamente caros, custando milhões de dolares. Como tal, eles eram muito centralizados e compartilhados entre uma ampla gama de usuários.

Empresas e instituições de pesquisa só podiam pagar por um sistema centralizado e rigidamente controlado. Além disso, devido ao alto custo dos sistemas, apenas certas aplicações podiam ser executadas neles.

Por assim dizer, eles ainda eram muito modelados como uma espécie de sacerdócio, onde o humilde usuário tinha que pedir permissão para executar uma aplicação.

A década de 1990 foi crítica tanto para os "supercomputadores clássicos" quanto para os sistemas de PC. Ambos avançaram muito rapidamente, estabelecendo uma trajetória para o início dos anos 2000.

Processadores para PC no início dos anos 2000

Em 2001, os processadores Intel Pentium III atingiram velocidades de clock superiores a 1 GHz, chegando a um máximo de 1,4 GHz. Eles possuíam um grande cache L2 de 512 KB e começaram com uma velocidade de clock de 1,3 GHz. No entanto, ainda eram processadores de 32 bits.

AMD Athlon 64 um processador revolucionario que transformou os PCs caseiros em Supercomputadores existentes na epoca.

Em setembro de 2003, a AMD lançou seu totalmente novo processador Athlon 64, que foi o primeiro processador de PC de 64 bits. Ainda melhor, ele era compatível com instruções x86 de 32 bits e abandonava a antiga arquitetura FSB, introduzindo uma conexão ponto a ponto que era de baixa latência e alta largura de banda: o HyperTransport. O processador começou com uma velocidade de clock de 1 GHz e uma velocidade de HyperTransport de 800 MHz.

Além da mudança na arquitetura do barramento HyperTransport, o Athlon 64 incorporou um controlador de memória integrado no chip, o que significa que o controlador de memória fazia parte do próprio processador.

O Athlon 64 também suportava vários conjuntos de instruções, incluindo MMX, SSE, SSE2, SSE3, x86-64 e 3DNow!

Praticamente qualquer aplicativo das gerações anteriores que utilizava um conjunto de instruções especializado agora podia ser executado. Importante destacar que os PCs agora tinham um processador com a mesma precisão dos processadores de supercomputadores: 64 bits.

A próxima geração de processadores da Intel, o Pentium 4, lançado no final de 2000, começou como um processador de 32 bits, mas em 2004 a Intel lançou uma versão do Pentium 4 (codinome Prescott) que era de 64 bits.

Em 2005, a AMD introduziu o Athlon 64 X2 com dois núcleos separados e completos em um único chip. Ele também melhorou a velocidade do clock para até 3,2 GHz e aumentou o cache L2 para até 1 MB por núcleo.

A Intel lançou seu primeiro processador dual-core, o Pentium dual-core, em 2006. No entanto, ele ainda estava usando a arquitetura FSB. A Intel só teria uma conexão ponto a ponto em sua linha de processadores a partir do Nehalem Clarkdale em 2010. Lembre-se de que todos esses processadores poderiam ser facilmente adquiridos, e foram adquiridos, por pessoas comuns.

Processadores de supercomputadores no início dos anos 2000.

Nos primeiros anos de 2000, a SGI lançou o Origin 3000 com uma nova versão do processador MIPS R10000. O R12000 era uma melhoria do R10000 e funcionava com até 360 MHz.

SGI Origin 3000

O R14000 foi então introduzido no Origin 3000 como uma versão melhorada do R12000, com velocidade de clock de até 500 MHz.

A Cray introduziu o Cray X1 em 2003. O processador compartilhava os processadores de fluxo e os caches vetoriais do Cray SV1. Cada processador funcionava com até 800 MHz.

SGI Cray X1, lançado em 2003.

O sistema poderia ser configurado com até 4.096 processadores, onde havia 1.024 nós de memória compartilhada. Mais tarde, em 2005, a Cray lançou o upgrade X1E que usava processadores de núcleo duplo rodando a 1.150 MHz.

A NEC lançou o supercomputador SX-6 em 2001. Um único nó tinha até oito processadores vetoriais e até 64 GB de memória. Era possível conectar até 128 nós em um único sistema.

NEC SX-6 lançado em 2001.

No entanto, a NEC criou uma versão especial chamada Earth Simulator, que tinha 640 nós. O Earth Simulator foi o supercomputador mais rápido por um longo período de tempo.

NEC Earth Simulator durante um longo periodo de tempo foi considerado o Supercomputador mais rapido do mundo.

Trajetória

Claro que as velocidades de clock não são a melhor abordagem para comparação, mas na ausência de benchmarks que tenham durado mais de 15 anos durante esse período, ela terá que servir como um guia.

Embora os números absolutos de velocidade de clock não sejam importantes, o que é relevante é o crescimento nas velocidades de clock, bem como os valores relativos.

Desde a década de 1990 até o início dos anos 2000, é possível observar a trajetória das CPUs. Os processadores de PC estavam rapidamente ganhando em desempenho (por exemplo, adicionando instruções SIMD).

Finalmente, eles se tornaram de 64 bits em 2003 com o AMD Athlon 64. As velocidades de clock também estavam aumentando rapidamente para bem mais de 1 GHz e até 3 GHz. Em seguida, em 2005, o Athlon 64 X2 introduziu múltiplos núcleos em um único chip que operava a 1,9 GHz.

Ao mesmo tempo, os processadores de supercomputadores, que eram fabricados em quantidades muito, muito menores, ainda tinham velocidades de clock mais baixas.

Sim, isso mesmo. Os processadores vetoriais utilizados pela Cray eram altamente otimizados para executar código vetorizado de forma extremamente rápida. No entanto, mesmo com essa otimização, as velocidades de clock desses processadores mal ultrapassavam 1 GHz em 2005.

Enquanto isso, os CPUs de PC estavam se aproximando de 2 GHz na mesma época. Os processadores MIPS da SGI, que também eram fabricados para o mercado de estações de trabalho, ainda estavam abaixo de 1 GHz quando o Origin 3000 foi lançado em 2000.

Durante a década de 1990, o ritmo do desenvolvimento de CPUs de PC estava acelerando, com bons aumentos na velocidade do clock e crescente paralelismo. O cache L2 também estava aumentando em capacidade ao longo do tempo.

Então, em 2003, as CPUs de PC alcançaram os 64 bits com altas velocidades de clock, rapidamente seguidas por dois núcleos em um único chip com velocidades de clock de 2 GHz e mais.

Os supercomputadores desfrutaram de um grande período de crescimento no início da década de 1990, com melhores velocidades de clock, ótima vetorização e até mesmo paralelismo adicional entre os nós.

Os primeiros experimentos do final da década de 1980 e início da década de 1990 mostraram que o paralelismo de um grande número de processadores era possível, embora o software enfrentasse desafios para aproveitar todo esse processamento.

Ao mesmo tempo, a Cray estava produzindo apenas um pequeno número de processadores em comparação com o mercado de PCs. Grandes investimentos foram distribuídos pelo desenvolvimento de um pequeno número de processadores.

No entanto, a Cray também utilizava processadores de estações de trabalho, especificamente os processadores DEC Alpha, para reduzir custos mantendo ao mesmo tempo um ótimo desempenho, como refletido na popularidade dos sistemas Cray T3D e T3E.

A SGI também tentou usar seus processadores MIPS tanto em suas estações de trabalho quanto nos supercomputadores Origin para ajudar a manter os preços dos sistemas baixos, tornando-os competitivos com a Cray.

O desempenho geral do sistema para esses supercomputadores foi cada vez mais impulsionado pelo processamento paralelo em vários nós. Os processadores de PC estavam rapidamente alcançando e superando os processadores de supercomputadores.

As tabelas 1 e 2 oferecem uma breve visão da trajetória das CPUs de PC e dos processadores de supercomputadores desde o final da década de 1980 até o início dos anos 2000.

Tabela 1: Progressão dos Processadores de PC

Data Processador Descrição
Abr 1989 486DX Cache L1 no chip, desempenho muito melhor do que o L2 do 386 na placa-mãe.
Mar 1992 i486DX2 Multiplicador de clock 2:1, velocidades de 40/20, 50/25, 66/33; L2 na placa-mãe.
Mar 1993 Pentium Largura do barramento de dados dobrada para 64 bits, superscalar, FSB de 60-66MHz, multiplicador de clock de 1; Cache L1 de 16-32KiB, ainda cache L2 externa.
Mar 1994 i486DX4 Multiplicador de clock 3:1, velocidades de 75/25, 100/33; Cache L1 de 16KB no chip, L2 na placa-mãe.
Nov 1995 Pentium Pro Cache L2 na própria CPU com velocidades de 150 a 200MHz (256KB a 1MB); execução desacoplada, superscalar, super-pipelined de 14 estágios, execução fora de ordem, dois unidades inteiras.
Jan 1997 Pentium MMX SIMD (MMX), 166–200MHz
Abr 1997 AMD K6 Suporta MMX, velocidades de 166 a 300MHz; Cache L1 de 32+32KB, L2 na placa-mãe.
Mai 1997 Pentium II Melhorias no Pentium Pro, primeiro nome Xeon, velocidades de 233 a 450MHz.
Mai 1998 AMD K6-2 MMX e 3DNOW! SIMD, velocidades de 200 a 570MHz; Cache L1 de 64KiB.
Jun 1998 Pentium II Xeon SIMD; Cache L2 de 512KB a 2MB.
Fev 1999 Pentium III 9,5 milhões de transistores, velocidades de clock de 450 e 500MHz (600MHz em 1999); nova SIMD, SSE, introduzida; atingiu 1GHz no início de 2001; velocidade máxima de clock de 1,3GHz.
Fev 1999 AMD K6-III Velocidade inicial de clock de 400 e 450MHz, terminando em 500MHz; Cache L2 de 256KB; Soquete 7; instruções SIMD MMX e 3DNOW!
Nov 2000 Pentium 4 Arquitetura NetBurst (não bem-sucedida); introduziu SSE2 (ainda usado hoje); o código poderia ser rápido, mas precisava de novas otimizações de código; eventualmente alcançou 3,8GHz.
Jan 2001 Pentium III ≥1.0GHz
Mai 2001 Xeon 32-bit; 1.4, 1.5, 1.7GHz
Set 2001 Xeon 2.0–3.6GHz
Set 2003 Athlon-64 1.0–3.2GHz
Fev 2005 Pentium 4F 64-bit, 2.8–3.8GHz
Mai 2005 Pentium D, Smithfield Dual-core, 2.66–3.2GHz
Mai 2005 Athlon 64 X 2 Dual-core, 1.9–3.2GHz
Dez 2006 Xeon Clovertown Quad-core, 1.86–2.66GHz
Jan 2010 Nehalem Dual-core; 32+32 L1, 256KB L2, 3MB L3; 2,8GHz, dois threads por núcleo.
h4>Tabela 2: Progressão dos Processadores dos Supercomputadores
Data Processador Descrição
1985 NEC SX-1, SX-2 SX-2: quatro conjuntos de pipelines de operações vetoriais de alta performance com um máximo de 16 unidades aritméticas, capazes de operação múltipla/paralela.
1988 Cray Y-MP Oito processadores vetoriais de 32 bits, 167MHz, memória principal SRAM, pipeline único de vetor único.
1990 NEC SX-3 SIMD, MIMD, quatro processadores aritméticos, até quatro compartilhando a mesma memória principal.
1991 Cray C90 Pipeline duplo de vetor, 244MHz, três vezes o desempenho do Y-MP.
1994 Cray T3D Processadores DEC Alpha 21064, Torus 3D, 64 bits.
1994 Cray J90 Até 32 processadores vetoriais, 100MHz, 4GB de memória, custando US$ 59,76 milhões em dólares de 2020.
1994 NEC SX-4 Primeiramente lançado em 1995, vários CPUs dispostos em um nó de processamento vetorial paralelo; então, esses nós foram instalados em um arranjo SMP regular.
1995 Cray T90 Evolução do C90, processadores de 450MHz.
1996 Cray T3E Processador DEC Alpha 21164, 300MHz, processadores futuros: 450, 600 e até 675MHz; pode escalar de 8 a 2.176 PEs, cada PE com 64MB a 2GB de memória.
1996 SGI Origin 2000 Processador MIPS R10000, 180 a 300 e 400MHz.
1998 Cray SV-1 Cache de vetor, 300MHz, posteriormente atingiu 500MHz.
1998 NEC SX-5 4 TFLOPS, cada nó usava 16 CPUs, até 128 GB de memória.
2001 NEC SX-6 Nó único, até oito processadores vetoriais, até 64 GB de memória, conexão de até 128 nós em um único sistema; tornou-se Earth Simulator.
2003 Cray X1 NUMA, vetor, 800MHz, vetor de oito elementos; resfriamento a ar, até 64 processadores; resfriamento líquido, 4.096 processadores; 1.024 nós SMP em uma topologia Torus 2D; código com máquina virtual Python (PVM) e interface de passagem de mensagem (MPI).
2004 SGI Origin 3000 Processador MIPS R12000, até 360MHz; posteriormente R14000 até 500MHz.
2005 Cray X1E Dual-core, 1,150MHz

Commodity Networking

Uma questão crítica para fazer com que computadores distribuídos funcionem juntos é a rede. Quando os PCs ainda estavam em sua infância, as redes especializadas eram extremamente caras e às vezes um pouco frágeis.

Elas eram usadas para a transmissão de informações críticas em indústrias como telecomunicações, finanças e governo. Os supercomputadores durante a década de 1990 utilizavam algumas dessas redes especializadas para alcançar largura de banda alta e latência baixa para aquela época.

Para os PCs, as redes precisavam ter preços compatíveis com os PCs. Não era viável ter uma interface de rede de $ 10.000 em um PC de $ 500 a $ 2.000.

As redes especializadas não atendiam à expectativa de baixo custo. Os PCs tiveram que aguardar o desenvolvimento de redes mais baratas. Isso veio com o Ethernet.

O Ethernet, desenvolvido por volta de 1973 e 1974, foi criado no Xerox PARC, assim como muitas outras tecnologias inovadoras. Inicialmente, o Ethernet operava a 2,94 Mbps e era usado em várias aplicações de servidor, mas não com PCs.

Em 1980, a especificação do Ethernet foi atualizada para um protocolo de 10 Mbps. A versão 2 da especificação, conhecida como Ethernet II, foi publicada em novembro de 1982. No final dos anos 1980, o Ethernet havia se tornado a tecnologia de rede dominante.

No início da década de 1980, o Ethernet usava o 10BASE5 e cabo coaxial, que mais tarde mudou para o cabeamento 10BASE2, que muitos devem se lembrar. Depois, o mundo passou para o 10BASE-T, que usava cabos de par trançado, como ainda é usado hoje para redes comuns.

Com o cabeamento coaxial 10BASE2, o uso do Ethernet começou a se expandir para além de supercomputadores e redes especializadas, reduzindo os preços do Ethernet, incluindo switches e roteadores Ethernet, o que causou um aumento no uso, e assim por diante.

Por volta de 1995, foi introduzida a próxima geração do Ethernet, o Fast Ethernet. Este é provavelmente o início do verdadeiro networking de commodities, com um desempenho de 100Mbps, 10 vezes mais rápido que a geração anterior.

Foi um salto quântico em termos de desempenho, com preços caindo rapidamente até se tornarem ubíquos. Os preços baixos permitiram que placas de rede (NICs) Fast Ethernet, switches Ethernet e roteadores Ethernet fossem instalados em residências.

Ethernet Gigabit, comumente referido como "GigE", opera a 1.000 Mbps e foi introduzido em 1999. Ele ainda podia usar cabos de par trançado 10BASE-T, mantendo os preços baixos, e proporcionou outro salto de desempenho de 10 vezes para redes de commodities. O GigE ainda é amplamente utilizado em pequenos sistemas de HPC e em residências.

A rede de commodities, iniciada com o Fast Ethernet, surgiu por volta da mesma época dos processadores de commodities (CPUs de PC). Em um sentido definitivo, elas se alimentam mutuamente.

À medida que as redes se tornavam menos dispendiosas, tornava-se economicamente viável comprar mais PCs e adicionar mais capacidade, reduzindo os preços dos PCs.

Conforme os processadores se tornavam menos dispendiosos, mais sistemas eram adquiridos, os quais necessitavam de redes, o que aumentava a quantidade de redes necessárias e reduzia os custos de redes.

Sumario

Os processadores de supercomputador que entraram na década de 1990 eram os líderes do setor. Os processadores vetoriais eram predominantemente utilizados e eram significativamente mais rápidos do que os processadores de PC.

Durante a década de 1990, dois "ramos" de processadores de supercomputador se desenvolveram. Um ramo permaneceu nos processadores vetoriais e o outro utilizou processadores de estação de trabalho

Os conjuntos de instruções de processadores vetoriais operam em arrays unidimensionais, ou vetores. Eles eram amplamente utilizados em supercomputadores porque se mostravam muito rápidos em códigos que poderiam ser vetorizados.

Ao entrar na década de 1990, cada empresa de supercomputadores fabricava seus próprios processadores vetoriais e compiladores.

Durante a década de 1990, esses processadores vetoriais se tornaram mais rápidos e ganharam mais desempenho com a adição de pipelines vetoriais maiores e mais complexos. Além disso, as velocidades de clock eram muito mais altas do que nos PCs, por uma grande margem.

Eles também evoluíram de 32 bits para 64 bits durante a década de 1990, com o penúltimo processador vetorial aparecendo no Cray X1 em 2003. Embora fosse um processador vetorial, ele também possuía capacidade de acesso à memória não uniforme (NUMA).

Em 2005, o processador recebeu uma atualização para 1.160 MHz e um processador dual-core. Novamente, todos esses processadores vetoriais foram construídos por cada empresa de supercomputador para seus sistemas específicos.

Portanto, os custos extremamente altos de projetar, testar e fabricar esses processadores foram distribuídos apenas pelos sistemas vendidos por essa empresa. Como resultado, o custo do processador era notavelmente alto, especialmente em comparação com os processadores x86.

O segundo ramo de processadores de supercomputador veio principalmente de processadores de estação de trabalho. Um exemplo perfeito é o Cray T3E, que usava os processadores DEC Alpha 21164 rodando a cerca de 300 MHz.

O objetivo ao usar esses processadores era reduzir o custo: como havia muitas estações de trabalho, os custos dos processadores eram distribuídos por mais sistemas, reduzindo os custos. Além disso, os processadores de estação de trabalho tinham melhor desempenho, naquela época, do que os processadores de PC.

O uso de processadores de estação de trabalho ajudou a reduzir os custos dos supercomputadores, embora ainda fossem suficientemente caros para serem recursos centralizados.

Contraste isso com os processadores de PC, que eram vendidos em milhões, permitindo que os custos de desenvolvimento, que não eram muito diferentes dos processadores de supercomputador, fossem distribuídos por possivelmente centenas de milhões de processadores. Os supercomputadores poderiam, no máximo, distribuir os mesmos custos entre centenas ou milhares de processadores.

As redes de commodities, especificamente o Ethernet, inicialmente não foram impulsionadas pelos PCs. O impulso inicial veio da conexão entre centros de pesquisa, governamentais e militares.

A conexão entre universidades veio em seguida, seguida por instituições financeiras e empresas de telecomunicações, ambas principalmente no nível corporativo, o que ajudou a reduzir os custos para algo que uma empresa poderia pagar.

Esse crescimento na rede continuou reduzindo o preço até o ponto em que se tornou economicamente viável para PCs de alta qualidade ou estações de trabalho baseadas em PC.

Nesse ponto, os centenas de milhões de PCs começaram a reduzir os custos do Ethernet rapidamente. Mais PCs foram comprados porque eram economicamente viáveis, especificamente no mundo corporativo.

Esses PCs precisavam de rede, o que ajudou a reduzir os custos de rede. À medida que os custos de rede diminuíam, as pessoas podiam se dar ao luxo de fazer mais redes e comprar mais PCs, o que reduziu o custo dos processadores de PC.

Resumindo

  • Os custos de desenvolvimento de processadores de PC podiam ser distribuídos entre muitos mais clientes do que os processadores de supercomputador (pense em centenas de milhões de máquinas versus algumas milhares). Os processadores de PC eram muito mais baratos em comparação com os processadores de supercomputador.
  • Os CPUs de PC com preços de commodities começaram a adicionar novos recursos, velocidades de clock mais rápidas e mais paralelismo ao longo dos anos 1990, principalmente porque os custos de desenvolvimento podiam ser distribuídos por um número enorme de sistemas. Os processadores de supercomputador não tinham essa economia de escala, então os preços permaneceram muito altos.
  • Eventualmente, nos primeiros anos de 2000, os CPUs de PC tinham recursos aproximadamente equivalentes aos dos processadores de supercomputador; em alguns casos, eram mais rápidos.
  • A rede de commodities cresceu muito rapidamente na década de 1990, reduzindo os preços para que os indivíduos pudessem usar o Ethernet para conectar seus PCs. Até o início dos anos 2000, isso significava que redes relativamente rápidas e com baixa latência estavam disponíveis para PCs.

Via: Admin Magazine

    Blogger Comment
    Facebook Comment

0 Comments:

Postar um comentário