Comment dépasser 3 Go/s avec des SSD

Introduction

L’évolution des SSD en matière de débits est impressionnante comme on peut le constater à chaque nouveau comparatif ou presque. En parallèle des comparatifs individuels comme celui que nous avons publié le mois dernier, il nous a semblé intéressant de monter un RAID sans compromis pour deux raisons : tout d’abord, constater ce qu’il est possible d’obtenir avec une carte contrôleur de niveau professionnel mais aussi se faire une idée de ce que les SSD nous réservent à l’avenir. Un peu comme avec les SLI et Crossfire des cartes haut de gamme.

Image 1 : Comment dépasser 3 Go/s avec des SSD

Par « sans compromis », on entend la bagatelle de 16 SSD en RAID 0 sachant que nous avions déjà tenté l’expérience avec 5 SSD en début d’année. Pour ce faire nous avons reçu seize Samsung 470, un modèle assez équilibré bien que les récents Vertex 3 et Crucial M4 soient nettement plus performants.

Vu la configuration, on devrait dépasser la barre des 3 Go/sec sans le moindre problème et même aller assez significativement au-delà. Cette possibilité est d’autant plus vraisemblable sachant qu’un seul Samsung 470 peut atteindre respectivement 261 Mo/sec et 224 Mo/sec en lecture/écriture séquentielle.

Une chasse aux goulets d’étranglement

La configuration de test s’appuie sur une carte mère Supermicro X8SAX X58 Express qui propose deux ports PCIe 16x 2.0, l’idéal pour les cartes RAID sachant que tous deux peuvent assurer des débits allant jusqu’à 8 Go/sec.

Pour arriver à gérer les 16 SSD, nous avons choisi deux cartes contrôleur LSI MegaRAID 9260-8i qui acceptent jusqu’à 8 périphériques SAS/SATA 6 et 3 Gbits/s. Les tests on également été effectués avec une LSI MegaRAID 9280-24i4e capable de gérer 24 périphériques à elle seule pour valider une hypothèse : on devrait théoriquement voir de meilleurs débits avec deux contrôleurs plutôt qu’un seul.

Malgré les composants choisis, nous n’avons que partiellement réussi à éviter les goulets d’étranglement : comme on le verra plus loin, l’utilisation de deux cartes en simultané n’a pas posé de problème et la barre symbolique des 3 Go/sec a bien été dépassée. Ceci dit, nous avons également pu constater les limites de la configuration : un contrôleur avec une bande passante plus importante aurait sûrement permis d’obtenir des performances supérieures.

Samsung 470 x16

Image 2 : Comment dépasser 3 Go/s avec des SSD

Les Samsung 470 ont pour particularité d’exister également sous le nom de PM810 lorsqu’ils se destinent au marché des intégrateurs. Du fait de leur interface SATA 3 Gbits/s, ils n’arrivent pas à rivaliser avec les excellentes performances E/S séquentielles des Vertex 3 ou encore des Intel SSD 510 en matière de débits séquentiels. Leur force tient à leur constance : nous n’avons jamais constaté de chute de débit quelle que soit la charge de travail ou encore le programme, de même qu’ils n’affichent pas de faiblesse significative. Cependant ils ne trouveront probablement pas leur place sur le marché professionnel du fait de leur mémoire MLC, a fortiori pour un RAID 0.

Les benchmarks ont également montré que les débits globaux n’auraient pas été meilleurs avec des SSD 6 Gb/sec : on arrive à un tel niveau de performances que les cartes RAID n’arrivent plus à suivre, les MegaRAID 9260-8i et 9280-24i4e plafonnant à 150 000 IOPS et 1600 Mo/s environ. D’après LSI, la donne changera lorsque l’on verra arriver des cartes munies de contrôleurs 6 Gb/s.

Image 3 : Comment dépasser 3 Go/s avec des SSD

Le Samsung 470 s’appuie sur le contrôleur S3C29MAX conçu en interne qui emploie 8 canaux, accède à 256 Mo de cache et gère le NCQ jusqu’à 32 commandes. Vu leur hauteur de 7 mm, ces SSD sont plus fins que la plupart des produits concurrents au format 2,5 pouces et seront donc particulièrement adaptés pour les portables petit gabarit.

Tout comme les Samsung 470 destinés au marché de détail, nos exemplaires de test emploient le firmware 0701Q et conservent la “Toggle-mode DDR NAND”. Cependant il s’agit de versions OEM qui sont conçus différemment : on s’aperçoit en les ouvrant que Samsung a choisi un PCB suffisamment compact pour être intégré dans un carénage au format 1,8 pouces.

Image 4 : Comment dépasser 3 Go/s avec des SSDImage 5 : Comment dépasser 3 Go/s avec des SSDImage 6 : Comment dépasser 3 Go/s avec des SSD

LSI MegaRAID 9280-24i4e et 9260-8i

Image 7 : Comment dépasser 3 Go/s avec des SSD

La LSI MegaRAID 9260-8i s’appuie sur le contrôleur LSI SAS2108 RoC (Raid-on-chip) qui permet d’atteindre un débit théorique ascendant et descendant de 4000 Mo/s grâce à l’interface PCI Express 2.0, tandis que le suffixe « 8i » renvoie aux huit ports SATA/SAS donnés à 6 Gb/s en pointe. On note en parallèle que le contrôleur dispose d’un cache mémoire de 512 Mo en DDR2-800 et que certaines variations de cette carte RAID embarquent une batterie de secours (BBU pour battery backup unit) de manière à ce que les données issues du cache puissent passer en écriture malgré l’absence d’alimentation.

La LSI MegaRAID 9280-24i4 propose quant à elle la bagatelle de 24 ports SATA/SAS internes auxquels il faut rajouter 4 connexions externes. Malgré une connectique plus fournie ainsi qu’un PCB plus important, cette carte utilise un contrôleur très semblable à celui de sa petite sœur (mêmes interfaces, RoC et cache mémoire). La 9280-24i4e se distingue en ajoutant un expander à son contrôleur pour arriver à 24 ports, sachant que l’on retrouve donc la même bande passante que sur la 9260-8i.

Nous avons utilisé trois configurations de carte(s) RAID/SSD différentes :

  • Huit SSD sur la LSI MegaRAID 9280-24i4e
  • Seize SSD sur la LSI MegaRAID 9280-24i4e
  • Seize SSD répartis sur deux cartes LSI MegaRAID 9260-8i

Dans tous les cas, un RAID logiciel a été crée sous Windows 7 avec l’utilitaire de la marque, le MegaRAID Storage Manager.

Création d’un RAID 0 avec la LSI 9280-24i4e

Image 8 : Comment dépasser 3 Go/s avec des SSD

Dans un premier temps, l’utilitaire liste tous les connecteurs reliés aux SSD.

Image 9 : Comment dépasser 3 Go/s avec des SSD

Grâce à une commande dans le menu contextuel, on peut donc créer un périphérique de stockage virtuel grâce au RAID.

Image 10 : Comment dépasser 3 Go/s avec des SSD

Le MegaRAID Storage Manager permet ensuite d’accéder à un paramétrage manuel du RAID ou bien d’aller au plus simple.

Image 11 : Comment dépasser 3 Go/s avec des SSD

Les SSD sont agrégés en RAID 0 pour le test.

Image 12 : Comment dépasser 3 Go/s avec des SSD

Une fois l’ensemble des périphériques de stockages ajoutés pour le RAID, il est possible d’affiner la configuration en choisissant par exemple la taille des bandes (strip).

Image 13 : Comment dépasser 3 Go/s avec des SSD

L’utilitaire récapitule tous les paramètres essentiels avant de créer le RAID.

Image 14 : Comment dépasser 3 Go/s avec des SSD

Le périphérique de stockage virtuel conçu à partir de 16 SSD en RAID 0 nous permet donc d’arriver à 3,7 Go ; suite des opérations dans le menu « gestion des disques » des disques.

Création du RAID sous Windows 7

Nous commençons par créer un RAID 0 de huit SSD sur chacune des deux LSI MegaRAID 9260-8i, après quoi le menu de gestion des disques sous Windows nous permet d’unifier ces deux grappes.

Image 15 : Comment dépasser 3 Go/s avec des SSD

