Il modulo FUSE per i filesystem del Kernel Linux va in parallelo nelle scritture

0

FUSE è un modulo che permette la gestione di un filesystem tramite programmi normali, che girano in User Space e in contrasto coi driver che girano nel Kernel, grazie all’uso di interfacce standard.
Ovviamente, i primi candidati ad essere usati tramite FUSE sono degli altri filesystem, che possono usare il modulo come una sorta di traduttore istantaneo. La lista di quelli disponibili è molto lunga: NTFS, glusterfs, cephfs, sshfs sono solo esempi.

La flessibilità di FUSE è veramente alta, permettendo di usare comandi comuni come ls, mv o cp per manipolare qualsiasi oggetto od entità, purché rappresentabile come un filesystem standard. E’ così possibile leggere, e talvolta modificare, database, archivi di backup, API di webapp e sistemi di memorizzazione ad oggetti…

Tutta questa introduzione dovrebbe aver reso bene l’idea di quanto FUSE possa essere importante, e di quanto ogni piccolo miglioramento possa risultare decisivo. E per questo la patch proposta pochi giorni fa ha attirato la nostra attenzione:

SSF gain in percentage:-
For 1 fio thread: +0%
For 2 fio threads: +0%
For 4 fio threads: +42%
For 8 fio threads: +246.8%
For 16 fio threads: +549%
For 32 fio threads: +630.33%

All’aumentare dei processi contemporanei che lavorano su un file, aumentano le prestazioni, fino a 6 volte con 32 operazioni. Davvero notevole, per una quarantina di righe di codice aggiunte!

In realtà la casistica è abbastanza limitata: si parla di operazioni di scrittura diretta (quindi saltando eventuali buffer o cache) su un singolo file e che avvengono in contemporanea. Insomma, qualcosa che è difficile capiti in casa… ma non impossibile, e più probabile tanto più grande è il sistema (o il file).

Forse è troppo presto per entusiasmarsi, ma sapere che piccole modifiche possono portare grandi vantaggi ci fanno sperare di avere altre buone notizie a breve. E intanto potremo goderci questo miglioramento, magari proprio con NTFS

Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *