Tabla de contenido:

¡Cómo hacer una supercomputadora Raspberry Pi !: 9 pasos (con imágenes)
¡Cómo hacer una supercomputadora Raspberry Pi !: 9 pasos (con imágenes)

Video: ¡Cómo hacer una supercomputadora Raspberry Pi !: 9 pasos (con imágenes)

Video: ¡Cómo hacer una supercomputadora Raspberry Pi !: 9 pasos (con imágenes)
Video: TODO ESTO PUEDES HACER CON UNA RASPBERRY PI 😈💻 2024, Diciembre
Anonim
¡Cómo hacer una supercomputadora Raspberry Pi!
¡Cómo hacer una supercomputadora Raspberry Pi!

Por sí sola, la Raspberry Pi no cuenta con especificaciones impresionantes. Pero con el precio extremadamente bajo, comprar varios de estos y conectarlos para usarlos, su potencia de procesamiento combinada podría potencialmente hacer una computadora decente de bajo costo. Se han construido varias plataformas impresionantes que conectan docenas de Pi. Entonces, en este instructivo, ¡exploremos cómo la tecnología detrás de la computación en clúster y creemos nuestra propia Bramble Pi!

Paso 1: mira la versión en video

Image
Image

También hice una versión en video de dos partes de este mismo proyecto exacto. Entonces, si no eres de los que leen, ¡relájate y mira los videos! Tenga en cuenta que la versión de video utiliza Raspbian Wheezy. Sin embargo, las instrucciones a continuación son para la Raspbian Distro actual, que es Jessie en el momento en que escribo esto.

Paso 2: lo que necesitará

Para seguir con este proyecto, aquí están las partes que necesitará adquirir

Esto es lo que necesitará:

  1. 2 o más Raspberry Pi
  2. Tarjetas SD para cada Pi
  3. Cables de alimentación para cada Pi
  4. Hub USB con alimentación (opcional)
  5. Cables de red
  6. Un concentrador o un enrutador

COSTO TOTAL: ~ $ 100.00

Paso 3: Instalar y configurar Raspbian

Instalación y configuración de Raspbian
Instalación y configuración de Raspbian
Instalación y configuración de Raspbian
Instalación y configuración de Raspbian

Una vez que tenga todas las partes, el siguiente paso es descargar y configurar el sistema operativo Raspbian en uno de los Raspberry Pi. Este será tu maestro Pi. Estos son los pasos:

  1. Descarga la imagen de Raspbian desde aquí.
  2. Grabe la imagen de Raspbian en cada tarjeta SD que tenga para cada Raspberry Pi.

    1. Si tiene Windows, puede seguir estas instrucciones.
    2. Si tiene una Mac, puede seguir estas instrucciones.
  3. Una vez que la imagen se haya grabado en su tarjeta SD, colóquela en cada una de las Raspberry Pi y enciéndala.
  4. En el primer arranque, debería ver Rasbperry Pi Desktop. Haga clic en el icono de menú en la esquina superior izquierda y vaya a Preferencias> Configuración de Raspberry Pi. Estas son las opciones que necesitaremos configurar

    1. Expanda el Sistema de archivos si es necesario.
    2. Cambie el nombre de host a Pi01
    3. Cambie la opción de arranque a CLI (Interfaz de línea de comandos), ya que realmente no usaremos la Interfaz de escritorio.
    4. Reloj en la pestaña "Interfaces" y asegúrese de que SSH esté habilitado.
    5. Haga clic en la pestaña "Overclock" y elija "Turbo".
    6. Cambie la memoria de la GPU a 16 MB.
    7. Haga clic en la pestaña "Localización" y configure la distribución del teclado para que coincida con la de sus países.
    8. Termina la configuración y reinicia tu Pi.

Paso 4: Instalación de MPICH

Instalación de MPICH
Instalación de MPICH
Instalación de MPICH
Instalación de MPICH
Instalación de MPICH
Instalación de MPICH
Instalación de MPICH
Instalación de MPICH

Aún usando solo el Pi como maestro, ahora necesitamos instalar el software principal que nos permitirá usar la potencia de procesamiento de todos los Pi en nuestra red. Ese software se llama MPICH, que es una interfaz de paso de mensajes. Esto es lo que debe hacer para instalarlo:

