Quando o Atom o foi lançado, em 2008, muitos cogitaram a ideia de que ele pudesse ser usado para construir servidores de baixo consumo e múltiplos processadores, que poderiam eventualmente oferecer um consumo elétrico mais baixo do que outros servidores x86 de performance similar. Entretanto, o custo por unidade relativamente alto do Atom e as limitações dos chipsets fizeram com que a ideia não fosse muito explorada.
Isso mudou com o lançamento da SeaMicro, que desenvolveu o SM10000, um servidor com nada menos do que 512 processadores Intel Atom, espremidos em um gabinete 10U. Este design permite instalar 4 servidores em um único rack, atingindo um total de 2048 processadores:
Internamente, o servidor é composto por um grande número de pequenas placas, conectadas a um barramento central. Cada placa inclui 8 conjuntos de processador, chipset e chips de memória, que são interconectados através de um par de slots PCIe x16, com a ajuda de um ASIC especialmente desenvolvido, que faz a ponte com o mundo externo. O servidor é composto por 64 destas placas, o que leva aos 512 processadores anunciados:
Esta disposição lembra um pouco a arquitetura desenvolvida pela IBM para uso no IBM Blue Gene/L, um descendente do Deep Blue (que derrotou Garry Kasparov no xadrez em 1997), que era composto originalmente por 65.532 processadores Dual PowerPC 440 (131.072 núcleos no total), com 32 terabytes de memória RAM, 1.01 petabytes de armazenamento e um poder de processamento bruto de 280.6 teraflops.
Em vez de utilizar chips x86 e placas-mãe para servidores, a IBM optou por utilizar um layout especializado, privilegiando a densidade. O componente básico são placas (batizadas de “compute cards”) contendo dois processadores PowerPC 440 dual-core (4 núcleos por placa no total) com 1 GB de memória DDR (512 MB por chip) e uma interface de comunicação. Os chips operam a apenas 700 MHz, o que foi uma decisão deliberada para reduzir o consumo e permitir agrupar um maior número de chips por gabinete:
As placas com os processadores são espetadas em placas de interface (batizadas de “node boards”), cada uma contendo 16 compute cards (ou seja, 32 chips) e mais dois nós de interface, destinados a coordenar a comunicação e executar funções de gerenciamento:
As node boards são então montadas em racks, cada um contendo 32 placas (1024 chips no total), com a comunicação entre as placas e entre os racks sendo feita através de interfaces de rede.
A versão inicial do Blue Gene/L era composta por 64 destes racks, organizados em filas de oito, o que formava um conjunto relativamente pequeno (considerando o enorme número de placas e processadores), que ocupava cerca de 230 metros quadrados. Esta foto de divulgação da IBM mostra parte das instalações:
Naturalmente, o SM10000 implementa estas ideias em uma escala muto menor, mas nada impediria que alguém realmente empolgado construísse um cluster, combinando vários servidores até atingir o desempenho desejado.
Um detalhe curioso é que em vez de utilizar processadores da plataforma Pinetrail, a SeaMicro optou por utilizar o Atom Z530 (de 1.6 GHz) baseado no core Silverthorne, que é a versão original do Atom, lançada em 2008, em conjunto com o chipset Poulsbo.
A grande diferença do Atom Z530 em relação aos modelos baseados no PineTrail é o consumo elétrico mais baixo, que é um fator crítico no caso do SM10000, já que o grane diferencial do servidor é precisamente o baixo consumo elétrico.
Segundo os números fornecidos pelo fabricante (que devem ser sempre recebidos com um grão de sal), o servidor precisa de apenas 72 KW de energia para computar um SPECint_rate com 100.000 casas decimais, contra 254 KW de um Dell R610 baseado no Intel Xeon. O consumo em idle é também consideravelmente mais baixo, já que cada processador consome apenas 4 watts e os nós inativos podem ser desligados. Cada SM10000 custa nada menos do que US$ 139.000, mas o argumento é que a economia cumulativa de energia permite recuperar grande parte do valor.
Cada processador possui 2 GB de memória próprios (o que leva a um total de 1 TB), mas as unidades de armazenamento são compartilhadas entre todos os processadores através de um sistema de armazenamento virtualizado, que é composto por até 64 HDs de 2.5″ operando em RAID 0.
Para permitir que os processadores sejam interligados de forma efetiva (evitando cair no erro de simplesmente criar um cluster de 512 Atoms sem outra diferenciação) a ponte sul do chipset é descartada, com cada conjunto de processador e chipset sendo ligado diretamente ao ASIC de interface através das duas linhas PCIe disponíveis no Poulsbo. O ASIC faz então a interface com o barramento central, emulando todas as outras interfaces, incluindo portas SATA virtuais (que ligam os processadores a unidades virtuais dentro da unidade de armazenamento) e portas de rede gigabit Ethernet.
Como não existe uma versão do Windows com suporte direto a 512 processadores, o SM10000 roda por enquanto apenas Linux e Solaris, mas é possível rodar o Windows Server dentro de uma VM… 🙂
Deixe seu comentário