Limitaciones de clusters TEMA 4: Grid Computing Laboratorio de Arquitecturas Avanzadas de Computadores 5º de Ingeniería Superior de Informática 2008/09 Alberto Sánchez alberto.sanchez@urjc.es Marcos Novalbos marcos.novalbos@urjc.es Mantenimiento: La ampliación de un cluster es costosa en grandes tamaños. Es una solución escalable pero hasta que punto? Recursos infrautilizados: Los clusters son instalaciones dedicadas. Un organización típica tiene desperdicia millones de ciclos de computo en sus ordenadores personales. Siempre existe un problema mas grande LAAC 2008/09 2 Intranet Computing Problemas Intranet computing: 1. Opera dentro de una organización. 2. Opera sobre hardware diferente (arquitectura y prestaciones). 3. Aumenta la utilización de los recursos informáticos. 4. Mejora en aspectos de escalabilidad. 5. Simplifica la administración y el mantenimiento. 6. Ejemplos: SGE, Condor No es posible gestionar recursos fuera del dominio de administración: Algunas herramientas (Condor, SGE) permiten la colaboración entre diferentes departamentos asumiendo la misma estructura administrativa. No se cumple la política de seguridad o los procedimientos de gestión de recursos. Los protocolos y los interfaces, en algunos casos, no se basan en estándares abiertos.. ORGANIZATION LAAC 2008/09 3 LAAC 2008/09 4
Grid computing La computación grid permite el acceso a recursos computacionales geográficamente dispersos Tipos de recursos Potencia computacional Almacenamiento Equipos para aplicaciones específicas Grid utiliza protocolos de Internet e ideas de la computación paralela y distribuida Grid computing La tecnología Grid se ha convertido en parte imprescindible de múltiples áreas de investigación Soporte de computación y almacenamiento para aplicaciones que necesitan una gran capacidad de cómputo y requieren análisis de un gran número de datos LAAC 2008/09 5 LAAC 2008/09 6 Grid Organizaciones Virtuales Un Grid se puede definir como: coordinate resources that are not subject to centralized control using standard, open, general-purpose protocols and interfaces [Foster] Ampliando la definición: Nueva forma de computación distribuida. Los recursos de cómputo y de almacenamiento se encuentran distribuidos geográficamente en sitios Los sitios se encuentran habitualmente conectados mediante redes de área extensa (WAN) Cada sitio suele estar formado por un cluster de red de área local (LAN) Una organización virtual (virtual organization: VO) está compuesta por recursos, servicios y personas que colaboran más allá de las fronteras institucionales, geográficas y políticas. Permiten el acceso directo a recurso de computación, software y datos y, por lo general, utilizan el substrato de la tecnología Grid. LAAC 2008/09 7 LAAC 2008/09 8
Organizaciones Virtuales Topología Grid Usuarios finales Organización Real VO VO Organización Real VO Organización Real Organización Real LAAC 2008/09 9 Service Provider Service Broker Service Requester Comunicación LAAC 2008/09 10 Estado del arte Estandarización Grid Muchos aspectos de la tecnología Grid aún se encuentran en fase de desarrollo: Todavía faltan muchos pasos para poder introducir la tecnología Grid como un entorno asequible para un usuario convencional Actualmente es necesario bastante experiencia para poder utilizar de manera eficiente la tecnología Grid Necesidad de estandarización La comunidad necesita protocolos estándares Existen muchos proyectos Grid Las distintas implementaciones tienen que poder comunicarse entre ellas Open Grid Forum (GGF) Open Grid Forum http://www.ogf.org Estandarización de Grid Services, protocolos e interfaces. Su misión es promocionar el desarrollo de tecnologías y aplicaciones Grid mediante el desarrollo y la documentación de las mejores prácticas" Diferentes áreas: Aplicaciones y Entornos de Programación, Arquitectura, Datos, Sistemas de Información, Gestión de la planificación y recursos, Seguridad, etc El rápido proceso de estandarización ha estado muy influenciado por Globus Project y posteriormente por The Globus Alliance LAAC 2008/09 11 LAAC 2008/09 12
Globus www.globus.org Globus Toolkit está considerado como el estándar de facto de la tecnología Grid Construye servicios Grid middleware Permite desarrollar aplicaciones Grid Open source Utilizado en múltiples proyectos Grid Provee interfaces y protocolos que posibilita el acceso a recursos remotos como si fueran locales Incluye librerías para: Monitorización y búsqueda de recursos Gestión de ficheros Seguridad Basado en OGSA OGSA OGSA (Open Grid Service Architecture): estandariza todos los distintos servicios que se pueden encontrar en una aplicación grid [Phisiology of the Grid, www.globus.org/research/papers/ogsa.pdf] Web Services El servicio recibe la petición, la procesa y devuelve una respuesta Habitualmente sin estado Grid Services Servicios con estado LAAC 2008/09 13 LAAC 2008/09 14 WSRF Proyectos grid LAAC 2008/09 15
Proyectos Grid Supercomputación distribuida Internet computing Seti@home setiathome.ssl.berkeley.edu Folding@home folding.stanford.edu Proyectos Grid Europeos LHC Computing GRID (LCG) cern.ch/lcg EGEE public.eu-egee.org Proyectos Grid Norteamericanos TeraGrid www.teragrid.org GridBus www.gridbus.org Aplicaciones cuyas necesidades es imposible satisfacer en un único nodo Estas aplicaciones se distinguen porque satisfacen necesidades puntuales e intensivas de computación Ejemplos: Simulaciones Cálculos numéricos Data Mining Análisis de grandes volúmenes de datos Análisis de imágenes médicas LAAC 2008/09 17 LAAC 2008/09 18 Sistemas distribuidos en tiempo real Servicios puntuales Sistemas que generan un flujo de datos a alta velocidad que debe ser analizado en tiempo real Ejemplos: e-medicine Experimentos de física de alta energía CERN Proyectos LHC Alice ATLAS CMS 6-8 PetaBytes / año 10 8 eventos / año 10 3 usuarios interactivos LAAC 2008/09 19 Acceso puntual a un recurso que no nos merece la pena tener en nuestra organización Similar a las dos aplicaciones anteriores Diferencia: no referido a 'potencia computacional' y no tiene que ser en tiempo real Ejemplo: Acceso a hardware específico para ciertos tipos de análisis: Químico Biológico... LAAC 2008/09 20
Proceso intensivo de datos Aplicaciones que trabajan con grandes volúmenes de datos, y que es imposible almacenar en un único nodo Los datos se distribuyen a lo largo del Grid Ejemplo: Satélite ENVISAT de la ESA 10 instrumentos a bordo 280 GB de datos diariamente 500 Tbytes recogidos Arquitectura grid LAAC 2008/09 21 Arquitectura Grid Arquitectura Grid Aplicación Aplicación Middleware de alto nivel EGEE, TeraGrid Middleware de bajo nivel Globus, Unicore, Legion Coordinación de múltiples recursos Compartición de recursos y negociación de acceso Capa Colectiva Recurso Aplicación S.S.O.O. Unix, Linux Hardware Comunicación mediante protocolos de Internet y seguridad Acceso y control de recursos locales Conectividad Estructura Transporte Red Enlace LAAC 2008/09 23 LAAC 2008/09 24
Pilares básicos Seguridad LAAC 2008/09 25 Grid Security Infrastructure Autorización Protocolos y APIs necesarios para la seguridad en el Grid GSI extiende los protocolos estándar de clave publica Estándares: X.509 y SSL Extensiones: Certificados X.509 de Proxy para proporcionar single sign-on y delegación de credenciales PKI para credenciales Proxies y Delegación PKI (CAs y Certificados) Extensiones GSI para secure single sign-on y delegación SSL SSL para autenticación y protección de mensajes Un usuario pertenece a una organización virtual (VO) que no tiene porque mantener los recursos que el usuario utiliza Proveedores de recursos mantienen Control completo sobre los derechos de acceso Trazabilidad a nivel de usuario Los políticas de acceso deben tener una gestión centralizada basada en un acuerdo entre los proveedores de servicio y las VO Los proveedores de recursos evalúan la autorización realizada por una VO a un usuario y conceden credenciales locales para acceder a los recursos LAAC 2008/09 27 LAAC 2008/09 28
Autorización GSI Autorización básica: grid-mapfile Mapeo de credenciales Grid (certificado de usuario) a credenciales locales (cuenta Unix) Autorización booleana Permite con el mismo certificado ser distintos usuarios en diferentes máquinas Limitaciones: Escalabilidad: cada cambio personal o de política requiere cambiar la política en cada sitio que participa en el grid Expresividad: El SO puede no ser lo suficiente expresivo para soportar las politicas de la VO Consistencia: El SO de los diferentes sitios puede no soportar los mismos tipos de políticas LAAC 2008/09 29 Usuario petición Certificado Certificado de proxy firma registra CA VO firma Intercambio de certificados host/proxy petición Certificado de host Gridmapfile Servicio LAAC 2008/09 30 Community Authorisation Service (CAS) Gestión de políticas CAS Solución para las limitaciones de grid-mapfile Una comunidad es un conjunto de usuarios sometidos a un control por la autoridad de la misma Los sitios mantienen las políticas de cada sitio Las comunidades mantienen las políticas de comunidad Las políticas de sitio son mantenidas mediante los métodos existentes (fichero gridmap y cuentas Unix) Las políticas de comunidad se mantienen usando un servidor CAS y un protocolo CAS Los sitios no son tenidos en cuenta en la gestión de la política de grupos o usuarios individuales de una comunidad. LAAC 2008/09 31 Proveedor de recursos: Concede accesos a recursos de la comunidad, usando los mecanismos de control de accesos existentes (gridmapfile, permisos sobre ficheros, etc.). Usa mecanismos como quotas para toda la comunidad. Instala servidores para cumplir las politicas segun las credenciales CAS Para la comunidad: Las peticiones CAS son usadas para mantener la base de datos de politicas de comunidad CAS, que: Controla los derechos que el servidor CAS concede a los usuarios Controla las politicas de control de acceso a los propios servidores CAS y puede ser usado para delegación de conceder derechos, mantener grupos, etc. Mantiene la lista de los miembros de la comunidad. LAAC 2008/09 32
Funcionamiento CAS Política Efectiva en CAS Servidor CAS Proxy usuario Política asignada Firma Comunidad Atribuye los derechos que concede la comunidad al usuario Base de datos de las políticas mantenidas por la comunidad Acceso concedido por el sitio a la comunidad Acceso concedido por la comunidad al usuario Cliente Proxy usuario Política asignada Firma Comunidad Servidor de Recursos Comprueba que la política utilizada autoriza la petición Averigua la política local que se aplica al usuario Comprueba que la petición esta autorizada por la comunidad Información de políticas locales Acceso máximo concedido por el sitio al usuario LAAC 2008/09 33 LAAC 2008/09 34 Sistema de gestión de recursos Gestión de Recursos La gestión de recursos incluye el uso eficiente de recursos de almacenamiento y de computo Tiempo de procesador Memoria Almacenamiento Red Transparente al usuario Interactúa con el resto de componentes del Grid LAAC 2008/09 36
Gestión de recursos Grid Resource Allocation Manager Local Resource Management System (LRMS) gestiona los recursos locales de computación Global Resource Management (GRM) gestiona múltiples elementos de computación Elemento de Computación LRMS GRM Interfaz Grid Usuario GRM Elemento de Computación LRMS Interfaz Grid Características Provee una interfaz Grid para Local Resource Management System Encargado del envío y control de trabajos Simplifica el uso de sistemas diferentes ofreciendo una interfaz común Es necesario especificar la maquina de ejecución Usa GSI GRAM no es: Planificador Broker User Computing Element LRMS GRAM LAAC 2008/09 37 LAAC 2008/09 38 Condor-G Proyecto Condor High-throughput Computing http://www.cs.wisc.edu Proporciona colas de trabajos, planificación, esquema de prioridades, monitorización y gestión de recursos No realiza match-making/brokering Sistemas de Información Condor-G Mantiene colas de trabajos globales Computing Element Grid Interface Computing Element Grid Interface LRMS LRMS LAAC 2008/09 39
Sistemas de Información Proveen información sobre: El propio Grid Recursos básicos Servicios Aplicaciones Grid El servicio de información registra y monitoriza servicios Autenticación requerida Aproximaciones Grid Los distintos proyectos Grid tienen sus propias implementaciones: Globus: MDS (Monitoring and Discovery Service) MDS 2 en GT2: basado en LDAP WS MDS 4 en GT4: orientado a Web Services European Data Grid: R-GMA (Relational Grid Monitoring Architecture) UNICORE: Incarnation Database (IDB) Necesidad de estandarización LAAC 2008/09 41 LAAC 2008/09 42 MDS 2 WS MDS 4 IP Cliente 1 busca en el directorio GRIS directamente Recurso A GRIS IP GIIS pide información de los servicios de GRIS GIIS Cache Contiene contains información fromde A and A y B Recurso B GRIS Cliente 1 Cliente 2 IP IP GRIS se registra en un GIIS LAAC 2008/09 43 IP Cliente 2 usa GIIS para búsqueda colectiva de información Conjunto de servicios web para la monitorización y descubrimiento de recursos de un Grid Dispone de los recursos para la publicación de información general de un Grid Permite agregar la información de las siguientes fuentes (Aggregator Framework): Propiedades de recursos de servicios WSRF Información específica de sistemas de monitorización LAAC 2008/09 44
Data Grid Gestión de datos Conjunto de recursos de almacenamiento y componentes de adquisición de datos que permiten a las aplicaciones acceder a los datos que necesitan a través de mecanismos de software especiales Necesidades: Transferencia de datos Localización y replicación de información LAAC 2008/09 46 Storage Resource Management Los datos son almacenados en conjuntos de discos y en sistemas de almacenamiento masivo Storage Resource Management Acceso transparente a ficheros Reserva de espacio Notificación de estado de ficheros SRM (Storage Resource Manager) es un Grid Service que provee una interfaz Grid para el almacenamiento Soporta políticas locales Cada recurso de almacenamiento puede ser gestionado independientemente Provee espacio disponible y usado Transferencia de datos GridFTP: Protocolo para transferencia de datos de forma segura en un entorno de tipo Grid Extiende el protocolo FTP Utiliza Grid Security Infrastructure (GSI) Varios sistemas de almacenamiento proveen interfaces GridFTP: Castor EDG s SRM Reliable File Transfer (RFT) es un Grid Service que provee interfaces para controlar y monitorizar transferencias de ficheros usando servidores GridFTP El control de la transferencia se encuentra en el propio servicio pudiendo realizarse consultas a través del servicio asociado LAAC 2008/09 47 LAAC 2008/09 48
Localización y Replicación Debido a la complejidad de un entorno de tipo Grid podría ser conveniente poseer varias replicas de un mismo fichero Por tanto, es necesario identificar y localizar replicas idénticas El Replica Location Service (RLS) es un Grid Service que registra las localizaciones de replicas de datos permitiendo su posterior descubrimiento Mantiene mapeados entre identificadores lógicos y físicos Para el almacenamiento de los metadatos utiliza una base de datos Gestión de replicas Combina la transferencia de ficheros y el acceso a catálogos como una transacción atómica Mantiene consistencia entre catálogos y sistemas de almacenamiento Optimiza la selección de replicas (elige la mejor localización si existen varias replicas) Problema de coexistencia de replicas Para gestionar las replicas El gestor de replicas busca en el catalogo de replicas el archivo El catalogo responde con el gestor del recurso de almacenamiento (SRM) donde se encuentre la replica seleccionada LAAC 2008/09 49 LAAC 2008/09 50 Bibliografía Dudas, comentarios,. The Grid: Blueprint for a New Computing Infrastructure. I. Foster and C. Kesselman. Morgan Kaufmann. 1998. The Anatomy of the Grid: Enabling Scalable Virtual Organizations. I. Foster, C. Kessleman and S. Tuecke. International Journal of Supercomputer Applications. 2001 Physiology of the Grid. An Open Grid Service Architecture for Distributed Systems Integration. I. Foster, C. Kessleman, J. M. Nick and S. Tuecke. Global Grid Forum. 2002 Open Grid Services Infrastructure (OGSI) version 1.0. S. Tuecke et. at. Global Grid Forum. 2003. Grid-2: Blueprint for a New Computing Infrastructure. I. Foster and C. Kesselman. Morgan Kaufmann. 2004. LAAC 2008/09 51 LAAC 2008/09 52