(

O caminho da Arm para o mercado de servidores foi longo e difícil – e ainda não acabou. Basta recordar os desenvolvimentos notáveis ​​e seu triste fim. Por exemplo, há 10 anos, a Calxeda anunciou as primeiras plataformas de servidores Arm baseadas em Cortex-A9, que eram clusters bastante compactos – tais sistemas baseados em SoCs modernos e dispositivos de placa única foram criados, por exemplo, pela Bamboo – e que, segundo à ideia da empresa, pode ser útil para hiperescaladores. Um ano após o anúncio, a própria Arm já falava alto em licenciar sua arquitetura para sistemas de servidores.

Amperes Outros Q80-30

Um ano depois, Calxeda fechou, mas já eminentes desenvolvedores e fabricantes começaram a falar sobre planos para o desenvolvimento de chips de braço para servidores. É verdade que os planos acabaram sendo apenas planos, apesar dos fundos investidos no desenvolvimento. A AMD atrasou o A1100 por dois anos e não lançou a produção em massa. A Qualcomm fez o Centriq 2400 (e até anunciou a próxima geração, Firetrail) – e o abandonou. E então ela comprou completamente uma recém-chegada a esse mercado, a empresa Nuvia, mas, aparentemente, ela não quer se intrometer no segmento de servidores por enquanto.

O legado do projeto Broadcom Vulcan provou ser o mais duradouro – caindo nas mãos da Cavium e, depois, da Marvell, não apenas conseguiu desenvolver, mas também obteve algum sucesso em HPC e nuvens. Infelizmente, os chips ThunderX, chegando à terceira ou quarta geração, foram subitamente abandonados pela Marvell, que também queria produzi-los para hiperescaladores. A série HiSilicon Kunpeng é usada ativamente nos equipamentos e na nuvem da Huawei, mas seu destino ainda está em dúvida devido às sanções dos EUA.

GIGABYTE E252-P30

GIGABYTE E252-P30

Todos esses eventos minaram a credibilidade da Arm como plataforma de servidor. Como um dos principais fornecedores de servidores nos disse, uma vez queimado, a empresa começou a ter muito cuidado com os desenvolvimentos “não tradicionais”. Ao mesmo tempo, em nichos mais estreitos, já se pode falar de sucesso. No segmento de HPC, o Fujitsu A64FX mostrou-se excelente, o que se tornou a base do Fugaku. Aqui, no entanto, mais uma vez vale a pena notar que este é um chip altamente especializado, conceitualmente semelhante ao Xeon Phi ao invés de CPUs convencionais.

Sim, e o Fugaku não pode ser chamado de eficiente em termos energéticos, embora outros fabricantes se baseiem nesse recurso das soluções Arm. O Phytium chinês, aparentemente, também não é tão ruim. E no segmento de hiperescaladores, tudo geralmente é muito interessante. A plataforma com a terceira geração de processadores Arm Amazon Graviton conseguiu ultrapassar as soluções AMD e Intel em alguns aspectos. Alibaba também está se movendo na mesma direção. Mas todos esses são chips criados para as necessidades de uma determinada empresa, e você não pode simplesmente comprá-los. Quem fica?

Há pelo menos um outro projeto de processador Arm do servidor da era Calxeda não mencionado, o X-Gene da Applied Micro. Esta empresa, como resultado de uma série de transações, tornou-se a base da Ampere Computing e a terceira geração de chips X-Gene – para Ampere A1 / eMAG. Mas a Ampere recebeu não apenas desenvolvimentos, mas também uma parte da equipe com experiência em desenvolvimento de CPU. No ano passado, a empresa anunciou o Ampere Altra de 80 núcleos (codinome Quicksilver) e, alguns meses depois, o Ampere Altra Max (Mystique) de 128 núcleos.

Ambas as variantes são fabricadas com a tecnologia de processo de 7 nm e são compatíveis ao nível dos soquetes do processador. Novos itens apareceram no Equinix Metal e em vários hyperscalers, incluindo a nuvem da Oracle, que investiu na Ampere há alguns anos. No nível da plataforma, a empresa foi apoiada principalmente por Wiwynn e GIGABYTE. Este último anunciou recentemente a segunda onda de servidores Altra, que, no entanto, difere da primeira não tão significativamente. No próximo ano, a Ampere ameaça lançar processadores com seus próprios núcleos Siryn de 5 nm, que, em particular, irão para a Microsoft e a Tencent.

O timing para trazer a nova plataforma ao mercado como um todo não foi muito bom devido à pandemia do coronavírus. Por outro lado, os clientes mencionados são, novamente, hyperscalers e nuvens, que a Ampere visa abertamente e que têm sua própria economia e suas próprias cadeias de suprimentos. Além disso, a Ampere fez amizade com a NVIDIA e abriu a plataforma de referência Mt.Jade para OCP. O futuro destino da empresa é ainda mais interessante, pois ouvimos repetidamente a opinião de que ela foi criada para vender para algum jogador maior.

Os processadores Ampere Altra são baseados nos núcleos Arm Neoverse N1, lançados no início de 2019 e focados especificamente em soluções de infraestrutura. A própria empresa chama a arquitetura de ARMv8.2+, já que alguns dos recursos são portados de conjuntos mais recentes (até v8.4). Em particular, trata-se de proteção contra vulnerabilidades da classe Meltdown/Spectre, que é simplesmente necessária em sistemas de servidor. Ao mesmo tempo, segundo a Arm, o desempenho do Neoverse N1 (Ares) pode ser 2,5 vezes superior ao dos núcleos da geração anterior (Cosmos).

Cada núcleo Altra contém 64 KB de cache L1i e L1d, bem como 1 MB de L2. Entre si, os núcleos e o cache L3 de 32 MB (System Level Cache) comum a todos são conectados por uma interligação de malha coerente Arm CoreLink CMN-600. O CMN permite combinar até 64 grupos, 2 núcleos cada, que vemos no Altra Max mais antigo. Controladores de memória e PCIe 4.0 são conectados ao CMN. Além disso, a Ampere não pratica um “imposto de memória”, ou seja, este subsistema é o mesmo para toda a série Altra. Com PCIe a situação é a mesma.

Um total de 8 canais de DDR4-3200 ECC estão disponíveis em modo de até 2DPC com suporte para módulos UDIMM/RDIMM/(3DS)LRDIMM. Pelo menos 4 canais devem estar ativos e a quantidade total de RAM por soquete do processador é de até 4 TB. São oferecidas até 128 pistas PCIe 4.0, com possibilidade de bifurcação até x2. Metade das linhas suportam CCIX. Em sistemas de dois soquetes, um total de 192 linhas estão disponíveis, pois duas interfaces x16 de cada lado são alocadas para comunicação CCIX entre as UCPs. Isso é uma reminiscência da abordagem da AMD, embora o EPYC, com seus quatro links x16, seja claramente melhor no último parâmetro.

Altra também inclui dois chips Arm Cortex-M3 responsáveis ​​pela segurança, controle, monitoramento e interação com o resto da plataforma. Os processadores são fabricados na TSM usando a tecnologia de processo FinFET de 7 nm. Eles são embalados em FCLGA-4926 (77 × 67 mm) – e essa é uma diferença importante de alguns concorrentes, já que o design do soquete simplifica um pouco a seleção da CPU e a manutenção da plataforma, o que pode ser importante para alguns clientes.

A família Ampere Altra agora está disponível em 10 modelos de CPU que variam de 32 a 80 núcleos, com frequência base de 1,5 a 3,0 GHz, frequência máxima de 1,5 a 3,3 GHz e TDP de 65 a 250W. No entanto, esses números devem ser percebidos de forma diferente do habitual. Se os processadores x86 reduzirem sua frequência quando a carga nos núcleos aumentar, tentando atender ao nível de consumo especificado, o Altra, pelo contrário, manterá a mesma frequência para um ou todos os núcleos, independentemente da carga, enquanto o consumo muda.

Изображение: Ampere Computing

Imagem: Ampere Computing

O nível de TDP declarado indica apenas o consumo médio de pico. Em outras palavras, na grande maioria das cargas, o processador opera na frequência máxima declarada, apenas em algumas delas ele reverte para a base. Mas mesmo neste caso, a diferença de frequências é pequena. Ao mesmo tempo, o nível real de TDP, como regra, é visivelmente menor do que o declarado, embora tudo isso não signifique que o processador não diminua a frequência (mais frequentemente para baixo) durante períodos de inatividade ou baixa carga.

Изображение: Ampere Computing

Imagem: Ampere Computing

Juntamente com a falta de SMT, tudo isso permite que a Ampere fale sobre o desempenho estável da CPU, o que é importante para cargas de trabalho na nuvem. Mas não apenas – a previsibilidade do trabalho é necessária, por exemplo, para computação periférica. Na verdade, foi apenas um sistema de soquete único que veio até nós para teste do distribuidor 3Logic junto com uma amostra de engenharia do processador Altra Q80-30 (80C / 80T, 2,8 / 3,0 GHz, 32 MB L3 , TDP 210 W).

O E252-P30 é a primeira onda de sistemas Altra da GIGABYTE com base na referência Mt. neve. Existem várias opções de sistema baseadas nesta plataforma, mas neste caso estamos lidando com um servidor de borda compacto em um chassi 2U com pouca profundidade: 439 × 86 × 449 mm. Para facilidade de uso, o painel frontal exibe não apenas um compartimento de disco para seis unidades SFF SAS-3/SATA-3 de troca a quente, mas também um painel de E/S da placa-mãe, bem como todos os slots PCIe.

Não há muitos conectores aqui: três USB 3.0, um par de portas 1GbE (Intel I350-AM2), uma porta 1GbE para BMC (ASPEED AST2500), uma saída VGA e uma porta COM. Há também um indicador de ID combinado com um botão, que é duplicado na “orelha” esquerda, onde também há botões de energia e reset (também com indicação), indicadores de atividade do drive e ambas as interfaces de rede, além do status geral do sistema . Em geral, tudo é como de costume.

Mas já é incomum ver um conjunto tão rico de slots PCIe 4.0 em tal sistema. São seis ao mesmo tempo: cinco x16 e um x8 – todos para placas de baixo perfil. No entanto, apenas dois deles fornecem conectividade x16, enquanto o restante se contenta com oito linhas. No entanto, a placa em si tem mais dois slots x4 M.2 2210 e quatro conectores SlimSAS x4 cada.

Formalmente, há também um mezanino OCP 2.0 (PCIe 3.0 x16), mas é ocupado por um controlador RAID CRAO338 (LSI SAS3008) que suporta RAID 0/1/1E/10. Foi ele quem primeiro perdeu o sistema de braço GIGABYTE da segunda onda. A placa também possui um soquete para um módulo TPM 2.0 e, finalmente, um soquete de CPU com suporte para Ampere Altra de 80 núcleos, que é cercado por 16 slots para módulos DIMM DDR4-3200.

Todo o sistema é alimentado por duas (1 + 1) PSUs FSP800-20FM com potência de 800 W cada uma com certificação 80+ Platinum, e quatro ventoinhas Nidec Ultraflo de alta velocidade (80 × 80 × 38 mm) são responsáveis ​​pelo resfriamento. Todos eles estão no painel traseiro e podem ser trocados a quente sem o uso de ferramentas. O servidor foi projetado para operar em temperaturas de +10 a +30 °C e umidade relativa de 8 a 80% (sem condensação).

Curiosamente, não há praticamente nada a dizer sobre a plataforma de gerenciamento do sistema – este é um AMI MegaRAC SP-X completamente comum e padrão. Mas… isso é na verdade um indicador de um progresso muito grande no desenvolvimento de sistemas Arm do lado do servidor em geral. A familiar interface da web, iKVM, UEFI e configurações permitem não apenas trabalhar confortavelmente com ele, mas também integrá-lo aos sistemas de gerenciamento de data center.

Aqui, é claro, vale a pena mencionar que, embora a GIGABYTE frequentemente lança atualizações de firmware, alterando algo nas pequenas coisas aqui e ali e adicionando ou removendo alguns recursos. No entanto, tudo isso não se compara com o que era antes. Nenhuma preparação especial é mais necessária – você pega a imagem AArch64 de um kit de distribuição popular, pode inicializar e instalar facilmente o sistema operacional e o software.

Na verdade, foi isso que foi feito. Um GIGABYTE Aorus (M.2, PCIe 4.0 x4) GP-AG4500GB com ext4 tinha o Ubuntu Server 21.10 (kernel Linux padrão 5.13.0-20-generic) instalado e um ambiente de teste Phoronix Test Suite 10.6 foi implantado em um GP-AG41TB com xfs .one. As configurações do FS são deixadas por padrão e, no próprio sistema operacional, apenas cpu_governor foi alterado para desempenho e a atualização automática foi desabilitada. É importante notar que, embora haja suporte geral para plataformas Arm em distribuições modernas, as otimizações geralmente não valem a pena esperar.

Em particular, descobriu-se que o kernel regular não está completamente “familiarizado” com o Ampere Altra e, por exemplo, em princípio não permite ativar o Boost, enquanto o próprio Ampere oferece patches apenas para Linux 5.10. Felizmente, na última atualização do BIOS (F18g), essa opção nas configurações do CPCC desapareceu em princípio, e nosso processador funcionou a 3,0 GHz por padrão. O modo LPI foi deixado ligado para que o processador pudesse dormir.

A empresa de CPU era composta por oito (1DPC) 16GB DDR4-3200 RDIMMs (Samsung M393A2K43DB3-CWE). Nas configurações, você pode dividir a memória em um, dois ou quatro domínios NUMA, mas apenas um foi usado para todos os testes. A BIOS também possui uma curiosa opção de Modo Emulador X86, mas não há documentação inteligível ou pelo menos uma descrição simples para ela. Vamos deixar para o futuro.

Os benchmarks complexos populares não eram muito úteis. Na versão Preview do Geekbench 5.4.3, o sistema marcou 885 pontos em um teste de thread único – o Intel Xeon Gold 6126 demonstra o resultado mais próximo disso. Infelizmente, a classificação geral para todos os principais sistemas agora começa em 1775 pontos. No teste multithread, onde o processador de teste marcou 47270 pontos, o quadro se inverte – nos gráficos de CPU, o concorrente mais próximo diante de um par de AMD Ryzen Threadripper está cerca de metade atrás.

Mas no ranking de todos os sistemas nas proximidades, há, por exemplo, AMD Ryzen Threadripper PRO 3995WX (64C / 128T, 4,31 GHz) e EPYC 74F3 (2 × 24С / 48T, 4,04 GHz), mas ambos têm um alta frequência de base e quase uma vez e meia a diferença com o Q80-30 em desempenho single-thread. E, em geral, há muitos produtos AMD na lista. Por parte da Intel, podemos citar os resultados de soluções com Xeon Platinum 8362 (2 × 32C / 64T, 3,6 GHz) ou sistemas muito específicos na nuvem (4 × 26C / 52T, 2,7 GHz) e com Xeon “ao vivo” Platinum 8268 (4 × 24C/48T, 3,9GHz).

Os dois últimos sistemas estão mais próximos do Q80-30 no teste single-thread, mas ainda têm tarefas diferentes – como a manutenção do SAP HANA. No entanto, podemos dizer com muita precisão que neste benchmark, o produto Ampere parece pelo menos interessante em testes multi-thread. O PassMark Performance Test 10.1, é claro, calcula a classificação de uma maneira peculiar, mas o rebaixamento no teste de thread único também é visível – nossa cópia marcou 1331 MOps / seg nele e, no total, recebeu 38289 pontos.

Como não foi possível fazer um teste síncrono com processadores modernos de concorrentes, os resultados do teste de mola de pares de AMD EPYC 7763 e 7543 com Intel Xeon Platinum 8368 e 8260M foram levados para PTS. Sim, a comparação não está totalmente correta, mas é suficiente para a avaliação inicial. O conjunto final de testes foi reduzido, pois nem todos estão disponíveis para o Arm ainda, e algo simplesmente não é mais coletado pelo compilador padrão (GCC 11.2). Os gráficos são fornecidos sem levar em conta os resultados do Intel oneDNN, pois este pacote é “aprimorado” principalmente para x86-64.

No entanto, todos os outros resultados potencialmente problemáticos – como Kvazaar, que é bem otimizado para AVX, ou OpenSSL, onde o Altra tem uma falha clara – são deixados. Como em qualquer nova plataforma, é sempre uma questão de otimizações de código-fonte, ferramentas de desenvolvimento e binários prontos para uso. Em geral, neste conjunto específico de benchmarks e ambiente, o Altra Q80-30 acabou sendo, grosso modo, no nível médio de dois Xeon 8260M (2 × 24C / 48T, 2,4 / 3,9 GHz, 35,75 MB L3, TDP 165 W) da geração anterior (Cascade Lake-SP).

A importância da otimização é claramente vista no exemplo do HPL 2.3, onde as bibliotecas comerciais Arm Performance Libraries permitem aumentar o desempenho do teste FP64 em uma ordem de magnitude, até 1,22 Tflops. Isso é cerca de dois terços do pico teórico, já que cada núcleo pode realizar até 8 Flops/clock, o que dá um total de 1,92 TFlops. Para referência, a tabela mostra os resultados para x86-64 – esses são os valores de pico obtidos usando receitas da AMD e Intel e seu próprio kit de ferramentas. No caso do Ampere, nada disso aconteceu, mas mesmo sem sintonizar o Stream 5.1, o trabalho de memória do Altra acabou sendo bom.

Em HPL, também foi possível atingir o consumo máximo de energia. E isso é muito interessante: 325 watts para todo o sistema, dos quais 212 watts vieram da CPU, cuja temperatura se aproximou de +70 °C. Sem esse uso ativo do SIMD, o consumo do processador sob carga flutua bastante (geralmente de 140 a 170 W) e, em modo inativo, requer 24 W. Considerando os recursos de gerenciamento de energia e frequência descritos acima, este é apenas um excelente resultado no contexto do x86-64.

Vale a pena experimentar o Ampere Altra – eles podem competir com CPUs x86-64 modernas! Claro, não em todos os tipos de carga, o que, no entanto, ficou claro desde o início. As tarefas mais preferidas para esses processadores são tarefas com boa paralelização, que não precisam de grandes caches na CPU ou extensões específicas. Naturalmente, existem vários nichos em que eles não podem competir com a AMD e a Intel. São, por exemplo, aplicativos otimizados para AVX(-512) – afinal, dois blocos NEON SIMD de 128 bits por núcleo, mesmo com um grande número de núcleos e uma frequência maior, não darão o mesmo nível de desempenho.

Até agora, o caminho para vários nichos corporativos que dependem do VMware ou do Windows Server também está fechado. Na verdade, já podemos dizer agora que as coisas estão indo bem com o próprio silício, mas esse enorme ecossistema de aplicativos e softwares de sistema otimizados para x86-64, que foi desenvolvido ao longo dos anos dominando o mercado, ainda está longe um jeito. E é improvável que Ampere sozinho seja capaz de fazer algo a respeito. No entanto, como já foi dito repetidamente, a Ampere visa principalmente o mercado de hiperescaladores, que fazem tudo sozinhos, começando quase pelo firmware.

Portanto, não, mesmo conclusões preliminares sobre o nível aproximado do custo total de propriedade (TCO) não devem ser feitas. Sim, o modelo superior Q80-33 (80C/80T) tem um preço sugerido de $ 4.050, que é metade do antigo AMD EPYC 7763 (64C/128T, $ 7.890) ou Intel Xeon Platinum 8380 (40C/80T, $ 8.099). ) , mas para grandes compras é dado um desconto muito significativo. E se ambos os gigantes de processadores estiverem preocupados com o crescimento de um concorrente, terão muito mais oportunidades para manobras de preços.

