La mémoire SCM pourrait accélérer les bureaux distants
La croissance de télétravailleurs nécessite de muscler les solutions de VDI. L’un des moyens pourrait être de doter le serveur de modules SCM, des mémoires à mi-chemin entre RAM et SSD.
Étant donné les bénéfices apportés par les disques SSD aux bureaux virtuels, il est légitime de se demander si la mémoire SCM ne pourrait pas encore améliorer les performances d’un système de VDI. D’autant que celui-ci doit servir de plus en plus de télétravailleurs. La mémoire SCM (Storage-Class Memory), dont la forme la plus connue est l’Optane DC d’Intel, et un matériel de stockage presqu’autant capacitif qu’un disque SSD et presque aussi rapide que la DRAM.
En théorie, une mémoire SCM peut servir de cache pour accélérer les accès disque d’un grand nombre d’utilisateurs d’Office, mais aussi directement de stockage encore plus rapide pour éponger les accès intensifs de certaines applications métier, ou encore de mémoire très capacitive pour déployer encore plus de bureaux virtuels Windows par serveur.
La mémoire SCM est une technologie récente et son utilisation dans le cadre du VDI n’a pas encore beaucoup été discuté. Notamment, peu d’informations existent sur la meilleure façon de l’utiliser. Mais, d’un autre côté, la pratique du VDI pose des défis techniques qu’il est urgent de résoudre, notamment en matière de stockage.
Le VDI consiste à centraliser les environnements Windows de chaque salarié ou de chaque application sur un serveur, afin de pouvoir les utiliser à distance. Mais pour que l’expérience soit similaire à celle d’un Windows utilisé localement, encore faut-il que les disques de ce serveur soient aussi rapides que la vitesse cumulée des disques qui équiperaient tous les postes de travail physiques qu’on cherche à remplacer. Si cette vitesse n’est pas au rendez-vous, le VDI peut nuire aux performances des applications et à la productivité des salariés.
Déterminer les besoins de stockage de la VDI
Un système de stockage ne peut pas répondre aux exigences de performances d’une solution de VDI si ses IOPS sont trop faibles ou sa latence trop élevée. Le stockage doit être capable de gérer les lectures/écritures intempestives, les opérations de sauvegarde, les mises à jour logicielles, les analyses des antivirus et autres flux imprévisibles. Si le stockage ne peut pas répondre à ces exigences, le projet VDI est voué à l'échec.
Lorsqu’elle planifie les besoins en stockage pour son projet de VDI, l’équipe informatique doit tenir compte de nombreux facteurs, comme le nombre de postes de travail, la quantité de données, les applications prises en charge et le type d'utilisateurs finaux.
Il est ainsi d’usage de faire la différence entre des collaborateurs de type « Knowledge Workers », qui utilisent la suite complète de Microsoft Office, visioconférence comprise, et d’autres de type « Task Workers » qui se servent essentiellement d’une application métier. Les premiers ont besoin de plus d’IOPS que les seconds. Citons aussi, les « Power Users » qui ont encore plus besoin de puissance que les Knowledge Workers car ils utilisent, en plus d’Office, des applications très gourmandes nécessitant une latence minimale.
Diverses solutions techniques existent pour offrir beaucoup d’IOPS et peu de latence selon les usages des collaborateurs. Les projets VDI s’accompagnent généralement de baies de stockage 100% Flash très rapides, ou d’infrastructures hyperconvergées très versatiles, ou d’un mix des deux avec une système de virtualisation du stockage (SDS) qui simule différentes classes de stockage sur les disques internes ou externes des serveurs. A toutes ces options, s’ajoute désormais la mémoire SCM.
Une mémoire SCM fonctionne comme de la RAM : on accède à son contenu via les adresses de ses octets, ce qui évite les goulets d’étranglement des protocoles de stockage conçus pour indexer des blocs. Il est cependant possible de lui demander de simuler des accès en mode bloc, pour se comporter comme un vrai disque SSD tout en demeurant plus rapide que celui-ci. Contrairement aux barrettes de DRAM et à la manière des disques, les mémoires SCM sont non volatiles : elles conservent leur contenu en cas de coupure de courant.
La mémoire SCM en guise de cache pour le stockage
L’un des trois usages de la mémoire SCM serait donc de s’en servir de cache dans une baie de stockage 100% Flash. Elle remplacerait alors la DRAM qui prend d’ordinaire cette fonction mais qui coûte plus cher à capacité égale. Autre avantage, en cas de coupure de courant, les données qui n’ont pas le temps de sortir du cache pour s’enregistrer sur les SSD ne sont pas perdues.
L’installation de cache au niveau d’une baie de stockage contribue à accélérer ses performances d'entrée/sortie (IOPS) et à réduire sa latence lors des relectures. Cette option est idéale pour gérer les requêtes en provenance des utilisateurs, en particulier quand ils se connectent tous en même temps le matin. HPE, par exemple, utilise des modules Optane DC sous forme de disques SSD dans ses baies de stockage 3PAR et Nimble Storage. Ces SSD n’utilisent pas des NAND Flash ordinaires ; ils reposent sur des composants 3D XPoint, une mémoire SCM mise au point par Intel et Micron.
Selon HPE, les baies de stockage ainsi équipées sont capables de lire des données dix fois plus vite que les baies traditionnelles 100% Flash. Notons toutefois que HPE ne commercialise pas ses baies avec mémoire SCM expressément pour le VDI. Son catalogue les présente plutôt pour accélérer des applications intensives. Mais il est probable que ces baies accélèrent tout autant les bureaux virtuels.
Pure Storage a, de la même manière, intégré des modules SSD Optane DC dans ses baies FlashArray//X, en indiquant que son système a été conçu pour deviner quelles données méritent de résider dans la cache afin de bénéficier d’un accès plus rapide que les autres. Comme HPE, Pure Storage ne fait aucune annonce spécifique concernant FlashArray//X et le VDI. Le fournisseur se contente de dire que ses systèmes sont bien adaptés aux applications à lecture intensive et sensibles à la latence, comme celles qui utilisent d’ordinaire des disques directement installés dans les serveurs. Cette définition correspond à celle du VDI.
La mémoire SCM en remplacement de la NAND
Le second cas d’usage est le remplacement des SSD ordinaires à base de NAND par des SSD à base de SCM. Les modules SCM pourraient être utilisés seuls ou en conjonction avec des SSD NAND dans une configuration hybride, de la même manière que les SSD et les disques durs sont combinés dans les baies de stockage dites hybride. Bien que les SSD SCM coûtent plus cher que les SSD NAND, ils offrent un meilleur débit IOPS et des latences de lecture et d'écriture plus faibles. Au point que, selon les scénarios, ils sont très rentables.
Dans ce cas d’usage, les SSD SCM ne seraient plus insérés dans des baies de disques externes, où les systèmes sont conçus pour les traiter par défaut comme du cache, mais directement dans les serveurs, en remplacement ou en complément de leurs SSD. Selon Intel, les SSD Optane DC sont ainsi particulièrement adaptés aux infrastructures hyperconvergées – ils sont notamment pris en charge par le module VSAN de VMware - et aux systèmes de stockage virtualisés (SDS), deux architectures régulièrement utilisées dans les projets de VDI.
La rapidité des SSD SCM tient au fait que les données sont écrites directement, alors qu’un SSD ordinaire doit d’abord effacer ses cellules NAND avant d’écrire dedans. Par rapport aux SSD NAND, les SSD Optane DC, par exemple, offrent des latences généralement inférieures à 10 microsecondes (μs), contre une latence entre 10 μs et 100 μs habituellement. Surtout, les SSD SCM maintiennent leur latence faible même quand la quantité des accès augmente, ce qui n’est pas le cas des SSD à base de NAND.
Un autre avantage de ce dispositif est que les SSD SCM sont plus endurants que les SSD à base de NAND.
Plusieurs fournisseurs proposent des SSD SCM. Intel et Micron ne sont pas les seuls : Kioxia (anciennement Toshiba Memory) et même Dell EMC en ont à leur catalogue, avec des composants qui reposent sur une technique alternative à 3D XPoint. Intel est cependant celui qui a, jusque-là, déployé le plus d’efforts pour les commercialiser. Ses SSD Optane DC prennent la forme de modules NVMe aux formats U.2, M.2 ou encore carte d’extension PCIe.
Comme pour le cache de stockage, il faudra plus que des suppositions pour conclure que les SSD SCM sont une alternative viable aux SSD à base de NAND. En attendant, nous pouvons dire qu’il s’agit d’une option suffisamment prometteuse pour mériter d'être testée.
La mémoire SCM en guise de RAM dans le serveur
Malgré les avantages de performance que les SSD SCM peuvent offrir, communiquer avec eux via le bus PCIe constitue en soi une charge dont on voudrait parfois se passer. Il existe à ce titre des modules SCM qui prennent la forme de barrettes de DRAM et s’insèrent donc à leur place, ou en complément sur des slots DIMMs libres. La mémoire SCM n'est certes pas aussi rapide que la DRAM, mais elle coûte moins cher et il est donc possible de l’utiliser pour augmenter la mémoire, c’est-à-dire déployer plus de machines virtuelles par serveur, ou déployer plus d’applications gourmandes en mémoire, à moindre frais.
Augmenter la mémoire dévolue aux machines virtuelles évite au serveur hôte de paginer sa RAM sur les disques en cas de dépassement. De cette manière, moins de données circulent entre la RAM et le stockage et les performances des accès disques augmentent aussi.
Et, encore une fois, la mémoire SCM présente le mérite de conserver les données après une coupure de courant. En pratique, cela signifie qu’il n’est pas nécessaire de recharger en RAM toutes les données après une mise à jour du système hôte.
Comme pour les SSD Optane DC, Intel a été à la pointe des efforts commerciaux pour mettre en œuvre une solution. Le fournisseur propose en l’occurrence des modules Optane DC PMM (alias « modules de mémoire persistante »), qui se branchent dans des emplacements DIMM standard. Les Optane DC PMM supportent des capacités allant jusqu'à 512 Go par barrette DIMM, avec des taux de latence aussi bas que 350 nanosecondes (ns). En comparaison, la latence des DRAM se situe entre 80 ns et 100 ns.
Intel recommande ouvertement ses Optane DC PMM pour la virtualisation et le VDI. Toutefois, pour tirer pleinement parti de ces modules PMM, les logiciels doivent être spécifiquement adaptés.