Dossier SBC (Single Board Computer)

Inside GroupSBC
Voici notre premier dossier consacré à l'univers des SBC. Notre architecte Pierre-Yves Martres nous fait découvrir un écosystème complexe et méconnu plus orienté "Industrie" qu'on ne le pense.

Les SBC, qu’est-ce que c’est ?

Les SBC ou Single Board computers trouvent leur origine dans les années 70, ce sont des circuits imprimés sur lesquels sont présents tous les composants d’un ordinateur (processeur, mémoire vive, ligne d’entrée/sortie).

Plus récemment, ce type de machine est revenu sur le devant de la scène avec des cartes de développement à faible coût, dont la plus connue est sûrement le Raspberry Pi, dont la première version, en 2012 rencontra un franc succès et ouvra la voie à de nombreux autres (Banana Pi, Odroid, Rock64, Up, Latte Panda …).

A l’origine majoritairement conçues sur des architectures ARM, aujourd’hui, l’offre est plus diversifiée, ainsi on trouve des cartes x86 et Xtensa LX6 (SoC ESP32) même si le coeur du marché reste les solutions ARM.

De même si à l’origine les capacités offertes étaient relativement modestes (Single core à 700 MHz et 256 Mo de RAM pour le Raspberry Pi 1A par exemple), on trouve aujourd’hui des solutions bien plus performantes (processeurs octo-coeurs, 8Go de RAM …).

Il existe bien sûr d’autres types de SBC stricto sensus mais pour la suite, nous allons nous focaliser sur ces cartes de type Raspberry Pi au rapport prix/performance intéressant.

ARM, X86, quelle différence ?

La différence fondamentale entre ces deux architectures tient au fait qu’elles ne sont pas basées sur le même type d’architecture externe, x86 est basé sur une architecture de type CISC (pour Complex Instruction Set Computer) et gère donc des instructions complexes tandis qu’ARM est basé sur une architecture RISC (Reduced Instruction Set Computer) et gère des instructions simples.

Pour effectuer une même opération, les instructions passées au processeur seront donc différentes selon si l’on est sur du x86 ou du ARM, ce qui explique la problématique de compatibilité des applicatifs.

Le SBC en milieu industriel, entre réalité et publicité

Du fait de leur faible coût, les SBC, apparaissent comme opportunité pour toutes les problématiques concernant des applicatifs à faible consommation et non-critiques, ou, mis en cluster, de traitements hautement parallélisables, voir de la haute disponibilité.

Depuis déjà quelques années, plusieurs entreprises communiquent sur l’utilisation de SBC (notamment de Raspberry Pi), en mettant en avant les capacités de ce type de matériel, principalement dans les milieux de l’IoT (Internet Of Things) et du HPC (High Performance Computing).

En effet, concernant l’IoT, la taille des SBC de type Raspberry Pi, liée à un faible coût à l’achat pour des performances raisonnables en font un choix judicieux pour une intégration facilitée dans un produit fini.

Pour ce qui est du HPC, le critère déterminant pour le choix de ce type de SBC est le coût par coeur, relativement faible, qui permet de monter des clusters comprenant beaucoup de SBC à moindre frais pour l’exécution de traitements hautement parallélisables (comme par exemple le supercalculateur bitscope fabriqué avec 750 Raspberry pi ou celui de l’université de Southampton).

On constate aussi, dans une moindre mesure une utilisation de ces mêmes SBC, en cluster, pour mettre en place des sites webs, comme le site de lancement du Raspberry Pi 4 (ce qui tient manifestement du gros coup de publicité mais démontre la faisabilité de la chose).

Il est toutefois important de nuancer cet engouement pour les SBC, qui ne tient pas que d’un pragmatisme industriel mais aussi, parfois, du phénomène de mode, ainsi, Oracle a construit un cluster de 1060 Raspberry Pi, essentiellement à des fins publicitaires (présenté à l’oracle open world, sur les photos on voit des bornes d’arcade en fond) .

De même, construire un système complet sur des SBC est possible mais doit faire l'objet d'une étude de faisabilité rigoureuse. En effet, si l’on souhaite bénéficier du faible coût lié à ce type de solution, il faut se tourner vers les solutions ARM (les solutions x86 étant nettement plus rares, plus chères et nécessitent souvent l’achat de mémoire vive en sus).

Or, il faut garder en tête que tous les applicatifs ne bénéficient pas de distributions compatibles ARM et que l’intégration de logiciels tiers peut s’avérer complexe voir impossible.

On peut tout de même nuancer ces propos avec la popularité croissante des architectures ARM qui ne se dément pas (omniprésence sur les téléphones mobiles, l’annonce du passage des macbooks sur ARM, la tentative de rachat d’ARM par Nvidia) et qui pousse les éditeurs à faire l’effort de portage sur ces solutions.

Quelles applications Business concrètes pour les SBC ?

Aujourd’hui, l’industrie semble donc majoritairement tendre vers une utilisation de ces SBC orientée IoT et HPC.

Bien que cela reste pour l’instant marginal, une utilisation de ces SBC afin de mettre en place des clusters haute disponibilité semble se profiler.

On peut le voir notamment avec VMWare proposant une distribution d’ESXi sur ARM visant explicitement les Raspberry Pi ou encore avec l’intégration au CNCF (Cloud Native Computing Foundation) de K3s, un projet de Kubernetes léger, optimisé pour ARM et visant clairement le déploiement sur des clusters de SBC.

Ce type d’utilisation permettrait d’adresser à moindre coût des problématiques d’infrastructure pour des applicatifs peu demandeurs en ressources et/ou peu sollicités avec l’avantage d’une solution compacte, peu demandeuse en électricité et autonome (par exemple dans le cas de systèmes déconnectés).

Auteur : Pierre-Yves Martres / Architecte DevOps Cloud

Pour de plus amples informations n'hésitez pas à nous contacter : cliquez ici 

Réferences

https://fr.wikipedia.org/wiki/Ordinateur_%C3%A0_carte_unique

https://www.01net.com/actualites/un-super-calculateur-a-18-000-dollar-c-est-possible-grace-au-raspberry-pi-1317609.html

https://www.businesswire.com/news/home/20200901005840/en/NEC-Display-Launches-New-MediaPlayer-Powered-Raspberry

https://www.tomshardware.com/news/oracle-raspberry-pi-supercomputer,40412.html

https://www.techrepublic.com/article/low-cost-raspberry-pi-4-cluster-hosts-official-pi-website-handles-record-traffic-for-pi-4-launch/

https://www.techspot.com/news/50138-university-builds-supercomputer-using-raspberry-pi-micro-pcs.html

https://louwrentius.com/this-blog-is-now-running-on-solar-power.html

https://www.automationworld.com/products/control/blog/13319680/is-raspberry-pi-ready-for-industry

https://insidehpc.com/2020/02/introducing-hpc-with-a-raspberry-pi-cluster/

https://searchvmware.techtarget.com/tip/VMware-edge-initiatives-improve-management-at-the-edge