A ce stade, chaque grappe (array) est considérée comme un volume indépendant.

Image 16 : Comment dépasser 3 Go/s avec des SSD

En passant par le menu contextuel, on crée un nouveau volume par agrégat des bandes (striped volume) à partir de nos deux volumes.

Image 17 : Comment dépasser 3 Go/s avec des SSD

Image 18 : Comment dépasser 3 Go/s avec des SSD

Configuration du test

Composants
CPUIntel Core i7-920 (45 nm, 2,66 GHz, 8 Mo de cache L2)
Carte mère
Supermicro X8SAX (révision 1.0, chipset Intel X58 + ICH10R, BIOS 1.0B)
Cartes RAID
LSI MegaRAID 9280-24i4e (firmware v12.12.0-0037, pilote v4.32.0.64)
LSI MegaRAID 9260-8i
DRAM3x 1 Go DDR3-1333 Corsair CM3X1024-1333C9DHX
Disque dur
Seagate NL35 400 Go, ST3400832NS, 7200 tr/min, SATA 1,5 Gb/s, 8 Mo de cache
Alimentation
OCZ EliteXstream 800 Watts, OCZ800EXS-EU
Benchmarks
Mesure des performances
CrystalDiskMark 3
Performances E/S
IOMeter 2008.08.18
Profils serveur web, base de données, station de travail et serveur fichiers
Lecture & écriture séquentielle
Lecture & écriture aléatoire de fichiers 4 Ko
Logiciels
OsWindows 7 Ultimate 64 bits

Débits

C’est avec deux cartes contrôleur que l’on arrive aux meilleurs débits : 2245 Mo/s en lecture et 2094 Mo/s en écriture, mais on reste tout de même nettement en deçà des 3 Go/s escomptés. En fait, c’est en décomposant les résultats suivant la longueur de la file d’attente que l’on prend toute la mesure de la situation.

Image 19 : Comment dépasser 3 Go/s avec des SSD

Image 20 : Comment dépasser 3 Go/s avec des SSD

Les cartes étant limitées en bande passante, peut importe que la 9280-24i4e soit associée à 8 ou 16 SSD. Les résultats sont bien meilleurs avec deux 9260-8i vu que chaque contrôleur à droit à son port PCI Express 2.0.

Image 21 : Comment dépasser 3 Go/s avec des SSD

Image 22 : Comment dépasser 3 Go/s avec des SSD

Tant que la file d’attente est courte, les différentes configurations sont assez proches. Dès que l’on arrive à 4 commandes, la paire de 9260-8i commence à se démarquer et creuse un écart considérable à 8 commandes puisque les performances sont quasiment doublées par rapport à celles de la 9280-24i4e. On est alors légèrement sous la barre de 3 Go/s en écriture séquentielle et au-dessus en lecture séquentielle.

A contrario, les performances plafonnent à 1500 Mo/s en écriture et environ 1600 Mo/s en lecture lorsque qu’un seul contrôleur travaille.

Performances E/S

Image 23 : Comment dépasser 3 Go/s avec des SSD

Avec 16 SSD, on arrive à une moyenne proche de 19 000 IOPS en profil base de données sachant que c’est avec une file d’attente de 16 commandes que les résultats sont les meilleurs. Pour mémoire, ce profil de test implique 67 % d’opérations en lecture et 33 % en écriture sur des blocs de 8 Ko.

Image 24 : Comment dépasser 3 Go/s avec des SSD

Image 25 : Comment dépasser 3 Go/s avec des SSD

On fait le même constat en mode serveur fichiers et station de travail. Soulignons que là non plus, l’ajout d’un deuxième contrôleur n’augmente quasiment pas les performances contrairement à ce que l’on avait pu voir lors des benchmarks en débit séquentiel.

Image 26 : Comment dépasser 3 Go/s avec des SSD

La situation change radicalement en profil serveur web : cette fois la MegaRAID 9280-24i4e ne tient pas la route face à la paire de MegaRAID 9260-8i, d’autant plus que les performances ne cessent d’augmenter au fur et à mesure que la file d’attente se rallonge.

Lecture/écriture aléatoire de fichiers 4Ko

Image 27 : Comment dépasser 3 Go/s avec des SSD

En lecture, les performances augmentent au fur et à mesure que la file d’attente se rallonge (jusqu’à 16/32 commandes suivant les cas) pour atteindre des écarts extrêmes. La configuration à base de deux contrôleurs se détache très nettement  pour culminer à plus de 300 000 IOPS avec 32 commandes soit le double de ce dont une seule MegaRAID 9280-24i4e est capable.

Image 28 : Comment dépasser 3 Go/s avec des SSD

La situation est radicalement différente en écriture puisque c’est alors avec 2 commandes dans la file d’attente que l’on arrive au meilleur résultat pour 16 SSD. Comme en témoignent les courbes quasi-identiques entre les configurations à un et deux contrôleurs pour 16 SSD, c’est bien le nombre de périphériques de stockage qui constitue ici le goulet d’étranglement.

Image 29 : Comment dépasser 3 Go/s avec des SSD

Image 30 : Comment dépasser 3 Go/s avec des SSD

Image 31 : Comment dépasser 3 Go/s avec des SSD

Image 32 : Comment dépasser 3 Go/s avec des SSD

Naturellement les performances sont moins bonnes en accès aléatoire par rapport aux accès séquentiels, mais on reste tout de même à un niveau satisfaisant : de 411,5 à 484,3 Mo/s en lecture et 428,3 à 542,1 Mo/s en écriture avec une longue file d’attente. Par ailleurs, alors que les écarts de performance entre les différentes configurations pouvaient aller du simple au double avec les opérations séquentielles, on ne constate ici que 113,8 Mo/s dans le cas le plus extrême (écriture, 32 commandes dans la file d’attente).

Conclusion

Que l’on soit dans un environnement privé ou professionnel, on n’imagine pas beaucoup d’utilisateurs prêts à monter un RAID 0 avec 16 SSD vu les risques de perte de données ainsi que le coût de l’ensemble. Ceci dit, notre ambition n’était pas d’évaluer une solution accessible à tous mais plutôt de voir ce que l’on pouvait attendre d’une configuration hors du commun.

Il en ressort que l’on arrive à des débits supérieurs à 3 Go/s ainsi que 170 000 IOPS dans le meilleur des cas, mais ces performances ne sont malheureusement pas aussi constantes qu’espérées : non seulement le RAID ne donne le meilleur de lui-même qu’avec de longues files d’attente, mais en plus la barre des 3 Go/s n’est franchissable que dans le domaine des débits séquentiels.

En outre, on attendait des LSI MegaRAID 9260-8i et MegaRAID 9280-24i4e une facilité d’utilisation et un fonctionnement sans accroc, ce qui a bien été le cas. Néanmoins nous avons été surpris de constater à quel point ces cartes ont pu freiner nos ambitions : le fabricant annonce que chaque contrôleur est capable d’atteindre 150 000 IOPS et environ 1600 Mo/sec, ce qui semble énorme. En fait tout va bien tant que l’on ne cherche pas des performances hors normes comme nous l’avons fait : théoriquement, 16 SSD donnés chacun à 261 Mo/s en pointe devraient permettre de dépasser les 4 Go/s, ce qui est impossible avec les composants actuels. Soulignons qu’il ne s’agit pas d’un problème d’interface 3 Gb/s contre 6 Gb/s au niveau des SSD mais d’une question de bande passante et capacité E/S au niveau de la configuration et surtout du contrôleur RAID. La notion d’équilibre est donc vitale pour une solution de stockage aussi haut de gamme que celle-ci, mais on pourrait très bien faire un constat similaire avec un montage série (daisy chain) en JBOD.

La prochaine génération de contrôleurs SAS offrant des possibilités de RAID sera donc particulièrement intéressante à suivre vu que la bande passante ainsi que le potentiel d’E/S sera revu à la hausse : LSI a par exemple annoncé sa 9285-8e/i qui s’appuiera sur des interfaces 6 Gb/s. En parallèle, les SSD 6 Gb/s sortis récemment affichent des débits impressionnants, ce qui nous donnera très probablement l’occasion de monter un autre RAID extrême cette année.