A versión 42 de Fedora, prevista para finais de abril, propón permitir que os responsables do mantemento inclúan binarios adicionais en paquetes compilados con optimizacións habilitadas para as microarquitecturas x86-64-v2, x86-64-v3 e x86-64-v4. Cómpre sinalar que Fedora continúa a compilar paquetes para a arquitectura x86-64-v1, mentres que CentOS emprega a arquitectura x86-64-v2 ao compilar, mentres que RHEL 10 emprega x86-64-v3. Na maioría dos casos, a ganancia de rendemento ao compilar sobre estas arquitecturas non supera o 10 %, pero nalgúns casos leva a un aumento significativo do rendemento (ata o 120 %). A proposta aínda non foi aprobada polo FESCo (Comité Directivo de Enxeñaría de Fedora), que é o responsable do desenvolvemento técnico da distribución Fedora.
Fedora xa permite a entrega de bibliotecas adicionais optimizadas para versións estendidas da arquitectura x86_64, e agora están a planear estender esta función aos ficheiros executables. A carga de implementacións optimizadas de bibliotecas realízase mediante un enlazador (ligador dinámico), que comproba a presenza de opcións adicionais nos subdirectorios glibc-hwcaps situados nas áreas do sistema de ficheiros que se visualizan cando se buscan bibliotecas (por exemplo, /usr). /lib64/glibc-hwcaps/x86-64-v2).
No caso dos ficheiros executables, proponse utilizar a capa hwcaps-loader, que seleccionará e lanzará unha versión do ficheiro executable que coincida coas capacidades do sistema actual. Para os paquetes que fornecen varias versións de ficheiros executables, proponse que esta capa estea exposta a través dunha ligazón simbólica. A decisión de engadir executables optimizados adicionais será tomada polos mantedores, dependendo dos resultados das probas de rendemento de paquetes específicos.
As versións x86-64-v* definen un xeito informal de identificar porcións de estado da microarquitectura que abarcan conxuntos específicos de extensións:
- x86-64-v2 cobre as extensións 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.
Ademais, podemos observar a proposta de unificar a actualización dos cargadores de arranque grub e shim nas versións atómica e regular de Fedora. En lugar de actualizar o contido dos directorios /boot e /boot/efi mediante unha chamada de script durante a instalación do paquete rpm, proponse utilizar o kit de ferramentas bootupd, que xa se usa nas variantes de Fedora actualizadas atómicamente, para actualizar o cargador de arranque. Nos paquetes rpm con cargadores de arranque, proponse instalar o contido non directamente nos directorios /boot e /boot/efi, senón nun directorio separado dentro da partición /usr, e despois sincronizar o contido de /boot e /boot/efi. con el. Este enfoque permitirá implementar unha opción de inicio alternativo, que se pode usar para volver á configuración antiga en caso de problemas despois de actualizar o cargador de arranque.
Fonte: opennet.ru
