Linux RAID5,8 patch migliorano le prestazioni fino al 17,4%

Linux RAID5,8 patch migliorano le prestazioni fino al 17,4%

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 内核新补丁可提升大型 RAID5 阵列性能,最高增益 17%

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`.
Ambito
MD RAID5 software nel kernel Linux
Obiettivo tecnico
Ridurre la contesa e migliorare l’accesso alla memoria
Stato
Patch in attesa di revisione da parte dei manutentori
Le patch sono considerate a basso rischio e puntano a un problema molto concreto: quando il RAID5 cresce, la contesa interna può pesare quanto, o più, della velocità dei singoli dischi.
Il lavoro è ancora in fase di revisione e i numeri pubblicati arrivano da test di laboratorio, quindi descrivono soprattutto il potenziale dell’ottimizzazione in un contesto controllato.
Dettagli tecnici principali
Numero di patch
8
Scenario di interesse
Array grandi, multicore, multidisco
Area di intervento
Stripe, stripe cache, thread di lavoro RAID5
Rischio dichiarato
Basso

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%.
Miglior risultato
17,4% nel test 4K random write
Il dato più forte è il guadagno nei carichi misti: sono proprio quelli che somigliano di più agli ambienti reali di storage e database, dove il RAID deve reggere letture e scritture insieme.
I benchmark sono stati eseguiti su ramdisk, quindi senza la latenza fisica dei dischi reali. Su storage tradizionale il vantaggio lato CPU può restare visibile, ma essere in parte assorbito dal ritardo dell’hardware.
Risultati pubblicati
4K random write
17,4%
Database 8K, 75% lettura
10,3%
OLTP 16K, 70% lettura
10,1%
Intervallo complessivo osservato
10% – 17%
Condividi con i tuoi amici

Lascia una risposta

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

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

Verified by ExactMetrics