QSAN Q500: il SAN professionale enterprise

Procediamo ora al commento dei risultati ottenuti dai test sugli array di RAID 5. Come nei casi precedenti, abbiamo configurato un singolo Raid Group di tipo RAID 5, abilitandone le funzioni di ReadAhead e write back cache. All’interno del Raid Group abbiamo espanso un singolo Virtual Disk, esposto su protocollo iSCSI su un’unica interfaccia di rete 10Gbps, connessa alla macchina client.

I risultati dei test mostrano comportamenti differenti a seconda del benchmark utilizzato. In particolare i migliori risultati si evincono da DiskMark e dal benchmark di Atto: notiamo infatti valori di lettura sequenziale di ben 443 - 515 Mb/s, attribuibili all’algoritmo di ReadAhead e dall’uso intelligente della cache. Per quanto riguarda le scritture sequenziali, i risultati sono invece peggiori: la maggiorparte dei test fa registrare valori di scrittura intorno ai 50 Mb/s. Unica voce fuori coro è il test di Atto, che per sua morfologia utilizza in gran parte le cache e permette l’ottenimento di risultati migliori, totalizzando ben 754 Mb/s come throughput.

Le scritture random a 4K risentono, come di consueto, di un pesante overhead. In gran parte, tale comportamento è attribuibile ai dischi meccanici, solitamente non in grado di registrare un gran numero di IOPS con accesso random (il problema è quello del SEEK time, necessario per allineare la testina sul disco). Inoltre, il protocollo iSCSI richiede l’incapsulamento delle istruzioni sul layer 2 di TCP/IP (Ethernet in questo caso) e tale operazione ha un costo non indifferente sulle prestazioni. In particolare è HDTune a far registrare risultati bassi, di circa 35 Mb/s in scrittura ed appena 1163 IOPS (4Kb single). Le letture mostrano invece risultati più positivi: 12910 IOPS contro i 1163 IOPS registrati in scritture di singoli blocchi da 4Kb.

Seguono qui i medesimi test svolti su un raid group composto da quattro dischi a stato solido Kingston KC100 da 240Gb.

Come lecito aspettarsi, i risultati ottenuti da un array di Raid 5 composto da dischi a stato solido sono positivi. Ci sorprende notare che le letture sequenziali con block size a 8Mb facciano registrare bande dati più larghe rispetto a quelle annotate in modalità RAID 0. Il meccanismo di ReadAhead sembra lavorare in modo egregio con questa modalità RAID, tanto da permettere il raggiungimento di valori come 885 Mb/s. Nel test con block size a 64Kb, la banda dati scende a 425 Mb/s di media. Per quanto riguarda le scritture, il test con block size a 8Mb fa registrare una banda media di 480 Mb/s, che si riduce a 225 Mb/s in scrittura per il test con blocchi da 64Kb. In effetti, vista la reattività dei dischi a stato solido utilizzati, questo test mette in risalto le prestazioni del calcolo della parità effettuato dalla CPU: le scritture sequenziali a 500Mb/s in un array di raid 5 richiedono il calcolo della parità da scrivere sui dischi ed è questa l’operazione che più di tutte ne impatta le prestazioni quando si utilizzano dischi veloci. Il limite in questo caso è appunto di 500 Mb/s, un valore alto considerando che non viene utilizzato alcun ASIC dedicato, ma solamente una porzione di CPU ad hoc per il calcolo XOR.

Il verdetto sui test in raid 5 è positivo: non ci aspettavamo affatto valori nell’ordine di 300 – 500 Mb/s in lettura sequenziale da un array di appena quattro dischi meccanici. Ciò costituisce una chiara prova dell’efficacia dell’algoritmo di ReadAhead di QSAN, confermati dai risultati ottenuti dal test sugli SSD (885 Mb/s). Il risultato ottenuto dal test di scrittura sequenziale sui dischi a stato solido costituisce un punto di forza di questo dispositivo. Inoltre, le alte bande di lettura riscontrate in questi test giustificano la presenza di interfacce 10Gbps: tali throughput non potrebbero essere dirottati su una singola NIC gigabit senza incorrere in colli di bottiglia assai evidenti.