LHC Articulo sobre Gran Colisionador de Hadrones

pidgeon

Se que ya se ha hablado largo y tendido sobre el en este foro, pero nunca me ha terminado de quedar claro mucho de lo que hablabamos, como era exactamente o sus fines y objetivos. Hace unos dias vi este extenso artículo, viene con graficos, fotos y explicaciones muy buenas, interesantes y sencillas.

Aqui os lo dejo se que para muchos que no estaban del todo puestos en el tema les va a servir de mucha ayuda RECOMIENDO SOBRE TODO ESCUCHAR LA ENTREVISTA A ALVARO DE RUJULA el tio se explica de p... madre y no solo sobre el LHC tb sobre otros temas del universo.

http://www.muyinteresante.es/rcs/minisites/2009/lhc/index.html

PD: mth tu conoces al Álvaro de Rújula ese?? no serás tú?

iLoGik_LSD

Joder que currao, muchas gracias.

mTh

#1

Sí le conozco sí.

Era uno de los peces gordos de la división teórica del CERN y ahora tiene un puesto en mi departamento (Como asesor de noseque leches), que básicamente significa que la gente le va a contar sus movidas y él les manda a freir esparragos xDDD.

Tiene un poco de mala hostia a veces, pero es un crack.

Cuentan las malas lenguas, que un día en una presentación de un tio muy importante, estaba Alvaro de rújula en la sala y cuando iba por mitad de su explicación, este se levanta y dice con una mala baba tremenda Todo lo que acabas de hacer esta mal y sin aclarar nada más ni esperar contestación, sale por la puerta xD.

Panch

Pero tenia razon el tal Alvaro ? xDD Xq si no...

reci0

Solo por hacer eso ya se merece nuestro respeto y admiración.

Panch

Mola el articulito, lo de los haces de protones tela, es realmente posible q se desvien y agujereen la maquina ? xD

X cierto alguien sabe algo sobre "Grid" ?

eVeL

Yo si no abre T-1000 el post no me lo leo

mTh

#6

Con internet compartes información, y bajo ciertas condiciones, computación.

GRID es extender ese concepto para compartir información, computación y espacio de disco.

Básicamente es que tú utilizas toda la serie de ordenadores que estan conectados a la GRID como un solo ordenador, tu programa va a donde estan los datos, y corre en ese elemento de computación (Que normalmente no es solo una máquina, sino una granja).

Tu, como usuario, solo entras en la grid y "lanzas" tu programa. No sabes donde estan los datos input y no te importa, el sistema lo gestiona él solito y te indica donde ha almacenado tu output al terminar de correr para que puedas recuperarlo.

También puede dividir tu trabajo entre diversas localizaciones del input porque este esta replicado siguiendo unos patrones particulares que dependen del uso y de más cosas..... con lo que consigues cierto grado de paralelización.

No es paralelización en el sentido estricto, solo que puedes, por una parte aprovechar varios nucleos de una granja si tienen acceso al mismo elemento de almacenamiento y por otra parte, si tu input esta distribuido entre varios elementos, pues en cada lado puedes correr al mismo tiempo.

De esta manera se minimiza el movimiento de datos (Que es el principal reto del LHC por la increible cantidad de los mismos) y se centraliza todo el proceso de replicación, procesamiento y escritura , que por cierto, va por un sistema de Tiers, o de arbol como prefirais, porque si no, eso no hay dios que lo maneje.

Yo trabajo en ella constantemente.... y bueno, hay días que me parece la panacea y hay veces que me cago en su madre xDDD.

jmdw12

Basicamente los procesos se hacen en todos los ordenadores a la vez, en vez de solo en el tuyo o no me he enterado de nada?

mTh

#9

No.

Normalmente sueles correr en un sitio solo (Que puede ser una granja, un cluster, o lo que sea que tenga tu input) , a menos que tu input sea una bestialidad de grande y este muy fragmentado (Cosa que no es nada normal).

Lo que ocurre, es que no sabes donde va a correr, tu lo mandas y él te lo manda al elemento que este libre en ese momento y tenga acceso a los datos, que a lo mejor esta en tumbuctu.

No es un sistema orientado a paralelizar y conseguir computación más rápida, sino a manejar el flujo de datos tan bestia del LHC y el acceso a él.

Pero vamos, en la práctica si que sueles correr en más de un nucleo a la vez, porque suele subdividir los programas una vez dentro de la granja a la que te lo ha mandado...... pero es un número aceptable (40 corro yo habitualmente), no monstruoso.

De todas maneras, yo solo se GRID a nivel de usuario, osea, nunca me "han" explicado que es la GRID xDDD, yo esto es lo que entiendo yo que estoy haciendo, así que si hay algun experto que me corrija :).

P.D: En realidad, como haya algun experto le voy a hacer tal bateria de preguntas sobre cosas que no se hacer, aun, en GRID, que más le valdría haberse quedao calladito xD.

reci0

Grid = BOINC?.
Yo llevo mas de un año y pico con SETI, Rosetta y uno español.

Panch

Joder la explicacion esta me recuerda muxo a un supuesto SO q tenia en mente google q era como un SO "online" xD

