openSUSE

openSUSE găsește o soluție elegantă pentru suportul versiunilor x86-64

SUSE, și proiectul openSUSE pe care îl sponsorizează, are o modalitate de optimizare a distribuției sale pentru anumite versiuni ale arhitecturii x86-64.

Această nouă mutare a fost anunțată săptămâna trecută și sperăm că va rezolva problemele legate de suportul x86-64 care au provocat divergențe în comunitățile distribuțiilor.

În iulie s-a anunțat că noua distribuție ALP a SUSE ar putea avea nevoie de x86-64-v3. Mai târziu, distribuția Tumbleweed, în curs de lansare, a luat în considerare posibilitatea de a avea nevoie de x86-64-v2.

Se pare că un număr suficient de mare de utilizatori încă foloseau kit-uri mai vechi care nu suportau v2 și s-au plâns, astfel încât liderii proiectului au dat înapoi și au decis că noua cerință va fi abandonată.

Rezolvarea utilizează o nouă caracteristică numită Hardware Capability Tunables sau hwcaps din biblioteca GNU C glibc. Această caracteristică a fost introdusă în glibc v2.33. Iată cum este descrisă în notele de lansare:

Conectorul dinamic încarcă implementări optimizate ale obiectelor partajate din subdirectoarele din directorul glibc-hwcaps din calea de căutare a bibliotecii dacă capacitățile sistemului îndeplinesc cerințele pentru acel subdirector.

Subdirectoarele suportate inițial includ… x86-64-v2, x86-64-v3, x86-64-v4 pentru x86-64-linux-gnu… Numele subdirectoarelor corespund nivelurilor de micro-arhitectură x86-64 independente de furnizor și definite în suplimentul psABI x86-64.

Suportul pentru acest lucru a venit de la un proiect SUSE Hackweek al dezvoltatorului Antonio Larrosa, care a explicat cum să îl folosească.

Ideea este că, în timp ce distribuția principală Tumbleweed va fi în continuare compilată pentru cel mai de bază nivel de suport x86-64, x86-64-v1, această nouă caracteristică din glibc permite bibliotecilor să folosească caracteristici mai noi ale procesorului, în cazul în care beneficiază de ele.

În cazul în care o anumită bibliotecă ar fi substanțial mai rapidă datorită unor caracteristici specifice din versiunile mai noi ale arhitecturii procesorului, atunci dezvoltatorul acesteia poate oferi versiuni diferite ale bibliotecii: versiuni rapide care utilizează noua caracteristică și versiuni mai lente care nu o folosesc și care trebuie să o ocolească în programe și procesoarele mai vechi care nu dispun de instrucțiunile respective.

Cea mai bună parte este că acest lucru este automat. Glibc va încărca în mod automat bibliotecile corespunzătoare pe procesoarele care corespund acelei revizuiri a specificației: programul care apelează biblioteca nu trebuie să știe sau să îi pese.

Schimbarea a fost acceptată acum câteva săptămâni, așa că orice instalare de Tumbleweed care a fost actualizată recent o are deja.

O parte din acest lucru provine din caracteristica AVX-512 de la Intel, în special în cazul recentelor procesoare Xeon Scalable „Sapphire Rapids”. Aceste noi instrucțiuni urmau să se regăsească și în procesoarele „Alder Lake”, dar Intel a decis să le dezactiveze.

AVX-512 face parte din x86-64-v4, iar unii furnizori par să fie interesați de el, dar deocamdată, SUSE oferă doar câteva biblioteci accelerate care utilizează caracteristicile x86-64-v3.

La început, doar câteva programe primesc suport, cum ar fi Python 3.11, parsarea XML și PNG și un decriptor pentru noul format de imagine JPEG-XL, pe care Google a ales să îl elimine în Chrome 110 și ulterior.

Acum că suportul este disponibil, adoptarea va crește cu siguranță. Dezvoltatorii ar putea furniza patru seturi diferite de biblioteci optimizate pentru performanță, câte unul pentru fiecare versiune de x86-64, cu niveluri din ce în ce mai mari de exploatare a caracteristicilor avansate ale procesorului.

ThinkRoot99

Numele meu este Cristian Moldovan și sunt utilizator de Linux de peste 10 ani.Am făcut parte din mai multe echipe open source din România: Fundația Ceata, Linux Mint România, Rogentos Linux Group. Între 2014 și 2018 am fost propietarul și editorul site-ului de știri despre linux, gnulinux.ro și actual proprietar al rootlinux.ro

View all posts by ThinkRoot99 →

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *