Currently Browsing
Posts Tagged ‘ doctorado ’
Dos trucos para el Supercomputador de Canarias
- 2 December //
- Posted in física, informática //
- Tags : abako, diagnosis espectroscópica, doctorado, física, informática, supercomputador, tesis
- No Comment
Durante las pruebas del algoritmo genético para la diagnosis espectroscópica, me encontré con dos problemas que no dependían de mi algoritmo, sino del entorno de ejecución.
El primero de ellos fue la conexión a Internet de mi casa. Mi conexión se cae cada dos por tres. Si ejecuto el algoritmo genético (es un programa en python) en la conexión ssh al supercomputador, el programa finaliza de forma incorrecta al interrumpirse la conexión. Para evitarlo utilicé el programa nohup. Este programa estándar de UNIX desliga un proceso de su terminal, de modo que aunque el shell o la conexión se corten, el proceso sigue ejecutándose. Esto solucionó el primer problema.
El segundo problema fue el autologout del shell bash. A pesar de ejecutar el programa con nohup, mi nohup ejecutaba un script bash que es el que realmente ejecutaba el algoritmo genético python:
$ nohup run.sh
El script bash run.sh es algo parecido a esto:
#!/bin/bash
NI=200
./clean.sh
python algoritmo.py parametros
La forma de solucionar el autologout fue mediante una variable de entorno llamada TMOUT. Si se pone a 0, el bash nunca hace autologout por falta de actividad de entrada/salida.
El script bash run.sh quedó de este modo:
#!/bin/bash
TMOUT=0
NI=200
./clean.sh
python algoritmo.py parametros
Esto solucionó mis problemas y ya tengo el algoritmo genético ejecutándose y diagnosticando en el Supercomputador de Canarias.
Cómo hacer una interfaz web para un código científico (y III)
- 22 November //
- Posted in desarrollo web, física, informática //
- Tags : doctorado, informática
- No Comment
El siguiente paso para completar la interfaz es hacer un job scheduler o instalar alguno de los que por ahí existe. La ventaja de la segunda opción es obvia: control de colas, usuarios, recursos eficiente. La desventaja es el tiempo que lleva manejar todo eso.
Programarlo nosotros mismos puede dar, en cualquier caso, resultados aceptables. Para programarlo he utilizado una librería de gestión de hilos muy simple, que puede encontrarse en http://chrisarndt.de/projects/threadpool. Es lo mejor y más simple que he encontrado y la utilizo también para mi algoritmo genético. Enhorabuena a Christopher Arndt, su programador. Me ha ahorrado muchas horas de trabajo.
El proceso consiste ahora en ejecutar el server.py en la máquina que ejecuta el servidor web. Este servicio se quedará esperando a que un cliente (el client.py) le envíe trabajos para realizar.
El cliente se ejecutará en el punto donde se solicitaba al servidor web la ejecución del código de cálculo, ahora con los parámetros adecuados al software cliente. El software cliente encolará el trabajo en el server y devolverá el control al servidor web, que mostrará la pantalla de actualización del trabajo.
Ahora es cuestión de cada uno ponerlo lo más bonito posible. Y corregir fallos en mi código, que seguro que los hay.
Quadpack
- 1 June //
- Posted in física, informática, programación, tesis //
- Tags : doctorado, fortran, tesis
- No Comment
El quadpack es un conjunto de rutinas en fortran 77 que permiten realizar integraciones numéricas definidas e indefinidas mediante algoritmos muy bien probados. El FAC (Flexible Atomic Code) de la Universidad de Stanford hace uso de estas rutinas, por ejemplo.
New Atomic
Un nuevo subproyecto en el que me voy a embarcar es la separación del código de cálculo de datos atomicos de Abako.
Antiguamente los códigos sobre los que se construyó Abako estaban separados, pero fueron integrados para facilitar el cálculo de poblaciones iónicas. Ahora que algunos miembros del grupo estan interesados en modificar los potenciales – que se usan para la generación de los datos atómicos que Abako utiliza – pues se hace interesante separar la parte de los datos atómicos de Abako. No parece requerir grandes esfuerzos y ya estamos pensando en crear una aplicación web que permita ejecutar el New Atomic (que así se llamará el código) y obtener los resultados, incluso mostrando las funciones de onda de los electrones.
En cuanto este funcionando, haré un post con algunas gráficas.