Pallier les failles Spectre et Meltdown : quel impact sur les performances ?
Dans la seconde partie de notre article sur la remédiation des failles Spectre et Meltdown, nous revenons sur les premières analyses de perte de performances effectuées par les principaux éditeurs, par des opérateurs de cloud et par certains utilisateurs.
Une semaine après l’officialisation des failles Spectre et Meltdown, l’industrie informatique continue à se débattre pour développer des parades efficaces aux deux failles tandis que les entreprises ont commencé à déployer les premiers correctifs et mises à jour de microcode proposés par les éditeurs et par les constructeurs.
Contrairement aux estimations initiales d’Intel, plutôt optimistes, les premiers correctifs ont un impact perceptible sur les performances et, dans certains cas, des effets secondaires inattendus.
Après avoir étudié les mécanismes des correctifs dans une première partie, nous résumons dans cette seconde sectionde cet article, l'impact en matière de performances des premiers correctifs à partir des informations fournies par les grands éditeurs de systèmes d’exploitation, des opérateurs de cloud et des utilisateurs.
Des ralentissements variables selon les fournisseurs
Le problème des techniques mises en œuvre pour pallier les failles Spectre et Meldown est qu’elles ont un impact potentiellement élevé sur les performances puisqu’elles contribuent à inhiber le bon fonctionnement de la prédiction de branchement qui rappelons-le n’existe que pour accélérer le traitement des instructions par le processeur.
Selon une analyse effectuée par les développeurs de DragonFly BSD, n’activer IPBP que pour les processus du noyau fait reculer la performance d’un serveur de 12% mais l’activer pour tous les processus fait s’effondrer la performance d’un serveur Intel de génération « Haswell » de 53% . Sur la dernière génération de processeurs Intel (Skylake) l’impact est respectivement de 5% et de 24%. En combinant IPBP et IBRS sur un processeur Skylake, la perte de performance est évaluée à 8,7% pour le mode kernel et à 27,7% si les deux techniques sont utilisées de façon générale par tous les processus. Pour les puces Haswell, les développeurs de DragonFlyBSD jugent l’impact de la généralisation des deux technologies tout simplement abominable. Ils notent, au passage, que ces techniques ne garantissent pas une protection absolue contre Spectre et qu’il faudra de tout façon envisager un renouvellement des plates-formes serveurs pour s’en protéger à 100%.
Côté Red Hat, on se veut un peu plus rassurant. Selon les évaluations de l'équipe d'analyse de performances de la firme, les processus les plus intensif (SGBD transactionnels, workloads intensifs en I/O…) verront leur performance reculer de 8 à 19% en moyenne. Les applications analytiques et Java devraient connaitre un ralentissement de 3 à 7%, tandis que les workloads de type HPC ralentiront de 2 à 5%).
Microsoft souligne quant à lui que les utilisateurs de postes de travail récent ne devrait guère voire d’impact (des reculs inférieurs à 10%), mais que les PC antérieurs à 2015 (Intel « Haswell ») doivent s’attendre à un impact plus significatif. Cette dégradation des performances devrait s’accroitre avec l’ancienneté des processeurs.
Ces estimations sont confirmées par les premiers tests réalises par Intel avec des benchmarks standards sur une série de postes de travail équipés de processeurs récents.
Côté serveur, Microsoft indique que les applications gourmandes en I/O seront les plus affectées. Et le vice-président exécutif de la division Windows de l’éditeur, Terry Myerson, fait cette curieuse recommandation à la fin de son billet de blog : les utilisateurs devront trouver un équilibre entre la sécurité et les compromise de performance pour leur environnement.
Premiers retours d'utilisateurs
Dans le monde réel, les premiers retours sont parfois inquiétants. Sur ses environnements d’hébergement Web mutualisés, l’hébergeur français Online a ainsi noté une explosion de la charge sur ses serveurs suite à l’application des correctifs recommandés par les fournisseurs. La situation est tellement dégradée que l’hébergeur est en train de basculer ces plateformes sur des serveurs plus puissants.
Plus inquiétant, l’hébergeur note (et il n’est pas le seul) que les correctifs de microcode visant à contrer Spectre ont accentué l’instabilité des plates-formes serveurs « pré-Skylake » (les Xeon E5 v3 « Haswell » et Xeon E5 « Broadwell »), tout en impactant sévèrement la performance de ses clients. L’hébergeur a donc stoppé le déploiement de ces correctifs en attendant qu’Intel redresse la situation.
L’éditeur de jeu Epic a quant à lui vu ses plates-formes de jeu en ligne souffrir suite à l’application des correctifs. Dans un billet de blog apporté en réponses aux plaintes de ses utilisateur, il a publié un graphique montrant l’impact CPU des différentes mises à jour apportées à son infrastructure. On y voit la consommation CPU de ses serveurs bondir de 20 à 30%.
Ian Chan, le directeur technique de l’éditeur branch, qui fournit une plateforme d’influence et de création de liens pour les applications mobiles avait quant à lui noté un impact allant de 5 à 20% sur ses plates-formes KafKa hébergées sur Amazon AWS suite à l’application des premiers correctifs par le fournisseur de cloud. Depuis, Amazon AWS semble avoir appliqué de nouveaux correctif qui ont ramené la situation à son niveau initial, selon un tweet de Ian Chan.
Big update here! Looks like AWS/EC2 just deployed an updated #Spectre patch (perhaps Retpoline-ish), addressing high IO HVM instance performance issues! Big credit to Amazon for addressing performance needs & concerns so quickly and diligently. Thank you. cc @_msw_ pic.twitter.com/ZaGgYylQgg
— Ian Chan (@chanian) 12 janvier 2018
La vue la plus détaillée à ce jour est fournie par l'éditeur SolarWinds qui a publié une série de graphes détaillés sur l'évolution de la performance de son infrastructure dans Amazon AWS, une évolution qui retrace les efforts d'application de correctifs d'Amazon AWS. La firme note une hausse soudaine de la charge CPU de ses instances après la première vague de correctifs pour Meltdown. Mais elle souligne aussi qu'une seconde vague, en cours de déploiement a ramené la consommation à des niveaux proches de ceux constatés après les premiers correctifs.
La prudence des fournisseurs d'infrastructure
Nous avons contacté plusieurs fournisseurs pour leur demander de nous fournir plus d’informations sur leur vision du problème. La plupart se sont montrés d’une extrême prudence ou n’ont pas souhaité nous répondre. Sans surprise, l’optimisme des fabricants de serveurs et de processeurs reste total sur leur aptitude à limiter l’impact de performance de leurs correctifs (il faut dire qu’ils peuvent difficilement dire le contraire sous peine de s’exposer à des poursuites multiples - Intel fait déjà l’objet de trois recours en action collective – ou à des appels en vice caché en Europe).
La réalité est que pour l’instant la plupart des solutions proposées sont des correctifs d’urgence visant à boucher les trous. Les fabricants et éditeurs espèrent que de prochaines versions viendront limiter l’impact de performances. Mais rien n’est moins sûr, pas plus qu’il n’est prouvé que les correctifs actuels à Spectre seront suffisants pour endiguer la menace.
Côté stockage, la réaction est encore plus surprenante. Officiellement, plusieurs constructeurs affirment ne pas être concernés car leurs plates-formes ne font pas tourner de code externe susceptible de tirer parti des failles. Cette appréciation est à notre sens pour le moins optimiste. Car en cas de faille permettant une intrusion sur un système de stockage, le fait que ces systèmes ne sont pas protégés contre Spectre et Meltdown constituera un vecteur d’attaque béant pour prendre le contrôle d’une baie).
La discrétion des fournisseurs sur leurs architectures hyperconvergées est encore plus surprenante. Leur performance pourrait en effet être directement affectée par Spectre et Meltdown.
Nutanix a pour l’instant répondu à notre requête en indiquant que la performance des applications les plus exigeantes en I/O pourrait être affectée mais en précisant que la plupart des utilisateurs ne devrait pas voir d’impact. VMware que nous avons interrogé hier n’était pas revenu vers nous à l’heure de la publication de cet article, mais n’avait pas connaissance d’un impact avéré. Interrogé par nos confrères anglais du Register, Scale Computing a pour sa part indiqué que sa technologie de stockage n’était a priori pas affectée par les failles.
Cisco n’a pour l’instant pas communiqué sur Hyperflex (il est vrai que ses correctifs serveurs ne sont attendus que les 18 et 19 janvier) et HPE ne liste pour l’instant pas Simplivity parmi ses correctifs publiés. IBM, enfin, n’a pour l’instant pas fourni d’indication sur les implémentations virtualisées ou hyperconvergées de ses technologies de stockage.
Le temps et les premiers retours des entreprises permettront sans doute d’en savoir plus. En attendant, le paradoxe est que Spectre et Meltdown, plutôt que de ralentir les ventes de serveurs pourrait doper ponctuellement la demande afin de compenser l’impact des correctifs disponibles dans les datacenters. Pour les fournisseurs de processeurs, largement fautifs du fait de leurs choix d’architecture et de leurs implémentations pour le moins défaillantes, ce serait un peu le casse du siècle.
Pour approfondir sur x86
-
Google dévoile les attaques « Downfall », basées sur une vulnérabilité dans les puces Intel
-
Processeurs Intel : découverte de nouvelles attaques par canaux auxiliaires
-
Les performances continuent de mobiliser les administrateurs d’environnements VDI
-
La faille L1TF sur les processeurs Intel aura un impact détestable sur les performances