Serveur d'impression

C'est enfin l'année du serveur ARM – Serveur d’impression

Le 10 février 2020 - 9 minutes de lecture

«RISC» était une architecture importante des années 1980, lorsque les CPU avaient moins de 100 000 transistors. En simplifiant le jeu d'instructions, ils libèrent des transistors pour plus de registres et un meilleur pipeline. Cela signifiait exécuter plus d'instructions, mais plus que compenser cela en les exécutant plus rapidement.

Mais une fois que les processeurs ont dépassé le million de transistors vers 1995, ils sont passés à des architectures superscalaires hors service. OoO remplace RISC en découplant le jeu d'instructions frontal avec l'exécution back-end. Un «jeu d'instructions réduit» n'a plus d'importance, l'architecture backend diffère peu entre Intel et les puces RISC concurrentes comme ARM. Pourtant, les gens sont restés obsédés par le jeu d'instructions. La raison en est simplement politique. Intel a été le jeu d'instructions dominant pour les ordinateurs que nous utilisons sur les serveurs, les ordinateurs de bureau et les ordinateurs portables. Beaucoup résistent instinctivement à celui qui domine. De plus, les collèges endoctrinent les étudiants sur la supériorité du RISC. Une grande partie de l'enseignement universitaire en informatique est obsolète depuis des décennies.

Depuis 10 ans, la presse ignorante défend la cause des processeurs RISC ARM dans les serveurs. Le refrain a toujours été que RISC a un avantage inhérent en matière d'efficacité énergétique, et que les processeurs ARM à efficacité énergétique naturelle du monde mobile seront plus économes en énergie pour le centre de données.

Rien de tout cela n'est vrai. Il existe de nombreuses alternatives RISC à Intel, comme SPARC, POWER et MIPS, et aucune d'entre elles n'a fini par avoir un avantage en termes d'efficacité énergétique.

Les puces mobiles ne sont pas réellement économes en énergie. Oui, ils consomment moins d'énergie, mais parce qu'ils sont plus lents. Les puces mobiles ARM ont à peu près les mêmes calculs par watt que les puces Intel. Lorsque vous les faites évoluer jusqu'à la même quantité de calculs que les puces de serveur Intel, elles finissent par consommer autant d'énergie.

Les gens sont essentiellement innombrables. Ils ne peuvent pas faire ce calcul. Le seul facteur qu'ils connaissent est que les puces ARM consomment moins d'énergie. Ils ne peuvent pas prendre en compte dans l’équation qu’ils effectuent également moins de calculs.

Les fabricants de puces ont tenté à trois reprises de produire des puces de serveur à compléter contre Intel. La première tentative a été l'approche du «troupeau de poulets». Au lieu d'un noyau OoO costaud, vous faites une puce avec un tas de noyaux RISC traditionnels délabrés.

Ce n'est pas une mauvaise conception pour les charges de travail à grande mémoire hautement parallèles. De telles charges de travail se répartissent efficacement sur de nombreux processeurs et passent beaucoup de temps à s'arrêter, en attendant que les données soient renvoyées de la mémoire.

Mais ces puces n'ont pas réussi sur le marché. La raison principale était que l'interconnexion de tous les cœurs introduisait tellement de complexité et de consommation d'énergie que cela n'en valait pas la peine.

La deuxième tentative était des puces multi-thread. Les puces Intel prennent en charge deux threads par cœur, de sorte que lorsqu'un thread cesse d'attendre la mémoire, l'autre thread puisse continuer à traiter ce qui est déjà stocké dans le cache et dans les registres. C'est un moyen bon marché pour les processeurs d'augmenter la vitesse effective tout en ajoutant quelques transistors supplémentaires à la puce. Mais il a des rendements marginaux décroissants, c'est pourquoi Intel ne prend en charge que deux threads. Les fournisseurs ont créé des puces avec jusqu'à 8 threads par cœur. Encore une fois, ils poursuivaient les charges de travail hautement parallèles qui attendaient en mémoire. Seulement avec des puces multithread, ils pourraient éviter toute cette méchanceté d'interconnexion.

Cela ne fonctionnait toujours pas. Les puces étaient assez bonnes, mais il s'avère que ces charges de travail ne représentent qu'une petite partie du marché.

Enfin, les fabricants de puces ont décidé de concurrencer en tête-à-tête avec Intel en créant des puces de serveur optimisées pour les mêmes charges de travail qu'Intel, avec des performances à fil unique rapide. Un bon exemple est Qualcomm, qui a créé une puce de serveur que CloudFlare a promis d'utiliser. Ils l'ont annoncé en grande pompe, puis l'ont abandonné quelques mois plus tard car personne ne l'a adopté.

La raison en était simplement que lorsque vous évoluez vers des performances de type Intel, vous avez des passifs de type Intel. Vos seuls clients sont les innombrables qui ne savent pas faire de maths, qui croient comme les empereurs que leurs vêtements sont fabriqués à partir des meilleurs tissus. Les techniciens qui font le calcul n'achèteront pas la puce, car tout avantage est marginal. De plus, c'est un risque. S'ils investissent massivement dans la plate-forme, comment savent-ils qu'elle continuera d'exister et suivra Intel d'ici un an, deux ans, dix ans? Même si pour leur charge de travail, ils peuvent retirer 10% d'avantages aujourd'hui, cela ne vaut tout simplement pas la peine quand il est abandonné deux ans plus tard.

Ainsi, les processeurs de serveur ARM peuvent être résumés par ceci: les performances et l'efficacité énergétique ne sont pas là, et sans eux, il n'y a aucun moyen que le marché les accepte comme puces concurrentes d'Intel.

Cela nous amène à des puces comme Graviton2 et à des efforts similaires dans d'autres sociétés comme Apple et Microsoft. Je suis presque sûr que ça va réussir.

La raison en est le marché plutôt que la technologie.

L'ancien marché était celui-ci: les fabricants de puces (Intel, AMD, etc.) vendus aux fabricants de boîtes (Dell, HP, etc.) qui vendaient aux sociétés Internet (Amazon, Rackspace, etc.).

Cependant, ce marché est obsolète depuis un certain temps. Les principales sociétés Internet ont depuis longtemps abandonné les fournisseurs de boîtes et ont commencé à fabriquer leurs propres boîtes, basées sur des puces Intel.

Faire leurs propres puces, faire de l'ordinateur entier du sol à leurs spécifications, est la prochaine évolution logique.

Cela dure depuis un certain temps, nous ne l'avons tout simplement pas remarqué. La plupart des plus grandes entreprises technologiques ont leurs propres processeurs personnalisés. Apple a une puce ARM personnalisée dans son iPhone. Samsung fabrique des puces ARM personnalisées pour leurs téléphones. IBM a des puces POWER et mainframe. Oracle a (ou avait) SPARC. Qualcomm fabrique des puces ARM personnalisées. Etc.

Dans le passé, avoir votre propre processeur signifiait avoir votre propre conception, votre propre jeu d'instructions, votre propre infrastructure de support (comme les compilateurs) et vos propres fabriques pour fabriquer de telles puces. Ce n'est plus vrai. Vous obtenez des conceptions de processeur d'ARM, puis faites fabriquer une puce comme TSMC. Comme il s'agit d'ARM, vous obtenez gratuitement tout le reste de l'infrastructure de support.

La puce Graviton1 d'Amazon était le même cœur de processeur (ARM Cortex A72) que celui du Raspberry Pi 4. Leur puce Graviton2 de deuxième génération a le même cœur de processeur (ARM Cortex A76) que celui du dernier ordinateur portable Windows Surface de Microsoft.

Amazon ne se soucie pas du jeu d'instructions, ni du fait qu'une puce soit RISC. Il se soucie du reste de la fonctionnalité de la puce. Par exemple, leurs puces prennent en charge la mémoire cryptée, une fonctionnalité que vous pourriez souhaiter dans un environnement cloud qui héberge du contenu provenant de nombreux clients différents.

Récemment, Sony et Microsoft ont annoncé leurs consoles de nouvelle génération. Comme leur génération précédente, ceux-ci sont basés sur des conceptions AMD personnalisées. Les consoles de jeux ont longtemps été les précurseurs de ce nouveau marché: elles sont expédiées en volumes suffisamment élevés pour pouvoir obtenir un design personnalisé pour leur puce. C'est juste qu'Amazon, à travers ses instances cloud, est maintenant d'une taille suffisante, qu'ils peuvent vendre autant d'instances que de consoles de jeux.

Le résultat est que les puces personnalisées deviennent de moins en moins une barrière, tout comme les boîtes personnalisées sont devenues moins une barrière il y a une décennie. De plus en plus souvent, les meilleures entreprises technologiques du monde auront leur propre puce. Parfois, ce sera en partenariat avec AMD avec une puce x86. La plupart du temps, ce sera la dernière conception ARM, fabriquée sur des sites TSMC ou Samsung. IBM disposera toujours de puces POWER et mainframe pour ses anciens marchés. Parfois, vous aurez de petites conceptions de microcontrôleur, comme les puces RISC-V de Western Digital. Les puces Intel sont toujours très bonnes, donc leur marché ne disparaît pas. Cependant, le marché pour des entreprises comme Dell et HP est clairement un marché hérité, à considérer dans la même catégorie que le marché encore grand de IBM mainframe.

*** Ceci est un blog syndiqué Security Bloggers Network de Errata Security rédigé par Robert Graham. Lisez le message d'origine sur: https://blog.erratasec.com/2019/12/this-is-finally-year-of-arm-server.html

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.