Un guide du Raspberry Pi en 60 secondes

La semaine dernière, j’ai utilisé tous les Raspberry Pi que j’avais pour construire un cluster de calcul HexaPi à six nœuds.

Depuis, on m’a demandé à plusieurs reprises : à quoi ça sert ? Je vais donc jeter un coup d’œil à la dernière partie des Projets Raspberry Pi – Construire un OctaPi, et ajouter un exemple simple de mon cru également.

Oh, et j’ai ajouté un serveur Raspberry Pi supplémentaire au cluster, tout en respectant ma règle de  » pas deux serveurs identiques « , de sorte que c’est en fait maintenant un cluster HeptaPi à sept serveurs. À la fin de ce billet, j’ajouterai une description de certains des nouveaux matériels que j’ai acquis et utilisés pour ce projet.

Pour commencer, à quoi cela sert-il ? J’ai un exemple simple tiré de ma propre expérience. Je voyage assez souvent, j’aime prendre beaucoup de photos avec un appareil reflex numérique, et je fais souvent des panoramas à plusieurs images (les Alpes suisses sont des sujets particulièrement bons pour ce genre de photographie). Quand je rentre à la maison, j’utilise l’assembleur de photos panoramiques hugin pour fusionner ces lots de photos individuelles en des vues panoramiques beaucoup plus grandes.

Si je fais ce traitement de panorama sur un seul ordinateur, je dois faire le ‘planning’ moi-même — c’est-à-dire que je dois garder un œil dessus, et quand un panorama est terminé, je dois commencer le suivant.

Si je deviens un peu plus ambitieux, je peux mettre en place un programme de contrôle par lot et ensuite mettre en file d’attente les groupes d’images à fusionner, mais ils ne sont toujours réalisés que l’un après l’autre. Si je dispose de plus d’ordinateurs pour cette tâche, je dois alors distribuer les photos et récupérer les panoramas moi-même, et je dois à nouveau effectuer la « programmation » sur chaque ordinateur. Dans tous les cas, c’est un processus relativement fastidieux et long, et malheureusement je me retrouve souvent à court de temps (ou de patience) avant que toutes mes photos aient été traitées.

Avec le cluster HeptaPi, je pourrais configurer un processeur batch, basé sur l’un des exemples Python inclus dans le projet de cluster OctaPi, puis installer hugin sur chacun des serveurs du cluster. Ensuite, je pourrais alimenter des groupes d’images au processeur batch, qui les distribuerait aux serveurs du cluster pour traitement, et recevrait l’image panoramique finie en retour.

Mon investissement dans ce domaine serait d’écrire le programme de contrôle batch spécifique à l’application, puis d’identifier les groupes d’images à traiter ensemble. Une fois cela fait, le temps réel nécessaire jusqu’à ce que je dispose de toutes mes belles images panoramiques serait considérablement réduit — et je pourrais le réduire encore plus en ajoutant simplement plus de systèmes Raspberry Pi au cluster à tout moment !

Une réponse plus générale à la question de savoir à quoi le cluster Pi est bon est : tout type de travaux ou de tâches qui peuvent être divisés en un certain nombre de pièces indépendantes. Notez que ce ne sont que les tâches elles-mêmes qui doivent être indépendantes — les résultats peuvent aussi l’être, comme dans le cas de mes photographies panoramiques, mais il se peut aussi que le résultat de chaque tâche contribue à un résultat plus large. Dans ce cas, les résultats peuvent être collectés sur le système client, puis traités plus avant (peut-être même en les renvoyant à nouveau comme une nouvelle tâche) pour produire une sortie finale.

Bien sûr, ce n’est pas la seule utilisation des ordinateurs en grappe. Il y a des choses comme la redondance et la tolérance aux pannes, basées sur le fait que votre client dispatche le travail vers autant de serveurs que possible ; si un serveur est retiré pour maintenance (ou tombe en panne, ou quoi que ce soit), votre traitement peut toujours se poursuivre sur les autres serveurs du cluster.

Ce sont tous des concepts qui sont généralement appliqués à des systèmes de cluster beaucoup plus grands et plus sophistiqués — même jusqu’à des centres de données entiers de services en nuage. Mais mon point ici est que vous pouvez construire un cluster simple en utilisant des systèmes Raspberry Pi à très faible coût, et non seulement acquérir des connaissances et une expérience très utiles en le faisant, mais aussi se retrouver avec une ressource utile lorsque vous avez terminé.

Maintenant, en se déplaçant sur le matériel que j’ai utilisé pour ce projet. J’ai mentionné que j’ai ajouté un autre serveur au cluster depuis que j’ai posté l’écriture originale. Cela s’est produit parce que je naviguais sur le site Pi-Shop.ch et j’ai remarqué le Raspberry Pi 2 v1.2.

Les spécifications globales sont les mêmes que le Pi 2 original, mais le nouveau modèle utilise le même CPU que le Pi 3 (mais avec une vitesse d’horloge inférieure). Pas une grosse affaire, et probablement même pas terriblement intéressant pour la plupart des gens parce que le Pi 3 est beaucoup plus populaire maintenant de toute façon. Mais c’était assez pour me motiver à en obtenir un et à l’ajouter au cluster.

La chose importante à noter à propos de cet ajout est que je n’ai pas eu à faire quoi que ce soit au système client (contrôleur), ou à l’un des autres serveurs. J’ai simplement préparé le nouveau Pi 2 exactement de la même manière que j’avais préparé les autres, puis je l’ai connecté au réseau sans fil dédié au Pi Cluster. La prochaine fois que j’ai lancé un travail sur le client, il a remarqué que le nouveau serveur était disponible et a commencé à l’utiliser avec tous les autres.

J’ai également mentionné dans le projet original que je n’avais pas assez d’adaptateurs wi-fi USB pour connecter tous mes systèmes Pi, et bien sûr, l’ajout du nouveau Pi 2 signifiait que j’avais besoin d’un adaptateur pour celui-là aussi. Le Pi-Shop a un couple de nouveaux adaptateurs répertoriés, alors j’ai pensé que c’était une bonne occasion de les essayer.

Le critère le plus important à garder à l’esprit lors de l’achat d’un adaptateur wi-fi USB pour un Raspberry Pi est que vous voulez être sûr qu’il fonctionne correctement hors de la boîte.

Je sais que cela peut sembler idiot, mais c’est exactement l’opposé de l’approche que j’adopte lorsque j’achète de tels périphériques pour le reste de mes ordinateurs portables et de bureau Linux. Je pars du principe que la plupart des gens achètent et utilisent les systèmes Raspberry Pi dans un but précis — qu’il s’agisse d’éducation, de hobby ou d’un projet spécifique ou de l’utilisation d’un périphérique. Bien sûr, il est possible de faire fonctionner à peu près n’importe quel adaptateur USB avec à peu près n’importe quelle distribution Linux, mais à moins que vous ne vouliez risquer de devoir passer une quantité importante de votre temps à l’école/au hobby/au travail à configurer des pilotes, prenez simplement la solution de facilité et assurez-vous d’acheter un adaptateur qui a déjà été testé et qui fonctionne.

La façon la plus simple d’en être sûr est d’acheter auprès d’un distributeur Raspberry Pi autorisé, et de s’assurer qu’il est indiqué sur sa page web que l’adaptateur que vous achetez a été vérifié pour fonctionner avec le Pi.

Le premier que j’ai essayé était le dispositif WiFi miniature (802.11b/g/n) 150Mbps. Je crois qu’il s’agit en fait du module WiFi miniature d’Adafruit, bien que les photos n’aient pas la même apparence — peut-être est-ce un emballage personnalisé ou quelque chose du genre. Quoi qu’il en soit, celui que j’ai reçu ressemble à l’image montrée ici, et il a effectivement fonctionné dès sa sortie de la boîte, comme annoncé. Il a coûté seulement CHF 9.90 (environ €8.99/£8.00/$10.50).

Il est basé sur une puce Realtek RTL5370, et il a une LED bleue d’alimentation/liaison/état.

Puisque j’étais en mode « essayer de nouvelles choses », et que j’ai remarqué qu’il y avait un autre adaptateur wi-fi USB avec un débit plus élevé offert sur le Pi-Shop, j’ai décidé de lui donner un essai aussi. Il s’appelle simplement ‘Adaptateur WiFi USB pour Raspberry Pi (300Mbps)’, et ressemble à l’image à droite.

Il est considérablement plus cher à 23,90 CHF (environ 21,70 €/19,40 £/25 $), il vaut donc probablement la peine de réfléchir à deux fois avant de l’acheter plutôt que celui ci-dessus. N’oubliez pas que nous parlons de systèmes Raspberry Pi et qu’ils ne sont pas réputés pour la vitesse et l’efficacité de leurs connexions USB. Donc la différence de vitesse qui est à peu près le seul avantage de cet adaptateur, pourrait ne pas être significative dans votre utilisation réelle de l’appareil.

Ce dispositif est basé sur la puce Realtek 8192SU, et il a également une LED d’alimentation/liaison/état.

Image : TP-Link Technologies

La dernière nouvelle pièce de matériel pour ce projet est celle qui, je pense, s’avérera être la plus généralement utile – le routeur Nano sans fil TP-Link TL WR802N.

Ce dispositif à bas prix (environ 30 CHF/€27/£24/$32) est très petit et léger, et comprend un certain nombre de modes prédéfinis et préconfigurés pour des utilisations courantes. Je l’ai utilisé pour configurer un réseau local sans fil isolé sans connexion Internet (mode routeur), mais il peut bien sûr fournir une connectivité Internet soit via son connecteur réseau filaire RJ45 (mode point d’accès), soit via une connexion WISP sans fil (mode hotspot).

Il peut également être utilisé pour compléter un réseau wi-fi existant (mode extension de portée), ou comme adaptateur wi-fi pour un appareil qui ne dispose que d’une connexion réseau filaire (mode client).

Le WR802N est livré avec son propre adaptateur d’alimentation, mais il peut également être alimenté par un adaptateur d’alimentation Raspberry Pi (ou un autre chargeur MicroUSB pour smartphone), ou même en se connectant à un port USB sur un ordinateur.

Mes premières impressions de cet appareil ont été très positives, et je m’attends à ce qu’il soit très utile à la fois à la maison et lorsque je voyage.

Lorsque j’ai décidé de construire le Pi Cluster, je m’attendais à ce que ce soit une chose intéressante du genre gee-whiz à faire, mais je supposais également que je le démonterais à nouveau avant trop longtemps. Maintenant qu’il est opérationnel, je trouve que je pense à d’autres façons intéressantes de l’utiliser, et de l’améliorer.

N’oubliez pas que vous n’avez pas besoin d’avoir un grand nombre de systèmes Raspberry Pi pour en mettre un en place — deux serveurs et un client suffisent pour commencer. Mais attention, une fois que vous l’avez fait fonctionner, vous pourriez trouver que c’est une bonne excuse pour acheter plus et de meilleurs bits et pièces pour l’étendre.

  • Raspberry Pi : Comment j’ai construit un cluster de calcul de style OctaPi
  • Raspberry Pi : Hands-on avec Fedora 26
  • Raspbian GNU/Linux : La nouvelle version inclut une image x86 installable
  • Raspberry Pi Zero W, prise en main : Un nouveau membre de la famille très bien accueilli
  • Maintenant : écran tactile de 7 pouces et boîtier de Raspberry Pi

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.