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 miglioramnto, 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.
Tags: filesystem, FUSE, Kernel, Linux