Red Hat dezvoltă un nou sistem de fișiere NVFS care este eficient pentru memoria NVM

Mikuláš Patočka, unul dintre dezvoltatorii LVM și autorul unui număr de inventiilegat de optimizarea sistemelor de stocare, lucrând la Red Hat, a prezentat nou sistem de fișiere pe lista de corespondență a dezvoltatorilor de kernel Linux NVFS, care vizează crearea unui FS compact și rapid pentru cipuri de memorie nevolatilă (NVM, memorie non-volatilă, de exemplu NVDIMM), combinând performanța RAM cu capacitatea de a stoca permanent conținut.

Experiența FS a fost luată în considerare la dezvoltarea NVFS NOU, creat special pentru memoria NVM în 2017, dar neacceptat în nucleul Linux și limitat suport pentru nucleele Linux de la 4.13 la 5.1.
FS NVFS propus este mult mai simplu decât NOVA (4972 de linii de cod față de 21459), oferă utilitarul fsck, are performanțe mai mari, acceptă atribute extinse (xattrs), etichete de securitate, ACL-uri și cote, dar nu acceptă instantanee. Arhitectură NVFS este aproape de
Sistemul de fișiere Ext4 se încadrează bine în modelul sistemelor de fișiere bazate pe subsistemul VFS, ceea ce vă permite să minimizați numărul de straturi și să vă descurcați cu un modul care nu necesită corecții pentru nucleu.

NVFS folosește interfața kernelului DAX pentru acces direct la dispozitivele de memorie persistentă, ocolind memoria cache a paginii. Pentru a optimiza funcționarea memoriei NVM adresate pe octeți, conținutul unității este mapat la spațiul de adrese liniar al nucleului fără utilizarea unui strat tradițional de dispozitiv bloc și a unui cache intermediar. Folosit pentru a stoca conținutul directorului arbore de bază (arborele radix) în care fiecare nume de fișier este hash și valoarea hash este utilizată la căutarea arborelui.

Integritatea datelor este asigurată folosind „actualizări soft„(ca în UFS de la FreeBSD și FFS de la OpenBSD) fără a utiliza jurnalizarea. Pentru a evita coruperea fișierelor în NVFS, operațiunile de modificare a datelor sunt grupate astfel încât o prăbușire să nu poată duce la pierderea blocurilor sau a nodurilor, iar integritatea structurilor este restabilită folosind utilitarul fsck. Utilitarul fsck funcționează în modul cu mai multe fire și oferă performanțe brute de 1.6 milioane de inode pe secundă.

В teste de performanță NVFS a efectuat operația de copiere a arborelui sursă a nucleului Linux pe memoria NVM cu aproximativ 10% mai rapid decât NOVA, cu 30% mai rapid decât ext4 și cu 37% mai rapid decât XFS. În testul de recuperare a datelor, NVFS a fost mai rapid decât NOVA cu 3%, iar ext4 și XFS cu 15% (dar cu cache-ul de disc activ, NOVA a fost cu 15% mai lent).
În testul de operațiuni de milioane de directoare, NVFS a depășit NOVA cu 40%, ext4 cu 22% și XFS cu 46%. La simularea activității DBMS, sistemul de fișiere NVFS a depășit NOVA cu 20%, ext4 de 18 ori și XFS de 5 ori. În testul fs_mark, performanța NVFS și NOVA s-a dovedit a fi aproximativ la același nivel, în timp ce ext4 și XFS au rămas în urmă de aproximativ 3 ori.

Întârzierea sistemelor de fișiere tradiționale pe memoria NVM se datorează faptului că acestea nu sunt proiectate pentru adresarea de octeți, care este folosită în memoria nevolatilă, care arată ca RAM obișnuită. Citirea de pe unități convenționale asigură atomicitatea operațiunii la nivel de citire/scriere sector, în timp ce memoria NVM oferă acces la nivelul cuvintelor individuale ale mașinii. În plus, sistemele de fișiere tradiționale încearcă să reducă intensitatea accesului la media, care este considerată în mod evident mai lent decât RAM, și încearcă, de asemenea, să grupeze operațiunile pentru a asigura citirea secvențială atunci când se utilizează hard disk-uri, procesează cozile de solicitare, combate fragmentarea și separa prioritățile diferitelor operațiuni... Pentru memoria NVM, astfel de complicații nu sunt necesare, deoarece viteza de acces la date este comparabilă cu RAM, iar ordinea de acces nu contează.

Sursa: opennet.ru

Adauga un comentariu