Um fator igualmente importante que afeta o TCO é o consumo de energia da plataforma como um todo. À primeira vista, Ampere Altra tem tudo bem com isso. No entanto, por precaução, dizemos que esse fator é melhor estudar e comparar em cargas específicas, pois, em primeiro lugar, em um sistema anteriormente desconhecido, é mais fácil errar na otimização de cálculos, trabalhando com memória, aceleradores ou periféricos, e, em segundo lugar, frequência e TDP nas características devem ser lidos de forma diferente do que no caso de x86-64. Mas do ponto de vista do body kit, a Altra está no mesmo nível deles – 128 linhas PCIe 4.0 + 8 canais DDR4-3200 (até 4 TB no total).

Como mencionado anteriormente, o Altra também pode ser de interesse para uso em sistemas de borda. Falando especificamente sobre o servidor Gigabyte E252-P30, gostamos do sistema como um todo. Mas deve-se notar que a finalização do firmware para ele ainda está sendo realizada ativamente, e isso às vezes traz algumas mudanças, mas perceptíveis, e o próprio sistema ainda não está sem alguns pequenos problemas. Infelizmente, até agora é impossível falar sobre uma grande variedade de plataformas de diferentes fornecedores e, portanto, sobre a possibilidade de escolha. Eu me pergunto como vai ficar com Baikal-S?

Os editores gostariam de agradecer à 3Logic por fornecer o equipamento para testes. Os sistemas baseados em Ampere Altra da GIGABYTE estarão disponíveis para compra neste distribuidor provisoriamente no primeiro trimestre de 2022.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *