No Fedora 42, planejam fornecer versões otimizadas de arquivos executáveis

Na versão Fedora 42, programada para o final de abril, foi proposto permitir que os mantenedores incluam em seus pacotes variantes adicionais de arquivos executáveis, construídas com otimizações para as microarquiteturas x86-64-v2, x86-64-v3 e x86-64-v4. Observa-se que o Fedora continua a compilar pacotes para a arquitetura x86-64-v1, enquanto o CentOS usa a arquitetura x86-64-v2 e o RHEL 10 — x86-64-v3. Na maioria dos casos, o ganho de desempenho ao compilar para essas arquiteturas não excede 10%, mas, em situações específicas, resulta em um aumento significativo de desempenho (até 120%). A proposta ainda não foi aprovada pelo comitê FESCo (Fedora Engineering Steering Committee), responsável pela parte técnica do desenvolvimento da distribuição Fedora.

No Fedora, já é permitido fornecer bibliotecas adicionais, otimizadas para versões avançadas da arquitetura x86_64, e essa possibilidade agora está sendo planejada para os arquivos executáveis. O carregamento das implementações otimizadas das bibliotecas é feito pelo vinculador dinâmico (dynamic linker), que verifica a presença de variantes adicionais nos subdiretórios glibc-hwcaps, localizados em áreas do sistema de arquivos que são pesquisadas ao buscar bibliotecas (por exemplo, /usr/lib64/glibc-hwcaps/x86-64-v2).

Para os arquivos executáveis, é proposto o uso de uma camada hwcaps-loader, que escolherá e executará a variante do arquivo executável correspondente às capacidades do sistema atual. Para pacotes que fornecem várias variantes de arquivos executáveis, recomenda-se expor essa camada através de um link simbólico. A decisão de adicionar arquivos executáveis adicionalmente otimizados será tomada pelos mantenedores, com base nos resultados dos testes de desempenho de pacotes específicos.

As versões x86-64-v* determinam uma forma não oficial de identificação de fatias de estado da microarquitetura, abrangendo conjuntos específicos de extensões:

  • x86-64-v2 abrange as extensões SSE3, SSE4_2, SSSE3, POPCNT, LAHF-SAHF e CMPXCHG16B.
  • x86-64-v3 — AVX, AVX2, BMI2, FMA, LZCNT, MOVBE e SXSAVE.
  • x86-64-v4 — AVX512F, AVX512BW, AVX512CD, AVX512DQ e AVX512VL.

Além disso, vale mencionar a proposta de unificação da atualização dos carregadores grub e shim nas versões atômicas e convencionais do Fedora. Em vez de atualizar o conteúdo dos diretórios /boot e /boot/efi por meio da chamada a um script durante a instalação do pacote rpm, propõe-se usar a ferramenta bootupd para a atualização do carregador, que já é aplicada nas versões atômicas atualizáveis do Fedora. Nos pacotes rpm com carregadores, o conteúdo deve ser instalado não diretamente nos diretórios /boot e /boot/efi, mas em um diretório separado dentro da partição /usr, e em seguida, sincronizar seu conteúdo com /boot e /boot/efi. Essa abordagem permitirá implementar uma opção de inicialização de backup que pode ser usada para reverter para uma configuração anterior em caso de problemas após a atualização do carregador.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster