Blogia

Blog de Ibercivis

Benchmarks: alguna sugerencia?

Como quizas sabreis, BOINC se calibra a partir de una variante de las tipicas prubas de velocidad WhetStone y DryStone. Durante este mes pienso lanzar, al menos a los voluntarios beta y a los participantes de concursos, algunas otras medidas de velocidad y no se como decidirme. De momento hay varios conjuntos que podrian sumarse:

- El High Performance Computing (HPC) Challenge de Dongarra et al, que extiende su clasico linpack.

- Las de Stefan Krause, derivadas del Computer Language Benchmark Game, y por ello adaptables a java y a python.

- Las de Kano, tambien orientadas a comparar C con Java. /

- SciMark2, que es para java (otra vez!) pero esta portada a C. Vease aqui

 

¿Se os ocurre alguna interesante?

Cotización de créditos

Ya están disponibles en la web de Ibercivis la información de cuántos créditos se dan por workunit, así como de un pequeño histórico de la evolución de dicha asignación.

Un link directo aquí

Ajetreo de concursos

Hoy es un dia ajetreado. Estamos añadiendo a los equipos que piden participar en los concursos, pero no os preocupeis que todos cuentan desde el punto de inicio del concurso, esto es desde hoy a la una. Me explico: hemos arrancado con todas las unidades recibidas a partir de las 01:00 del 1 de Junio, y recogeremos todo lo que se entregue hasta las 24:00 del dia 30. Esta era una de las alternativas posibles; internamente habiamos discutido otras para manejar el problema del trabajo acumulado del dia anterior, en particular habiamos pensado no dar creditos durante las horas previas al inicio de concurso pero ello habria afectado a las BoincStats de los no participantes y a otros desafios.

Hay alguna sutileza mas, sobre todo en el tiempo de CPU: se divide por el numero de cores, lo que afecta a los de muchos nucleos (que a cambio tienen mejor posibilidad en los equipos por creditos) pero ayuda a los que estan en casa poniendo atencion. Y cuando hay varias maquinas de un solo usuario se cuenta la mejor CPU de cada dia, que no tiene por que ser la misma. Finalmente, en muchos concursos el tiempo de CPU no fija el orden absolutamente, sino el derecho a entrar en el sorteo de los premios.

Tenemos pendiente bastante cosa que ira saliendo durante el dia: fijar los creditos de las aplicaciones y el anunciarlos dia a dia, informar de la duracion esperada y media de cada aplicacion, y añadir mas informacion general sobre el estado del sistema. Ademas de traducir al ingles. De hecho cuando traduzcamos al ingles desaparecera la pagina "de plantilla BOINC" y redirigirá a www.ibercivis.es.

A ver que tal se nos da el mes. Un saludo,

Alejandro.

 

Respuesta a un par de dudas

La primera cuestión que voy a abordar es la del duration_correction_factor que nos ha sido reportado por varias fuentes y lo segundo una duda interesante de Cazamarcianos, ya que la información disponible en la web tardará en llegar (debiera estar disponible entre hoy y mañana).

Respecto a lo primero, he encontrado un hueco (por fin) para calcular ratios y he subido el fpops estimado de todas las aplicaciones (menos fusión) entre uno y dos órdenes de magnitud. A ver si mejora la cosa. Si notáis que seguimos igual seguid increpándome hasta que lo arregle. Guiño

La inquietud de Cazamarcianos es acerca de usar el tiempo de CPU para los concursos, ya que entonces una máquina potente que devuelve muchos trabajos se pondera igual que una lenta. Y así es, tal y como comenta.

Lo que hay en la web ahora mismo son las bases generales de todos los concursos. Aparte de éstas, cada concurso tiene unas bases individuales donde se especifican los premios, el alcance de los mismos y otros factores particulares que afectan sólo a este concurso. En los torneos individuales de carácter nacional e internacional (los patrocinados por Ibercaja y HP), el tiempo de CPU se utiliza para realizar la clasificación, pero no así para la entrega de premios.

El procedimiento es el siguiente:

- En ambos concursos (Ibercaja y HP) se selecciona a los 10 participantes que más CPU han aportado.

- Se les asigna una cantidad de tickets en función del número de créditos (lo remarco para que se vea). El número de tickets totales entre los 10 seleccionados será 100000.

- El premio se sortea sacando un número al azar entre 0 y 99999.

