Daily Archives: 15/05/2009

Programando Tareas Para Cálculo Distribuido

En la escula de Arquitectura de Sevilla, disponemos de siete potentes máquinas para hacer cálculo distribuido de estructuras arquitectónicas. A falta de ponerlas en clúster para mejorar la eficiencia y potencia de operación, usamos MPI y compilación cruzada para dividir grandes matrices en otras más pequeñas y repartirlas por los nodos para resolverlas. Todo esto apoyándonos en el programa ABAQUS de la casa Simulia. No es OpenSource.

A falta de infraestructura de clúster, nos hemos puesto las pilas para realizar mediante BashScript todas las tareas que hacen falta para administrar un conjunto de máquinas clonadas.

El script que quiero presentar es el más importante hasta la fecha, es el que se encarga de programar las ejecuciones de los cálculos.

Para la planificiación temporal, se usa el demonio at, clásico del mundo *NIX. Para llevar la cuenta de cuándo estará libre la cola se guarda la hora de cuando debe terminar el último cálculo que se ha enviado. Las operaciones de fecha se hacen en formato epoch mientras que se pasan a at en human readable. El script envía un correo electrónico al usuario cuando ha cumplido su plazo de tiempo. El usuario debe conocer a priori cuanto tiempo va a llevar su cálculo.

El script queda siempre mejor en un sitio dedicado a publicar códigos fuente: aquí.