Il Kernel Linux e le nuove frontiere nell’utilizzo della swap: zswap migliora con i Btree

kerneltux

Forse di questi tempi si fa meno caso alle necessità di memoria RAM dei programmi, ed alle tecniche usate per averne a disposizione, ma una delle più vecchie e comuni è quella dello swap: usare parte del disco fisso come memoria (virtuale) per poter liberare quella fisica. Normalmente in Linux – e Unix – si tratta di una partizione dedicata, formattata apposta per questo scopo, mentre in Windows viene usato un file apposta: il file di paging.

La tecnica funziona bene perché parte dei dati caricati in RAM è solo parcheggiata, non varia frequentemente né è necessario accederci in continuazione. Quei dati possono essere messi sul disco: rispetto ai dati in RAM ci vorrà molto di più per leggerli e scriverli, ma avremo più memoria veloce per le operazioni che la richiedono.
Il gioco funziona bene finché quelle necessità rimangono piuttosto rare, pagando altrettanto raramente quella penale molto alta.

Gli sviluppatori del Kernel hanno pensato che aggiungere del tempo di accesso pur di diminuire lo spazio usato sul disco potesse essere una tattica vantaggiosa, implementando (dal Kernel 3.11) zswap: compressione della swap sul disco.
Su un Raspberry Pi con poca RAM e disco rappresentato da una microSD, diventa importante sia avere dello spazio swap disponibile sia occupare il minor spazio possibile sul disco. Ma il vantaggio si ha anche in computer normali, perché semplicemente si usano meno i dischi (la parte lenta del processo).

La compressione funziona solo se i dati sono organizzati in gruppetti, cosa che li rende non immediatamente accessibili: alla richiesta di lettura o modifica di un dato, bisogna sapere in anticipo quale pezzo di swap scompattare. Rispetto alla swap normale, quindi, abbiamo una ricerca aggiuntiva che richiede un’implementazione specifica.

Proprio questa fase potrebbe essere migliorata di molto organizzando l’indice secondo la tecnica del b-tree, che rende la ricerca dei dati molto rapida.
I primi test dell’implementazione proposta sembrano portare un miglioramento di 5 volte, e forse è possibile ottenere prestazioni ancora migliori perfezionando l’algoritmo b-tree presente nel Kernel. Niente male.

Pronti ad abilitare zswap?

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.

Fonte: https://www.miamammausalinux.org/2019/11/il-kernel-linux-e-le-nuove-frontiere-nellutilizzo-della-swap-zswap-migliora-con-i-btree/

Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.