Clusters . . . clusters . . . clusters . . .

tux-clusterComo cierta persona muy odiada en la facultad dijiera «en Guatemala es dificil hacer ciencia» y son de las pocas cosas que le doy absoluta razón.

Al entrar a la universidad recuerdo que yo pensaba que la carrera de ciencias y sistemas tenia un enfoque más cientifico y menos comercial chirmol te preparamos como kaibil para trabajar. Sin embargo el area que más me ha gustado es la de las ciencias computacionales (la menos comercial 🙁 ), lo web no se me da muy bien, el analisis y diseño de software se me da por accidente y aunque mis resultados han sido más o menos buenos (ja si no pongo este parentesis el kreig me va a volver a decir engreido o peor aun, maquero xD) no es lo que me apasiona.

Compiladores y sistemas operativos fueron mis materias preferidas pero hay algo que siento que me falta, los sistemas de gran escala.

Durante la carrera el unico cluster que realice fue un cluster de alta disponibilidad que fue más o menos dificil de configurar pero eran configuraciones de servicios que por una u otra razón ya conocia y solo se le agrego lo de trabajar todos juntos.

Cuando era pequeño y miraba los articulos del discovery acerca de supercomputadoras, siempre me pregunte como le hacian para tener megaprocesadores y hasta que investigue del tema llegue a los clusters, el concepto magico de «la union hace la fuerza» nunca volvio a ser el mismo para mi.

En las ultimas de la carrera se nos pide que pensemos nuestro trabajo de graduación o ya de plano optemos por ser monkey code 6 meses y aprender lo duro que es producir software en la vida real, como igual trabajo de monkey code y ahi si me pagan :D, dedici que lo mio iba a ser investigar acerca de este tema y de paso graduarme ya sea haciendo examen privado despues o siendo monkey code por 3 meses.

Pero el problema fue ENFOCARLO, de primero iba a hacer un estudio de factibilidad para ver si en Guatemala puede existir investigación con clusters y si habian aplicaciones para soluciones de tal complejidad, pero despues de hablar con un par de personas vi que no era posible y que esa tesis hasta un ingeniero industrial la podía hacer porque ellos tienen más dotes estadisticos, además las investigaciones de la mayoria de instituciones son de tipo estadistico descriptivo sin experimentación avanzada. asi que FAIL.

Posteriormente frustrado y queriendo una galleta como el cookie monster, me eche ese maldito curso con 58 por no tener asesor de tesis, ni tener claro mi tema, fue de los pocos curso que perdi en la universidad (donde pocos <10) y me quede a 3 puntos de cerrar el més de mayo :(, pero algo de bueno tenia que tener.

Me inscribi en seminario de investigación esperando terminar lo más pronto y aunque no ha terminado el curso (como dicta la tradición sistemica en la USAC) fue lo mejor que pude hacer.

El ingeniero que para mi es de los mejores de la Universidad (o de los pocos buenos como lo quieran ver :P), nos hizo bastante hincapié en como realizar nuestras investigaciónes, que errores no cometer y en mi caso me ayudo a enfocar la investigación, entender el punto en que por muy malo que sea el resultado la investigación no se trata de ganar premios, se trata de intentarlo y si se logra o no al menos se contribuyo en algo.

Mi otra opción era «realizar algo en clusters HPC y paralelismo» sin embargo mi problema fue que no soy muy conocedor de otras disciplinas y pues nunca encontre una aplicación practica que yo entendiera a cabalidad y necesitara tanto poder de procesamiento, muy bien pude estudiar otra cosa pero regrese de mi nube y no creo que mis viejos estuvieran de acuerdo en mantenerme otros 5 años para estudiar otra ciencia (lo cual si me gustaria pero a modo de hobbie). Además ya me quiero graduar para olvidarme de la U aunque sea un rato.

Asi que pase una noche pensando que podía estudiar en la misma linea y llegue a la misma conclusión que me inspiro, los clusters de compilación los cuales he utilizado por años como usuario de Gentoo.

Aunque los clusters de compilación  no son exactamente aplicaciones dignas de un cluster Road Runner, entre mis lecturas de complejidad computacional, me di cuenta que tambien puede tener otro enfoque.

La complejidad computacional y los clusters no solo se trata de algoritmos fumados para describir como un cuerpo cae desde el incienso utilizando n variables donde n tiende a infinito, la complejidad computacional tambien viene dada por el tiempo y la memoria que una pc tarda en procesar la informacion, como en el caso de SETI uno de los mayores clusters, el cual no es un gran algoritmo que corre en todas las computadoras en paralelo con maquinas PVM o MPI, más bien son señales de radio que se analizan en cada una de las pc’s que se apuntan a formar el grid cuando estas estan disponibles y tal vez sepamos un dia cuando ET va a regresar a cobrarle regalias al Estiven Espilberg (capaz me demanda si pongo bien el nombre), EN ESTE PUNTO HABIA ENCONTRADO UN TEMA DE TESIS!!!.

En resumen, con este post inicio un estudio acerca de la complejidad computacional a la hora de procesar el código fuente con clusters distcc y clusters icecream los cuales podrían clasificarse como un grid HTC el cual difiere de los clusters de computo tradicionales enfocandose no en procesar grandes datos y algoritmos complicados como los HPC, más bien son clusters cuyo objetivo es ejecutar la mayor cantidad de tareas en el menor tiempo posible, y sobre todo existe cierta independencia entre las tareas individuales. Asi pues no me tengo que  preocupar porque la facultad de ingenieria deje de invertir en paletas y populismo para la compra de una red infiniband y otras como por ejemplo lo que hubiera sido mi cluster beowulf no tuviera hardware heterogeneo.

Entonces combino mis pasiones, clusters, software libre y Gentoo.

Tal ves parezca un poco sosa la investigación, a uno que otro le ha parecido (malditos!!!). Pero leyendo un par de tesis del tipo «vendiendo chicles en la nueva web 2.0» o «implementando una red  wi-fi para N institución» hecha por gente de sistemas, pues creo que no estoy tan mal. Además que es un estudio que esta a mi alcance y un poco fuera de lo comun. Por aca tendran un poco de mis reflexiones y cosas interesantes que encuentre en el camino.

Se agradecen comentarios, sacadas de madre, etc.

6 Replies to “Clusters . . . clusters . . . clusters . . .”

  1. Usando Firefox 3.0.7 Firefox 3.0.7 en Windows XP Windows XP

    La única aplicación aqui en guatemala que puede

    b. llenar los requerimientos de potencia computacional de tu experimento
    a. es facil de implementar
    c. existe un pequeño mercado para ella por si queres sacarle pisto 😉

    es una render farm

  2. Usando Internet Explorer 6.0 Internet Explorer 6.0 en Windows XP Windows XP

    Yo creo en que existe gente a la cual DIOS les da una inteligencia unica, inteligencia que es capaz de romper cualquier obstaculo y ala cual no tiene ningun impedimento. Existen personas que aun sin saber o sin tener ningun conocimiento sobre la rama de la tecnologia y computacion son capazes de resolver hasta el mas grande acertijo de la tecnologia y rama de la computacion.

  3. Usando Firefox 3.5.1 Firefox 3.5.1 en Mac OS X  10.5 Mac OS X 10.5

    Me pregunto ¿Quienes seran esas personas?, digo las que pueden resolver los acertijos. Tal vez Changoleon.

    Saludos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *