Source: http://docplayer.es/2787506-Documento-descriptivo-sobre-las-areas-tematicas-de-e-ciencia.html
Timestamp: 2017-08-21 18:14:51+00:00

Document:
Documento Descriptivo Sobre las Áreas Temáticas de e-ciencia - PDF
Download "Documento Descriptivo Sobre las Áreas Temáticas de e-ciencia"
Elvira Henríquez Olivares
1 Documento Descriptivo Sobre las Áreas Temáticas de e-ciencia Acción Especial IRISGRID IFCA, IFIC, RedIRIS, CAB, CNB, CIEMAT, IMEDEA, IAA, UCM, GAC, CIRI, IFAE/PIC, AOSO, GRyCAP, UAM, UAL, UM, UAL, UNIOVI, UPM, UGR, INTA, ARCOS
2 Contenidos 1 INTRODUCCIÓN El Grid IRISGrid Estructura del Documento ESTADO DEL MIDDLEWARE Descripción de la Tecnología Grid Modelo de Capas del Middleware Servicios Locales Servicios Grid Básicos Servicios Grid Alto Nivel Herramientas Grid Conclusión ÁREAS DE APLICACIÓN Área de Meteorología Motivación y Necesidades Casos de uso Middleware actual y específico Proyectos piloto Conclusiones Área de Física de Altas Energías Motivación y Necesidades Área de Astrofísica Motivación y Necesidades Casos de Uso y Proyectos Pilotos Proyectos Grid en Marcha Transferencia de tecnología, visibilidad y difusión de los proyectos Área de Salud Motivación y Necesidades Casos de Uso Middleware Actual y Previsto Definición de Posibles Proyectos Piloto Transferencia de Tecnología, Visibilidad y Difusión de Proyectos Área de Bioinformática Motivación y Necesidades Proyectos de Grid en la Actualidad Casos de Uso y Aplicaciones Piloto Transferencia de Tecnología, Visibilidad y Difusión de Proyectos Área de Química Computacional Motivación y Necesidades...54
3 3.6.2 Casos de uso Middleware actual y específico Proyectos piloto Conclusiones Área temática de sistemas complejos Motivación de un entorno Grid Desarrollo previsto de middleware específico Casos de Uso y Proyectos Piloto Transferencia de tecnología visibilidad y difusión de proyectos....59
4 1 Introducción 1.1 El Grid Un Grid es un conjunto de recursos hardware y software distribuidos por Internet que proporcionan servicios accesibles por medio de un conjunto de protocolos e interfaces abiertos y estandarizados (gestión de recursos, gestión remota de procesos, librerías de comunicación, seguridad, soporte a monitorización ) y organizados por medio de unos procedimientos y guías de buenas prácticas bien definidas. Las organizaciones virtuales que se interconectan por medio de un Grid mantienen sus propias políticas de seguridad y gestión de recursos. La tecnología usada para construir un Grid es complementaria a otras tecnologías para aprovechar los recursos distribuidos en la intranet de una organización. 1.2 IRISGrid IRISGrid es una iniciativa cofinanciada por el Ministerio de Ciencia y Tecnologia en la que participan casi 200 investigadores de 23 centros españoles en la investigación en el área de tecnologías Grid. IRISGrid pretende aportar los protocolos, procedimientos y guías de buenas prácticas necesarios para construir dentro de España un Grid de investigación coordinando a los diferentes Grupos y Centros interesados en investigación sobre tecnologías Grid. Esta iniciativa pretende unir recursos distribuidos geográficamente para que los Grupos involucrados tengan un banco de pruebas o Testbed que soporte la investigación en cualquiera de las áreas de aplicación del Grid. En la iniciativa IRISGrid participan los centros reflejados en la siguiente tabla CODIGO Centro URL IFCA Instituto de Física de Cantabria, CSIC-UC, Santander grid.ifca.unican.es IFIC Instituto de Física de Corpuscular, Centro Mixto CSIC- UV, Valencia alpha.ific.uv.es/grid RedIRIS Centro de Comunicaciones CSIC-RedIRIS, Madrid-Sevilla CAB Centro de Astrobiología, CSIC-INTA, Torrejón de Ardoz - Madrid CNB Unidad de Biocomputación, Centro Nacional de Biotecnología, Madrid CIEMAT IMEDEA Centro de Investigaciones Energéticas, Medioambientales y Tecnológicas, Madrid Instituto Mediterráneo de Estudios Avanzados, CSIC-UIB, Palma de Mallorca Islas Baleares wwwae.ciemat.es/grid IAA Instituto de Astrofísica de Andalucía UCM GAC CIRI Grupo de Arquitectura de Sistemas Distribuidos y Seguridad, Dpt. Arquitectura de Computadores y Automática, Universidad Complutense de Madrid Departamento de Electrónica y Computación, Universidad de Santiago CEPBA-IBM Research Institute, Universidad Politécnica de Cataluña, Barcelona
5 IFAE/PIC AOSO Instituto de Física de Altas Energías, Consorcio Generalitat Catalunya-Universitat Autònoma de Barcelona / División Port d'informació Científica Arquitectura de Ordenadores y Sistemas Operativos, Universidad Autónoma de Barcelona, Cerdanyola del Vallés, Barcelona GRyCAP Grupo de Redes y Computación de Altas Prestaciones, Dpt. Sistemas Informáticos y Computación, Universidad Politécnica de Valencia UAM UAL Física Experimental de Altas Energías de la Universidad Autónoma de Madrid Universidad de Santiago de Compostela, Centro de Supercomputación de Galicia heppc11.ft.uam.es UM Universidad de Murcia y UAL UNIOVI UPM UGR INTA Universidad de Almeria, Supercomputación: Algoritmos Departamento de Arquitectura de Computadores y Electrónica Universidad de Oviedo, Asturias Laboratorio de Mecánica de Fluidos Computacional. Dpto. Motopropulsión y Termofluidodinámica, ETSI Aeronáuticos, Universidad Politécnica de Madrid Grupo de Circuitos y Sistemas para Procesamiento de la Información, Dpt. Arquitectura y Tecnología de Computadores, Universidad de Granada Instituto Nacional de Tecnología Aeroespacial, Torrejón de Ardoz - Madrid ARCOS Arquitectura de Computadores, Comunicaciones y Sistemas, Universidad Carlos III de Madrid, UCIIIM arcos.inf.uc3m.es IRISGrid no pretende dar servicio técnico, sino fijar las normas, protocolos, procedimientos que regulen el Grid. El objetivo de IRISGrid es facilitar a los grupos interesados la unión de sus recursos en Grid, definiendo los procedimientos relacionados principalmente con autenticación y monitorización de recursos. La potestad de los recursos está enteramente bajo control de los centros que los administran, sin que su inclusión en el Grid deba suponer un cambio en sus políticas de seguridad o de gestión de sus recursos locales. 1.3 Estructura del Documento Este documento se estructura en cuatro partes principales. En primer lugar, la sección 1 contiene una breve descripción de los objetivos, participantes y términos de IRISGrid. La sección segunda describe el estado actual del Middleware, la sección tercera contiene una descripción por áreas de aplicación, de la situación actual de las tecnologías de Grid. Finalmente, la sección cuarta acaba con las conclusiones.
6 2 Estado del Middleware El objetivo principal de esta sección es proponer los aspectos principales que se deberían incluir en el área temática de middleware dentro de la propuesta para la creación de un Programa de e-ciencia. En primer lugar se describe de forma general el estado actual de la tecnología, y se analizan las diferentes líneas de investigación para cada uno de los niveles del middleware relevantes en un Grid. A continuación se indica como se contempla el desarrollo de tecnología Grid en el Plan Nacional de I+D+I actual, y se enumeran los proyectos de investigación en middleware Grid en España. Por último se realiza una propuesta de las líneas de investigación que se deberían incluir en el área temática de middleware. 2.1 Descripción de la Tecnología Grid El objetivo de esta sección es proporcionar una visión global de la tendencia actual de las diferentes tecnologías que permiten aprovechar de forma conjunta los recursos disponibles en sistemas interconectados por red. Los siguientes modelos de computación en red aportan mecanismos para aprovechar al máximo los recursos distribuidos que generalmente se encuentran infrautilizados: Cluster Computing: Diseño de un cluster dedicado de equipos como alternativa a la adquisición de un equipo multiprocesador. Su ventaja fundamental es la mejor relación coste/rendimiento. Sus inconvenientes son: dificultad de programación y mantenimiento. Los clusters suelen estar gestionados por sistemas que se encargan de ejecutar las aplicaciones de los usuarios sobre las distintas máquinas en función de diferentes criterios de planificación fijados por el sistema. Estos sistemas de gestión pueden ser sistemas integrados de planificación como MOSIX (www.mosix.cs.huji.ac.il) o gestores de colas batch como PBS (versión libre) y PBS-Pro (versión comercial) de Veridian Systems (www.openpbs.org), LSF de Platform Computing (www.platform.com), SGE de Sun Microsystems (www.sun.com/gridware) o Condor de la Universidad de Wisconsin-Madison (www.cs.wisc.edu/condor). Intranet Computing: Unión de la potencia computacional desaprovechada en los recursos hardware distribuidos en una red de área local (un único dominio de administración). Su principal ventaja es que puede proporcionar rendimientos semejantes a los ofrecidos por los sistemas de alto rendimiento con un coste económico casi nulo. La mayoría de los gestores de colas para clusters suelen ofrecer soluciones para unir múltiples clusters independientes dentro de una red local y mover los trabajos desde los clusters más ocupados a los más desocupados. Algunos de ellos también ofrecen facilidades para usar de forma oportunista recursos individuales que no están integrados en un cluster. También existen empresas como GridSystems, Avaki, Entropía o United Devices que comercializan software de Intranet Computing específico para aplicaciones paramétricas. Internet Computing: Aprovechamiento de la potencia de los recursos distribuidos por Internet siguiendo el modelo cliente/servidor. Actualmente casi todas estas herramientas se limitan a ejecución de aplicaciones paramétricas. Su ventaja es el gran rendimiento que se puede obtener. Sus principales inconvenientes son debidos al bajo ancho de banda y a la escasa seguridad en Internet. Avaki, Entropía o United Devices mantienen versiones de sus herramientas que permiten su uso en Internet. Probablemente el ejemplo más típico de Internet Computing es el proyecto
7 (setiathome.ssl.berkley.edu). Algunos gestores de colas como Condor ofrecen también la posibilidad de aprovechar recursos sobre Internet ofreciendo mayor seguridad y confiabilidad aunque requiere que todas las máquinas involucradas usen dicho gestor. El uso de las tecnologías descritas anteriormente posibilita el aprovechamiento eficiente de los recursos dentro de una misma organización. Algunas de ellas como SGE, LSF o Condor permiten incluso unir diferentes departamentos u organizaciones pero con la condición de que sea su software el que gestione los recursos internos. Sin embargo, ninguna de estas tecnologías permite unir dominios de administración diferentes manteniendo la política de seguridad de cada centro y las herramientas de planificación ya en uso. Por otro lado, los interfaces y protocolos básicos que utilizan las herramientas anteriores no están basados en estándares abiertos, condición imprescindible para que la tecnología Grid se extienda, y en pocos años sea tan habitual como actualmente es la tecnología Web. La necesidad de aprovechar los recursos disponibles en los sistemas informáticos conectados a Internet y simplificar su utilización ha dado lugar a una nueva forma de tecnología de la información conocida como Grid Computing. Esta nueva tecnología es análoga a las redes de suministro eléctrico: la idea es ofrecer un único punto de acceso a un conjunto de recursos distribuidos geográficamente (supercomputadores, clusters, almacenamiento, fuentes de información, instrumentos, personal...). De este modo, los sistemas distribuidos se pueden emplear como un único sistema virtual en aplicaciones intensivas en datos o con gran demanda computacional. Las tecnologías descritas en la sección anterior son casos especiales de un nuevo paradigma de computación distribuida que en poco tiempo estamos seguros que va a revolucionar no sólo la computación de altas prestaciones sino Internet en general. Esta nueva tendencia denominada Grid Computing supone un cambio radical en la colaboración de sistemas conectados a Internet y en particular en la computación de altas prestaciones debido a su enorme potencial respecto al intercambio y gestión de recursos. Un sistema Grid se caracteriza por carecer de un control centralizado, estar basado en estándares abiertos y proporcionar calidad de servicio (www.gridtoday.com/02/0722/ html). Es importante resaltar que la tecnología Grid no pretende sustituir las tecnologías anteriores ya que su ámbito de aplicación es diferente. El objetivo de la tecnología Grid es unir de forma segura los recursos de diferentes dominios de administración, respetando sus políticas de seguridad y herramientas de gestión internas. Además, su objetivo es unir todo tipo de recursos y no únicamente capacidad de procesamiento y almacenamiento. 2.2 Modelo de Capas del Middleware Dentro de los sistemas Grid podemos diferenciar tres niveles de investigación relacionados con middleware: Servicios locales Servicios Grid básicos Servicios Grid alto nivel Herramientas Grid
8 Aplicaciones Condor-G Herramientas Grid Servicios Grid Alto Nivel MPI GridWay Nimrod/G DataGrid CrossGrid GrADS GASS GridFTP Metacomputing Directory Service Servicios Grid Básicos Globus Security Interface Replica Catalog GRAM I/O Condor LSF MPI PBS SGE Servicios locales Linux TCP AIX UDP Solaris Servicios Locales En este nivel se incluye el desarrollo de herramientas para explotar los recursos en la Intranet del centro investigación. En este campo existen en la actualidad muchos servicios disponibles para realizar un uso eficiente de los recursos locales. Podemos destacar: Herramientas de monitorización de los diferentes recursos físicos del cluster (Ganglia: ganglia.sourceforge.net, Hawkeye: Gestores de colas batch como los mencionados en la sección 1, Librerías de programación paralela (MPI: www-unix.mcs.anl.gov/mpi/, OpenMP: o PVM: Herramientas de depuración y monitorización de aplicaciones (TotalView:www.etnus.com/Products/TotalView/, Paradyn:www.cs.wisc.edu/~paradyn/, Vampir:www.pallas.com/pages/vampir.htm, Paraver: Las líneas abiertas de investigación más representativas relacionadas con los servicios locales se centran en los siguientes aspectos: Escalabilidad de servicios y herramientas. A medida que los clusters locales van aumentando en tamaño, se hace también necesario adaptar las herramientas y servicios para que puedan usarse también sobre sistemas de miles de componentes. Automatización de políticas de gestión, configuración, control e instalación que garanticen el funcionamiento de clusters de gran tamaño sin la necesidad de una intervención humana constante y que puedan reaccionar a condiciones dinámicas. Mecanismos de tolerancia de fallos, que garanticen, por ejemplo, la ejecución de las aplicaciones o el funcionamiento de los servicios ante la presencia de fallos temporales en distintos elementos del cluster.
9 2.2.2 Servicios Grid Básicos El Grid Forum (www.gridforum.org) es el organismo encargado de crear los estándares de servicios y protocolos necesarios para crear la infraestructura o tecnología Grid. A pesar de que existen otras tecnologías Grid como Legion (www.cs.virginia.edu/~legion/), Unicore (www.unicore.org) o MOL (www.unipaderborn.de/pc2/projects/mol/), la mayoría de los proyectos Grid actuales se están construyendo basados en los servicios y protocolos proporcionados por el Globus Toolkit (www.golbus.org). La tecnología Globus ha sido seleccionada como estándar de facto por las 12 compañías (Compaq, Cray, SGI, Sun Microsystems, Entropia, IBM, Microsoft, Platform Computing y Veridian en Estados Unidos; y Fujitsu, Hitachi y NEC en Japón) más importantes del sector de computación de altas prestaciones (http://www.globus.org/developer/news/ a.html). La próxima versión de Globus denominada OGSA (Open Grid Services Architecture) muestra una clara convergencia hacía la tecnología de Web Services en el campo de e-business. El Globus Toolkit 3 (GT3), del que ya existe una versión alfa, apuesta por servicios Grid basados en Web Services. Esta evolución representa una gran oportunidad para lograr una amplia aceptación y difusión de la tecnología Grid, que puede extenderse, al igual que lo hizo el WWW, desde su ámbito original en el área de la computación científica, al de las aplicaciones comerciales. Globus Grid toolkit es una colección de componentes software open-source y openarchitecture diseñados para soportar el desarrollo de aplicaciones de alto rendimiento sobre entornos distribuidos tipo Grid. Realmente se trata de un conjunto de componentes autónomos que permiten al diseñador construir un Grid. Cada componente proporciona un servicio básico como autenticación, asignación de recursos, información, comunicación, detección de fallos y acceso remoto a datos. Los sistemas y aplicaciones Grid se pueden desarrollar empleando estos servicios y protocolos como elemento básico: GRAM (Globus Resource Allocation Manager): Este servicio proporciona un API para solicitar el inicio de ejecuciones en un recurso de computación y para gestionar estas ejecuciones una vez invocadas MDS (Metacomputing Directory Service): Este servicio proporciona un API para averiguar la estructura y estado de los recursos GSI (Globus Security Infrastructure): Este servicio proporciona una solución de autenticación global GASS (Global Access to Secondary Storage): Este servicio proporciona mecanismos de acceso y APIs para almacenar ficheros en diferentes sistemas A partir de estos servicios básicos de middleware, las líneas de investigación abiertas se encuentran orientadas mejorar los protocolos y servicios básicos aportados por Globus para adaptarlos a nuevas tecnologías o ambientes. Por ejemplo: Añadir a Globus el soporte para IPv6 y por añadidura las funcionalidades de autoconfiguration, multihoming y seguridad. Mejorar la infraestructura de clave pública de Globus para hacerla más flexible e integrar extensiones actuales de las PKI para gestión de autorizaciones y credenciales. Implantar un esquema de autenticación y autorización más flexible y acorde con los estándares actualmente en uso en la infraestructura middleware de las redes académicas, con el objetivo de facilitar el uso de estos recursos a los usuarios finales del Grid e integrarlo en el uso normal de los recursos Internet
10 El movimiento hacia los Web Services que está experimentando Globus hace que también haya que replantear de nuevo los servicios ofrecidos, unido a la novedad del mundo de los servicios Web, que abre a la vez un campo de investigación muy interesante y potencialmente con mucho futuro Servicios Grid Alto Nivel A pesar del tremendo esfuerzo realizado por la comunidad científica, la ejecución y gestión de trabajos en un Grid resulta una tarea ardua y difícil, debido principalmente a la naturaleza dinámica y compleja que caracteriza los Grids. Habitualmente el usuario ha de encargarse manualmente de todas las todos los pasos involucrados en la ejecución de un trabajo, a saber: descubrimiento y selección de recursos, inicialización, envío, monitorización, migración y finalización. Por lo tanto es necesario desarrollar servicios Grid de alto nivel y herramientas que realicen de forma automática y eficiente los pasos anteriores; además de adaptar la ejecución de un trabajo a las condiciones dinámicas del Grid (disponibilidad, carga, coste...), así como a las demandas dinámicas de la aplicación (tiempo máximo de ejecución, presupuesto, necesidad de hardware/software específico,...). En este nivel se incluye el desarrollo de middleware que, sobre el middleware básico proporcionado por Globus, proporciona servicios adicionales para aplicaciones y usuarios. Se trata de una capa de servicios reutilizables de más alto nivel que puedan hacer uso de los existentes para ofrecer servicios más flexibles en áreas como planificación, gestión de datos, visualización o colaboración. Por ejemplo, trading inteligente de componentes basado en especificaciones (mejoras al lenguaje de especificación RSL de Globus), introducción de mecanismos de calidad de servicio (QoS) para ofrecer servicios con ciertas garantías de servicio (soportando así servicios en tiempo real tales como las aplicaciones colaborativas), gestión de scheduling con prioridades, etc. Entre los proyectos en curso cabe resaltar European Data Grid (www.eu-datagrid.org), Grid Physics Network (www.griphyn.org), GrADS (nhse2.cs.rice.edu/grads/) y CrossGrid (http://www.crossgrid.org/), que tratan de desarrollar, entre otros, métodos eficientes de computación y acceso a datos distribuidos por medio de servicios basados en componentes Globus. Por ejemplo, una aportación significativa del proyecto DataGrid es la implantación de un servicio Resource Broker que se encarga de la gestión de trabajos, buscando recursos del Grid y ejecutando el trabajo en los mismos. Este broker se encarga de llevar un seguimiento del trabajo, lanzándolo en otros recursos si alguno falla, hasta la finalización del mismo. Esto facilita el lanzamiento de trabajos al usuario, que sólo se ha de encargar de especificar los requerimientos del mismo y no de los recursos donde ejecutarlo. Además proporciona información sobre el estado del trabajo, haciendo de repositorio central de información y de los datos producidos por el mismo. El proyecto CrossGrid prevé hacer modificaciones sobre el Resource Broker anterior, para soportar algunas características hasta ahora no soportadas hasta ahora como el lanzamiento de aplicaciones MPI sobre varios 'sites', o mejorar el diseño del sistema pasando de un Resource Broker centralizado a una arquitectura distribuida basada en Agentes de Scheduling. Otra de los puntos fuertes de CrossGrid es el desarrollo de un portal Web sobre el cual los usuarios podrán lanzar sus trabajos, mejorando la interfaz con el sistema Grid subyacente. Por tanto, los siguientes aspectos pendientes por resolver serían: Desarrollo de servicios de descubrimiento y selección de recursos
11 Desarrollo de servicios de planificación y adaptación a las condiciones dinámicas de un Grid y de un trabajo Desarrollo de servicios de inicialización, envío, monitorización, migración y finalización de trabajos Para la mayoría de las aplicaciones a ejecutar en entornos Grid el acceso a los datos es tan importante como el acceso a los recursos de cómputo, puesto que la mayoría de las aplicaciones científicas y de ingeniería requieren el acceso a grandes volúmenes de datos (terabytes o petabytes). En otras ocasiones los datos que generan las aplicaciones exceden de los recursos locales disponibles. Además, muchas de las aplicaciones futuras como lo entornos colaborativos virtuales también requerirán el acceso a datos ampliamente distribuidos. Un Grid de datos proporciona un entorno en el que poder manipular y acceder a datos almacenados en sistemas ampliamente distribuidos. Su objetivo está orientado al intercambio y procesamiento de información de forma segura y eficiente, para lo cual hay que desarrollar servicios que permitan agrupar diferentes sistemas de almacenamiento locales donde poder almacenar, replicar e incluso fragmentar los datos. Los requisitos fundamentales que se imponen en un Grid de datos son: Espacio de nombres global. Técnicas de reducción de latencia. Consistencia en el acceso a los datos. Mecanismos de acceso común para localizar y acceder a los datos. API para el acceso a los datos. Muchos de estos requisitos son similares a los de un sistema de ficheros local, sin embargo, presentan una problemática diferente, como son la necesidad de almacenar grandes cantidades de datos, existencia de diferentes protocolos de acceso a los datos locales (GridgFTP, NFS, HTTP-Webdav, etc.), problemas de seguridad y posibilidad no solo compartir datos, sino también distribuir y fragmentar los datos a través de los diferentes recursos de almacenamiento locales. Los resultados que se han obtenido hasta la fecha en los Grids de datos se puede resumir en los siguientes puntos: Desarrollo de servicios de directorios que permiten la búsqueda de datos en entornos ampliamente distribuidos. Empleo de técnicas de replicación como forma de mejorar las prestaciones en el acceso a los datos. Estas técnicas, sin embargo, no son apropiadas en entornos colaborativos o cuando lo que se quiere es fragmentar los datos a través de diferentes recursos de almacenamiento. Desarrollo de protocolos de acceso a datos como GridFTP. Desarrollo de API para acceder a ficheros remotos, como el servicio GASS (Global Access to Secondary Storage) que proporciona Globus Grid toolkit. Quedan, sin embargo, aspectos pendientes por resolver: Conseguir un verdadero espacio de nombres global, donde sea sencillo localizar los datos. Desarrollar técnicas de almacenamiento de altas prestaciones que permitan mejorar el acceso a los datos en un Grid, como por ejemplo, el empleo de técnicas de E/S paralela y distribución de datos a través de los diferentes recursos de almacenamiento
12 Desarrollar servicios para integrar diferentes protocolos y sistemas de almacenamientos locales. Desarrollar interfaces de acceso a datos adecuadas para computación de altas prestaciones, como por ejemplo, MPI-IO para entornos Grid. Explotar las posibilidades de mecanismos de búsqueda e indexación distribuidos, que empleen las mismas tecnologías Grid para ayudar en la localización de recursos. Integrar estos procedimientos con los mecanismos de autorización, de manera que todas las interacciones sean susceptibles de personalización Mecanismos de tolerancia a fallos, que garanticen el acceso a los datos en presencia de fallos en el Grid. En general, la investigación en servicios de alto nivel se desarrollará en dos líneas: Servicios de utilidad para todo el conjunto de aplicaciones (servicios horizontales), como por ejemplo, servicios de gestión de trabajos y datos, reserva anticipada de recursos, accounting distribuido, suscripción a eventos, tolerancia a fallos, etc. Servicios específicos para un dominio de aplicación (servicios verticales), por ejemplo, servicios de visualización 3D para los ámbitos científicos que los requieran, servicios de simulación distribuida genérica, etc. Estos servicios se pueden ofrecer a través de Servicios Web o utilizando cualquier otro mecanismo RPC como CORBA. En este ámbito, la tecnología de componentes surge como una tecnología de desarrollo muy adecuada. El desarrollo basado en componentes (iniciado, aunque en un estado primitivo todavía, por la nueva versión de Globu 3) permite que los desarrolladores de aplicaciones creen componentes que pueden ser utilizados por cualquier otra aplicación. El desarrollo de aplicaciones se convierte entonces en una actividad de conexión de los distintos componentes que están disponibles para el desarrollo de las mismas y que están distribuidos por todo el Grid. La gestión de qué componentes existen en cada centro de computación se puede realizar de forma automática por herramientas añadidas a las básicas de Globus, además de otras herramientas de desarrollo de aplicaciones basadas en el descubrimiento automático de componentes, la conexión y la puesta en ejecución. El uso de componentes para programación Grid se ha iniciado en diferentes proyectos, como el Common Component Architecture (cca-forum.org), GridCCM (www.irisa.fr/paris/gridccm/welcome.htm), la especificación Lightweight CCM, Globus en su versión 3 y el propio proyecto PIRAMIDE con el modelo de componentes CORBA Lightweight Components (CORBA-LC) Herramientas Grid En este nivel se incluyen herramientas de más alto nivel como librerías de programación, entornos especializados para la resolución de problemas y otras herramientas de ayuda al desarrollo de aplicaciones. Estas herramientas se basan en las componentes básicas y de alto nivel Librerías y Herramientas para Tipos Específicos de Problemas Tradicionalmente, existe un conjunto de aplicaciones cuyas demandas computacionales no pueden ser satisfechas por los supercomputadores actuales. La resolución de estos problemas requiere un estudio de cómo el Grid puede mejorar los paradigmas de supercomputación actuales, la investigación de nuevos paradigmas y el desarrollo de herramientas de alto nivel y API's (Application Programmer Interface) que permitan a
13 los científicos e ingenieros expresar de forma sencilla los problemas en un entorno Grid. En particular, ejemplos de problemas que potencialmente pueden beneficiarse del uso de Grids son: Aplicaciones distribuidas de Alto Rendimiento (High Performance Computing, HPC); cuyos requisitos computacionales únicamente puede satisfacerse mediante la unión de múltiples supercomputadores. Ejemplos de estas aplicaciones son, la dinámica de fluidos computacional, la simulación numérica de procesos físicos complejos, o simulaciones meteorológicas. Entre los proyectos actualmente en desarrollo cabe destacar: MPICH-G2 (www3.niu.edu/mpi/), y Cactus (www.cactuscode.org). Aplicaciones de Alta Productividad (High Throuput Computing, HTC); problemas que requieren del análisis de todas las posibles soluciones en un espacio de parámetros (problemas NP-Completos). Aunque actualmente estos problemas se resuelven reduciendo el espacio de parámetros mediante alguna heurística (enfriamiento simulado, algoritmos genéticos,...), el Grid ofrece una infraestructura computacional más adecuada para resolver estos problemas de alta productividad débilmente acoplados. Entre los proyectos actualmente en desarrollo cabe destacar: Nimrod/G (www.csse.monash.edu.au/~rajkumar/ecogrid/), MW (www.cs.wisc.edu/condor), AppLeS (grail.sdsc.edu/), GridWay (www.dacya.ucm.es/asds) Aplicaciones de Ejecución Auto-Adaptativa: La aparición de la tecnología Grid ha dado lugar a un nuevo paradigma de aplicaciones capaces de adaptar su ejecución de acuerdo a sus requisitos dinámicos. Por ejemplo, los métodos numéricos de refinamiento adaptativo de malla, aumentan de forma sistemática la resolución de la malla numérica en aquellas zonas del dominio con elevados errores de discretización. De esta forma no es posible conocer a priori la cantidad de memoria que necesitará la simulación. Las aplicaciones auto-adaptativas son capaces de buscar recursos adicionales a medida que evoluciona su ejecución para satisfacer sus requisitos. Entre los proyectos actualmente en desarrollo cabe destacar: Cactus Worm (www.cactuscode.org), GridWay (www.dacya.ucm.es/asds). Otros ejemplos de entornos especializados incluirían, que permite el la resolución de problemas que sigan un modelo de master-worker, Netsolve (http://icl.cs.utk.edu/netsolve), herramienta basada en una arquitectura cliente/servidor para el uso de librerías matemáticas sobre entornos distribuidos, o DAGman (www.cs.wisc.edu/dagman), servicio para controlar aplicaciones compuestas por múltiples trabajos que exhiben relaciones de dependencia entre ellos Herramientas de ayuda al desarrollo de aplicaciones Durante el ciclo de desarrollo de las aplicaciones, es necesario realizar prototipos, depurarlos, sintonizarlos, etc. Cuando las aplicaciones van a ser ejecutadas en un entorno en Grid, la complejidad de este proceso es mucho mayor. Herramientas de desarrollo tales como depuradores, y sintonizadores de la eficiencia son esenciales para que los usuarios puedan entender porque su aplicación no esta dando los resultados o la eficiencia esperados. Otro tipo de herramientas altamente útiles son aquellas que permiten de manera automática obtener programas ejecutables en Grid. En la actualidad existen pocas herramientas que realicen las tareas indicadas previamente. Algunos ejemplos existentes son: P2D2: depurador "Grid-enabled" (NASA)
14 Guard: depurador paralelo "relativo" (Monash) Ygdrasil toolkit: permite integración a nivel de línea de comando de depuradores como Ladebug, gdb, etc (HP) SimGRID: simulador de planificaciones de aplicaciones distribuidas (UCSD, USA) Dimemas: simulador de la eficiencia de programas MPI ejecutados distribuidamente (CEPBA-UPC) Paraver (CEPBA-UPC), Vampir (Pallas): Herramientas de visualización de la ejecución de aplicaciones distribuidas. A pesar de que existen algunas herramientas, la mayoría de ellas están en un estado preliminar de desarrollo. Es necesario extender las funcionalidades de dichas herramientas, robustecer las versiones actuales y lo mas importante hacer conocer estas herramientas a los posibles usuarios. El campo en el que claramente existe un vacío es el de modelos de programación que faciliten el desarrollo de aplicaciones en GRID de manera que el usuario pueda especificar la funcionalidad de su aplicación sin necesidad de saber con detalle la topología ni características del Grid en el que se ejecutará. 2.3 Conclusión A pesar de haberse realizado un gran esfuerzo durante los últimos años, la madurez del middleware actual es relativa. Todavía queda bastante camino por recorrer hasta contar con middleware que permita una explotación eficiente y sencilla de un entorno Grid. Proponemos las siguientes líneas de actuación: 1. Servicios locales Herramientas de monitorización, Gestores de colas batch Librerías de programación paralela Herramientas de depuración y monitorización de aplicaciones 2. Servicios Grid Básicos Mejora de protocolos y servicios básicos 3. Servicios Grid de Alto Nivel Servicios de gestión de trabajos y datos para todo el conjunto de aplicaciones (servicios horizontales) Servicios específicos para un dominio de aplicación (servicios verticales) Uso de componentes 4. Herramientas Grid Herramientas para aplicaciones de alta productividad Herramientas para aplicaciones de alto rendimiento Herramientas para aplicaciones adaptativas Herramientas de ayuda al desarrollo de aplicaciones Herramientas para aplicaciones intensivas en datos Por otro lado, no debemos olvidar que es necesario estar en contacto con los proyectos orientados al desarrollo de aplicaciones en las diferentes áreas temáticas.
15 3 Áreas de Aplicación 3.1 Área de Meteorología Motivación y Necesidades Históricamente, la Meteorología ha sido una de los principales usuarios de las nuevas tecnologías de la Computación, tanto en lo relativo a la capacidad de cálculo, como al almacenamiento de grandes volúmenes de información y a su rápida distribución mediante redes de alto rendimiento. En el pasado, muchas de las tareas involucradas en este área (integración de modelos numéricos de predicción, mantenimiento de bases de datos operativas, etc.) eran exclusivas de grandes centros meteorológicos que disponían de la tecnología necesaria. En la actualidad, la situación es distinta debido al abaratamiento de la tecnología, y diversos grupos de investigación públicos y privados llevan a cabo costosas simulaciones meteorológicas que utilizan distintas bases de datos para realizar tareas tan diversas como: estudios climatológicos y de cambio climático, pronóstico meteorológico local, predicción de viento para la gestión de parques eólicos, difusión de contaminantes en el mar y en la atmósfera, etc. Sin embargo, el tipo de estudios que pueden emprender estos grupos está todavía limitado por los recursos computacionales de que disponen. Asimismo, la colaboración entre distintos grupos para abordar proyectos comunes se ve dificultada por la heterogeneidad de bases de datos y formatos de uso común en este ámbito. Por tanto, la tecnología GRID puede proporcionar un doble beneficio en este Área permitiendo abordar problemas más complejos y facilitando la colaboración y acceso/compartición de datos a los mismos. La propuesta de Centros de e-ciencia en la que se encuadra esta iniciativa parece el marco más apropiado para implantar esta tecnología, proporcionando un soporte técnico apropiado para emprender iniciativas en este Área. A continuación se describen más en detalle las características de estos procesos y bases de datos involucrados con la actividad de esta área: Procesos que requieren computación de altas prestaciones La integración de cualquier modelo numérico de circulación atmosférica u oceánica es un proceso computacionalmente costoso, tanto en tiempo de cómputo como almacenamiento de información. Estos modelos constituyen la herramienta fundamental para numerosas aplicaciones prácticas. Por otra parte, la aplicación de distintas técnicas estadísticas (correlación canónica, regresión múltiple, técnicas de clasificación, etc.) a campos atmosféricos almacenados requiere también un enorme esfuerzo computacional debido a las dimensiones de los datos. En la actualidad las técnicas de predicción basadas en conjuntos requieren aún mayor esfuerzo computacional ya que los modelos se integran varias veces, a partir de condiciones iniciales perturbadas. Este tipo de aplicaciones es un ejemplo típico de aplicación paramétrica, que puede explotarse fácilmente en un entorno GRID obteniendo una mayor productividad. Por otra parte, los proyectos de reanálisis son necesarios para llevar a cabo estudio climatológicos en zonas de interés. En este caso, los modelos se integran durante largos períodos de tiempo guardando principalemente los análisis obtenidos; esta tarea da lugar
16 a enormes bases de datos que definen las climatología de la zona de interés (a la resolución dada por el modelo integrado). Éste es otro ejemplo de aplicación paramétrica en la que el entorno GRID permitiría incrementar la productividad Bases de datos Una de las principales características de esta área es la gran cantidad y diversidad de datos que se manejan en cualquier aplicación real. En esta sección tratamos de describir las fuentes más importantes Salidas de modelos numéricos Los modelos numéricos de circulación atmosférica son la principal herramienta en la Meteorología moderna. Estos modelos proporcionan una predicción del estado de la atmósfera a distintas resoluciones temporales (de horas a meses) y espaciales (entre los cientos y las decenas de Km de resolución horizontal). Por ejemplo, la figura siguiente muestra una rejilla horizontal utilizada para simular la dinámica mensual de la atmósfera sobre Europa, con una resolución horizontal de 300 Km (esta rejilla tiene otra componente vertical, con 15 niveles de altura distintos). En cada uno de estos puntos de la rejilla 3D se simula el valor de distintas variables primitivas (temperatura, humedad, geopotencial, viento) y derivadas (espesores, vorticidad, precipitación, etc.). Todo este volumen de información se genera en cada paso de integración y se almacena horaria o diariamente, dependiendo de la resolución temporal de la integración. Por tanto el volumen de información generado en cada simulación es enorme. Aparte del uso operativo de estos modelos, en la actualidad resultan de gran utilidad los proyecto de Re-análisis, donde un mismo modelo es integrado un largo período de tiempo (decenas de años) para obtener salidas homogéneas de un mismo modelo válidas para estudios Climatológicos o Estadísticos. El volumen de datos almacenados en estas bases de datos de reanálisis es del orden de Tera Bytes. Algunas de estas bases de datos de reanálisis son públicas, como la del NCEP/NCAR y otras están disponibles para trabajos de investigación (como la del ECMWF) Observaciones y datos de estaciones meteorológicas Las estaciones situadas en tierra, en barcos y en aviones, proporcionan observaciones de variables atmosféricas en todo el mundo. En España distintos organismos disponen de numerosas estaciones de observación a lo largo y ancho de la geografía. El número de estaciones que se instalan para distintas aplicaciones (estudio de cuencas hidrológicas, etc.) crece cada día proporcionando una tupida red de datos, algunos de los cuales son
17 públicos y otros privados para los que el entorno GRID tendrá que proporcionar medidas de privacidad apropiadas Datos de satélites y radares Aparte de los datos ya mencionados, existe numerosa información pública relativa a mediciones de satélites y radares, que proporcionan datos interesantes sobre la dinámica de las nubes y la fenomenología asociada. En el corto plazo estos datos (imágenes, etc.) pasarán a formar parte de la cadena operativa, siendo asimilados por los modelos, o siendo post-procesados con técnicas inteligentes de minería de datos Casos de uso La iniciativa propuesta en el área de la Meteorología está vertebrada sobre distintas casos de uso en los que se podría aplicar la tecnología GRID en esta área mejorando la eficiencia de los sistemas actuales y permitiendo llevara a cabo proyectos que hasta ahora no son viables por la limitación computacional. La implementación de estas aplicaciones requerirá una estrecha colaboración con los grupos encargados del desarrollo de middleware (software intermedio entre las aplicaciones y el entorno GRID) que proporcionarán las herramientas apropiadas para que el acceso a datos, ejecución de procesos en distintos clusters, etc., sean tareas casi-transparentes para los grupos que desarrollen aplicaciones. Por otra parte, una iniciativa de este tipo tiene el beneficio añadido de fomentar el trabajo colaborativo entre distintos grupos de investigación en Meteorología Españoles (compartición segura de observaciones, salidas de modelos numéricos, reanálisis, predicciones operativas, etc.), así como el desarrollo de proyectos comunes aunando esfuerzos computacionales. Algunos casos de uso de interés para esta comunidad son los siguientes: 1) Un problema de enorme interés en la actualidad es la predicción por conjuntos. En la actualidad la tecnología GRID está suficientemente madura para permitir la ejecución de aplicaciones paramétricas, permitiendo incrementar su productividad. La predicción por conjuntos es un ejemplo típico de este tipo, ya que se trata de ejecutar la misma aplicación (modelo atmosférico) con distintas condiciones iniciales (parámetros); por tanto, un primer ejemplo realista de aplicación Meteorológica en el entorno GRID sería el desarrollo de un prototipo de sistema de predicción por conjuntos que integrase los distintos modelos y métodos de perturbación utilizados por los distintos grupos nacionales. 2) Integración de modelos de área limitada en regiones de interés: Un denominador común a los distintos grupos que realizan desarrollo e investigación en el ámbito de la Meteorología es la necesidad de simular la circulación de la atmósfera en determinadas condiciones (incluso diariamente, de forma operativa). En la actualidad existen distintas simulaciones globales de baja resolución disponibles, tanto de reanálisis (integraciones en tiempo pasado para un período largo de tiempo, años), como operativas (que proporcionan los campos atmosféricos previstos con unos días, semanas, o incluso meses de antelación). En la mayoría de las ocasiones, la resolución de estos modelos no es suficiente para analizar diversos problemas locales y, por tanto, es necesario integrar modelos de mayor resolución sobre una zona de interés concreta (modelos de área limitada, o modelos regionales), utilizando como condiciones iniciales y/o de contorno de los modelos globales.
18 Uno de los modelos regionales de dominio público más populares es el MM5 (por ejemplo, en la Península distintos grupos de investigación que componen la Red Ibérica para la investigación y desarrollo de aplicaciones en base al modelo atmosférico MM5 integran separadamente este modelo en distintas regiones peninsulares). La integración eficiente de un modelo atmosférico aprovechando el entorno grid involucra el análisis de la escalabilidad de la implementación paralela dependiendo de los recursos computacionales y de la latencia de la red (recursos que, a diferencia de la ejecución en un cluster local, varían de una ejecución a otra). Por tanto, una aplicación piloto de gran interés científico sería estudiar el rendimiento de distintas paralelizaciones de MM5 en el entorno GRID. 3) Otra aplicación piloto de gran interés para la comunidad científica es la realización de proyectos de reanálisis de alta resolución. En este caso, se tratar de integrar el mismo modelo atmosférico durante un largo período de tiempo (representativo de la climatología del problema que se quiera abordar). En este caso, se podría utilizar el modelo MM5 como aplicación paramétrica que sería ejecutada con distintas fechas (parámetros) en el entorno GRID aumentando la productividad. Esto permitiría disponer de reanálisis regionales en áreas de interés en un tiempo razonable. El modelo puede inicializarse a partir de condiciones de reanálisis del NCEP o del ECMWF. 4) Una vez que en el GRID haya sido almacenada información de reanálisis (global y regional), podrían implementarse técnicas inteligentes de acceso a la información (minería de datos). En este caso se trata de obtener patrones de información (Empirical Ortogonal Functions EOFs, clasificaciones, etc.), en lugar de la cantidad ingente de datos crudos. Por ejemplo, en muchas ocasiones sólo es necesario acceder a las componentes principales de ciertos campos, a las correlaciones canónicas de campos y observaciones, o incluso a los campos análogos a un campo dado (los vecinos); en estos casos, sería de gran utilidad disponer de servicios de acceso a la información que proporcionasen directamente la información solicitada. Este tipo de aplicaciones se encuadra en el marco más general de la Minería de Datos, necesaria para gestionar de forma apropiada complejas bases de datos con ingente información Middleware actual y específico El middleware utilizados en los proyectos piloto en esta área se ha restringido hasta la fecha al uso de las distintas versiones de Globus. La parte más específica de esta área es la relacionada con los distintos formatos de los datos meteorológicos que se utilizan. Por ello, para un acceso distribuido transparente a los datos será necesario desarrollar algún módulo específico de codificación/decodificación automática en cualquier formato Proyectos piloto Los primeros desarrollos y proyecto piloto de aplicaciones meteorológicas en entornos GRID se están llevando a cabo en el marco de proyectos Europeos. Por ejemplo, el proyecto Europeo del V Programa Marco CROSS-GRID (http://www.crossgrid.org), cuenta con una activa participación de grupos Españoles en el ámbito de la dispersión de contaminantes en la atmósfera y en la implementación de herramientas de minería de datos para bases de datos meteorológicas. Fruto de estas iniciativas se están resolviendo distintos problemas de migración y adaptación de las técnicas y productos existentes al
19 nuevo entorno GRID, facilitando el trabajo para futuras iniciativas en este campo. Otra de las experiencias piloto en este proyecto es la paralelización y migración a GRID del modelo COAMPS "Coupled Ocean/Atmosphere Mesoscale Prediction System" en forma de aplicación web en la que el usuario pueda seleccionar interactivamente un área de interés, la resolución horizontal y vertical, y un período de predicción, obteniendo los campos meteorológicos solicitados resultado de la integración del modelo. Está planeado integrar este servicio web con aplicaciones específicas de cálculo de contaminates en la atmósfera, cálculo de oleaje, y procesamiento y análisis de proyectos de re-análisis regionales. En la figura siguiente se muestran más detalles sobre los proyectos piloto involucrados en este proyecto. Por otra parte, también se pretende utilizar tecnología GRID en el proyecto Intergrado del VI Programa Marco ENSEMBLES, que comenzará en el 2004 y que generará grandes volúmenes de información (salidas de modelos regionales y climáticos en distintos escenarios de cambio climático).
20 Barreras para el despliegue de aplicaciones A nivel nacional todavía no existe ninguna experiencia piloto de que haga uso de esta tecnología. El principal problema para ello es la falta de recursos computacionales y de personal especializado de apoyo que permita llevar a la práctica alguno de los casos de uso descritos. Por ello, el fomento de centros de e-ciencia que den soporte computacional y técnico ayudaría a llevar a cabo estas tareas Grupos participantes en el área temática La propuesta de colaboración en el desarrollo de una infraestructura GRID en el ámbito de la Meteorología cuenta con el interés de distintos grupos de investigación. Hasta ahora se ha tratado únicamente de recabar las expresiones de interés de algunos de los grupos que desarrollan tareas relacionadas con los casos de uso descritos anteriormente, pero no se ha iniciado ninguna colaboración a nivel nacional dadas las barreras comentadas en el punto anterior. Inteligencia Artificial en Meteorología Universidad de Cantabria / CSIC Contacto: José Manuel Gutiérrez Grupo de Fisica No Lineal Unidade de Observacion y Prediccion Meteoroloxica Universidad de Santiago de Compostela Contacto: Vicente Pérrez Muñuzuri ) Grupo de Meteorología Universidad de las Islas Baleares Contacto: Juan M. Torres Grupo de Predicción y caracterización del recurso eólico CIEMAT Contacto: Jorge Navarro Montesinos ) Meteorology and Climate Applications and Modelling (MCAM) Universidad Complutense - Universidad de Murcia Contacto: Juan Pedro Montavez ) Grupo de Meteorología Universidad del País Vasco Contacto: Jon Saenz ) Conclusiones En el área de Meteorología existe suficiente masa crítica y problemas de interés como para que el desarrollo de aplicaciones Grid pueda tener éxito. La experiencia inicial y participación futura en distintos proyectos Europeos por parte de grupos nacionales así lo acredita. Sin embargo, no se dispone de una infraestructura computacional y técnica apropiada para plantear proyectos Grid a nivel nacional. El desarrollo de centros de e- Ciencia que den este soporte a los grupos nacionales permitiría llevar a la práctica proyectos en este área con garantías de éxito.
Aplicación de la tecnología Grid en el mercado financiero Joan Massó 26 Marzo 2003 Grid: De la investigación a la empresa Experimento I-Way (1995): Nace el concepto Grid (17 centros de alto rendimiento
Master Oficial en Clima, Energía y Riesgo Ambiental GUION DE PRÁCTICA Curso 2010-2011
Master Oficial en Clima, Energía y Riesgo Ambiental GUION DE PRÁCTICA Curso 2010-2011 Clase práctica de Dinámica Atmosférica: Ejecución del modelo regional climático REMO Breve descripción En esta clase

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución