En 2013, la Flash va continuer à bouleverser le monde du stockage
Comme elle l'a déjà fait en 2012, la technologie de stockage à mémoire flash va continuer à transformer la façon dont les constructeurs conçoivent leurs baies de stockage. LeMagIT revient sur les modifications intervenues en 2012 et sur les perspectives 2013.
Comme elle l'a déjà fait en 2012, la technologie de stockage à mémoire flash va continuer à transformer la façon dont les constructeurs conçoivent leurs baies de stockage. LeMagIT revient sur les modifications intervenues en 2012 et sur les perspectives 2013.
Les technologies de stockage à base de silicium comme la mémoire Flash sont en train de bouleverser en profondeur le monde du stockage et contraignent les constructeurs à transformer en profondeur leurs architectures de stockage. Ce travail, largement entamé par les fabricants 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
Comme l’explique remarquablement David A. Paterson, un professeur d’architectures informatiques de l’Université de Berkeley, 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 lui, 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.
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.
Comme l’expliquait Sébastien Verger, le CTO d’EMC France, rencontré par LeMagIT lors de l’EMC Forum en novembre 2011, 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. La même analyse est effectuée par Benoît Maillard, le directeur marketing de la division serveurs d'applications critiques d'HP, qui souligne que plusieurs clients des serveurs Itanium de la marque ont vu des bonds de performances substantiels de leurs installations avec l’emploi de baies de stockage Flash Violin (revendues par HP). Implicitement, 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, des constructeurs comme EMC, NetApp ou Nexsan 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. Comme nous l’expliquait récemment Cyril Vanagt, le responsable avant-ventes de NetApp, 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. Un avis partagé par Sébastien Verger, d’EMC, selon lequel 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 embarquent 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. NetApp travaille sur un projet similaire et IBM a mis la main sur le spécialiste texan du secteur, Texas Memory Systems. Hitachi devrait lui aussi livrer des baies Flash en 2013 de même qu’HP, même si ce dernier est sans doute celui qui a jusqu’alors le moins donné de précision sur ses intentions.
Ces grands constructeurs devront toutefois batailler ferme avec une nouvelle génération de spécialistes du stockage Flash en cluster comme Whiptail, SolidFire, Nimbus Data ou Kaminario et avec des spécialistes du stockage Flash comme Avere Systems, Nexgen, Nimble, Pure Storage ou Violin Memory. La plupart des baies Flash 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 (comme les baies de SolidFire). Les performances vont de plusieurs centaines de milliers d’IOPS à plus d’un million d’IOPS.
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 NetApp a annoncé sa solution Flash Accel qui permet d’utiliser des cartes PCI-express Flash (et notamment celles de Fusion-IO) comme un étage de cache local dans les serveurs.
Ces 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.