Cong Wang, care însoțește sub-sistemul de gestionare a traficului (TC, Traffic Control) în nucleul Linux și dezvoltă proiectul Multikernel, a inclus în lista dezvoltatorilor nucleului Linux un nou sistem de fișiere DAXFS. DAXFS folosește memoria RAM pentru stocarea datelor, funcționează în modul doar pentru citire și seamănă cu funcționalitatea sistemelor de fișiere reduse ramfs și tmpfs. Modulul kernel care implementează DAXFS, precum și utilitarul mkdaxfs pentru crearea FS-ului, sunt publicate sub licența GPLv2. După recenzare, se ia în considerare posibilitatea integrării DAXFS în nucleul principal.
O caracteristică cheie a noului FS este utilizarea sub-sistemului DAX (Direct Access) pentru a funcționa prin ocolirea cache-ului de pagini și accesul direct la memoria fizică partajată. În ramfs și tmpfs, conținutul este stocat în cache-ul de pagini, ceea ce, atunci când se folosește un FS în mai multe containere sau nuclee rulate prin tehnologia Multikernel, duce la stocarea mai multor copii ale datelor în memoria fizică. Umplerea ramfs și tmpfs necesită, de asemenea, efectuarea unor operații suplimentare de copiere fără posibilitatea de a efectua maparea unei zone existente de memorie.
Accesul direct la memorie în DAXFS permite eliminarea operațiunilor suplimentare de copiere și organizarea muncii prin ocolirea stivei tradiționale de intrare/ieșire bazate pe dispozitive de bloc și mecanisme de bufferizare, precum și eliminarea fragmentării alocării memoriei atunci când o FS este utilizată în comun în diferite containere și nuclee multikernel. DAXFS funcționează în modul Zero-Copy și returnează direct conținutul fișierelor din memorie fără duplicarea inutilă a datelor în cache-ul de pagini și cu posibilitatea de a mapa zone continue de memorie fizică în fiecare instanță de container sau nucleu. De asemenea, se susține utilizarea API dma-buf pentru utilizarea memoriei exportate de GPU, FPGA/SmartNIC sau dispozitivele CXL.
FS-ul funcționează în modul doar pentru citire și este inițializat prin încărcarea în memorie a unei imagini FS pregătite anterior, ceea ce simplifică implementarea, permite evitarea operațiunilor de alocare a memoriei în timpul funcționării și exclude mecanismele complicate de gestionare a dispozitivului.
O utilizare cheie a DAXFS este aplicația acesteia împreună cu tehnologia Multikernel, care permite pe un singur computer fizic să ruleze mai multe instanțe independente ale nucleului Linux, având acces direct la resursele hardware și putând fi utilizate pentru a lansa mai multe medii sistemice izolate.
DAXFS poate fi folosit de asemenea pentru a organiza accesul comun al mai multor containere sau nuclee la o imagine de sistem de bază, stocată în memorie partajată; pentru a reduce cheltuielile generale în accesarea informațiilor din memoria acceleratorilor hardware; pentru a organiza accesul la memorie din mai multe gazde fără intrare-ieșire de rețea sau la memorie permanentă, utilizând dispozitive bazate pe magistrala CXL (Compute Express Link).
Sursa: opennet.ro
