Lucha contra el CoronaVirus con tu Raspberry PI - Rosetta@home
17-abr-2020 18:33
#1
|
Con la que está cayendo con el virus de los cojones, buscando maneras de colaborar, he pensado que podría poner a disposición de la ciencia un poquito de potencia de proceso. El proyecto Rosetta@home utiliza los recursos de computación que los voluntarios ponen a disposición de la ciencia para ayudar a predecir estructuras de proteinas importantes para el desarrollo del puto Virus este. Tenéis toda la info que queráis al respecto en su página: https://boinc.bakerlab.org/ y en Wikipedia https://es.wikipedia.org/wiki/Rosetta@home En mi caso he usado una Raspberry 3B+ con una microSD de 8Gb y Raspbian Lite (sin ventanas ni iconos). Yo lo prefiero así para aprovechar al máximo posible los escasos recursos de CPU de la Raspberry. No voy a explicar cómo instalar Raspbian porque hay gritones de tutoriales de cómo hacerlo. Sé que la Raspberry no es gran cosa en términos de potencia de proceso, pero no tengo disposición de tener el PC encendido 24x7 por tema de ruidos, mayormente. Además, tenía una Raspberry 3 en un cajón y es mejor esto que nada. Se recomienda, mejor, una Raspberry 4 con 2gb o 4Gb de RAM. Pero yo tengo la 3. Es lo que hay... Al lío. Actualizamos los repositorios: Spoiler: [ pulsa para ver ] sudo apt-get update Instalar el cliente NO GRAFICO de BOINC: Spoiler: [ pulsa para ver ] sudo apt-get install boinc-client Para el siguiente paso necesitaremos una cuenta en el proyecto Rosetta@home. Para registrarnos vamos aquí: https://boinc.bakerlab.org/rosetta/join.php?old=1 Clicamos aquí: Rellenamos los datos y le damos a "create account" Nos llevará a una página nuestra con cositas interesantes Vale, una vez ya nos hemos registrado podemos seguir configurando el cliente. Lo primero es verificar que no han habido problemas en el registro y que el server nos reconoce. Spoiler: [ pulsa para ver ] boinccmd --lookup_account https://boinc.bakerlab.org/rosetta [tuemail@https://correo.com] [tupassword] Te debería decir algo así: Spoiler: [ pulsa para ver ] status: Success poll status: operation in progress poll status: operation in progress account key: 3c00b2ecaa5a77512ee833b7580xxxxf0 Lo siguiente es vincular el cliente al proyecto. Para ello ejecutamos esto: Spoiler: [ pulsa para ver ] boinccmd --project_attach https://boinc.bakerlab.org/rosetta <tu account key> En tu account key pegais el numerajo que os ha devuelto en el paso anterior: (3c00b2ecaa5a77512ee833b7580xxxxf0 en el ejemplo, pero poned el vuestro) Si todo va bien, como buen comando unix, el sistema no debería decir nada. Pues bien, ya tenéis el cliente instalado y configurado. Importante: INFORMAD DE LAS PREFERENCIAS (Computing Preferences) Para poder editar las preferencias primero hay que ir abajo de todo y clicar en "Edit Preferences". PROBLEMA: La instalación por defecto de Raspbian reporta un cpu code que, parece, no está soportado por Rosetta@home Spoiler: [ pulsa para ver ] boinccmd --get_messages 1: 16-Apr-2020 20:59:21 (low) [] Starting BOINC client version 7.6.33 for arm-unknown-linux-gnueabihf 2: 16-Apr-2020 20:59:21 (low) [] log flags: file_xfer, sched_ops, task . . . 28: 16-Apr-2020 20:59:24 (user notification) [Rosetta@home] Message from server: This project doesn't support computers of type arm-unknown-linux-gnueabihf Para solucionarlo, hay que decirle al kernel que use el modo de 64 bits. Nos vamos al config.txt del /boot y le añadimos un switch para que lo active: Hacemos una copia del fichero config.txt paporsi acaso Spoiler: [ pulsa para ver ] cd /boot sudo cp https://config.txt https://config.old Editas el fichero config.txt con tu editor favorito de linux (yo soy de vi) Spoiler: [ pulsa para ver ] sudo vi https://config.txt Al final de todo añadimos esta linea: Spoiler: [ pulsa para ver ] arm_64bit=1 Y rebotamos Spoiler: [ pulsa para ver ] sudo reboot (CONTINÚA) |
Editado: 09-sep-2020 16:39 -
17-abr-2020 18:34
#2
|
al arrancar, ejecutamos los siguiente para que nos muestre qué sistema tenemos: La parte que tiene que salir es la del final "aarch64" Lo siguiente es configurar el cliente de boinc para que notifique al servidor que estamos usando un cpu code que sí que soportan. Para ello, editamos el fichero de configuración del cliente: Spoiler: [ pulsa para ver ] sudo vi /etc/boinc-client/https://cc_config.xml Y nos aseguramos de que el contenido es este: Spoiler: [ pulsa para ver ] <cc_config> <log_flags> <task>1</task> <file_xfer>1</file_xfer> <sched_ops>1</sched_ops> </log_flags> <options> <alt_platform>aarch64-unknown-linux-gnu</alt_platform> </options> </cc_config> Grabamos y reiniciamos el servicio del cliente: Spoiler: [ pulsa para ver ] sudo systemctl restart boinc-client Ahora... ¿Cómo demonios veo lo que estoy contribuyendo? Pues tienes varias opciones. 1) Desde la página de "Your Account" hay una opción que es "Your Computers" en la que puedes ver qué es lo que tienes registrado con ellos. 2) En la misma página hay una opción de "Tasks" donde puedes ver los trabajos de cálculo que te han mandado, los que están en proceso, los procesados, etc... 3) Como curiosidad, la opción "certificate" te genera un diploma como el que os enseño ![]() 4) El comando "boinccmd" tiene varias opciones para mostrar información La opción --get_tasks nos muestra las tareas que se están procesando en el momento en que lo ejecutas: Spoiler: [ pulsa para ver ] pi@rotodos:/etc/boinc-client $ boinccmd --get_tasks ======== Tasks ======== 1) ----------- name: rb_04_13_20526_21083_ab_t000__robetta_IGNORE_THE_R EST_12_13_913292_13_1 WU name: rb_04_13_20526_21083_ab_t000__robetta_IGNORE_THE_R EST_12_13_913292_13 project URL: https://boinc.bakerlab.org/rosetta/ received: Thu Apr 16 21:58:18 2020 report deadline: Sun Apr 19 21:58:18 2020 ready to report: no state: downloading scheduler state: uninitialized active_task_state: UNINITIALIZED app version num: 415 resources: 1 CPU estimated CPU time remaining: 39396.195350 2) ----------- name: rb_04_13_20526_21083_ab_t000__robetta_IGNORE_THE_R EST_10_14_913292_15_1 WU name: rb_04_13_20526_21083_ab_t000__robetta_IGNORE_THE_R EST_10_14_913292_15 project URL: https://boinc.bakerlab.org/rosetta/ received: Thu Apr 16 21:58:18 2020 report deadline: Sun Apr 19 21:58:18 2020 ready to report: no state: downloading scheduler state: uninitialized active_task_state: UNINITIALIZED app version num: 415 resources: 1 CPU estimated CPU time remaining: 39396.195350 3) ----------- name: 408fc71fff68491076c08d28aa79267c_start_0310_20_04_ 19_06_08_globalDocking_6_SAVE_ALL_OUT_912858_38_1 WU name: 408fc71fff68491076c08d28aa79267c_start_0310_20_04_ 19_06_08_globalDocking_6_SAVE_ALL_OUT_912858_38 project URL: https://boinc.bakerlab.org/rosetta/ received: Thu Apr 16 21:58:29 2020 report deadline: Sun Apr 19 21:58:29 2020 ready to report: no state: downloading scheduler state: uninitialized active_task_state: UNINITIALIZED app version num: 415 resources: 1 CPU estimated CPU time remaining: 39396.195350 4) ----------- name: rb_04_13_20526_21083_ab_t000__robetta_IGNORE_THE_R EST_10_10_913292_15_1 WU name: rb_04_13_20526_21083_ab_t000__robetta_IGNORE_THE_R EST_10_10_913292_15 project URL: https://boinc.bakerlab.org/rosetta/ received: Thu Apr 16 21:58:29 2020 report deadline: Sun Apr 19 21:58:29 2020 ready to report: no state: downloading scheduler state: uninitialized active_task_state: UNINITIALIZED app version num: 415 resources: 1 CPU estimated CPU time remaining: 39396.195350 La opción --get_state nos saca información mucho más completa. 5) Es posible juntarse en equipos. Y, de hecho, hay uno que se llama "FOROCOCHES" RECOMENDACIONES Aumentar el tamaño de swap de Raspbian. Por defecto viene con 100 Mb Código:
pi@rotodos:/etc/boinc-client $ free -m
total used free shared buff/cache available
Mem: 966 274 27 2 664 626
Swap: 99 15 84
1) Paramos el swap: Código:
sudo dphys-swapfile swapoff Código:
sudo vi /etc/dphys-swapfile Código:
CONF_SWAPSIZE=1024 Código:
sudo dphys-swapfile setup Código:
want /var/swap=1024MByte, checking existing: deleting wrong size file (104857600), generating swapfile ... of 1024MBytes Código:
sudo dphys-swapfile swapon Código:
pi@rotodos:/etc/boinc-client $ free -m
total used free shared buff/cache available
Mem: 966 285 29 6 652 611
Swap: 1023 0 1023
Quitar MB de RAM a la GPU Si no vamos a usar entorno gráfico podemos arañar unos pocos megas de manera fácil quitándoselos a la GPU. Por defecto viene con 64Mb. con 16Mb es suficiente: 1) Vamos a Raspi-config Código:
sudo raspi-config 3) Seleccionamos "memory split" 4) Le ponemos "16" y damos a OK 5) Salimos de raspi-config y rebotamos. Referencias: https://boinc.bakerlab.org/rosetta/f...id=13795#94371 https://pimylifeup.com/raspberry-pi-boinc/ https://marksrpicluster.blogspot.com...-your-pi4.html Instalar OpenCL Spoiler: [ pulsa para ver ] sudo apt-get install ocl-icd-opencl-dev ocl-icd-dev sudo apt-get install opencl-headers sudo git clone https://github.com/doe300/VC4CL cd VC4CL/ sudo apt install cmake sudo cmake . sudo make -j4 sudo make install sudo reboot sudo apt update && sudo apt install boinc-client-opencl -y sudo reboot En el paso del sudo make -j4 os saltarán 2 warnings como estos que se ven a continuación y que se pueden ignorar perfectamente: Instalar boinctui (FrontEnd para ver los trabajos) Merece la pena por lo poco que ocupa y lo bonito que se ve ![]() ejecutar esto para instalar: Spoiler: [ pulsa para ver ] sudo apt-get install boinctui screen Para ejecutar el programa: Código:
screen boinctui Se ve asi: Un saludo |
Editado: 08-may-2020 10:34 -
17-abr-2020 18:35
#3
|
Para averiguar qué placa de Raspberry tenéis (especialmente los que tenéis la Raspberry 2) es tan sencillo como ejecutar este comando: Código:
cat /proc/cpuinfo | grep 'Revision' | awk '{print $3}' | sed 's/^1000//'
He marcado en verde las que seguro que soportan el cliente de boinc y en amarillo las que tengo dudas: Es posible que algunas de las otras, por procesador, permitan ejecutar código de 64bits, pero el problema aquí es la RAM. Menos de 1Gb creo que es impracticable (con 1 Gb ya vamos apuraos). Hay truquis, como instalar ZRAM, que permite usar swap como memoria ram, pero esto es meterle más ciclos de escritura a la microsd, y ralentizar aún más los cálculos... Si alguien lo quiere probar por trastear... el feedback es bienvenido ![]() Sacado de aquí: https://elinux.org/RPi_HardwareHistory |
Editado: 17-abr-2020 20:37 -
17-abr-2020 18:35
#4
|
STATS del Team FOROCOCHES a 30 de Mayo 2020 17 de Mayo de 2020: Sobrepasamos el millón de Creditos! |
Editado: 30-may-2020 10:53 -
17-abr-2020 18:37
#5
| muy curioso el post y buena iniciativa, por muy pequeña que sea la ayuda, ayuda es |
17-abr-2020 18:55
#6
Estoy añadiendo el contenido aún, estoy teniendo algún problemilla
|
Editado: 17-abr-2020 19:06 -
17-abr-2020 19:17
#7
|
Listo, ya está todo. Cosas a considerar.
Saludos |
17-abr-2020 19:21
#8
| Muy buena iniciativa. yo uso una raspberry pi 3 pero tengo una 2 muerta de risa. Solo por probar voy a intentar instalarlo aunque tiene una potencia ínfima comparado con cualquier pc |
17-abr-2020 19:26
#9
|
https://www.raspberrypi.org/forums/v...c.php?t=202487 |
17-abr-2020 19:33
#10
|
Código:
pi@rotodos:~ $ /opt/vc/bin/vcgencmd measure_temp temp=59.1'C |
17-abr-2020 19:35
#11
| Tengo una orange pi plus 2e parada, aunque ya tiene 3 años, y hace alguna cosita rara, a ver si pillo un rato, y pruebo a ver si tambien funciona |
17-abr-2020 20:03
#12
|
Muy buena aportación compañero. Tengo la dos pero no me acuerdo que versión. Luego lo intento y a ver si funciona. También a ver que temperaturas saco, que solo tengo disipadores pasivos |
17-abr-2020 20:53
#15
|
CPU: H3 Quad-core Cortex-A7 H.265/HEVC 4K Por memoria RAM está muy bien, por eso (2GB DDR3) No pierdes nada por probar
|
17-abr-2020 23:18
#16
| He actualizado el OP porque las etiquetas [ CODE ] hacen cosas raras (añaden http:// a los nombres de los ficheros y cosas así...) |
18-abr-2020 00:50
#19
| Esto no es como lo del world community grid? O has hecho un grupo nuevo??? El otro le llevo yo |
Editado: 18-abr-2020 00:56 -
18-abr-2020 01:07
#20
|
Cuéntanos más... Edit: Acabo de leer sobre lo que comentas. Sí, es muy similar. Rosetta es una iniciativa que viene directamente de las universidades y toda la infraestructura es pública. Está todo aquí: https://boinc.bakerlab.org/rosetta/server_status.php Entiendo que son cosas parecidas. El cliente que utilizan (boinc) es el mismo ![]() Por lo que veo en su página de proyectos: https://www.worldcommunitygrid.org/r...AllProjects.do parece que no incluye al coronavirus (de momento, al menos) por lo que no nos estamos "haciendo la competencia" ![]() Un saludo |
Editado: 18-abr-2020 10:04 -
18-abr-2020 01:50
#21
| Interesante. Una buena forma de dar un uso práctico a una RPi 3 que tengamos sin usar, ya que se puede dejar funcionando 24/7 con un consumo rídículo. |
18-abr-2020 02:29
#22
|
llamame mal pensando, pero a mi esto me parece un reclamo para cazar a pardillos y minar BTC con sus rasberry,s no os imaginais la de estafas que surgen a costa del covid, enfermeros y demas |
18-abr-2020 09:19
#23
|
Un saludo |
18-abr-2020 10:07
#24
| Pues sí, eres un malpensado y además un ignorante. Molestate en leer los enlaces del OP antes de decir tonterías y luego vuelve aquí a lanzar tus infundadas sospechas sobre algo tan importante y prestigioso como son la plataforma BOINC y todos sus proyectos. |
18-abr-2020 11:22
#25
|
- MENSAJE #365560845 | USUARIO: Catoblepas calentito te lo llevas, esto no es el general para que vengas a insultar gratuitamente si pensabas que ibas a aprovechar para insultar cuando el OP eres tu el que te lo has leido,pues no es mas que un tutorial y no demuestra legitimidad ninguna porque tu digas que sea una plataforma prestigiosa. asi que te metes tu chuleria por el culo que la explicacion ya me la habian dado de manera amable, no hace falta que vengas tu con infulas de maton |
18-abr-2020 11:58
#26
|
- REPORTE ENVIADO POR: Summunx Recal
- MENSAJE #365560845 | USUARIO: Catoblepas calentito te lo llevas, esto no es el general para que vengas a insultar gratuitamente si pensabas que ibas a aprovechar para insultar cuando el OP eres tu el que te lo has leido,pues no es mas que un tutorial y no demuestra legitimidad ninguna porque tu digas que sea una plataforma prestigiosa. asi que te metes tu chuleria por el culo que la explicacion ya me la habian dado de manera amable, no hace falta que vengas tu con infulas de maton Por otro la lado, tu expresión "te metes tu chuleria por el culo" demuestra claramente quién es el que padece aquí una grave falta de educación. |
18-abr-2020 12:43
#27
|
Gracias por los ups :-D al OP, muchas gracias por esto, ¿y si lo pones en el general? |
18-abr-2020 14:38
#28
|
Hola,
Con la que está cayendo con el virus de los cojones, buscando maneras de colaborar, he pensado que podría poner a disposición de la ciencia un poquito de potencia de proceso. El proyecto Rosetta@home utiliza los recursos de computación que los voluntarios ponen a disposición de la ciencia para ayudar a predecir estructuras de proteinas importantes para el desarrollo del puto Virus este. Tenéis toda la info que queráis al respecto en su página: https://boinc.bakerlab.org/ y en Wikipedia https://es.wikipedia.org/wiki/Rosetta@home En mi caso he usado una Raspberry 3B+ con una microSD de 8Gb y Raspbian Lite (sin ventanas ni iconos). Yo lo prefiero así para aprovechar al máximo posible los escasos recursos de CPU de la Raspberry. No voy a explicar cómo instalar Raspbian porque hay gritones de tutoriales de cómo hacerlo. Sé que la Raspberry no es gran cosa en términos de potencia de proceso, pero no tengo disposición de tener el PC encendido 24x7 por tema de ruidos, mayormente. Además, tenía una Raspberry 3 en un cajón y es mejor esto que nada. Se recomienda, mejor, una Raspberry 4 con 2gb o 4Gb de RAM. Pero yo tengo la 3. Es lo que hay... Al lío. Actualizamos los repositorios: Spoiler: [ pulsa para ver ] sudo apt-get update Instalar el cliente NO GRAFICO de BOINC: Spoiler: [ pulsa para ver ] sudo apt-get install boinc-client Para el siguiente paso necesitaremos una cuenta en el proyecto Rosetta@home. Para registrarnos vamos aquí: https://boinc.bakerlab.org/rosetta/join.php?old=1 Clicamos aquí: Rellenamos los datos y le damos a "create account" Nos llevará a una página nuestra con cositas interesantes Vale, una vez ya nos hemos registrado podemos seguir configurando el cliente. Lo primero es verificar que no han habido problemas en el registro y que el server nos reconoce. Spoiler: [ pulsa para ver ] boinccmd --lookup_account https://boinc.bakerlab.org/rosetta [tuemail@https://correo.com] [tupassword] Te debería decir algo así: Spoiler: [ pulsa para ver ] status: Success poll status: operation in progress poll status: operation in progress account key: 3c00b2ecaa5a77512ee833b7580xxxxf0 Lo siguiente es vincular el cliente al proyecto. Para ello ejecutamos esto: Spoiler: [ pulsa para ver ] boinccmd --project_attach https://boinc.bakerlab.org/rosetta <tu account key> En tu account key pegais el numerajo que os ha devuelto en el paso anterior: (3c00b2ecaa5a77512ee833b7580xxxxf0 en el ejemplo, pero poned el vuestro) Si todo va bien, como buen comando unix, el sistema no debería decir nada. Pues bien, ya tenéis el cliente instalado y configurado. Importante: INFORMAD DE LAS PREFERENCIAS (Computing Preferences) Para poder editar las preferencias primero hay que ir abajo de todo y clicar en "Edit Preferences". PROBLEMA: La instalación por defecto de Raspbian reporta un cpu code que, parece, no está soportado por Rosetta@home Spoiler: [ pulsa para ver ] boinccmd --get_messages 1: 16-Apr-2020 20:59:21 (low) [] Starting BOINC client version 7.6.33 for arm-unknown-linux-gnueabihf 2: 16-Apr-2020 20:59:21 (low) [] log flags: file_xfer, sched_ops, task . . . 28: 16-Apr-2020 20:59:24 (user notification) [Rosetta@home] Message from server: This project doesn't support computers of type arm-unknown-linux-gnueabihf Para solucionarlo, hay que decirle al kernel que use el modo de 64 bits. Nos vamos al config.txt del /boot y le añadimos un switch para que lo active: Hacemos una copia del fichero config.txt paporsi acaso Spoiler: [ pulsa para ver ] cd /boot sudo cp https://config.txt https://config.old Editas el fichero config.txt con tu editor favorito de linux (yo soy de vi) Spoiler: [ pulsa para ver ] sudo vi https://config.txt Al final de todo añadimos esta linea: Spoiler: [ pulsa para ver ] arm_64bit=1 Y rebotamos Spoiler: [ pulsa para ver ] sudo reboot (CONTINÚA) Buenas, tengo todo configurado en una raspi, pero no se me ha asignado ninguna tarea, al usar el get_tasks sale vacio, hay que hacer algo más o ya se asignarán cosas? |
18-abr-2020 14:50
#29
|
boinccmd --get_messages A veces te dice que no hay memoria, pero te acabarán cayendo trabajos A veces tarda un poco en empezar a asignar cosas. |
18-abr-2020 14:52
#30
| Lo he puesto aquí porque creo que es más adecuado. Hay un hilo sobre el comida, le he pedido al OP que enlace a este si lo considera adecuado |