Zerokkk

Ya lo había visto, está interesante xD. Aunque de todas formas sigo sin entender por qué dicen que es "una máquina del tiempo que recreará las condiciones físicas de trillonésimas de segundo después del big bang" cuando no es más que una máquina que hace chocar dos protones a una inmensa velocidad para que las partículas que contiene colisionen entre sí y salgan disparadas y separadas las unas de las otras para poderlas detectar, o que dejen un rastro estudiable.

mTh

#11

Que yo sepa Boinc solo comparte computación, no disco..... la cosa de la grid es sobre todo el asunto de como se distribuye el flujo de datos del CERN entre los distintos tier y el tipo de acceso a cada uno de ellos. Es realmente lo vital y lo novedoso.

No son "todos los ordenadores del mundo", si no una red jerarquizada de instituciones científicas.

Por ejemplo. CERN es Tier 0, y alli no se corre nada, y se almacenan los datos Raw (algunos) y una copia de muchas otras cosas.

Tier 1 es por ejemplo BNL, y en españa, el PIC en barcelona..... y de cada tier-1 depende una nube de instituciones que es donde realmente corre el usuario (que son Tier-2), como son la UAM, el IFIC, el IFAE (La nube española y portuguesa por ejemplo).... y dentro de esas instituciones tu tienes un cluster GRID montado que es donde corren las cosas de la grid.....

En realidad es una cosa bastante específica, no es un concepto tan abstracto como "internet".

#13

Cuando dos partículas elementales chocan, no debes entenderlo como algo clásico, de "bolitas" que rebotan y se separan....

Si no, por ejemplo, sería imposible trabajar con colisionadores de electrones-positrones..... puesto que siempre acabarías con electrones y positrones.

Cuando dos partículas elementales se aniquilan (o interaccionan por medio de cualquier otra interacción posible en el modelo standard, que no tiene porque ser una aniquilación) salen partículas completamente nuevas que no estaban presentes antes.

El Higgs no es que este dentro del proton, es que hay un cierto tipo de interacción que es posible que de un Higgs partiendo de quarks y gluones (Que es lo que sí tienes en el proton).

Videal

#9

mTh, no soy experto pero según tenía entendido grid es una tecnologia. Quizá en vuestro caso llamaís "Grid" a un cluster del CNR.

El grid está pensado básicamente para compartir recursos y paralelizar tareas, en todos los sentidos. Hay algunos que solo comparten espacio, otros conexion, otros ciclos de procesador... y otros todo.

Está muy de moda ahora mismo porque siempre ha habído un conjunto de estudios que eran inviables de hacer debido al gran tamaño de calculos/espacio necesarios. Hacerlo secuencialmente era imposible porque se podia tardar años, pero si partes el problema en trozos pequeños y envias cada parte a un pc diferente, lo que tardaría años lo calculas en un dia. El problema es que no todos los "problemas" se pueden partir y además creas un pequeño overhead al tener que dividir y unir todas las partes del problema.

Seguramente hayais escuchado hablar algo sobre un programa que te lo descargas en tu pc y ayudas a descubrir el ADN (creo que era eso :S), ese sería un ejemplo de grid computing. Hace poco salio también que habían descubierto como descodficar las llamadas de telefono de la red GSM (creo que era), hasta ahora era imposible porque descifrar eso requeria tener un pc funcionando durante años. Gente de una universidad alemana, junto con americanos y creo que también rusos, haciendo uso de esta tecnlogia, lo descifraron en mucho menos tiempo.

Lo que tu describes en tu texto yo lo conozco como "cluster". La diferencia, según creo, radica en que el cluster no divide el problema. Es decir es como si tuvieras 100 pcs juntos y uno de ellos te hiciera de gestor. Tu le irias enviando, por ejemplo simulaciones, y el te las iria enviando cada una de ellas a los pc's libres. Pero digamos que no puede hacer la parte inicial de una simulación en un pc y la parte final en otro pc, pero si que puedes hacer 100 simulaciones a la vez.

En cambio el grid computíng sería, tu envias un problema donde, por ejemplo, se tiene que calcular 5 + 6 + 8 + 9 + 9 + 9, el gestor lo que podría hacer entonces es dividir el problema en 3 sumas (5+6, 8+9, 9+9) y enviar cada suma a un pc diferente. Luego recoger sus resultados y volver a lanzar una última suma (11+17+18). Por eso creo que el gestor es dependiente del problema que debe resolver.

De todas formas no estoy 100% seguro de que todo esto se así, pero eso tengo yo entendido :)
Quizá el cluster sea un caso sencillo del grid computing.

mTh

#15

NINJA EDITADO:

En realidad, despues de pensarlo un poco, la GRID no es más que un cluster "más global" con muchas herramientras detras y organizada de una manera muy particular......

Lo que tu has descrito no es más que una paralelización normal de un proceso.... para eso no necesitas grid, solo programación en paralelo y tres nucleos (uno para cada suma vamos). Y eso requiere programación especial, tu no puedes coger tu programa en c++ y decirle a tres nucleos "ale, paralelizármelo". O eso tengo entendido yo vamos, siempre que he usado cosas en paralelo (PROOF solo básicamente) he tenido que modificar de forma bastante sustancial mi código.

Lo que usamos nosotros como GRID (y es lo que se ha diseñado para el LHC) es:

-Sistema inteligente y jerarquizado de distribución y acceso de datos y elementos de computación entre las instituciones tipo arbol.

-Acceso "más o menos caja negra" para usuarios, el sistema escoge el solo donde corre tu job, que puede ser en un sitio (que puede ser un cluster de cálculo) o en varios sitios (que pueden ser el cluster de la autonoma y una granja de cálculo en DESY) dependiendo de tus preferencias y de lo que este disponible, y por supuesto, de donde esten tus datos xD.

Evidentemente, una vez que estas dentro de un cluster, si tienes que correr sobre 40 archivos, y el cluster tiene 40 nucleos.... te lo va a paralelizar (vamos, te lo va a dividir en 40 subjobs que correran a la vez).

De todas maneras, el problema para el LHC no es el poder de computación, el analisis de datos no es una tarea que requiera cálculos muy gordos, son tareas que consumen mucha RAM y hacen mucha lectura y escritura.... pero cpu poca poca (Por eso no hace falta paralelizar de verdad).

El problema, y para lo que se diseño todas las herramientas GRID es para el manejo de la ingente cantidad de datos y, sobre todo, minimizar y optimizar el movimiento de estos.

ukuki

En Redes decían que toda la información que generará esa colisión, guardada en discos de datos, se podría hacer con ellos una torre 3 veces más alta que el Everest. Y toda esa información en un destello, en una fracción microsegundo. No sabía que la tecnología fuese ya tan avanzada. Impresionante.

Acabo de tragarme toda la entrevista y me ha esclarecido mucho sobre el tema, es verdaderamente interesante aunque por más que afirmen que no hay riesgo sigo teniendo miedo de lo que se pueda detonar.

Panch

Alguno usabais la aplicacion aquella de SETI para la busqueda extraterrestre ? Algo asi es lo q describe #15. Evidentemente lo q describe mth es bastante mas complejo que eso q ya lleva inventado un monton de tiempo xD

B

#16 No esta hablando de programacion multinucleo, ha puesto el ejemplo de la suma y creo que lo entendistes mal.

Imagina que estas intentando sacar decimales del numero PI, la forma de dividirla en un cluster no es igual que programar un micro multicore, sino que lo que se hace es dejar el calculo de X decimales a cada nodo del cluster, y luego juntar esos resultados, el nodo que queda libre se vuelve a cargar con mas datos, y sigue el calculo, uno de los nodos es el que gestiona el proceso, unas veces dedicado (si el cluster es enorme) y otras haciendo tambien funciones de nodo ademas del server.

Si se programase como si fuese un micro multicore tendrias el problema de que los datos de sincronizacion entre nodos seria enorme, es mejor que trabajen de forma independiente, cada nodo tiene los datos necesarios, hace su trabajo, lo envia, y pide mas trabajo.

Videal

#18

El grid computing creo que empezó a mediados de los 90, así que también tiene su tiempo...

#19

Exacto, a eso me refería. Probablemente no haya buscado el mejor ejemplo, pero quería simplificarlo lo máximo para que quedara claro, pero me he debido pasar :) Son problemas que ejecutados secuencialmente tienen un alto coste pero tiene la propiedad de ser divididos en problemas mas pequeños y luego poder ser juntados, de manera que puedan ser paralelizaos.

Aun así, lo dicho, eso es lo que yo tengo entendido. Ahora estoy pensando y quizá los ejemplos que comento son casos especificos que hacen uso del grid computing y otro uso será al que se refiera mTh.

mTh

#19

Ya, ya se que la paralelización en cuando a multinucleos es distinta a la paralelización entre distintos ordenadores. Sin haber hecho gran uso de ninguna de las dos, pero vamos, se que son distintas.

Pero de nuevo, lo que tú estas describiendo es paralelización en un cluster, para eso no necesitas ni GRID ni nada, solo un cluster xD.

Lo que yo digo es que la GRID en sí no tiene nada que ver con paralelizar.

La grid es la red en sí que conecta un mogollón de clusters y granjas entre sí (de esta manera jerarquizada en arbol que os digo) y las herramientas de gestion de distribución de trabajo y de datos, no la tecnología (Lenguajes de programación o programas o lo que sea) que te permita paralelizar en esa red.

Yo muchas veces uso la GRID y corro en un solo nucleo (o pc) en un solo cluster en un solo sitio.

Estoy usando la GRID? sí.
Estoy paralelizando, ya sea a multicores o en distintos pcs? No.

A eso me refería.

Yo creo que el problema es que una cosa es el GRID computing, y otra cosa es la GRID xDDDD.

NIJA EDIT:

#20

Eso eso, la última frase es la clave xDDDD.

Usuarios habituales

  • mTh
  • Videal
  • Panch
  • ukuki
  • Zerokkk
  • reci0
  • eVeL