Software libre y web 2.0 en
el Grid
Índice
Algo sobre mí
¿Qué es el CERN?
¿Qué es el Grid?
¿Qué es DMS?
Software libre y web 2.0 en el Grid
Algo sobre mí
Ingeniería Técnica en Informática de Gestión (2003 – 2007)
Ingeniería Informática (2007 – 2010)
➔ CERN Openlab Summer Student (verano de 2008)
Profesor asociado en la UCA (febrero – julio 2009)
CERN Technical Student (agosto 2009 – septiembre 2010)
CERN User (octubre – noviembre 2010)
CERN Fellow (diciembre 2010 - ??)
Colaboré durante un tiempo con QtOctave
CERN
Organización Europea para la Investigación Nuclear
➔ Orientado a la física de partículas
Situado cerca de Ginebra, sobre la frontera entre Francia
y Suiza
Se fundó en 1954, tiene 20 estados miembros y 2.600
trabajadores en plantilla
➔ Sin contar personal asociado y/o temporal (¿~8000?)
La WWW fue creada por Tim Berners-Lee cuando
trabajaba aquí
➔ En el centro de cálculo puede verse el primer servidor HTTP (una computadora NeXT)
CERN
Muy popular recientemente debido al LHC (Large
Hadron Collider)
Aunque es el principal y mayor experimento, no es el
único
Lógicamente es necesaria una importante infraestructura
informática para controlar estas instalaciones, y procesar
y almacenar los datos generados
➔ Además de una gran cantidad de servicios paralelos de documentación, personal, etc.
CERN
Organizado por departamentos / grupos / secciones
Hay ocho departamentos
➔ PH (Física), IT (Tecnologías de la Información), BE (Beams), TE (Tecnología), EN (Ingeniería), HR (Recursos Humanos), FP (Finanzas) y GS (Servicios Generales)
Cada departamento está dividido en grupos
➔ IT tiene diez
Y cada grupo, en secciones (De dos a seis)
Para ingenieros [técnicos] informáticos hay plazas en
cualquiera, salvo HR y FP posiblemente
Los aceleradores
LINAC (LINeal Accelerator)
➔ 1/3 C
Proton Synchroton Booster
➔ 91.6% C
Proton Synchroton
➔ 99.9% C
➔ 25 veces más pesados que en reposo
Super-proton Synchroton
Large Hadron Collider (27 km de circunferencia)
➔ 11.000 rps
¿Qué esperan encontrar?
Solucionar, o aproximarse, a algunas preguntas sin respuesta en la
física moderna
➔ Bosón de Higgs
✔ Mantiene el modelo estándar matemáticamente consistente, pero no hay
pruebas de su existencia
➔ La debilidad de la fuerza gravitatoria ➔ Monopolos magnéticos
➔ Decaimiento del protón
➔ Unificación de las cuatro fuerzas principales
✔ Electromagnética, nuclear fuerte, nuclear débil, gravitatoria
➔ Desequilibrio entre materia y antimateria
➔ Existencia de dimensiones extra (¿cuántas?) ➔ Y más
✔ Cromodinámica cuántica, isla de estabilidad, vacío cuántico, dimensiones
Motivación
Sólo el LHC produce una salida de 300 GB/s,
reduciéndose a “sólo” 300 MB/s tras un filtrado
➔ Se estima que se llegarán a producir 27 TB de datos por día
Todos esos datos necesitan ser almacenados y
procesados
➔ Además de ser accesibles desde cualquier punto del planeta
La idea detrás del “Grid computing” es tener una malla
como con la red eléctrica
➔ Da igual de dónde viene la electricidad, lo importante es tenerla cuando te conectas
Grid Computing
Compartición de recursos distribuidos
➔ Acceso a mayor capacidad de cálculo, software y hardware remoto...
➔ Los recursos son propiedad de diferentes grupos y/o organizaciones
✔ Diferente software, políticas de seguridad, de acceso
➔ La confianza también es importante
✔ ¿Puedes fiarte de a dónde van tus trabajos?
✔ ¿Puedes fiarte de los trabajos que estás ejecutando?
➔ Se emplean Organizaciones Virtuales (VO) como método de agrupamiento
Grid Computing
Seguridad➔ Políticas de acceso, autenticación, autorización ➔ Esta información, además, es muy dinámica
✔ La gente entra y sale de las VO continuamente Uso de recursos
➔ Gracias al grid puede repartirse un trabajo entre varios recursos
✔ Es más rápido procesar 1000 elementos en 100 ordenadores que en uno
➔ Un software llamado middleware se encarga de realizar la asignación de
trabajos
Distancias
➔ En los últimos 15 años el rendimiento de las WAN ha aumentado unas
3000 veces
➔ Esto hace posible usar ordenadores situados en Australia desde España
Grid Computing
Estándares abiertos
➔ No hay un único grid, sino varios, por lo que la estandarización es importante para permitir la interacción
✔ gLite, GridWay, UNICORE, Globus Toolkit, BOINC, Sun Grid
Engine,...
Open Grid Forum es una comunidad que dirige la
evolución del grid
Algunos estándares
➔ GLUE: atechnology-agnostic information model for a uniform representation of Grid resources
➔ GSI: Grid Security Infraestructure
Grid Computing
Se distinguen cuatro capas
➔ La capa de red (LAN / WAN)
➔ La capa de recursos (sistemas de almacenamiento, trabajo,...)
✔ Diferente tipos de hardware
➔ El middleware
✔ “Uniforma” los recursos
➔ Capa de aplicación
Middleware
Está compuesto por varias piezas de software
➔ En lugar de tener un gigantesco programa monolítico, se tienen distintos componentes más pequeños que interactúan entre ellos
Actúa como una capa entre la aplicación y los recursos
➔ Abstrae “detalles” como sistema operativo
➔ Básicamente proporciona el medio para que unas aplicaciones se comuniquen con otras
También reduce los problemas de interoperabilidad
➔ Ejemplo: distintas bases de datos
Puede verse como un “metasistema”
gLite
Es el middleware usado por los experimentos del LHC Financiado por iniciativas europeas
➔ EGEE, EGI
Usado en 250 centros
Se pueden distinguir siete elementos
➔ Seguridad
✔ Usando VOs
➔ Interfaz (UI)
➔ Elemento de computación (CE) ➔ Elemento de almacenamiento (SE) ➔ Servicio de Información (IS)
¿Qué es DMS?
¿Qué es DMS?
Data Management Systems
Es
una
de
las
secciones
responsables
del
almacenamiento de los datos y de su réplica
➔ DPM: Disk Pool Manager (Almacenamiento) ➔ LFC: LCG File Catalog (Catálogo de ficheros) ➔ FTS: File Transfer System (Transferencia)
Más las APIs necesarias para usarlo (C y Python)
¿Qué es DMS?
Un SE permite almacenar/recuperar datos (archivos)
DMS proporciona servicios de localización, acceso y transferencia
➔ El usuario no necesita saber dónde está, sólo el nombre lógico ➔ Además, esos archivos pueden estar replicados
Los archivos sólo se escriben una vez
➔ Salvo que se eliminen
Tipos de SE
➔ dCache: Un punto de acceso, múltiples nodos
➔ CASTOR: Almacenamiento en cintas, con buffer de discos ➔ DPM: Max 10 TB, basado en discos sólo
SRM (Storage Resource Manager) proporciona una interfaz unificada
¿Qué es DMS?
Un archivo puede identificarse de cuatro formas
➔ Grid Unique Identifier (GUID)
✔ guid:8ea95210-32cd-4814-8a28-6151e489738a
➔ Logical File Name (LFC)
¿Qué es DMS?
Storage URL (SURL) o Physical File Name (PFN)
➔ Localización física de un fichero
➔ srm://node01.serv.es/dpm/home/dteam/project/test.dat
Transport URL (TURL)
➔ URI con toda la información necesaria para acceder al fichero (incluyendo el protocolo)
¿Qué es DMS?
LFC (LCG File Catalog [LHC Compute Grid {Large
Hadron Collider}])
➔ Mantiene el mapeo entre nombres lógicos y réplicas ➔ Es un único catálogo donde el LFC es la clave
Software libre y Web 2.0 en el
Grid
Software libre en el Grid
Todo el software relacionado con el Grid es software libre
➔ Licencia Apache2
gLite es desarrollado por personal de 12 instituciones
académicas diferentes
➔ Proyecto europeo (EGEE / EMI)
✔ CESGA y CSIC en España
Usado por 250 centros de investigación, universidades y
compañias privadas
Todos los servicios se ejecutan sobre Scientific Linux
➔ SL es una distribución basada en Red Had Enterprise Linux, mantenida por Fermilab y CERN
Software libre en el Grid
También los servicios externos usados son o se basan en software libre
ETICS (eInfrastructure for Testing, Integration and Configuration of Software)
➔ Herramienta para controlar el ciclo de vida del software de forma distribuida ➔ Completamente basado en software libre
✔ Apache Tomcat, MySQL, Condor
Savannah
➔ Control de bugs y parches principalmente
Trac
➔ De uso interno para las secciones: tickets, milestones, wiki
Twiki
➔ Documentación, informes
Control de versiones
➔ CVS, Subversion
¿Por qué software libre?
Es la única opción lógica para el CERN
➔ Prácticamente toda la información y tecnología generada en el
CERN es de dominio público ✔ La WWW es un ejemplo claro
➔ Al fin y al cabo es una institución cuya finalidad última es el
conocimiento ✔ No el beneficio
Eso explica por qué es libre lo que genera ¿Pero por qué lo usa?
➔ ¿Calidad, fiabilidad, estabilidad? Claro, pero... ➔ La libertad es un punto clave
✔ ¿Cómo si no adaptas un sistema operativo a las necesidades específicas de un acelerador...
¿Por qué software libre?
En definitiva: porque el [software] libre permite un flujo de
conocimiento y tecnología que el software privativo no
permite
➔ Flujo que dinamiza la creación de tecnología, y más
conocimiento
➔ Lo que no se le ocurre al CERN puede que se le ocurra al
Fermilab
✔ A partir de una idea que tuvo el CERN
Porque una vez un tipo llamado Faraday publicó algo que
llevó a Planck a decir otra cosa que Einstein interpretó
Y ninguno pidió royalties porque el conocimiento era
suyo y nada más que suyo
➔ El mero hecho de “poseer” una idea es discutible
¿Por qué software libre?
Otro punto igual de importante, sino más, es que la
información generada, procesada y almacenada debe
ser accesible por cualquiera en cualquier momento en
cualquier lugar, además de la interoperabilidad
➔ Estándares abiertos
➔ No puedes atar la información a un formato cerrado que sólo una empresa puede implementar
✔ Y algún día abandonar
Especialmente cuando hablamos de almacenamiento a
Web 2.0 en el Grid
Según la Wikipedia
“[...] basado en la interacción que se logra a partir de diferentes aplicaciones en la web, que facilitan el compartir información, la interoperabilidad, el diseño centrado en el usuario, y la colaboración en la World Wide Web”
Veamos, como hemos visto antes en el Grid tenemos
➔ Aplicaciones en la web (Savannah, TWiki, ETICS,...)
➔ Que facilitan compartir información entre multitud de instituciones, ➔ y la colaboración entre ellas
Definitivamente se emplea el concepto definido como “web 2.0”
➔ De hecho, todo el proceso del ciclo de vida del software se controla
Web 2.0 en el Grid
TWiki / MediaWiki / Otras wikis
➔ Con diferencia es el recurso más empleado
✔ Casi cada sitio tiene la suya
ETICS
➔ Permite que un equipo en Italia saque una nueva versión de su componente
➔ Mientras que otro equipo en el Reino Unido saque un parche para un bug
➔ Y en el CERN todo se pone junto para una nueva versión de gLite
Web 2.0 en el Grid
Savannah
➔ Es un sistema colaborativo para controlar el desarrollo de proyectos software
➔ Se emplea de forma interna al proyecto
✔ Los usuarios primero deben mandar los informes de error a
GGUS (Global Grid User Support)
➔ Aunque prácticamente sólo se usa la capacidad de bug tracking y publicación de parches
Web 2.0 en el Grid
Se emplean otras muchas herramientas web 2.0 que no
están directamente relacionadas con gLite
➔ Indico es una completa herramienta para eventos
✔ Permite reservar la habitación, almacenar la documentación,
los metadatos de los eventos, web del evento, formularios de registro, pago en línea...
Conclusiones
Instituciones como el CERN buscan responder a muchas
preguntas científicas
➔ Todo el software que desarrollan es libre por la propia naturaleza del sitio
➔ La mayor parte del software de terceros es también libre
La web 2.0 no es sólo un fenómeno social y de ocio
➔ También es una herramienta de trabajo útil en instituciones académicas
✔ Facilita la divulgación y la comunicación ✔ Agiliza el proceso
Referencias
GridCafé
gLite User Guide
gLite Data Management System
➔ Leandro Neumann Ciuffo (Istituto Nazionale di Fisica Nucleare)