sudo apt-get update

mkdir mpich2

cd ~ / mpich2

wget

tar xfz mpich-3.1.tar.gz

sudo mkdir / inicio / 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

sudo hacer

sudo hacer instalar

nano.bashrc

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

sudo reiniciar

mpiexec -n 1 nombre de host

Estos comandos descargarán e instalarán MPICH, además de agregarlo como una ruta a su archivo de arranque BASHRC. El último comando ejecuta una prueba para ver si funciona. Si el último comando devuelve "Pi01", entonces hizo todo con éxito.

Paso 5: Instalación de MPI4PY

Instalación de MPI4PY
Instalación de MPI4PY
Instalación de MPI4PY
Instalación de MPI4PY
Instalación de MPI4PY
Instalación de MPI4PY

Tal como está, MPICH puede ejecutar programas C y Fortran. Pero dado que Raspberry Pi tiene el entorno de codificación Python preinstalado, sería más fácil instalar un intérprete de Python a MPI. Estos son los comandos para hacer eso:

sudo aptitude install python-dev

wget

tar -zxf mpi4py-1.3.1

cd mpi4py-1.3.1

python setup.py compilación

instalación de python setup.py

exportar PYTHONPATH = / home / pi / mpi4py-1.3.1

mpiexec -n 5 python demo / helloworld.py

Ese último comando debería devolver cinco respuestas. Cada uno es un proceso diferente en Pi01 que ejecuta el programa de Python "Hello World" que acabamos de hacer.

Paso 6: copia de la imagen

Copiar la imagen
Copiar la imagen

Ahora que hemos configurado con éxito nuestro Pi maestro, necesitamos copiar la imagen de la tarjeta SD de ese Pi a todos los demás Pi. A continuación, le indicamos cómo puede hacerlo en Windows:

  1. Saque la tarjeta SD maestra del Pi e insértela en su computadora.
  2. Usando Win32DiskImager, use el botón "Leer" para guardar el contenido de la tarjeta SD en su computadora.
  3. Expulse la tarjeta SD maestra e inserte una tarjeta SD para uno de los otros Pi. Luego use la opción "Escribir" de Win32DiskImager para escribir la imagen que guardamos en la nueva tarjeta SD.
  4. Repita el paso 3 hasta que tenga la imagen maestra escrita en todas las tarjetas SD.

Paso 7: Configuración de las Pi de frambuesa restantes

Configuración de los pi de frambuesa restantes
Configuración de los pi de frambuesa restantes
Configuración de los pi de frambuesa restantes
Configuración de los pi de frambuesa restantes
Configuración de los pi de frambuesa restantes
Configuración de los pi de frambuesa restantes

Ahora que tenemos todas las tarjetas SD preparadas, inserte la tarjeta SD maestra nuevamente en el Master Pi, conéctela a un enrutador y reiníciela. Luego, para las Raspberry Pi restantes, inserte tarjetas SD en todas ellas, conéctelas al mismo enrutador que su Master Pi y luego inícielas todas. Ninguno de los Pi secundarios necesita tener teclados, ratones o monitores.

Una vez que todos los Pi estén encendidos, utilizando nuestro Pi principal, deberíamos poder obtener las direcciones IP de cada Pi en la red. Así es cómo:

  1. Primero instale NMAP

    sudo apt-get update

    sudo apt-get install nmap

  2. Luego obtenga la IP actual para el Pi maestro

    ifconfig

  3. Ahora puede escanear la subred de sus enrutadores para las otras direcciones IP de Pi

    sudo nmap -sn 192.168.1. *

Copie todas las direcciones IP que pertenecen a las otras Raspberry Pi en la red. Entonces podremos usar esas IP para conectarnos a cada una de las otras Pi usando SSH. Lo que tenemos que hacer primero es cambiar el nombre de cada uno de los Pi secundarios a un nombre de red único. Ahora mismo están todos configurados en Pi01. Suponiendo que una de las direcciones IP de la Pi secundaria es 192.168.0.3, así es como puede conectarse y cambiar su nombre:

  1. Establecer una conexión SSH

    ssh [email protected]

  2. Ejecute raspi-config

    sudo raspi-config

  3. En la interfaz, desplácese hacia abajo hasta la opción Avanzado y luego elija Nombre de host.
  4. Para el nombre de host, cambie Pi01 al siguiente número secuencial, que es Pi02.
  5. Luego salga de la sesión SSH

    Salida

Desea repetir esos pasos para cada uno de los otros Pi en la red y cambiarles el nombre a Pi03, Pi04, etc.

En su Pi maestro, desea crear un nuevo archivo de texto llamado "archivo de máquina"

archivo de máquina nano

Y en él, desea escribir cada una de las direcciones IP de Pi (incluida la dirección IP maestra) en una nueva línea y luego guardar el archivo.

En este punto, podríamos ejecutar un archivo de prueba usando

mpiexec -f archivo de máquina -n 4 nombre de host

pero mostrará un error diciendo que hubo un "error de verificación de la clave del host". Entonces, en el siguiente paso, arreglemos eso.

Paso 8: Verificación de las claves de host

Verificación de claves de host
Verificación de claves de host
Verificación de claves de host
Verificación de claves de host
Verificación de claves de host
Verificación de claves de host

Para solucionarlo de modo que la comunicación con cada Pi no resulte en una falla de verificación de la clave del host, necesitamos crear e intercambiar claves para cada una de nuestras Raspberry Pi. Esta parte puede complicarse un poco, pero espero que puedas quedarte conmigo.

  1. En el Master Pi, en la carpeta de inicio predeterminada, cree una nueva clave.

    cd ~

    ssh-keygen

  2. Navegue a la carpeta ssh y copie el archivo de clave en un nuevo archivo llamado "pi01"

    cd.ssh

    cp id_rsa.pub pi01

  3. A continuación, desea conectarse a través de SSH en Pi02 y repetir esos mismos pasos para crear un archivo de claves Pi02

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi02

  4. Antes de salir de Pi02, necesitamos copiar el archivo de claves Pi01 y autorizarlo.

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

    cat pi01 >> llaves_autorizadas

    Salida

  5. Con Pi02 hecho, repita todos esos pasos para Pi03

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi03

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

    cat pi01 >> llaves_autorizadas

    Salida

  6. Repita el último paso para las Pi restantes que tiene en su red.
  7. Después de generar claves para cada uno de los Pi, vuelva a su Master Pi y copie todas las claves generadas en cada uno de los Pi.

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

    cat pi02 >> llaves_autorizadas

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

    cat pi03 >> llaves_autorizadas

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

    cat pi04 >> llaves_autorizadas

  8. (repita para todos los Pi hay en su red)

Paso 9: Ejecución de un programa en su supercomputadora

Ejecución de un programa en su supercomputadora
Ejecución de un programa en su supercomputadora
Ejecución de un programa en su supercomputadora
Ejecución de un programa en su supercomputadora
Ejecución de un programa en su supercomputadora
Ejecución de un programa en su supercomputadora

Ahora todo debería estar configurado. Mientras todavía está en su Master Pi, intente ejecutar este archivo de máquina nuevamente:

cd ~

mpiexec -f archivo de máquina -n 4 nombre de host

Si todo se hizo correctamente, debería devolver las direcciones IP de todos sus Raspberry Pi. Ahora que hemos probado con éxito nuestra supercomputadora, ejecutemos un programa de Python en ella:

  1. Descargue y descomprima mi script de prueba para descifrar contraseñas de Python.

    wget

    tar -zxf python_test.tar.gz

  2. Edite el hash de la contraseña a uno que le gustaría descifrar.

    nano python_test / md5_attack.py

  3. Copie el archivo Python en todos sus 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. (repita para todos los Pi restantes)
  5. Ejecute la secuencia de comandos de Python.

    mpiexec -f archivo de máquina -n 5 python python_test / md5_attack.py

¡El script se ejecutará utilizando el poder de procesamiento de todos los Pi en su red! ¡Siéntete libre de probarlo usando tu propio script de Python!

Concurso Raspberry Pi 2016
Concurso Raspberry Pi 2016
Concurso Raspberry Pi 2016
Concurso Raspberry Pi 2016

Tercer premio en el Concurso Raspberry Pi 2016

Recomendado: