As novas CPUs de data center AmpereOne da Ampere estão repletas de até 192 núcleos, mas essa ajuda abundante de núcleos causou algumas dificuldades com o suporte ao Linux. De acordo com Forônio, as novas CPUs da Ampere têm tantos núcleos que o Linux não suporta sistemas quando dois dos chips de 192 núcleos da Ampere (384 núcleos no total) são instalados em um único servidor. Por enquanto, o kernel Linux ARM64 suporta apenas sistemas com 256 núcleos ou menos. Para corrigir o problema, a Ampere enviou um patch propondo que o limite do núcleo do kernel Linux seja aumentado para 512 com um método chamado “CPUMASK_OFFSTACK”.
Este método permite que o Linux substitua o limite padrão de 256 núcleos no kernel Linux atual, alocando bitmaps livres para máscaras de CPU da memória. Isso significa que o limite do núcleo do Linux pode ser aumentado sem aumentar o consumo de memória da imagem do kernel, pois cada núcleo adiciona 8 KB ao tamanho da imagem do kernel.
As novas CPUs da Ampere apresentam a maior quantidade de núcleos de CPU que já vimos em uma CPU até hoje. Mesmo as mais recentes CPUs Zen 4c EPYC da AMD não chegam perto, com seu chip de maior contagem de núcleos com apenas 96 núcleos, explicando por que Ampere é o primeiro fabricante de CPU a ter sérios problemas com a limitação de 256 núcleos do ARM64 Linux. Felizmente, isso não afetará os sistemas que possuem apenas um único chip AmpereOne de 192 núcleos, mas é um problema sério para servidores de data centers com dois desses chips em uma configuração de soquete duplo.
AmpereOne é uma nova linha de CPU da Ampere, apresentando contagens de núcleos extremamente altas com modelos em sabores de 136, 144, 160, 176 e 192 núcleos. Esses chips são construídos no conjunto de instruções ARMv8.6 + e no nó de 5 nm da TSMC, apresentando unidades vetoriais duplas de 128b, 2 MB de cache L2 por núcleo, velocidade de clock de 3 GHz, controlador de memória DDR5 de oito canais, 128 pistas PCIe Gen 5 e um TDP de 200-350W. Esses chips são projetados especificamente para cargas de trabalho de data center de alto desempenho que podem utilizar contagens pesadas de núcleos.
De acordo com Phoronix, pode demorar um pouco até que o limite de contagem de núcleos aumente para 512. Em 2021, um patch foi enviado propondo que o limite de núcleo da CPU ARM64 fosse aumentado para 512, mas os mantenedores do Linux negaram porque nenhum hardware de CPU estava disponível. na época com mais de 256 núcleos. Na melhor das hipóteses, o suporte a 512 núcleos não estará disponível até 2024, quando o kernel Linux 6.8 for lançado.
No entanto, este cronograma leva em consideração apenas a adição de suporte de 512 núcleos da maneira normal, sem utilizar o método off-stack de máscara de CPU. Tecnicamente, o kernel Linux de saída já suporta o método off-stack de máscara de CPU para aumentar os limites de contagem de núcleos de CPU, portanto cabe aos mantenedores do Linux habilitar esse recurso por padrão.