El día que la lié parda (por primera vez)

Esta semana ha sido especialmente dura en el CERN.

Un campus que alberga una serie de experimentos tan complejos no puede escaparse de los problemas técnicos. Sobre todo cuando dependes tantísimo de la técnica. A estas alturas muchos habréis oído la historia del pájaro y la baguette. Esta semana nuestras instalaciones han sufrido un nuevo corte eléctrico, el cual ha afectado a un gran número de componentes clave en el funcionamiento de la investigación.

En lo que a mí respecta, ha supuesto algo más que un apagón durante la noche…

Colectores de datos

Parte de mi trabajo consiste en estudiar, diseñar y mejorar algunos de los colectores de datos que facilitan la vida a los físicos. Un colector no es más que un programa encargado de recoger datos de diferentes fuentes, procesarlos de alguna manera, y volverlos a guardar de forma centralizada para su uso posterior.

LCG

El LHC Computing Grid es la red de computación del CERN. Es decir, la malla de ordenadores que procesan de manera conjunta los datos generados por el LHC.

El flujo de datos proveniente de los experimentos del CERN (esto es ATLAS, CMS, ALICE y LHCb) es de hasta 300Gb/s. Esta ingente cantidad de información es filtrada hasta su milésima parte, la cual es transmitida al LCG para su procesado. Esto se traduce en 27TB al día, o 10-15 PB al año (así a ojo, unos cuatro mil millones de canciones).

computer center @CERN

una nave llena de ordenadores forma el centro de cálculo. (© CERN 2009)

Evidentemente, el CERN no concentra toda la potencia de cálculo necesaria en un mismo lugar. El LCG se distribuye alrededor de todo el mundo en los denominados Tiers. El Tier-0 es el centro de cálculo del CERN, el cual envía  los datos al resto de sitios en una jerarquía de 4 niveles.

No resulta complicado entender que esta infraestructura es sumamente compleja, además de esencial para los experimentos. Es necesario mucho trabajo para su funcionamiento, tanto en su tecnología como en su cometido. En el CERN, casi un centenar de personas trabajamos en colaboración con otras entidades para hacer esto posible.

CMS y SSB

Como probablemente sabéis, CMS (Compact Muon Solenoid) (sitio oficial) es uno de los cuatro experimentos principales que rodean el LHC. Es un detector de partículas de carácter general. Como decía el rap del LHC, looking for whatever new particles they can find.

una de las gráficas de SSB

una de las gráficas de SSB

SSB (Site Status Board) es la aplicación del LCG que utilizan los responsables de CMS para comprobar que toda la infraestructura de cálculo y almacenamiento de datos del experimento funciona correctamente. Entre otras cosas, en SSB analizamos el rendimiento de los diferentes servidores repartidos en las organizaciones pertenecientes a cada Tiers.

El problema

En informática es una práctica común desarrollar las aplicaciones en un entorno aislado del oficial o en producción. Esto permite comprobar que el desarrollo no contiene fallos antes de liberarlo. Como es normal, SSB se realiza bajo un entorno de desarrollo, el cual es verificado por los responsables de CMS.

Por desgracia, los entornos de desarrollo y producción de SSB no estaban completamente aislados. Concretamente, se mantienen aislados los servidores web, encargados de analizar los datos y mostrarlos al usuario; pero estos servidores comparten una misma base de datos, y en definitiva, una serie de colectores.

Atando cabos podemos deducir que no es posible desarrollar de manera segura los colectores de datos (¡o resulta muy difícil!), pues el entorno de desarrollo está conectado a la base de datos de producción.

La semana pasada surgieron, como de costumbre, ciertos errores en SSB. A pesar de que es normal recibir unos cuantos informes de mal funcionamiento, no tuvimos mucha suerte al descubrir fallos relativamente severos en un momento en el que el responsable de SSB no estaba disponible.

fallos en el control de sitios bajo mantenimiento

fallos en el control de sitios bajo mantenimiento

La urgencia de arreglar estos fallos me puso en una mala situación. El responsable indisponible, y mi sección presionada para arreglar esos fallos cuanto antes. Mi jefa tuvo que pedirme que echara un vistazo e intentara arreglar los problemas… y así lo hice. Arreglé los bugs que nos habían reportado y pedí a los responsables de CMS que verificaran el estado de la aplicación modificada. Estos dieron el visto bueno y nos quedamos todos tranquilos.

¿Dónde está el truco? Por supuesto, un estudiante no debe nunca actualizar un servidor de producción. Consciente de esto, realicé los cambios en el servidor de desarrollo, a espera de que el responsable propagase la actualización a producción en cuanto pudiera. No actualicé el servidor de producción, pero actualicé involuntariamente los colectores de datos. Es decir, puse colectores todavía en desarrollo, de los cuales no había comprobado su validez, en el servidor.

Resulta que debido una mala gestión de la aplicación, los colectores de datos oficiales funcionan bajo el servidor de desarrollo. En esencia no es relevante, puesto que los dos servidores comparten la base de datos oficial. Por supuesto esto, sumado a mi ignorancia y descuido en la actualización, provocó una serie de problemas graves.

Tras el corte de luz se reinició el servidor de desarrollo, cargando los colectores modificados que había situado allí por error. Estos colectores no estaban preparados para funcionar en producción, por lo que empezaron a introducir datos incoherentes en la base de datos oficial. Datos incorrectos significa gráficas incorrectas, y sin gráficas los investigadores son incapaces de controlar el progreso de los experimentos.

Desenlace

