Per gli amministratori che gestiscono array RAID5 grandi e molto caricati, nel kernel Linux arriva una serie di 8 patch che punta a ridurre la contesa sulle risorse e a rendere più efficiente l’accesso alla memoria. Nei test pubblicati dallo sviluppatore, il guadagno complessivo arriva fino a 17,4% in uno scenario specifico.
L’ottimizzazione riguarda il software RAID MD e si concentra soprattutto sulle configurazioni con più core, più dischi e più thread di lavoro attivi. Il risultato è interessante perché interviene su un collo di bottiglia tipico dei sistemi di storage ad alta intensità, dove la scalabilità conta più della singola prestazione del disco.

Linux, 8 patch per migliorare le prestazioni dei grandi array RAID5
Le modifiche sono state inviate da Hiroshi Nishida e mirano a migliorare la scalabilità del RAID5 software su array di grandi dimensioni, con molti core e molti dischi. L’obiettivo è intervenire sulla gestione delle stripe e della stripe cache, due aree dove la contesa tra thread può diventare un freno evidente.
Il punto centrale è semplice: quando aumenta il numero di core e di unità coinvolte, cresce anche la pressione sulle strutture condivise del RAID. Le patch cercano di alleggerire questo carico, in particolare quando sono attivi più thread di elaborazione del RAID5.
- Pacchetto composto da 8 patch per il sottosistema MD RAID5.
- Focus su scalabilità e percorso di rebuild dell’array.
- Ottimizzazione della contesa su stripe e stripe cache.
- Beneficio più evidente con `group_thread_cnt > 0`.
Nei test su 22 core e 6 ramdisk il guadagno arriva fino al 17,4%
La prova è stata eseguita su una macchina con 22 core usando 6 ramdisk per simulare un array RAID 6 con schema 4+2. Variando il numero di thread di lavoro, misurato come `group_thread_cnt` o `gtc`, è stato possibile confrontare le prestazioni prima e dopo le patch.
Il risultato migliore si è visto con gtc=4, configurazione in cui il miglioramento complessivo è stato il più evidente. Nei carichi misti i test hanno mostrato incrementi superiori al 10%, con picchi che arrivano a 17,4%.
- Test condotto su una macchina con 22 core.
- Array simulato con 6 ramdisk in configurazione RAID 6 4+2.
- Con `gtc=4` il miglioramento è stato il più alto.
- Nel test 4K random write l’incremento ha toccato 17,4%.
- Nel carico database 8K con 75% lettura il guadagno è stato 10,3%.
- Nel carico OLTP 16K con 70% lettura il guadagno è stato 10,1%.
