RISC-V no Linux fica mais rápido: conheça a nova extensão Zalasr que otimiza operações multi-core

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Menos instruções, mais performance: a extensão Zalasr otimiza a comunicação entre núcleos no coração do Linux!

Imagine uma cozinha de restaurante extremamente movimentada, com vários chefs trabalhando ao mesmo tempo. Para evitar que um chef use leite azedo que outro já descartou, eles precisam constantemente gritar “atualizei a lista de ingredientes!” e checar a lista mais recente. Esse processo de comunicação e sincronização—vital, mas que consome tempo—é análogo ao que acontece dentro de um chip de computador multi-core. Cada núcleo precisa se comunicar com os outros de forma precisa e eficiente para que todo o sistema funcione corretamente. Foi exatamente para otimizar essa conversa interna que o kernel Linux acaba de ganhar suporte para uma nova extensão da arquitetura RISC-V: a Zalasr.

O que é a extensão Zalasr?

Em termos técnicos, a Zalasr é uma extensão do conjunto de instruções (ISA) do RISC-V que fornece instruções dedicadas para operações fundamentais de sincronização: load-acquire (carregar-adquirindo) e store-release (armazenar-liberando).

Mas o que isso significa na prática? Antes da Zalasr, garantir que um núcleo visse os dados escritos por outro núcleo em uma ordem correta era um processo de duas etapas. Era como se o núcleo dissesse: “1) Pegue esse dado” e depois dissesse: “2) Espere, everyone, parem tudo que estiverem fazendo até eu me certificar de que todas as operações de memória foram finalizadas!” (uma instrução de fence). Funcionava, mas era um caminho mais longo e menos eficiente.

Com as novas instruções, esse processo vira uma operação única e atômica. A ordem agora é: “Pegue este dado de forma segura e já sincronizada”. É uma operação mais direta, rápida e que consome menos energia.

Mais eficiência para sistemas multi-core

O trabalho, contribuído por Xu Lu da ByteDance, não é apenas uma adição teórica. O patch atualiza diretamente duas das primitivas de sincronização mais críticas e utilizadas em todo o kernel Linux: smp_load_acquire() e smp_store_release. Isso significa que, em hardware RISC-V que implemente a extensão Zalasr, uma vasta gama de operações do sistema operacional—desde o agendamento de tarefas até o acesso a sistemas de arquivos—se beneficiará automaticamente de uma comunicação entre núcleos mais rápida e eficiente.

Essa otimização de baixo nível é um sinal claro da contínua maturação do RISC-V como uma arquitetura de primeira linha. Ela coloca o ecossistema de código aberto em pé de igualdade com outras arquiteturas estabelecidas que já possuem instruções tão especializadas, garantindo que os sistemas baseados em RISC-V possam ser não apenas mais flexíveis, mas também altamente competitivos em termos de desempenho.

Compartilhe este artigo