La consecuencia lógica de esto es que el que tenga más créditos tendrá más posibilidades de que le caiga el premio. En conjunto es una forma de dar posibilidades a todo el mundo de llevarse el premio (premiando la colaboración), pero otorgando cierto peso a aquellos que más trabajos han devuelto.

Todo esto que estoy comentando es un adelanto. Las bases concretas estarán entre hoy y mañana, también en inglés.

Bases de los concursos de Ibercivis

Ya se pueden consultar las bases provisionales de los concursos de Ibercivis para el próximo mes de Junio. En la sección "Premios" podéis encontrar un enlace. Esperamos todas vuestras críticas, sugerencias y opiniones, ya que todavía estamos a tiempo de realizar cambios y arreglar problemas. Las bases se harán definitivas el domingo. Ya sentimos sacarlas con tan poco tiempo, pero hemos estado haciendo cambios hasta hace nada (y lo que nos queda).

Por votación unánime popular, pondremos la política 1 en lo que respecta a los créditos.

Crédito máximo V/S Crédito fijo

Como sabéis estamos probando nuevas fórmulas para la asignación de créditos, sobre todo, debido al próximo concurso. Estamos debatiendo entre dos políticas de asignación de créditos, y queremos preguntaros vosotros, los usuarios, vuestra opinión. (Aceptamos sugerencias).

Política 1: Crédito fijo. Se asignará un crédito fijo por resultado. Este crédito se actualizará diariamente y se calculará como la media del claimed_credit en base a los resultados recibidos en los últimos días.

Politica 2: Crédito máximo. Se asignará, como mucho, una cantidad concreta de créditos. Este tope se calculará de forma que el 90% de los créditos pedidos en los resultados estén por debajo de él.

Esperamos vuestras opiniones.

Crédito máximo en Nanoluz y Neurosim

Como sabéis estamos probando nuevas fórmulas para la asignación de créditos, sobre todo, debido al próximo concurso. Estamos debatiendo entre dos políticas de asignación de créditos, y queremos preguntaros vosotros, los usuarios, vuestra opinión. (Aceptamos sugerencias).

Política 1: Crédito fijo. Se asignará un crédito fijo por resultado. Este crédito se actualizará diariamente y se calculará como la media del claimed_credit en base a los resultados recibidos en los últimos días.

Politica 2: Crédito máximo. Se asignará, como mucho, una cantidad concreta de créditos. Este tope se calculará de forma que el 90% de los créditos pedidos en los resultados estén por debajo de él.

Esperamos vuestras opiniones.

La nueva aplicación “adsorción” disponible para Windows, Linux y Mac incorpora salvapantallas

Querid@s voluntari@s,

"Adsorción" se encuentra disponible en Ibercivis como aplicacion científica estable que incorpora salvapantallas.

A través de los cálculos, investigadores del Instituto de Química-Física Rocasolano del CSIC estudian las propiedades de las denominadas arcillas PILCS (Pillared clays) que, como otros materiales porosos, tienen una gran importancia industrial como catalizadores, materiales para almacenar gases y materiales utilizados en procesos de separación. Este tipo de arcillas se emplea en procesos como la producción de biofuels a partir de grasas vegetales, el almacenamiento de gas natural a temperatura ambiente o el almacenamiento de gases de efecto invernadero que producen las industrias.

El salvapantallas (cuya disponibilidad esta limitada actualmente a maquinas Windows), esta en su version más inicial y presenta la nueva imagen del proyecto dentro de un cubo tridimensional, con información en las esquinas sobre el estado de la Workunit, y el usuario BOINC: nombre, equipo, creditos, clasificación.

Como ya ha sucedido otras veces, se ha añadido de forma automática a las preferencias de los usuarios para que acepten la nueva aplicación. No se ha tocado la configuración de usuarios con "venues".

Gracias a tod@s por la confianza en la plataforma.

No dudeis en reportar a cualquier duda o problema con el proyecto a Info@ibercivis.es, o postear en este mismo blog.

Recibir un sincero saludo del equipo de desarrollo.

results en ejecucion

results en ejecucion

Aqui os ponemos la gráfica de la semana con las unidades enviadas a ejecucion (estrictamente, los "results"). Se puede ver la tarea de docking que acabó el martes y tarda un par de dias en terminar de verdad, lo que no es problema para una tarea que dura meses. Se puede ver tambien una ejecucion en "modo de continuidad", que mantiene mas o menos un nivel constante de procesadores trabajando para ella. Y se ven un par de paradas en la verificacion de resultados o en la creacion de nuevas unidades de trabajo, que causan esos picos descendentes de cuando en cuando.

Estamos pensando en poner estas graficas semanales en el nuevo sitio web, pero no tenemos aun claro donde. Seguramente serian capturas de PNGs, en vez de datos sobre los que hacer zoom.

Credito fijo en Docking

Hace escasos minutos, se ha modificado la asignación de créditos de Docking a una cantidad fija. A partir de ahora, todos los resultados de este proyecto recibirán 6,9173 créditos. Esta decisión ha sido tomada para prevenir la asignación excesiva de créditos en caso de que la información acerca de la potencia de las máquinas apuntadas sea falsa. Se está estudiando la posibilidad de aplicar esta medida a los otros proyectos.

Envío erróneo de materiales

Antesdeayer (20 de Abril), se enviaron unas workunits de materiales128 entre las 16:00 y las 17:30 con un error en la template, y no estaba correctamente definida la URL de subida, con lo que no se podían devolver.

Si alguien está experimentando problemas al subir resultados de materiales128 que los cancele.

Edito: Va a ser que el problema era mayor. Ya hay un servidor de backup online y podéis enviar vuestros resultados. De momento, la validación se queda parada.

Parada de Ibercivis por mantenimiento

Hoy por la tarde, de 15:00 a 20:00 horas, la Universidad de Zaragoza va a cortar las comunicaciones para instalar un grupo electrógeno que prevenga futuras caídas de alimentación en la red. Lo que significa que nos quedamos sin red esta tarde. De momento, para que la parada sea paulatina, se están enviando menos trabajos.  Perdon por las molestias.

Usuarios de Neurosim añadidos a mano

En un principio, no se añadió a nadie automáticamente (de los que tenían preferencias personalizadas) a la aplicación de neurosim, de forma parecida a como se hizo con nanoluz, por alguna queja precoz acerca del tamaño del output. Al final se ha decidido hacerlo y se ha habilitado la aplicación para el resto de usuarios. Como la inclusión es automática, pedimos disculpas si alguien no quería recibir workunits de la aplicación y ahora las está recibiendo.

Nueva aplicacion “neurosim” disponible para Windows y Linux

Queridos voluntarios y voluntarias,

se encuentra disponible en Ibercivis la nueva aplicacion "neurosim" de Dinámica Molecular, que es una técnica de simulación que  permite que modelos de átomos y moléculas interactúen por un período de tiempo dentro de un ordenador,aplicable entre otras muchas disciplinas a la neurociencia.

Vamos a realizar estudios conformacionales de dipeptidos y tripeptidos y obtener mapas probabilisticos que sirvan como informacion de entrada para el estudio del plegamiento de proteinas.

Dentro de este subproyecto se utiliza el software "gromacs v4.0.2" (http://www.gromacs.org) y "protomol v2.1.1" (http://protomol.sourceforge.net/) junto con las herramientas “zip 3.0” y “unzip 5.51” (http://www.info-zip.org/).

La Dinámica Molecular es un proceso de naturaleza infinita con caracteristicas empíricas, siempre sujeta a nuevas hipotesis y parametrizaciones. Por eso como parte estrategica de la adaptación, será descargada junto con cada fichero de entrada, una descripción especifica de la workunit en formato XML definida por el investigador a modo de script de shell.

Un ejemplo de este fichero se muestra a continuación:

<job_desc>
    <task>
        <application>unzip</application>
        <stdout_filename>stdout.txt</stdout_filename>
        <stderr_filename>stderr.txt</stderr_filename>
        <command_line>-o input.zip</command_line>
    </task>
    <task>
        <application>grompp</application>
        <stdout_filename>stdout.txt</stdout_filename>
        <stderr_filename>stderr.txt</stderr_filename>
        <command_line>-f em -c dipeptide_b4em -p dipeptide -o dipeptide_em</command_line>
    </task>
    <task>
        <application>mdrun</application>
        <stdout_filename>stdout.txt</stdout_filename>
        <stderr_filename>stderr.txt</stderr_filename>
        <command_line>-s dipeptide_em -o dipeptide_em -c dipeptide_b4pr -nov</command_line>
    </task>
    <task>
        <application>grompp</application>
        <stdout_filename>stdout.txt</stdout_filename>
        <stderr_filename>stderr.txt</stderr_filename>
        <command_line>-f pr -c dipeptide_b4pr -r dipeptide_b4pr -p dipeptide -o dipeptide_pr</command_line>
    </task>
    <task>
        <application>mdrun</application>
        <stdout_filename>stdout.txt</stdout_filename>
        <stderr_filename>stderr.txt</stderr_filename>
        <command_line>-s dipeptide_pr -o dipeptide_pr -c dipeptide_b4md</command_line>
    </task>
    <task>
        <application>grompp</application>
        <stdout_filename>stdout.txt</stdout_filename>
        <stderr_filename>stderr.txt</stderr_filename>
        <command_line>-f md -c dipeptide_b4md  -p dipeptide -o dipeptide_md</command_line>
    </task>
    <task>
        <application>mdrun</application>
        <stdout_filename>stdout.txt</stdout_filename>
        <stderr_filename>stderr.txt</stderr_filename>
        <command_line>-s dipeptide_md -o dipeptide_md -c dipeptide_after_md -nov</command_line>
    </task>
    <task>
        <application>zip</application>
        <stdout_filename>stdout.txt</stdout_filename>
        <stderr_filename>stderr.txt</stderr_filename>
        <command_line>-9 output.zip dipeptide_em.trr dipeptide_pr.trr dipeptide_md.trr ener.edr dipeptide_after_md.gro md.log</command_line>
    </task>
</job_desc>

Los desarrolladores del proyecto deseamos recibir cualquier observación, duda, sugerencia que agradecemos por adelantado. En concreto queremos conocer la tasa de transferencia de resultados y vuestras capacidades especificas de red.

Un saludo de Rubén Muñoz

Las 4 aplicaciones

No habíamos tenido oportunidad de lanzar las cuatro aplicaciones de Ibercivis a la vez desde el lanzamiento de Nanoluz. Ayer, los investigadores de fusión volvieron de su descanso con algo de trabajo bajo el brazo. En la gráfica del artículo pueden verse la relación de resultados en espera en el día de ayer y el funcionamiento del sistema de prioridades que produce la alternancia entre aplicaciones en Ibercivis.

En la gráfica puede verse una franja gris en la parte inferior. Esta franja indica el punto a partir del cual se crean nuevas workunits (y por tanto, nuevos resultados). Los creadores de trabajo monitorizan la cantidad de resultados en espera para producir más cuando es necesario. Esto es necesario, ya que si se produjeran todas las workunits que nos mandan los investigadores de golpe, saturaríamos la base de datos (por si alguien siente curiosidad, tenemos unas 2,5 millones de workunits listas). Además, el ritmo de producción de los creadores de trabajo es un indicador de la carga del sistema.

Cuando una aplicación llega a la franja gris y entra en producción produce unas 3000 workunits. Esta cantidad es el número de máquinas distintas que han realizado una petición de cualquier aplicacion en la última hora. No tenemos en cuenta los núcleos totales de dichas máquinas, de momento.

Por último, quiero señalar las variaciones en las pendientes de la gráfica. En Ibercivis tenemos un demonio que asigna prioridades a las aplicaciones de forma dinámica en función de su producción. Cuanta más prioridad tenga una aplicación, más resultados se envían de dicha aplicación. Se puede ver, al comienzo de la gráfica, como la prioridad la tenía Nanoluz, seguida de Materiales y Docking. A las 22:00 puede verse como las prioridades cambian y Docking pasa a ser la más prioritaria de las tres, Nanoluz pasa a ser la segunda y Materiales se queda tercero. A las 6:00 de hoy, Docking pierde toda la prioridad ya que ha producido mucho, colocándose tercero, dejando paso a Nanoluz y a Materiales. Este último se coloca el primero de los tres.

Fusión, puesto que no ha tenido ninguna producción, tiene en todo este tiempo la máxima prioridad. La razón por la que su pendiente no está tan inclinada como la de docking, a pesar de tener más prioridad, es porque el número de envíos también está condicionado por el tiempo de ejecución.

Podéis ver más gráficas de Ibercivis en: http://www.flickr.com/photos/arivero/tags/ibercivis/

Caidas de Ibercivis

Los que hayais estado atentos estos últimos dos dias os habréis dado cuenta de que hemos estado caídos a ratos. No ha sido una caída general sino la coincidencia de varias caídas seguidas, en distintas máquinas y por distintas razones (vaya, que ya es mala suerte). Ha sido más problemática la recuperación que la caída, porque las bases de datos comprometidas se han corrompido. Ahora ya está todo bien, y debería funcionar normalmente.

Os comento una anécdota bastante curiosa que nos ha pasado estos días. Uno de nuestros esclavos de la base de datos no podía continuar porque se quejaba de que uno de los ficheros de log de su maestro estaba corrupto. Efectivamente, las herramientas de mysql se paraban indicando que ese fichero no era de mysql. Un fsck (para los no linuxeros, un scandisk) en la partición indicó varios inodos (por si acaso alguien se lo pregunta, http://es.wikipedia.org/wiki/Inodo) corruptos que afectaban a ese fichero. Entonces, a alguien se le ocurrió ejecutar la instrucción file sobre el fichero (para los no linuxeros, la instrucción file devuelve información acerca del tipo de datos que guarda un fichero), y para sorpresa general la salida fue la siguiente:

mysql-bin.000041: ACB archive data

Si buscais por Internet, encontrareis que los datos ACB (http://www.file-extensions.org/acb-file-extension-aol-cab-launcher), son un formato de archivo propietario de AOL (American Online). Cosas raras que dan las cabeceras corruptas.

Tras un volcado en hexadecimal del archivo descubrimos que sólo se habían perdido los primeros 4KB de datos del archivo. Así que quitamos los datos corruptos, reconstruimos la cabecera a partir de otro archivo de log para que el mysql se creyera que el archivo era suyo, y le indicamos al esclavo la nueva posición a partir de la que tenía que seguir leyendo.

Caida de luz en el BIFI... ibercivis down

Caida de luz en el BIFI... ibercivis down

Hola a todos,

La actual caida de Ibercivis (servidor, sitio web...) no sabemos a que se debe, pero debe ser algun transformador de la red principal porque  todos los semaforos de la calle tambien estan caidos :o

Cuando volvera la luz? podemos recordar mientras tanto a enjuto mojamuto "interneeeeeet" :D

 

 

 

RAID de AF y CANAL@BOINC

Hace bastante preguntaron en los comentarios del blog acerca de cómo se había vivido el RAID desde nuestro lado. Pues vamos a ello.

En primer lugar, lo más obvio, las cotas de workunits calculadas sobrepasaron cualquier medida que yo conozca. El RAID se merendó centenas de miles de simulaciones de materiales. Recuerdo desde aquí que una simulación de materiales consta de varias workunits (entre 3 y 10, dependiendo de la L, a más L más workunits por simulación). Particularmente, a finales de octubre nos quedamos sin trabajo y a poco no levantamos cabeza. Con la compilación retrasada, las workunits para Windows iban bastante justas.

Los servidores estuvieron saturados en más de una ocasión. Sobre todo, el servidor que envía workunits tenía momentos en que le llegaban más peticiones de trabajo de las que podía manejar simultaneamente. Algo que normalmente sólo ocurre a veces cuando se lanza una nueva aplicación.

Gracias a todos por la gran cantidad de cálculo aportada.

 

Pequeño corte el próximo miércoles a las 10 AM

El próximo miércoles día 27 de Noviembre a las 10:00 AM hay un apagón de mantenimiento. Debiera durar unos 15 minutos.

EDIT: Perdon. :P Quería decir el próximo miércoles 3 de Diciembre.

Nanoluz ya no es beta

Este anuncio llega un poco tarde para aquellos que estuvieron pendientes de su cliente boinc. Ayer a última hora se dio luz verde a la aplicación de nanoluz para lanzarla en producción en Ibercivis. En los próximos días el CSIC (que la aplicación es de ellos) realizará algún comunicado oficial contando más cosas.

Muchas gracias a todos nuestros sufridores clientes que han soportado la aplicación mientras estaba en beta.

EDIT: A ver, que se me olvidan cosas de anunciar. Ayer pasé un script que ha unido automáticamente a la gente que tenía preferencias de aplicaciones configuradas a la nueva aplicación. La excepción ha sido aquellos usuarios con "venues", que si tienen varios perfiles prefiero no tocarlos.