Beaucoup d’entre vous ont entendu parler d’ARM, une entreprise Britannique qui conçoit des processeurs et en vend des licences d’implémentation à une pléthore de fondeurs. Ces petits processeurs sont réputés dans l’embarqué pour leur consommation très faible. Ainsi, si Intel est le mastodonte de l’ordinateur et du serveur, ARM est le léviathan du secteur embarqué, virtuellement incontournable, vous avez sans aucun doute déjà utilisé un de leur processeur sans même le savoir.
L’architecture a donc le vent en poupe, poussée très fort par les smartphones et leur insatiable soif de puissance. Les processeurs ARM deviennent donc de plus en plus compétitif. Du coup certains commencent à avoir des idées pour l’introduire dans les marchés dominés par Intel. Parmi ceux-ci, la société Américaine Calxeda s’est associée avec HP, ARM et Canonical afin de concevoir un processeur intégré basé sur quatre coeurs ARMv9 (64 bits) dédié aux serveurs. Les gens de Calxeda en ont fait la présentation il y a peu, et voici un résumé de ce qu’ils ont fait.
Alors d’abord, non cet article n’est pas sponsorisé
. La conception que je vais décrire plus loin est vraiment bluffante, et même s’il est difficile d’en savoir les performances réelles, on ne peut qu’apprécier l’efficacité de la solution qui est sans commune mesure avec l’existant.
Le design, d’un genre nouveau, est orienté vers les applications massivement parallélisées, comme les serveurs web, base de données, serveurs de fichiers et ainsi de suite. Le focus ici n’est pas sur la performance, mais sur l’optimisation espace et consommation. Les serveurs rackables contiennent une grosse carte mère avec beaucoup de ports d’extension. Sur ces ports, on peut soit mettre une carte de processeurs (4 processeurs de 4 coeurs et 4Go de RAM) ou bien du stockage (SSD ou disque durs). Le tout est couplé par des liens haute vitesse (80Gb/s) directement intégrés dans les DIE.
Autre point important, chaque DIE a une consommation maximale de 5W. Et comme le chipset est inclus sur le DIE (SoC), c’est la consommation quasi totale (il faut rajouter la RAM et le disque dur quand même).
Le serveur rackable en 4U peut contenir jusqu’à 280 DIE au total dans des espèces de tiroirs à cartes. La présentation du bousin n’a pas dit si on pourrait exécuter un OS sur plusieurs cartes (et donc machines par serveur), ou bien si tout le serveur ne serait qu’une grosse machine (on peut toujours virtualiser après aussi). Néanmoins on peut déjà voir l’espace économiser dans le rack (et les économies associées).
Au niveau système d’exploitation, Canonical qui fait le troisième larron prépare une Ubuntu server pour ARMv9 qui équipera ces engins. Donc les sysadmins s’y retrouveront. Bonne nouvelle, pour le moment Windows Server ne tournera pas dessus (<troll>déjà qu’il tourne mal sur son architecture native…</troll>)
Alors bon, pour mitiger un peu, on ne connaît pas encore les performances réelles des processeurs, et ils n’ont pas encore été utilisés en environnement réel, mais c’est très prometteur. Si j’en vois un jour dans mes racks, je vous en reparlerais!
Image de processeur ARM par moi-même, licence CC-by, voir la source SVG attachée.
« La présentation du bousin n’a pas dit si on pouvait exécuter un OS sur plusieurs cartes (et donc machines par serveur), ou bien si tout le serveur n’était qu’une grosse machine (on peut toujours virtualiser après aussi). » Remarque de pointilleux genre « les si n’aiment pas les ré »
Pour le reste, article intéressant parce que mise en oeuvre intéressante de la part de HP !
Pour rappel, ARM n’est qu’une architecture matérielle, sans aucune plate-forme standard contrairement au PC.
Cela signifie que, pour chaque modèle d’ordinateur basé sur ARM, il faut adapter spécifiquement le noyau Linux et les installateurs des distributions.
En pratique, cela implique qu’aucune distribution ne peut prétendre « tourner sur ARM » dans le sens où on l’entend lorsqu’on parle de PC par exemple. Tout ce que cela signifie pour une distribution, c’est :
1. les logiciels fournis par cette distribution peuvent être exécutés sur un processeur ARM, a condition d’avoir réussi à adapter et à démarrer un noyau Linux ;
2. cette distribution fournit de quoi l’installer et l’utiliser directement sur une poignée de modèles pour lesquels un travail spécifique a été effectué à chaque fois.