Red Hat sta sviluppando un nuovo FS NVFS, efficace per la memoria NVM

Mikuláš Patočka, uno degli sviluppatori di LVM e autore di una serie di invenzioni, relative all'ottimizzazione delle prestazioni dei sistemi di archiviazione, che lavora per la Red Hat, ha presentato nella mailing list degli sviluppatori del kernel Linux ha presentato un nuovo file system NVFS, progettato per creare un file system compatto e veloce per chip di memoria non volatile (NVM, non-volatile memory, come NVDIMM), che unisce le prestazioni della RAM con la possibilità di memorizzare permanentemente i contenuti.

Nello sviluppo di NVFS è stata considerata l'esperienza del file system NOVA, creato nel 2017 appositamente per la memoria NVM, ma non accolto nel kernel Linux e limitata supportato dai kernel Linux dalla versione 4.13 alla 5.1.
Il file system proposto NVFS è molto più semplice di NOVA (4972 righe di codice contro 21459), offre un'utilità fsck, ha prestazioni più elevate, supporta attributi estesi (xattrs), etichette di sicurezza, ACL e quote, ma non supporta gli snapshot. L'architettura NVFS è simile a
Ext4 e si adatta bene al modello dei file system basati sul sottosistema VFS, il che consente di ridurre al minimo il numero di strati e di funzionare con un modulo che non richiede patch nel kernel.

NVFS utilizza l'interfaccia del kernel DAX per accedere direttamente ai dispositivi di memoria permanente bypassando la cache delle pagine. Per ottimizzare l'uso della memoria NVM, che utilizza l'indirizzamento byte, il contenuto del dispositivo è mappato in uno spazio indirizzabile lineare del kernel senza utilizzare il tradizionale livello dei dispositivi a blocchi e una cache intermedia. Per memorizzare il contenuto delle directory viene utilizzato un albero radix , in cui ogni nome di file è hashato e il valore dell'hash viene utilizzato nella ricerca dell'albero.

L'integrità dei dati è garantita tramite un meccanismo di "soft updates" (come in UFS di FreeBSD e FFS di OpenBSD) senza utilizzare il journaling. Per evitare la corruzione dei file in NVFS, le operazioni di modifica dei dati vengono raggruppate in modo tale che un crash non possa portare alla perdita di blocchi o inode e l'integrità delle strutture viene ripristinata tramite l'utilità fsck. L'utilità fsck funziona in modalità multi-thread e offre prestazioni dell'ordine di 1,6 milioni di inode al secondo.

In nei test delle prestazioni NVFS ha eseguito l'operazione di copia dell'albero con i testi sorgente del kernel Linux sulla memoria NVM circa il 10% più veloce di NOVA, il 30% più veloce di ext4 e il 37% più veloce di XFS. Nel test di ricerca dati, il file system NVFS si è rivelato più veloce di NOVA del 3%, e di ext4 e XFS del 15% (ma con la cache disco attiva, NOVA è risultata più lenta del 15%).
Nel test di un milione di operazioni con le directory, NVFS ha superato NOVA del 40%, ext4 del 22%, e XFS del 46%. Durante la simulazione dell'attività del DBMS, il file system NVFS ha battuto NOVA del 20%, ext4 di 18 volte e XFS di 5 volte. Nel test fs_mark, le prestazioni di NVFS e NOVA sono risultate circa allo stesso livello, mentre ext4 e XFS sono rimasti indietro di circa 3 volte.

Il ritardo dei file system tradizionali sulla memoria NVM è dovuto al fatto che non sono progettati per l'indirizzamento byte, utilizzato nella memoria non volatile, che appare come una normale RAM. La lettura da dispositivi convenzionali garantisce l'atomicità dell'operazione a livello di lettura/scrittura di settori, mentre la memoria NVM offre accesso a livello di singole parole di macchina. Inoltre, i file system tradizionali cercano di ridurre l'intensità delle operazioni sull'unità, che viene considerata intrinsecamente più lenta della memoria operativa, e tentano di raggruppare le operazioni per garantire letture sequenziali durante l'uso degli hard disk, gestire le code di richieste, combattere la frammentazione e separare le priorità di esecuzione delle varie operazioni. Per la memoria NVM, simili complicazioni sono superflue, poiché la velocità di accesso ai dati è comparabile a quella della RAM, e l'ordine di accesso non ha importanza.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster