Les technologies de stockage à base de silicium comme la mémoire Flash sont en train de bouleverser en profondeur le monde du stockage et se traduisent par une refonte en profondeur des architectures de stockage. Ce travail, largement entamé par les constructeurs en 2011 et poursuivi tout au long de 2012, devrait encore s’accélérer en 2013 et toucher l’ensemble de la chaîne informatique, des serveurs aux baies de stockage.

L’attrait de la mémoire Flash tant pour les entreprises que pour les constructeurs s’explique par l’asymétrie entre l’évolution des performances des processeurs et de la mémoire et celle des disques durs, qui historiquement ont été les composants essentiels des systèmes de stockage. Elle vient en fait combler le trou qui s’est creusé entre les performances de la mémoire et celle des disques durs.

La Flash, chaînon manquant entre la mémoire et les disques durs

Pour faire simple, la performance des processeurs a progressé bien plus rapidement que celle des mémoires et surtout que celle du stockage au cours des 30 dernières années. Selon des estimations du professeur David A. Paterson de l’Université de Berkeley, la performance moyenne des processeurs a progressé à un rythme moyen de 50 % par an, tandis que la bande passante mémoire progressait de 27 % par an et que celle des disques durs progressait de 28 % par an.

L’écart de performance entre les processeurs et les disques durs n’a cessé de se creuser au cours des dernières années. Le stockage Flash vient combler l’écart. (cliquer sur l’image pour agrandir)

L’écart de performance entre les processeurs et les disques durs n’a cessé de se creuser au cours des dernières années. Le stockage Flash vient combler l’écart. (cliquer sur l’image pour agrandir)

Plus grave, la performance en nombre d’opérations par seconde des disques durs n’a guère évolué au cours des 10 dernières années. Ainsi un disque d’entreprise à 10 000 tr/mn reste péniblement sous la barre des 150 IOPS (opérations d’entrées/sorties par seconde) en accès aléatoires, et un disque SATA peine à franchir la barre des 70 à 80 IOPS. Or, pendant que la performance des disques stagnait, celle des processeurs a été multipliée par 100 au cours des dix dernières années.

Autre point d’achoppement, les gains en latence des disques durs ont été ridicules au cours des 25 dernières années. Seagate note ainsi qu’un disque d’entreprise avait un temps d’accès de 60 ms en 1987. Depuis, on est passé à 5 ms pour les disques d’entreprises à 15 000 tr/mn, mais toujours à environ 9 ms pour un disque SATA 7 200 tr/mn. Cette amélioration d’un facteur de 6 à 12 fois peut paraître impressionnante. Sauf que dans le même temps, la latence d’accès à la mémoire a été divisée par plus de 100 000 (pour passer sous la barre de la nanoseconde) et la performance unitaire des processeurs (mesurée en Flops) a été multipliée par plusieurs dizaines de millions de fois.

Le résultat est un déséquilibre croissant : d’un côté, des processeurs capables de performances théoriques croissantes et de l’autre, des goulets d’étranglement terribles en matière d’accès aux données du fait des faibles performances des disques durs.

Pour Sébastien Verger, CTO d’EMC France, il suffit d’installer 2,5 à 10 % de la capacité d’une baie de stockage en disques SSD pour doper de façon significative les performances,

Pour Sébastien Verger, CTO d’EMC France, il suffit d’installer 2,5 à 10 % de la capacité d’une baie de stockage en disques SSD pour doper de façon significative les performances,

Comme l’expliquait Sébastien Verger, le CTO d’EMC France, rencontré par LeMagIT lors de l’EMC Forum en novembre 2012, ces notions de nano, micro ou millisecondes parlent peu à l’utilisateur moyen. Selon lui, il faut les ramener à des échelles plus courantes pour mieux comprendre le problème. Si l’on ramène ainsi le temps d’accès de la mémoire vive DDR3 (environ 2 nanosecondes) à une seconde, alors celui d’une mémoire Flash est proche de 30 secondes tandis que celui d’un disque dur SAS est de 28 jours et 23 heures. Cela veut dire qu’au lieu d’attendre une seconde pour atteindre une donnée en mémoire vive, le processeur doit attendre 30 secondes, s’il doit la chercher dans une carte flash locale et près d’un mois s’il lui faut aller la lire sur un disque dur… Or pendant qu’il attend des données, le processeur ne travaille pas. Conclusion : en ajoutant de la Flash dans les architectures de stockage, on dope certes la performance du stockage, mais surtout, on dope de façon encore plus intéressante celle d’une architecture informatique complète. En fait, il est parfois plus rentable et moins cher de repenser son architecture de stockage en y insérant un étage de Flash que de remplacer ses serveurs par des modèles plus récents.

La Flash transforme les baies de stockage

Les caractéristiques uniques de la mémoire Flash ont jusqu’à présent contraint les constructeurs de systèmes de stockage à un exercice bien périlleux d’intégration dans leurs architectures existantes. Sans surprise, tous les constructeurs ont commencé par supporter l’insertion de disques à mémoire Flash (ou SSD) dans leurs baies de stockage. Une intégration facile mais qui se fait parfois dans des systèmes dont les architectures internes ne sont pas adaptées à la performance des SSD. Ils ont ensuite commencé à réfléchir à un meilleur usage des SSD, tout d’abord en ajoutant des fonctions de tiering à leurs baies de stockage – les données les moins utilisées sont automatiquement migrées vers des disques durs tandis que les plus utilisées et les plus sensibles sont migrées sur des SSD. Plus récemment, les constructeurs ont commencé à utiliser une partie de la capacité de SSD comme un étage de cache complémentaire au cache mémoire.

La combinaison de ces techniques permet de réduire les coûts des baies en réduisant le nombre de disques durs, tout en dopant les performances. Par exemple, l’usage d’une dose de Flash dans des baies de stockage permet de réduire de façon significative le nombre de disques durs rapides et donc de proposer des baies plus compactes et plus économiques tout en accroissant les performances. Comme l’explique Sébastien Verger, d’EMC, il suffit d’installer 2,5 à 10 % de la capacité d’une baie de stockage en disques SSD pour doper de façon significative les performances, tout en abaissant les coûts et la consommation électrique – l’utilisation de disques SSD permet en effet d’éliminer le recours à des disques SAS coûteux mais aussi très gourmands en énergie et de les remplacer par des disques SATA. Selon Sébastien Verger, plus de 60 % des baies VNX et VNXe vendues actuellement embarqueraient ainsi un étage de stockage Flash.

2013 année des baies 100% Flash

L’étape suivante est sans doute l’émergence à plus grande échelle de baies de stockage spécifiquement conçues autour de la Flash. Chez les grands constructeurs, EMC devraient lancer au premier semestre 2013 sa baie « Project X » issue du rachat d’XtremIO. Et il ne sera pas le seul. Les géants du stockage doivent en effet compter avec l’émergence d’une nouvelle génération de start-up qui ont fait du stockage Flash une priorité. La plupart de leurs baies combinent l’usage de la mémoire Flash comme support de stockage avec un usage systématique de technique d’optimisation de données (compression et déduplication) afin de minimiser l’usure de la Flash mais aussi d’optimiser l’usage de la capacité, donc le coût par Go – avec la baisse des prix de la flash, certaines de ces baies affichent d’ailleurs des coûts au gigaoctet assez proches de ceux des baies traditionnelles des grands constructeurs. Certaines incluent aussi des mécanismes de gestion de la qualité de service. Les performances vont de plusieurs centaines de milliers d’IOPS à plus d’un million d’IOPS. C’est typiquement pour riposter à ces nouveaux venus qu’EMC a acquis XtremIO et ses technologies.

La Flash de bout en bout

La mémoire Flash n’affecte toutefois pas que les baies de stockage. Elle s’insère dans l’ensemble de la chaîne reliant les serveurs au stockage. C’est Fusion-IO qui a notamment initié cette tendance avec ses cartes avant d’attirer l’attention d’EMC qui a introduit à l’été 2012 les cartes VFCache. Depuis la plupart des constructeurs ont suivi avec des offres plus ou moins similaires.

Les cartes PCI-express Flash s’installent directement dans les serveurs qui accèdent aux données, et offrent des performances optimales car le bus sur lequel elles sont installées (PCI-express) a une latence bien inférieure aux connexions SAN. Elles peuvent être utilisées à la fois comme un étage de stockage local à très hautes performances ou comme un cache vers les données stockées sur les baies de stockage (dans ce cas un pilote logiciel adapté gère le cache à l’échelle du serveur ou d’un cluster de serveurs équipés de cartes Flash). La proximité de la Flash du processeur permet notamment de minimiser la latence d’accès et de répondre aux besoins des applications les plus sensibles à la latence comme les applications transactionnelles, les bases de données…

Notons pour terminer qu’EMC travaille au développement d’une appliance de cache partagée baptisée « Thunder » dont l’objectif est de permettre la mutualisation de plusieurs cartes Flash VF Cache par un grand nombre de serveurs, une solution présentée comme un moyen de mutualiser les coûts des cartes Flash entre serveurs. Thunder s’appuiera sur des connexions Infiniband pour communiquer avec les serveurs et minimiser ainsi au mieux l’impact du bus de connexion sur la latence. L’idée est de servir de cache partagé et sécurisé pour un groupe de serveurs en frontal des baies de stockage SAN de la marque.