Quando a Amazon Web Services anunciou o primeiro processador da AWS baseado em ARM – o Graviton – para mim foi importantíssimo, pois falo sobre servidores baseados em ARM há mais de uma década, a pensar que volumes massivos de clientes financiam o fluxo de I&D que alimenta a maior parte das inovações, no que diz respeito ao servidor. Na nossa indústria, as inovações profundas são dispendiosas e o termo “dispendioso” só faz sentido quando os volumes são enormes.
Para alguém como eu, que se foca na computação do servidor, este é um facto triste. Mas os velhos tempos em que a inovação era só ao nível do servidor, começaram a morrer com o mainframe, e o processo foi concluído durante os anos de glória dos super servidores Unix. Hoje, quando aposto numa tecnologia de servidor, a primeira coisa que procuro é qual a tecnologia que é potenciada pelos maiores volumes e – na maioria das vezes – é o cliente massivo e especialmente o consumidor que impulsiona estes volumes.
Há mais de 10 anos que acompanho o mercado de computação de clientes e especialmente o de telemóveis na procura de novas tecnologias que possam ser efetivamente aplicadas no servidor. O exemplo mais óbvio é a família de processadores Intel X86, que começou como um processador de clientes, mas acabou por assumir o mercado total de servidores. Muitos outros exemplos incluem a maioria das inovações na gestão de energia e novas tecnologias, como a acumulação de matrizes, que apareceram primeiro nos dispositivos dos clientes.
Ao perceber esta dinâmica, a minha previsão em 2008 – de que os processadores ARM acabariam alimentando partes importantes do mercado de servidores – era óbvia. Se concorda que o volume impulsiona a inovação na sua empresa, é difícil argumentar com muito mais que 90B de peças ARM enviadas.
Mas o sucesso do servidor para processadores ARM está longe de ser instantâneo. Algumas startups bem financiadas, como a Calxeda, acabaram sem dinheiro. Algumas grandes empresas examinaram o mercado com detalhe, fizeram investimentos significativos, mas acabaram por recuar por várias razões, muitas delas não relacionadas com os problemas técnicos com que estavam a lidar. A AMD e a Qualcomm estão entre as empresas que investiram e depois recuaram, mas a lista é muito mais longa. Vi os detalhes por detrás de alguns destes trabalhos e muitos deles foram excelentes. Mas a nova tecnologia é difícil. Todas as empresas, mesmo as bem-sucedidas, precisam de focar os seus recursos onde veem mais valor e frequentemente no valor a curto prazo.
Sei que não é fácil, mas tem sido difícil ver tantos projetos falhar. Alguns destes projetos foram investimentos massivos e parte do trabalho foi muito boa. No entanto, à medida que os projetos eram encerrados, a oportunidade permaneceu óbvia e, como consequência, novos investimentos estavam sempre a surgir. Após quase uma década, isto ainda acontece. Muitos projetos foram iniciados, quase o mesmo número dos que encerraram, mas o elemento comum é que sempre há investimentos nos servidores baseados em ARM.
De certa forma, é bom que se continue a investir nos processadores de servidores baseados em ARM, mas ser vencedor requer um profundo investimento e paciência. Grande parte do mundo empresarial concorda com investimentos fortes, e a maioria não tem a paciência necessária. O desenvolvimento do processador do servidor leva tempo, o ecossistema precisa de tempo para se desenvolver e os clientes precisam de tempo para adotar novas tecnologias. Grandes mudanças nunca acontecem da noite para o dia e, sem paciência, simplesmente não acontecem.
Anteriormente disse que “o desenvolvimento de chips baseados em ARM para servidores de data center não estava a progredir rápido o suficiente, para se considerar usá-los em vez dos da Intel”. Na minha opinião, naquela altura [2014] não havia componentes de servidores ARM em desenvolvimento que parecessem vir a ter uma participação significativa no mercado. Todos esses investimentos foram um pouco incrementados e a componente, que era apenas “tão boa quanto a que já existia no mercado”, não iria atrair muita atenção, não iria aliciar os clientes a usá-los. A não ser que a nova peça seja notável em alguma dimensão, falhará.
Quando anunciaram o processador da AWS Graviton fiquei empolgadíssimo. Pois o que disseram de bom, das boas especificações, aumentaram o nível de preço / performance em muitos workloads. Mas mais entusiasmado fiquei ao saber que a AWS tinha um plano para processadores ARM, paciente e especializado em mover-se rapidamente. O primeiro Graviton era bom, mas eu já sabia o que muitos especulavam: um novo estava a caminho.
O Graviton2 é um processador de servidor que será uma parte essencial da oferta de computação do EC2 para alimentar o M6g (uso geral), M6gd (uso geral com armazenamento em bloco SSD) o C6g (computação otimizada), o R6g (memória otimizada) e o R6gd (memória otimizada com armazenamento em bloco SSD). Esta parte de 7 nm é baseada em núcleos customizados ARM Neoverse N1 de 64 bits e é muito rápido. Em vez de ser oferecido como um tipo alternativo que executa algumas cargas de trabalho com melhor preço / desempenho, é apresentado como uma versão melhor do já existente e muito usado M5.
Aqui está uma comparação entre M6g e M5, um tipo de modelo de geração anterior:
- > 40% de melhor desempenho no rate SPECint2017 (estimativa)
- > 20% de melhor desempenho no rate SPECfp2017 (estimativa)
- > 20% de melhor desempenho de serviço web no NGINX
- > 40% de melhor desempenho no Memcached com menor latência e maior rendimento
- > 20% de melhor desempenho de media encoding para vídeo descompactado de 1080p para H.264
- 25% de melhor inferência BERT ML
- > 50% de melhor desempenho EDA na ferramenta Cadence Xcelium EDA
Acredito que há uma grande probabilidade de estamos a olhar para o futuro primeiro Servidor ARM de elevado volume, com mais velocidades e feeds:
- > 30B transístores em processamento 7nm
- 64KB icache, 64KB dcache e 1MG L2 cache
- 2TB/s internal, full-mesh fabric
- Cada vCPU é um núcleo completo não compartilhado (não SMT)
- Pipelines / núcleo SIMD duplos, incluindo ML otimizado para int8 e fp16
- Cache L1 coerente em cache completo
- DRAM 100% encriptada
- 8 canais DRAM a 3200 Mhz
Há muito que os servidores ARM são inevitáveis, mas é ótimo finalmente poder vê-los massivamente nas mãos dos clientes.