Vuelvo al trabajo y me encuentro con que todos los rsync al servidor me petan. Vamos a ver.

Para que os hagáis una idea, estoy trabajando con un subconjunto mínimo (menos del 1 por mil) del genoma humano, de los cuales escojo una serie de descriptores numéricos que luego he de analizar, buscando correlaciones y posibles formas para agruparlos “a ciegas”.

Yo sabía que estaba trabajando con un huevo de ficheros, pero como lo gestiono todo con scripts, tampoco me había molestado nunca en mirar cuántos hay. Hasta hoy, claro. Al ver que petaba el rsync, he supuesto que quizá había demasiados ficheros, y o bien era un problema del NFS o del propio rsync, que no puede gestionar una lista tan grande.

Podría decirse que mi ordenador es bastante potente para ser una workstation, y tengo el linux más o menos optimizado. Pero, ¿quién le iba a decir a Hans Reiser que yo iba a poner al límite su sistema de ficheros?

Un ejemplo: dos carpetas de datos, de las varias que tengo en el ordenador.

Sí, son carpetas que contienen millones de ficheros

Y este es el motivo por el que algunos cálculos no se pueden realizar en un computador, ni en mil millones de Marenostrums. Si ya es difícil descubrir algunos modelos de datos, peor es no poderlos aplicar por falta de potencia de cálculo.

Es como vivir en otro mundo; uno cree que Linux es lo más avanzado técnicamente, y se pregunta por qué la gente paga para usar Oracles, SGIs y cosas así. Luego te encuentras con cosas como esta, y se te caen los cojoncillos al suelo.

Si aún no entendéis la magnitud del problema, intentad cruzar un millón de ficheros, todos contra todos. No un millón de elementos, sino un millón de ficheros de cien elementos cada uno. ¿Ya? Bien; ahora tened en cuenta que este proyecto usa sólo la milésima parte del genoma humano y sólo un subconjunto de descriptores disponibles. Y esto es el trabajo de UNA persona. Multiplicadlo por unas cincuenta personas que hay en el laboratorio. Uuuuuffff… y sólo hablo de mi oficina.

Gente de arquitectura de computadores, ponéos las pilas e inventad algo nuevo, como escalabilidad para millones de máquinas en O(1) ;)