Vídeo: Qual a diferença entre processadores core i3, i5 e i7? | qual melhor processador? (Novembro 2024)
Uma das tendências mais interessantes que já vi na computação de servidores é o afastamento das CPUs padrão e o processamento de chips gráficos (GPUs) e processadores reconfiguráveis, conhecidos como FPGAs (Field Programmable Gate Arrays). Esse fenômeno costuma ser chamado de computação heterogênea.
O conceito aqui não é novo - as GPUs e outros aceleradores são cada vez mais comuns na computação de alto desempenho (HPC) ou nos supercomputadores há anos. Ultimamente, porém, temos ouvido mais sobre como a Intel personalizou alguns pacotes de chips de servidor para incluir FPGAs além da CPU tradicional, destinada principalmente a grandes provedores de computação em nuvem em escala hiperespacial que possuem algoritmos específicos que podem ser executados como instruções de hardware nos FPGAs. Isso deve ser muito mais rápido do que executá-los como software nas instruções mais gerais da CPU.
Este foi um dos principais fatores do recente plano da Intel de adquirir a fabricante de FPGA Altera. O CEO da Intel, Brian Krzanich, disse que espera que até 30% das cargas de trabalho na nuvem tenham algum tipo de aceleração no FPGA até o final da década. A Microsoft já está usando FPGAs da Altera para alimentar muitos de seus serviços em nuvem, como a pesquisa do Bing.
Houve um grande obstáculo para a maioria das empresas que usam FPGAs - ou GPUs - nos casos mais típicos de computação corporativa: fazer com que o software funcione simultaneamente nesses chips ao lado da CPU é difícil. (Para cargas de trabalho corporativas e até HPC, você sempre precisará de algumas CPUs; em outros tipos de aplicativos, como redes, empresas de hardware podem usar apenas um FPGA.) Para computação em GPU, vimos coisas como o CUDA da Nvidia e o Khronos O padrão OpenCL do grupo, que facilita as coisas, e certamente vimos muitos HPC e algoritmos de aprendizado de máquina usar GPUs. Agora, fabricantes de FPGA, como a Altera, também suportam o OpenCL, mas no caso mais geral da computação corporativa, isso é muito difícil.
Ultimamente, conversei com algumas empresas que esperam facilitar isso.
Bitfusion é uma startup que eu vi pela primeira vez no TechCrunch Disrupt; sua tecnologia visa permitir que você mova um aplicativo da CPU para uma GPU ou FPGA sem reescrevê-lo para cada plataforma. Como o CEO Subbu Rama explicou, o pacote agora funciona procurando bibliotecas de código aberto comuns usadas por desenvolvedores de software e substituindo as funções dentro delas por funções que possam tirar proveito da GPU ou FPGA. Como ele explicou, as grandes empresas podem reescrever seu código, mas as empresas de médio porte não podem. Os aplicativos incluem computação científica, aplicativos financeiros como análise de risco e negociação de alta frequência e análise de dados, como trabalhar com dados de sensores de petróleo e gás.
Eventualmente, ele disse que isso poderia funcionar com qualquer linguagem que chame essas bibliotecas. Ele observou que a substituição das bibliotecas pode não ser tão eficiente quanto escrever código personalizado para FPGAs ou GPUs, mas é muito mais fácil.
A Bitfusion planeja oferecer seus produtos em três modelos diferentes - como software puro para empresas que já possuem seus próprios aceleradores; pré-instalado em aparelhos; ou para aplicativos implantados na nuvem, por meio de uma parceria com a Rackspace. Inicialmente, isso usará os FPGAs da Altera, embora a empresa diga que também poderia trabalhar com outros processadores. Rama diz que os clientes iniciais estão usando isso agora, com disponibilidade pública planejada para os próximos dois meses.
O SRC está adotando uma abordagem um pouco diferente. Cria "servidores reconfiguráveis" para agências governamentais desde 1999 e agora está criando uma solução voltada para data centers em escala de hiperescala e operações na Web. Chamado servidor Saturn 1, é um cartucho que se conecta ao chassi Moonshot da HP, e a SRC alega que pode fornecer um desempenho de computador tipicamente 100 vezes mais rápido que o dos projetos tradicionais de microprocessadores. (A empresa também vende sistemas maiores montados em rack e em tamanho real, geralmente para seus clientes maiores.)
O que torna isso diferente é um compilador especial conhecido como Carte, que converte o código em um design de silício que pode ser executado na arquitetura FPGA, de acordo com o CEO Jon Huppenthal. Ele me disse que a SRC passou anos criando o compilador, inicialmente para clientes comerciais, desde que a empresa foi fundada pelos pioneiros em supercomputadores Seymour Cray e Jim Guzy nos anos 90. Uma diferença na abordagem da SRC, disse ele, é que Carte não se destina a sistemas genéricos, mas está ligado especificamente à arquitetura da SRC, o que lhe confere mais desempenho e consistência. O Saturn 1 usa dois FPGAs da Altera - um que executa o código do usuário; o outro que mantém o sistema funcionando rapidamente, junto com um processador Intel. Atualmente, ele acrescentou, a empresa está na sua 12ª geração de processadores reconfiguráveis.
Essa é uma solução mais cara, voltada principalmente para grandes centros de computação, mas ainda é mais acessível do que as abordagens anteriores.
A idéia de usar FPGAs ou processadores reconfiguráveis para tarefas mais comuns não é nova. No entanto, demorou muito tempo para que isso se tornasse uma possibilidade para clientes mais tradicionais, fora de designers de hardware ou aplicativos militares. Essas novas abordagens podem pressagiar o início dessa tecnologia se tornando mais comumente usado - mas apenas se as melhorias de preço / desempenho realmente corresponderem às reivindicações do fornecedor e a tecnologia se tornar mais fácil de usar. As novas abordagens são um passo nessa direção.