El descontrol que había causado generó una serie de emails severos, un par de confrontaciones entre los desarrolladores afectados, y un montón de estrés tanto para CMS como para nosotros.

Afortunadamente, la solución fue rápida y al final del día pudimos dejar todo como estaba. El responsable limpió la base de datos y restableció los colectores correctos. El trabajo se centra ahora en arreglar de una vez por todas el aislamiento de los entornos, para que estudiantes como yo podamos fastidiarla de manera controlada.

Espero que hayan aprendido a no poner a un estudiante en una situación tan delicada, sin tomar las medidas de contención necesarias. Por su parte, yo he aprendido un montón de cosas tanto de la aplicación como de su organización. También he aprendido a tener cuidado incluso cuando trabajo con un entorno de desarrollo… y por último, he aprendido lo que es trabajar en investigación, con un sistema crítico y una cantidad de estrés que tardaré varios días en liberar.

3 Diciembre 2009
ernie 3 Diciembre 2009 (22.44h) _#1

Qué gran rap ese del LHC…

Me alegro de que al final no haya habido consecuencias graves para ti =). ¡Pero ojo por donde pisas! Jeje.

Un abrazo!

Fry 3 Diciembre 2009 (22.45h) _#2

Y una vez más el destino se interpone a la hora de encontrar el Bosón de Higgs…

Jaco 3 Diciembre 2009 (23.59h) _#3

Si bueno… el destino XD

Manu 4 Diciembre 2009 (0.36h) _#4

menos mal que has puesto las graficas para que todo quede claro! :P
vaya movidas! veo que estas muy en el meollo del LHC para que te metan en una situacion tan comprometida y con responsabilidades tan grandes, que crack! ánimooo

carmelitas descalzas 4 Diciembre 2009 (9.07h) _#5

Se acaba de ir tu padre. Hemos comentado tu página. Todas te mandamos un beso muy fuerte. Lucas ¡precioso en la fotografía!. Suplicamos a Dios por ti para que en medio de tu actividad siempre te mantengas junto a El.Un abrazo de todas las hermanas.

Cuevas 4 Diciembre 2009 (9.49h) _#6

Bueno, hasta que llegues al nivel de la cagada de andreu, que por su culpa no llegaron las nóminas de los trabajadores del CERN… :P .

Jaco 4 Diciembre 2009 (10.08h) _#7

jajajaja, Cuevas, eso no me lo ha contado!

Ya sabía yo que las gráficas te lo iban a aclarar todo Manu… jeje. En serio, ¿quieres que explique algo más? Cuando esté todo un poco más en calma escribiré sobre el trabajo que sí hago bien, ¡que no es poco! :)

Hermanas Carmelitas, ¡gracias por sus buenos deseos!

xuzo 4 Diciembre 2009 (10.16h) _#8

Vamos que al final la culpa es de los señores del LHC y tu solo has sido empujado a hacer el mal no? xDDD

En fin… bueno, ahora que no te han echado ya nos podremos reír a gusto del tema y usarlo de arma arrojadiza para siempre :P

Fran 4 Diciembre 2009 (11.07h) _#9

Ey la imagen de la nave llena de ordenadores se parece a la sala de Resident Evil!!! Yo no me acercaría mucho allí.

http://www.youtube.com/watch?v=iXgsCPFhSgc

ernie 4 Diciembre 2009 (11.26h) _#10

Uno de los mejores WTF?! últimamente

manolo_elmas 4 Diciembre 2009 (17.16h) _#11

Que quieres que te diga….
La Ciencia es la única manera de obtener conocimiento, se autoregula y se autocalifica, se autocorrige… porque los científicos son humanos y cometen fallos. Gracias a esos fallos, y a sus correcciones, es porque avanzamos. Ni más ni menos.
Y por los santos cojones de reconocer los errores. Olé tus huevos, chaval!
Un abrazo… y un par de litros de tila tampoco te harían mal :P

Jaco 4 Diciembre 2009 (17.33h) _#12

@xuzo ya claro, como si no te hubieras reído de la otra manera :P Yo he reconocido mi parte de culpa, pero ellos también tiene la suya!

@manolo_elmas jeje, gracias por los ánimos. Fue un día un poco duro, pero ahora ya todo ha vuelto a la normalidad =)

indio 5 Diciembre 2009 (2.58h) _#13

Aaaaay! Si es que por mucho interfaz limpio y la capa externa modificada, el kernel sigue intacto!

*Fuckowski

xDD

Ánimo Jack, piensa que cagarla era lo esperable en un alumno, si lo llegas a arreglar tú sólo deberian estar pagándote más que el sueldo de un estudiante man.

Ya nos lo contarás mejor, jejeje.

indio 11 Diciembre 2009 (1.40h) _#14

Bueno qué? Se ha solucionado el tema? Ya cagas duro?

Jaco 11 Diciembre 2009 (14.48h) _#15

Jaja, qué faba. Quedó solucionado el mismo día. Resulta que al final me atribuí más culpa de la que tocaba: acababan de migrar el servidor de bbdd, y un montón de aplicaciones se colgaron por eso y no por mi culpa.

De todas formas ayer tuve la reunión con el CMS y parece ser que todo está en su cauce correcto. ¡El trabajo venidero será interesante!

Que ya lo contaré mejor, diu XD ¡con el pedazo de post que me curré!

goshi 16 Diciembre 2009 (2.06h) _#16

Es la primera vez que leo cosas que se escapan, ya no de mi entendimiento sino de mí.
Un abrazo.