Risultati: prestazioni RAID 0

Intel ci ha dato sei SSD DC S3500 equipaggiati con il controller proprietario SATA 6 Gbps integrato. Li abbiamo collegati alle sei porte del chipset C226, abbiamo usato diverse modalità di RAID software e usato due sistemi operativi per scoprire le prestazioni di questa configurazione.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Risultati: prestazioni RAID 0

Il RAID 0 offre prestazioni incredibili se siete disposti a compromettere la stabilità. Lo striping vi permette anche di ottenere la massima capacità. Nel nostro caso, ci sono quasi 3 TB di SSD presentati al sistema operativo sotto forma di un singolo volume logico. Il 100% della capacità di un SSD non significa però aver accesso anche al 100% delle prestazioni.

Questo è vero, in particolar modo, per l'implementazione Intel poiché tutti calcoli RAID sono realizzati dalla CPU. Su una scheda RAID dedicata, avete un controller che si fa carico dei calcoli di archiviazione. La nostra speranza è che la moderna CPU quad-core Haswell non abbia alcun problema nell'alimentare sei SSD da 6 Gb/s.

La metodologia di prova differisce da quella che avete visto nella pagina precedente. Poiché il RAID 0 richiede almeno due unità, abbiamo creato un array da due SSD che risultano come fossero un solo volume logico. Poi abbiamo alterato il carico di lavoro. Per il test JBOD abbiamo usato un thread per caricare ogni unità con I/O. Questa volta abbiamo usato due worker sul drive logico, scalando da  una queue depth di uno a una di 64. Due thread che applicano un comando alla volta dandoci così un conteggio totale di I/O di due.

Oppure, se impostiamo una queue depth di otto tramite ogni thread, abbiamo una queue depth aggregata di 16. Un thread tende a impantanarsi con carichi di lavoro più intensi. Perciò si usano più thread per estrarre le prestazioni di picco. Poiché vogliamo che il confronto sia il più leale possibile, usiamo due thread per ogni configurazione.

Prestazione sequenziale

Senza dubbio la velocità sequenziale è la vittima più chiara di un controller che non ha abbastanza bandwidth per svolgere il proprio lavoro. Confrontate le prestazioni di una singola unità con quelle di molte unità nei nostri test in lettura e scrittura per avere un po' di prospettiva. Il passaggio a questo formato di classifica rende più facile illustrare il tetto del throughput.

Iniziando con le letture, un SSD arriva a un massimo di 489 MB/s. Due drive in striping arrivano a 925 MB/s, e tre fino a 1300. Dopodichè, mettere quattro o più SSD DC S3500 in striping sulle porte native del PCH è quasi senza senso. Per ottenere prestazioni più alte vi serve un controller hardware. 

Lo stesso vale per le scritture, che arrivano a un massimo di 1282 MB/s. Con questa configurazione di test, un SSD DC S3500 scrive sequenzialmente al 92% delle prestazioni in lettura. Quel dato scende all'82% con quattro o più unità in RAID 0.

Prestazione casuale

Quindi se il throughput totale è limitato e riduce le fantastiche prestazioni sequenziali di queste unità, passare ad accessi casuali piccoli dovrebbe permetterci di avere maggiori prestazioni, giusto? Sì e no. Come abbiamo già scritto, 100.000 IOPS 4 KB sono meno di 410 MB/s. Teoricamente, dovremmo essere capaci di arrivare a numeri elevati sotto la soglia di bandwidth. Il problema è che i piccoli accessi mettono davvero sotto torchio la CPU. Raggiungere un carico aggressivo di quel tipo può essere difficile, dal momento che ogni I/O crea overhead.

Nella pagina precedente abbiamo usato un generatore di carico di lavoro per ogni unità. Per tutto il resto, abbiamo bisogno di pareggiare il campo di gioco, per quanto possibile, e questo ci porta in situazioni in cui scegliere due thread per testare ogni configurazione RAID porta a risultati non ottimali. Potremmo fare molti test per capire quale configurazione ottimizza le prestazioni con ogni combinazione di unità. Questo causerebbe al nostro test con quattro SSD in RAID 5 di differire dallo stesso numero di unità in RAID 0, che non è quello che vogliamo fare. Quindi, abbiamo bisogno di scendere a compromessi per trovare una configurazione che funzioni complessivamente bene.

Non siamo all'altezza del potenziale visto nei nostri test JBOD, ma ce lo aspettavamo. Due SSD in RAID 0 offrono più di 150.000 IOPS. Lo scaling si restringe un po', e gli array con quattro, cinque e sei unità non migliorano gli uni sugli altri. Questo però non è un problema degli SSD. Se facciamo i conti vediamo che 300.000 IOPS con dati 4 KB si convertono in oltre 1,2 GB/s. Tente conto del carico di lavoro e dei limiti della piattaforma; otteniamo prestazioni persino oltre le più rosee aspettative.

Nel lato sinistro della classifica vedete che tutte le configurazioni testate sono simili. Aumentare il numero di unità nell'array non causa scossoni. Comunque, persino con due unità, 50.000 I/O con due comandi non è un cattivo risultato. Forse la parte migliore è che con due unità potete avere quasi 100.000 IOPS con quattro comandi. Confrontate il tutto con un SSD di fascia alta desktop che vede questi numeri solo con una queue depth di 32. La soluzione RAID continuano a scalare quando il carico di lavoro si fa più intenso.

Come nel mondo delle schede video, moltiplicare l'hardware non garantisce uno scaling perfetto. Il test JBOD aiuta a mostrare che le prestazioni di un'unità non impattano sull'altra. In RAID, tuttavia, l'unità più lenta della catena è l'anello debole. Se avessimo rimosso un SSD DC S3500 e aggiunto un prodotto di precedente generazione, il risultato finale sarebbe stato il comportamento l'unità di vecchia generazione.

Che cosa significa tutto questo quando le unità stanno lavorando in RAID? Bene, non tutte le unità sono ugualmente veloci per tutto il tempo. Se un carico di lavoro è distribuito sulle unità, un'unità potrebbe essere leggermente più lenta. Le latenze dicono tutto, con l'1% delle I/O durante una piccola fetta di tempo che forse impiegano 20 milionesimi di secondo per completarsi, mentre all'altra estremità dello spettro servono 20.000 µs per un'operazione di andata e ritorno. La maggior parte del tempo la latenza media è piuttosto bassa, quindi la maggior parte dei sistemi RAID che usa SSD identici è ben bilanciata.

Questa è una ragione per cui la coerenza conta. Se un servizio dipende dal sottosistema di archiviazione per offrire una bassa latenza, i grandi picchi necessari per servire l'I/O possono davvero impattare su determinate applicazioni. Alcuni SSD sono migliori di altri, e questo è il motivo per cui l'SSD DC S3700 recensito si è comportato bene. Di contro l'S3500 è stato creato per ambienti dove una durata più alta e latenze inferiori cedono il passo al prezzo.

Lo storia è la stessa per le scritture. Dati sei SSD, potete arrivare fino a 276.000 IOPS in 4 KB. Altrimenti lo scaling frena all'aumentare delle unità. Come le letture, le prestazioni con queue depth più basse sono elevate e tutte le configurazioni vanno bene fino a una queue depth di 32, dove tutte sembrano livellarsi. Ricordate che un'unità SATA con supporto NCQ ha solo 32 posizioni in cui memorizzare i comandi.