În Fedora 42 se preconizează livrarea de variante optimizate ale fișierelor executabile

În ediția Fedora 42, programată pentru sfârșitul lunii aprilie, s-a propus permiterea întreținerilor de a include în pachete opțiuni suplimentare de fișiere executabile, compilate cu optimizări pentru microarhitecturile x86-64-v2, x86-64-v3 și x86-64-v4. Se observă că Fedora continuă să compileze pachete pentru arhitectura x86-64-v1, în timp ce CentOS utilizează pentru compilare arhitectura x86-64-v2, iar RHEL 10 — x86-64-v3. În majoritatea cazurilor, creșterea performanței prin compilarea pentru astfel de arhitecturi nu depășește 10%, dar în anumite situații conduce la o îmbunătățire semnificativă a performanței (până la 120%). Propunerea nu a fost încă aprobată de comitetul FESCo (Fedora Engineering Steering Committee), responsabil pentru partea tehnică a dezvoltării distribuției Fedora.

În Fedora este deja permisă livrarea de biblioteci suplimentare, optimizate pentru versiunile extinse ale arhitecturii x86_64, iar această posibilitate se planifică acum să fie extinsă la fișierele executabile. Încărcarea implementărilor optimizate ale bibliotecilor se realizează prin linker-ul dinamic, care verifică existența opțiunilor suplimentare în subdirectoarele glibc-hwcaps, plasate în zonele FS, care sunt căutate la accesarea bibliotecilor (de exemplu, /usr/lib64/glibc-hwcaps/x86-64-v2).

În cazul fișierelor executabile, se propune utilizarea stratului hwcaps-loader, care va selecta și va lansa opțiunea fișierului executabil corespunzătoare capacităților actualei sisteme. Pentru pachetele care livră mai multe opțiuni de fișiere executabile, acest strat se va propune să fie accesibil printr-un link simbolic. Decizia de a adăuga fișiere executabile suplimentar optimizate va fi luată de către întreținători, în funcție de rezultatele testării performanței pachetelor specifice.

Versiunile x86-64-v* definesc o metodă neoficială de identificare a stărilor microarhitecturii, acoperind anumite seturi de extensii:

  • x86-64-v2 acoperă extensiile SSE3, SSE4_2, SSSE3, POPCNT, LAHF-SAHF și CMPXCHG16B.
  • x86-64-v3 — AVX, AVX2, BMI2, FMA, LZCNT, MOVBE și SXSAVE.
  • x86-64-v4 — AVX512F, AVX512BW, AVX512CD, AVX512DQ și AVX512VL.

În plus, se poate menționa propunerea de unificare a actualizărilor bootloaderelor grub și shim în variantele atomice și obișnuite ale Fedora. În loc să actualizeze conținutul directoarelor /boot și /boot/efi printr-o apelare a scriptului în timpul instalării pachetului rpm, se propune utilizarea instrumentului bootupd pentru actualizarea bootloaderului, care este deja utilizat în variantele Fedora actualizate atomic. În pachetele rpm cu bootloade, conținutul ar trebui instalat nu direct în directoarele /boot și /boot/efi, ci într-un director separat din interiorul partiției /usr, după care să se sincronizeze conținutul cu /boot și /boot/efi. Această abordare va permite realizarea unei opțiuni de rezervă pentru bootare, care poate fi utilizată pentru a reveni la o configurație anterioară în cazul unor probleme după actualizarea bootloaderului.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster