Table des matières:

Comment faire un superordinateur Raspberry Pi ! : 9 étapes (avec photos)
Comment faire un superordinateur Raspberry Pi ! : 9 étapes (avec photos)

Vidéo: Comment faire un superordinateur Raspberry Pi ! : 9 étapes (avec photos)

Vidéo: Comment faire un superordinateur Raspberry Pi ! : 9 étapes (avec photos)
Vidéo: Que faire avec un Raspberry Pi ? 2024, Novembre
Anonim
Comment faire un superordinateur Raspberry Pi !
Comment faire un superordinateur Raspberry Pi !

En soi, le Raspberry Pi ne possède pas de spécifications impressionnantes. Mais avec le prix très bas, acheter plusieurs d'entre eux et les connecter pour utiliser leur puissance de traitement combinée pourrait potentiellement faire un ordinateur bon marché à bas prix. Il y a eu plusieurs plates-formes impressionnantes construites reliant des dizaines de Pi ensemble. Donc, dans cette instructable, explorons comment la technologie derrière l'informatique en cluster et faisons notre propre Bramble Pi !

Étape 1: Regardez la version vidéo

Image
Image

J'ai également fait une version vidéo en deux parties de ce même projet. Alors si vous n'êtes pas du genre à lire, détendez-vous et regardez les vidéos ! Veuillez noter que la version vidéo utilise Raspbian Wheezy. Cependant, les instructions ci-dessous concernent la distribution Raspbian actuelle, qui est Jessie au moment où j'écris ceci.

Étape 2: ce dont vous aurez besoin

Pour suivre ce projet, voici les pièces que vous devrez acquérir

Voici ce dont vous aurez besoin:

  1. 2 Raspberry Pi ou plus
  2. Cartes SD pour chaque Pi
  3. Câbles d'alimentation pour chaque Pi
  4. Hub USB alimenté (en option)
  5. Câbles réseau
  6. Un hub ou un routeur

COT TOTAL: ~ 100,00 $

Étape 3: Installation et configuration de Raspbian

Installer et configurer Raspbian
Installer et configurer Raspbian
Installer et configurer Raspbian
Installer et configurer Raspbian

Une fois que vous avez toutes les pièces, l'étape suivante consiste à télécharger et à configurer le système d'exploitation Raspbian sur l'un des Raspberry Pi. Ce sera votre maître Pi. Voici les étapes:

  1. Téléchargez l'image Raspbian à partir d'ici.
  2. Gravez l'image Raspbian sur chaque carte SD que vous avez pour chaque Raspberry Pi.

    1. Si vous avez Windows, vous pouvez suivre ces instructions.
    2. Si vous avez un Mac, vous pouvez suivre ces instructions.
  3. Une fois l'image gravée sur votre carte SD, placez-la dans chacun des Raspberry Pi et démarrez-la.
  4. Au premier démarrage, vous devriez voir le bureau Rasbperry Pi. Cliquez sur l'icône de menu dans le coin supérieur gauche et allez dans Préférences > Configuration Raspberry Pi. Voici les options que nous devrons configurer

    1. Développez le système de fichiers si nécessaire.
    2. Changez le nom d'hôte en Pi01
    3. Changez l'option de démarrage en CLI (interface de ligne de commande), car nous n'utiliserons pas vraiment l'interface de bureau.
    4. Pointez sur l'onglet "Interfaces" et assurez-vous que SSH est activé.
    5. Cliquez sur l'onglet "Overclock" et choisissez "Turbo".
    6. Changez la mémoire GPU à 16 Mo.
    7. Cliquez sur l'onglet "Localisation" et définissez la disposition de votre clavier pour qu'elle corresponde à celle de vos pays.
    8. Terminez la configuration et redémarrez votre Pi.

Étape 4: Installation de MPICH

Installation de MPICH
Installation de MPICH
Installation de MPICH
Installation de MPICH
Installation de MPICH
Installation de MPICH
Installation de MPICH
Installation de MPICH

En utilisant toujours un seul Pi comme maître, nous devons maintenant installer le logiciel principal qui va nous permettre d'utiliser la puissance de traitement de tous les Pi sur notre réseau. Ce logiciel s'appelle MPICH, qui est une interface de passage de messages. Voici ce que vous devez faire pour l'installer:

sudo apt-get mise à jour

mkdir mpich2

cd ~/mpich2

wget

tar xfz mpich-3.1.tar.gz

sudo mkdir /home/rpimpi/

sudo mkdir /home/rpimpi/mpi-install

mkdir /home/pi/mpi-build

cd /home/pi/mpi-build

sudo apt-get install gfortran

sudo /home/pi/mpich2/mpich-3.1/configure -prefix=/home/rpimpi/mpi-install

faire sudo

sudo faire installer

nano.bashrc

CHEMIN=$CHEMIN:/home/rpimpi/mpi-install/bin

redémarrage sudo

mpiexec -n 1 nom d'hôte

Ces commandes téléchargeront et installeront MPICH, ainsi que l'ajouteront comme chemin d'accès à votre fichier de démarrage BASHRC. La dernière commande exécute un test pour voir si cela fonctionne. Si la dernière commande renvoie "Pi01", alors vous avez tout fait avec succès.

Étape 5: Installation de MPI4PY

Installation de MPI4PY
Installation de MPI4PY
Installation de MPI4PY
Installation de MPI4PY
Installation de MPI4PY
Installation de MPI4PY

En l'état, MPICH peut exécuter des programmes C et Fortran. Mais comme le Raspberry Pi a l'environnement de codage Python pré-installé, il serait plus simple d'installer un interpréteur Python vers MPI. Voici les commandes pour le faire:

sudo aptitude installer python-dev

wget

tar -zxf mpi4py-1.3.1

cd mpi4py-1.3.1

python setup.py build

python setup.py installer

export PYTHONPATH=/home/pi/mpi4py-1.3.1

mpiexec -n 5 python demo/helloworld.py

Cette dernière commande devrait renvoyer cinq réponses. Chacun est un processus différent sur Pi01 exécutant le programme python "Hello World" que nous venons de créer.

Étape 6: Copier l'image

Copier l'image
Copier l'image

Maintenant que nous avons configuré avec succès notre maître Pi, nous devons copier l'image de la carte SD de ce Pi sur tous les autres Pi. Voici comment procéder sous Windows:

  1. Retirez la carte SD principale du Pi et insérez-la dans votre ordinateur.
  2. En utilisant Win32DiskImager, utilisez le bouton "Lire" pour enregistrer le contenu de la carte SD sur votre ordinateur.
  3. Éjectez la carte SD principale et insérez une carte SD pour l'un des autres Pi. Utilisez ensuite l'option "Write" de Win32DiskImager pour écrire l'image que nous avons enregistrée sur la nouvelle carte SD.
  4. Répétez l'étape 3 jusqu'à ce que l'image principale soit écrite sur toutes les cartes SD.

Étape 7: Configuration des Raspberry Pi restants

Configuration des Raspberry Pi restants
Configuration des Raspberry Pi restants
Configuration des Raspberry Pi restants
Configuration des Raspberry Pi restants
Configuration des Raspberry Pi restants
Configuration des Raspberry Pi restants

Maintenant que toutes les cartes SD sont préparées, réinsérez la carte SD principale dans le Master Pi, connectez-la à un routeur et redémarrez-la. Ensuite, pour les Raspberry Pi restants, insérez des cartes SD dans chacune d'elles, connectez-les au même routeur que votre Master Pi, puis démarrez-les toutes. Aucun des Pi secondaires n'a besoin d'avoir des claviers, des souris ou des moniteurs.

Une fois que tous les Pi sont allumés, à l'aide de notre Master Pi, nous devrions pouvoir obtenir les adresses IP de chaque Pi sur le réseau. Voici comment:

  1. Première installation NMAP

    sudo apt-get mise à jour

    sudo apt-get install nmap

  2. Ensuite, obtenez l'IP actuelle pour le maître Pi

    ifconfig

  3. Vous pouvez maintenant scanner le sous-réseau de votre routeur pour les autres adresses IP Pi

    sudo nmap -sn 192.168.1.*

Copiez toutes les adresses IP qui appartiennent aux autres Raspberry Pi sur le réseau. Nous pourrons alors utiliser ces adresses IP pour nous connecter à chacun des autres Pi en utilisant SSH. Ce que nous devons d'abord faire, c'est renommer chacun des Pi secondaires en un nom de réseau unique. En ce moment, ils sont tous réglés sur Pi01. En supposant que l'une des adresses IP du Pi secondaire est 192.168.0.3, voici comment vous pouvez vous y connecter et changer son nom:

  1. Établir une connexion SSH

    ssh [email protected]

  2. Exécuter raspi-config

    sudo raspi-config

  3. Dans l'interface, faites défiler jusqu'à l'option Avancé, puis choisissez Nom d'hôte.
  4. Pour le nom d'hôte, remplacez Pi01 par le numéro séquentiel suivant, qui est Pi02.
  5. Sortez ensuite de la session SSH

    sortir

Vous souhaitez répéter ces étapes pour chacun des autres Pi du réseau en les renommant en Pi03, Pi04, etc.

Sur votre master Pi, vous souhaitez créer un nouveau fichier texte appelé "machinefile"

fichier nano machine

Et dans celui-ci, vous souhaitez saisir chacune des adresses IP du Pi (y compris l'adresse IP principale) sur une nouvelle ligne, puis enregistrer le fichier.

À ce stade, nous pourrions exécuter un fichier de test en utilisant

mpiexec -f machinefile -n 4 nom d'hôte

mais une erreur s'affichera en disant qu'il y a eu un « échec de la vérification de la clé de l'hôte ». Donc, à l'étape suivante, corrigeons cela.

Étape 8: Vérification des clés d'hôte

Vérification des clés d'hôte
Vérification des clés d'hôte
Vérification des clés d'hôte
Vérification des clés d'hôte
Vérification des clés d'hôte
Vérification des clés d'hôte

Pour résoudre le problème afin que la communication avec chaque Pi n'entraîne pas un échec de vérification de la clé de l'hôte, nous devons créer et échanger des clés pour chacun de nos Raspberry Pi. Cette partie peut devenir un peu compliquée, mais j'espère que vous pourrez rester avec moi.

  1. Sur le Master Pi, dans le dossier d'accueil par défaut, créez une nouvelle clé.

    cd~

    ssh-keygen

  2. Accédez au dossier ssh et copiez le fichier de clé dans un nouveau fichier appelé "pi01"

    cd.ssh

    cp id_rsa.pub pi01

  3. Ensuite, vous souhaitez vous connecter via SSH à Pi02 et répéter ces mêmes étapes pour créer un fichier de clé Pi02

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi02

  4. Avant de quitter Pi02, nous devons y copier le fichier de clé Pi01 et l'autoriser.

    scp 192.168.1.2:/home/pi/.ssh/pi01.

    cat pi01 >> clés_autorisées

    sortir

  5. Une fois Pi02 terminé, répétez toutes ces étapes pour Pi03

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi03

    scp 192.168.1.2:/home/pi/.ssh/pi01.

    cat pi01 >> clés_autorisées

    sortir

  6. Répétez la dernière étape pour les Pi restants que vous avez sur votre réseau.
  7. Après avoir généré des clés pour chacun des Pi, revenez à votre Master Pi et copiez toutes les clés générées sur chacun des Pi.

    cp 192.168.1.3:/home/pi/.ssh/pi02

    chat pi02 >> clés_autorisées

    cp 192.168.1.4:/home/pi/.ssh/pi03

    chat pi03 >> clés_autorisées

    cp 192.168.1.5:/home/pi/.ssh/pi02

    chat pi04 >> clés_autorisées

  8. (répétez pour autant de Pi sont sur votre réseau)

Étape 9: Exécution d'un programme sur votre superordinateur

Exécution d'un programme sur votre superordinateur
Exécution d'un programme sur votre superordinateur
Exécution d'un programme sur votre superordinateur
Exécution d'un programme sur votre superordinateur
Exécution d'un programme sur votre superordinateur
Exécution d'un programme sur votre superordinateur

Maintenant, tout doit être mis en place. Tout en restant sur votre Master Pi, essayez à nouveau d'exécuter ce fichier machine:

disque ~

mpiexec -f machinefile -n 4 nom d'hôte

Si tout a été fait correctement, il devrait renvoyer les adresses IP de tous vos Raspberry Pi. Maintenant que nous avons testé avec succès notre supercalculateur, exécutons un programme python dessus:

  1. Téléchargez et décompressez mon script de test de craquage de mot de passe Python.

    wget

    tar -zxf python_test.tar.gz

  2. Modifiez le hachage du mot de passe en celui que vous souhaitez déchiffrer.

    nano python_test/md5_attack.py

  3. Copiez le fichier Python sur tous vos Pi.

    scp -r python_test 192.168.1.3:/home/pi

    scp -r python_test 192.168.1.4:/home/pi

    scp -r python_test 192.168.1.5:/home/pi

  4. (répétez pour tous les Pi restants)
  5. Exécutez le script python.

    mpiexec -f machinefile -n 5 python python_test/md5_attack.py

Le script s'exécutera en utilisant la puissance de traitement de tous les Pi de votre réseau ! N'hésitez pas à le tester en utilisant votre propre script python !

Concours Raspberry Pi 2016
Concours Raspberry Pi 2016
Concours Raspberry Pi 2016
Concours Raspberry Pi 2016

Troisième prix au concours Raspberry Pi 2016

Conseillé: