Red Hat sviluppa un nuovo NVFS, efficiente per la memoria NVM

Mikuláš Patočka, uno degli sviluppatori di LVM e autore di numerosi invenzionirelativo all'ottimizzazione dei sistemi di storage, lavorando presso Red Hat, presentata nuovo file system sulla mailing list degli sviluppatori del kernel Linux NVFS, mirato a creare un FS compatto e veloce per chip di memoria non volatile (NVM, memoria non volatile, ad esempio NVDIMM), combinando le prestazioni della RAM con la capacità di archiviare permanentemente i contenuti.

L'esperienza delle FS è stata presa in considerazione nello sviluppo di NVFS NOVA, creato appositamente per la memoria NVM nel 2017, ma non accettato nel kernel Linux e limitato supporto per kernel Linux da 4.13 a 5.1.
L'NVFS FS proposto è molto più semplice di NOVA (4972 righe di codice contro 21459), fornisce l'utilità fsck, ha prestazioni più elevate, supporta attributi estesi (xattrs), etichette di sicurezza, ACL e quote, ma non supporta istantanee. Architettura NVFS è vicino a
Il file system Ext4 si adatta bene al modello di file system basato sul sottosistema VFS, che consente di ridurre al minimo il numero di livelli e accontentarsi di un modulo che non richiede patch al kernel.

NVFS utilizza l'interfaccia del kernel DAX per l'accesso diretto ai dispositivi di memoria persistente, bypassando la cache delle pagine. Per ottimizzare il funzionamento della memoria NVM indirizzata a byte, il contenuto dell'unità viene mappato nello spazio degli indirizzi lineari del kernel senza l'uso del tradizionale livello del dispositivo a blocchi e della cache intermedia. Utilizzato per memorizzare il contenuto della directory albero di base (albero radice) in cui ogni nome di file ha un hash e il valore hash viene utilizzato durante la ricerca nell'albero.

L’integrità dei dati è garantita utilizzando il “aggiornamenti morbidi"(come in UFS di FreeBSD e FFS di OpenBSD) senza utilizzare il journaling. Per evitare il danneggiamento dei file in NVFS, le operazioni di modifica dei dati sono raggruppate in modo tale che un arresto anomalo non possa portare alla perdita di blocchi o inode e l'integrità delle strutture viene ripristinata utilizzando l'utilità fsck. L'utilità fsck funziona in modalità multi-thread e fornisce prestazioni di forza bruta di 1.6 milioni di inode al secondo.

В prove di prestazione NVFS ha eseguito l'operazione di copia dell'albero dei sorgenti del kernel Linux sulla memoria NVM circa il 10% più velocemente di NOVA, il 30% più velocemente di ext4 e il 37% più velocemente di XFS. Nel test di recupero dei dati, NVFS è stato più veloce di NOVA del 3% e ext4 e XFS del 15% (ma con la cache del disco attiva, NOVA è stato più lento del 15%).
Nel test su milioni di operazioni su directory, NVFS ha sovraperformato NOVA del 40%, ext4 del 22% e XFS del 46%. Durante la simulazione dell'attività DBMS, il file system NVFS ha superato NOVA del 20%, ext4 di 18 volte e XFS di 5 volte. Nel test fs_mark, le prestazioni di NVFS e NOVA si sono rivelate approssimativamente 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 dei byte, che viene utilizzato nella memoria non volatile, che assomiglia alla normale RAM. La lettura da unità convenzionali garantisce l'atomicità dell'operazione a livello di lettura/scrittura del settore, mentre la memoria NVM fornisce l'accesso a livello delle singole parole macchina. Inoltre, i file system tradizionali cercano di ridurre l'intensità dell'accesso ai media, che è considerato ovviamente più lento della RAM, e tentano anche di raggruppare le operazioni per garantire la lettura sequenziale quando si utilizzano i dischi rigidi, elaborare code di richieste, combattere la frammentazione e separare i file priorità delle diverse operazioni. . Per la memoria NVM tali complicazioni non sono necessarie, poiché la velocità di accesso ai dati è paragonabile a quella della RAM e l'ordine di accesso non ha importanza.

Fonte: opennet.ru

Aggiungi un commento