Source: http://docplayer.es/1261881-Tesis-doctoral-modelizacion-de-aplicaciones-auto-adaptativas-para-entornos-de-computacion-distribuida.html
Timestamp: 2017-01-24 22:23:43+00:00

Document:
⭐TESIS DOCTORAL. Modelización de Aplicaciones Auto-adaptativas para Entornos de Computación Distribuida
Download "TESIS DOCTORAL. Modelización de Aplicaciones Auto-adaptativas para Entornos de Computación Distribuida"
Diego Moreno Toro
1 TESIS DOCTORAL Modelización de Aplicaciones Auto-adaptativas para Entornos de Computación Distribuida Modeling Self-adaptive Applications for Distributed Computing Environments Autora: María Botón Fernández Departamento: Tecnología de los Computadores y de las Comunicaciones Conformidad del Director y del Codirector: Director: Dr. Miguel Ángel Vega Rodríguez Codirector: Dr. Francisco Prieto Castrillo 20142 23 ÍNDICE Contenido Agradecimientos Resumen Abstract Capítulo I: Introducción Motivación Interés de la investigación Plan de desarrollo Organización de este documento Capítulo II: Marco teórico Computación Grid Beneficios de la Computación Grid Términos y Conceptos Arquitectura Trabajo Relacionado Hipótesis Capítulo III: Metodología Modelo de Selección Síncrono Modelo matemático y otros supuestos Workflow Casos de Estudio Selección basada en Enlace Preferencial Selección basada en Búsqueda de Entorno Variable Selección basada en Autómatas Celulares Modelo de Selección Asíncrono Modelo Matemático Workflow Casos de Estudio Selección basada en la Búsqueda Dispersa Selección basada en Red de Mundo Pequeño Selección basada en Inteligencia Colectiva: Abejas4 3.3. Infraestructuras de experimentación Ibergrid Fusión Capítulo IV: Experimentación y Resultados Experimentación Síncrona Análisis del Aprendizaje del Modelo Análisis del Efecto de Tamaños Grandes del Espacio de Tareas Análisis de Parámetros de Relevancia Análisis de Workflows con Dependencias de Datos Análisis de Tiempo de Cómputo y Escalabilidad Experimentación Asíncrona Análisis del Aprendizaje del Modelo Análisis del Efecto de Tamaños Grandes del Espacio de Tareas Análisis de Tiempo de Cómputo y Escalabilidad Análisis de Replicación de Tareas Análisis de Slots Libres Análisis de Workflows con Dependencias de Datos Comparación con otras propuestas Comparación exhaustiva con Montera Análisis de Agrupación de Tareas Comparación con otras alternativas Capítulo V: Conclusiones Conclusiones Trabajo Futuro Bibliografía Anexo A: Méritos Científicos Conseguidos durante el Desarrollo de la Tesis A.1. Publicaciones que sustentan la Tesis Revistas Capítulos de libro Conferencias Pósteres A.2. Estancias Internacionales A.3. Participación en Proyectos de Investigación A.4. Participación en Actividades Docentes5 A.5. Participación en Comités de Programa de Congresos Internacionales A.6. Revisora en Revistas JCR A.7. Participación en otros eventos6 67 Figuras Figura 1: Componentes Grid Figura 2: Arquitectura Grid Figura 3: Taxonomía que caracteriza y clasifica nuestra propuesta ERS en el ámbito de la Computación Grid (taxonomía basada en (34)) Figura 4: Mapeo de espacios J y R en el modelo ERS Figura 5: Flujo de ejecución del modelo ERS Figura 6: Pseudocódigo ERS Figura 7: Evolución de la red que se va creando en tiempo de ejecución Figura 8: Pseudocódigo para la versión ERS-PA Figura 9: Pseudocódigo de la versión ERS-VNS Figura 10: Subredes para autómata en ERS-CA. Concepto de vecindad Figura 11: Pseudocódigo de la versión ERS-CA Figura 12: Workflow versión asíncrona del modelo ERS Figura 13: Pseudocódigo del modelo asíncrono ERS Figura 14: Pseudocódigo de la versión ERS-SS Figura 15: Algoritmo de búsqueda local en ERS-SW Figura 16: Pseudocódigo de la versión ERS-SW Figura 17: Método de actualización en ERS-ABC para obtener elementos para S OB Figura 18: Pseudocódigo de la versión ERS-ABC Figura 19: Resultados versiones síncronas de ERS al analizar el aprendizaje del modelo Figura 20: Tasa de tareas finalizadas con éxito obtenida al analizar el aprendizaje de ERS síncrono Figura 21: Resultados del análisis del efecto de grandes producciones para el ERS síncrono Figura 22: Tasa tareas finalizadas con éxito al analizar tamaño de J para ERS síncrono Figura 23: Resultados al analizar los parámetros de relevancia para ERS síncrono Figura 24: Analizando la tasa de tareas finalizadas con éxito para los distintos pares de relevancia Figura 25: Estructura workflow de tipo DAG aplicada para el análisis de dependencias de datos con ERS síncrono Figura 26: Analizando ERS síncrono considerando dependencias de datos Figura 27: Valores obtenidos para ERS síncrono en cuanto a escalabilidad Figura 28: Análisis del aprendizaje del modelo en modo asíncrono Figura 29: Comparativa del aprendizaje de las versiones ERS asíncronas Figura 30: Tasa de tareas finalizadas con éxito al analizar el aprendizaje de ERS asíncrono Figura 31: Análisis de Tamaños grandes de J para ERS asíncrono Figura 32: Gráfica de las 3 versiones ERS asíncronas para grandes tamaños de J Figura 33: Tasa de tareas obtenida al analizar ERS asíncrono con tamaños grandes de J Figura 34: Tiempo de cómputo de las versiones asíncronas de ERS Figura 35: Análisis aprendizaje de ERS-SS con replicación de tareas Figura 36: Comparando ERS-SS y glite con o sin aplicar replicación de tareas Figura 37: Analizando ERS-SS-rep para tamaños grandes de J Figura 38: Comparando ERS-SS-rep y glite con o sin replicación Figura 39: Análisis del aprendizaje de ERS considerando slots libres de recursos Figura 40: Análisis de ERS considerando slots libres para tamaños grandes de J8 Figura 41: Analizando el aprendizaje de ERS-SS con dependencias de datos Figura 42: Analizando ERS-SS con dependencias de datos para tamaños grandes de J Figura 43: Analizando el aprendizaje de ERS-SS en la VO de fusion Figura 44: Comparativa ERS-SS y Montera en la VO de fusion Figura 45: Overhead obtenido por ERS-SS y Montera en la VO de fusion Figura 46: Pseudocódigo del algoritmo de agrupación utilizado en ERS-SS Figura 47: Resultados de ERS-SS al aplicar agrupamiento de tareas9 Tablas Tabla 1: Diferencias principales entre el trabajo relacionado y el modelo ERS propuesto Tabla 2: Características del escenario donde se evalúa el aprendizaje del modelo ERS en modo síncrono Tabla 3: Valores estadísticos escenario análisis aprendizaje ERS síncrono Tabla 4: Parámetros configuración al analizar el efecto del tamaño del espacio J en ERS síncrono Tabla 5: Datos estadísticos al analizar grandes tamaños de J en ERS síncrono Tabla 6: Conjunto de pares de valores a y b analizados para ERS síncrono Tabla 7: Datos estadísticos al analizar los parámetros de relevancia en ERS síncrono Tabla 10: Datos estadísticos obtenidos al analizar dependencias de datos en el ERS síncrono. 81 Tabla 11: Datos estadísticos al analizar el aprendizaje de ERS asíncrono Tabla 12: Datos estadísticos al analizar tamaños grandes de J en ERS asíncrono Tabla 13: Datos estadísticos de la versión ERS-SS-rep al analizar su aprendizaje en la grid Tabla 14: Datos estadísticos al considerar slots libres en el proceso de selección de ERS-SS Tabla 15: Datos estadísticos al considerar dependencias de datos en ERS-SS Tabla 16: Overhead de tiempo de cómputo de ERS-SS en las distintas pruebas Tabla 17: Comparación entre soluciones grid10 1011 Ecuaciones Ecuación Ecuación Ecuación Ecuación Ecuación Ecuación Ecuación Ecuación Ecuación Ecuación Ecuación12 1213 Agradecimientos En primer lugar quisiera agradecer a mi director de tesis, Miguel Ángel Vega, todo el tiempo, implicación, esfuerzo y apoyo que me ha dedicado durante todos estos años, así como todos los conocimientos y experiencia que me ha transmitido a lo largo del camino. Has sido un mentor en toda la amplitud de la palabra y te has convertido en un referente en mi trabajo. A Francisco Prieto, mi co-director, le agradezco igualmente la dedicación, el esfuerzo y el entusiasmo puestos en este trabajo así como todo el tiempo que pasamos juntos, codo con codo, dando forma a ese equipo multidisciplinar. Nuevamente, gracias a los dos, sin vosotros nada habría sido lo mismo. Quiero dar las gracias también a mis padres por darme siempre su apoyo incondicional y por esa fe ciega que depositan en mí y en todo lo que hago. Sois el motor que me impulsa a seguir. A mi hermano, por darme la mano y avanzar conmigo, por ser mi compañero incansable y mejor amigo. A Manuel, por su confianza, su ilusión, por darme fuerzas para llegar a la meta y por motivarme a superar los miedos, a enfrentar los retos. A mis tías y primas, por estar siempre a mi lado, por ser mis animadoras incondicionales y por ese vínculo mágico que nos une: el cariño. Una mención especial a Guillermo Díaz, director de Ceta-Ciemat, por creer en mí y brindarme la oportunidad de seguir creciendo. Y por último, recordar con cariño a Eva, Javi, Nuria, Isa, Edu, Gloria y Luis, amigos y compañeros de batalla en varias etapas de mi vida. Los buenos momentos vividos juntos iluminaron el camino. 1314 1415 Resumen Los entornos de computación distribuida surgen para resolver problemas caracterizados por una demanda de computación demasiado grande como para ser ejecutados en un supercomputador. Dentro de este campo surge un nuevo paradigma conocido como computación Grid (1) (2) (3), basado en el uso coordinado de recursos de cómputo y almacenamiento, geográficamente dispersos, para facilitar la ejecución de aplicaciones de cómputo masivo. Una de las principales características de este tipo de entornos es que los recursos que lo componen son de naturaleza heterogénea (diferentes características hardware y software). Otra característica importante de estos entornos es la creación de Organizaciones Virtuales (VO); cada VO está formada por una serie de instituciones y centros de investigación que ceden sus recursos para un determinado proyecto. Cabe destacar que las capacidades de cómputo y almacenamiento de estas infraestructuras pueden considerarse ilimitadas, ya que es posible agregar recursos según las necesidades del propio proyecto. A pesar de las ventajas que presenta esta clase de entornos, existen varios problemas relacionados con la gestión de tareas, el descubrimiento y monitorización de recursos así como la posterior selección de los mismos para realizar las tareas de una determinada aplicación. Como se ha mencionado, los recursos grid son proporcionados por distintos centros, con diferentes dominios y políticas de administración. Esto da lugar a un entorno dinámico y cambiante en el que las características, disponibilidad y rendimiento de los elementos varían en el tiempo (perjudicando la ejecución de las aplicaciones). En cuanto a los procesos de descubrimiento, monitorización y selección de recursos, lo ideal sería que el sistema tuviese información sobre el estado de la infraestructura en tiempo real, de manera que se pudiera tener información actualizada en el Sistema de Información. De esta forma, el propio sistema podría tomar decisiones autónomamente y mejorar su rendimiento global. Hay que tener en cuenta que las aplicaciones también requieren información actualizada (o en tiempo real) sobre la infraestructura, para poder hacer frente a los cambios del entorno. Por todo ello, surge la necesidad de introducir la auto-adaptación en este tipo de entornos. Sin embargo, debido a las características y principios de este paradigma, el aplicar la auto-adaptación en cualquier nivel de un sistema grid se ha convertido en un reto en sí mismo. 1516 En este trabajo nos centraremos en mejorar el proceso de selección de recursos grid para optimizar la productividad de la infraestructura y mejorar el despliegue de las aplicaciones. Para ello proponemos definir y desarrollar un modelo de selección eficiente de recursos, el cual se encargará de buscar aquellos elementos que mejor se adapten a los requisitos de la aplicación durante su ejecución. La idea es que dicho modelo proporcione una capacidad de auto-adaptación a las aplicaciones grid, guiándolas durante su ejecución para que los cambios del entorno no perjudiquen su rendimiento. Para diferenciar nuestra investigación de trabajos anteriores, el modelo será definido a nivel de usuario. Esto quiere decir que no se realizará ningún cambio en la infraestructura ni en los elementos que la componen, tampoco se modificará ni controlará el comportamiento de los recursos grid; no se añadirán nuevas políticas de notificación ni de planificación. En definitiva, el modelo tendrá en cuenta las limitaciones de los usuarios y hará uso de su conjunto de comandos para monitorizar la eficiencia de los recursos y determinar en cada momento cuáles son los mejores para una determinada aplicación. Para esto el modelo utilizará algoritmos del campo de la inteligencia artificial y de las redes complejas. Además, la experimentación se realizará en entornos grid reales. 1617 Abstract The distributed computing environments appeared for solving problems with a large computational demand and which cannot be executed on a supercomputer. A new paradigm known as Grid Computing (1) (2) (3) emerged within the Distributed Computing field. It was introduced as a novel technique for solving massive computational problems by sharing computational power and storage capacities. Moreover, the resources that compose a grid infrastructure have different geographical locations. One of the main characteristics of grid environments is the heterogeneous nature of their components (different hardware and software features). Another characteristic is that resources are grouped into Virtual Organizations (VO). Every VO is constituted of several institutions and research centres which donate their resources for a particular project. Notice that the computational and storage capacities of such as infrastructure can be considered as unlimited by the aggregation of new resources as needed. In spite of the advantages of grid computing systems, there are several problems related to tasks management, resource discovery, resource monitoring and resource selection. As mentioned, grid resources are provided by different centres which have different policies and administrative domains. This fact leads to a dynamic and changing environment in which the characteristics, availability and performance of resources vary over time (worsening the applications execution). Regarding the discovery, monitoring and selection processes, the system ideally needs to know the infrastructure status in real time for registering updated information in the Information System. This way, the system could make decisions autonomously enhancing its performance. It should be highlighted that also the applications require real-time information about the infrastructure for facing the environmental changes. Considering all these circumstances, the adaptation concept is introduced as a feasible solution within the grid community. However, applying the adaptation at any grid level has become a challenge itself due to the grid systems characteristics and principles. This work is focused on improving the grid resource selection process with the aim of optimizing the infrastructure throughput and the application execution in this type of environments. We propose to define and to develop an efficient resource 1718 selection model, which identifies the resources that best fit the application requirements. The main idea is that the model provides a self-adaptive capability to grid applications, by guiding them during their execution and, then, ensuring a good performance. Unlike previous works, the model will be defined from the user point of view. That is to say, it does not change the grid infrastructure or its elements, it does not modify or control the behaviour of these resources, and, finally, no new policies or scheduling techniques will be applied. Hence, we will define the model by considering the users limitations and we will apply the user command set for monitoring the resources efficiency and determining the most efficient ones. For doing this, the model will use algorithms from the fields of artificial intelligence and complex networks. Furthermore, the experiments will be done in real grid environments. 1819 Capítulo I: Introducción 1.1. Motivación La presente investigación está motivada por uno de los problemas reales que más sufren los usuarios de las infraestructuras grid: la adaptación de las aplicaciones a los cambios del entorno. Este tipo de infraestructuras se caracteriza por una administración local de dominios, que a su vez implica el uso de diversas políticas locales (a nivel de site), por una alta heterogeneidad de recursos (con diferentes características hardware y software), por una estructura dinámica (los recursos se agregan y desagregan a la infraestructura de forma impredecible), heterogeneidad en las propias tareas (jobs), etc. Todas estas características provocan que la infraestructura cambie a lo largo del tiempo, perjudicando gravemente la ejecución de las aplicaciones. Por ello se hace necesario que las aplicaciones conozcan en tiempo real el estado de la infraestructura. En esta línea, el presente trabajo se centra en dotar a las aplicaciones de una capacidad auto-adaptativa, permitiéndoles hacer frente a estos cambios inesperados. Para su resolución de manera eficiente se van a tener en cuenta circunstancias y limitaciones reales tanto de este tipo de infraestructuras como de sus usuarios y las aplicaciones que en él se despliegan. Una vez analizado el entorno, se diseñará y desarrollará un modelo de selección eficiente que permita no sólo guiar a las aplicaciones durante su ejecución en la grid, sino también reducir sus tiempos de ejecución y mejorar las tasas de tareas acabadas con éxito. Este modelo será capaz de clasificar recursos en tiempo real, seleccionar aquellos de mayor rendimiento y guiar a las aplicaciones durante su ejecución. Para alcanzar nuestro objetivo, durante la selección de recursos se hace uso de metaheurísticas, métodos evolutivos y algoritmos propios del campo de las redes complejas. Estas técnicas serán combinadas con un modelo matemático que permita monitorizar la eficiencia de los recursos a nivel de usuario Interés de la investigación La presente tesis proporciona, desde el punto de vista científico, la oportunidad de resolver problemas de optimización en el campo de la computación distribuida 1920 mediante la aplicación de algoritmos propios del campo de los sistemas complejos (4) (5) (6) (7) (8). Además, el uso de los mismos nos ha permitido adquirir otra visión sobre los elementos de estas infraestructuras y sus interacciones (9) (10) (11). Por otra parte, se han analizado, estudiado y enriquecido varios algoritmos evolutivos y metaheurísticas para conseguir una buena optimización en el menor tiempo posible. Todas las condiciones y parámetros añadidos pueden ser extrapolados a otros problemas de optimización de naturaleza similar. Desde el punto de vista de la computación distribuida, se aborda un problema real desde una nueva perspectiva, aprovechando los recursos de la misma, evitando alteraciones, modificaciones y controles tanto del sistema como de los elementos que lo componen. Se hace frente a los cambios del sistema así como a otras situaciones que perjudican la buena ejecución de las aplicaciones. Esto implica una mejora de la calidad del servicio para lograr una mejor percepción del mismo por parte de los usuarios. Computacionalmente, los algoritmos utilizados en el modelo para lograr una selección eficiente han sido adaptados a las características y condiciones del entorno, respetando a su vez los objetivos marcados al inicio de la investigación. De este modo, se hace posible monitorizar la eficiencia de los recursos sin aplicar técnicas de notificación, planificación, migración, etc. Finalmente, al centrarnos en un tipo de infraestructura muy utilizado no sólo a nivel nacional sino también internacional (pueden apreciarse los proyectos europeos que hacen uso de la misma para materializar sus experimentos), hace que el proporcionar una solución real y directa a uno de sus principales problemas sea factor de interés para la comunidad científica. Además, al no implicar un cambio en la infraestructura en cuestión, puede ser utilizado de forma rápida y sencilla en cualquier infraestructura europea Plan de desarrollo El plan de desarrollo para la elaboración de esta tesis consta de las siguientes grandes tareas: Estudio bibliográfico y adquisición de conocimientos: estudio bibliográfico sobre el problema de selección de recursos en entornos grid. Análisis y estudio de las técnicas y/o soluciones adaptativas propuestas para su resolución. 2021 Profundización en los sistemas grid, sus comandos, operaciones y las limitaciones a nivel de usuario para poder abordar el problema desde un nuevo enfoque: punto de vista del usuario. Diseño y desarrollo de modo síncrono del modelo de selección eficiente y adaptativo: se define la formulación matemática (modelo matemático) para monitorizar la eficiencia de ciertos recursos grid. El proceso de selección eficiente será particularizado en cada versión desarrollada en base al algoritmo aplicado. Implementación de las correspondientes versiones síncronas del modelo, según el caso de estudio aplicado. Se desarrolla una versión síncrona que utilice la selección estándar de glite (12) (13), propia de las infraestructuras europeas. Dicha versión es desarrollada igualmente desde el punto de vista del usuario, permitiendo comparativas con el modelo propuesto. Todas las versiones que se desarrollen del modelo serán evaluadas en una infraestructura grid real, perteneciente a una plataforma europea. Estancia en el Centro de Investigación de Epistemología Aplicada (CREA) (14) y el Instituto de Sistemas Complejos de Paris Île-de-France (ISC-PIF) (15) en París. La misma fue motivada por la adquisición de nuevas metodologías y conocimientos del campo de los Sistemas Complejos. Análisis de los resultados obtenidos en las diferentes versiones con la intención de mejorar la solución propuesta. Tras esto se define y diseña una nueva versión del modelo utilizando un modo asíncrono en el procesamiento de las tareas, que implica entre otras cosas, un cambio en la formulación matemática planteada. Implementación de las versiones asíncronas correspondientes. Al igual que ocurría durante la etapa síncrona, se implementa también una versión asíncrona basada en la selección estándar de las infraestructuras grid. Evaluación del modelo no sólo en la infraestructura anterior usada, sino también en una con mayor número de recursos y mayor carga computacional. Se analiza el comportamiento de la versión asíncrona en dicho entorno. A partir de los resultados obtenidos se prepara una nueva fase de experimentación, donde probar el modelo para grandes producciones. Comparativa de nuestro modelo con otra solución adaptativa para los entornos grid: Montera2 (16) (17). La experimentación se realiza en la nueva 2122 infraestructura. También se realizan comparaciones con otras propuestas de la literatura. Nueva etapa de experimentación donde se aplica el concepto de agrupación del modelo en el modo asíncrono. Redacción de la documentación de la tesis doctoral Organización de este documento El presente documento ha sido organizado en 5 grandes capítulos. En el capítulo I se ha incluido toda la parte introductoria (motivación, intereses y plan de desarrollo). El capítulo II recoge el marco teórico de la tesis, proporcionando información más detallada sobre Computación Grid, analizando el trabajo relacionado y exponiendo las hipótesis que fundamentan la presente tesis. Por su parte, en el capítulo III se detallan las distintas versiones del modelo elaboradas durante la investigación, así como las distintas metodologías empleadas para ello. Dicho capítulo ha sido dividido en dos partes principales: una primera etapa en la que se diseña y desarrolla un modelo síncrono desde el punto de vista de la gestión de las tareas. En una segunda etapa dicho modelo es extendido a una versión asíncrona. El capítulo termina describiendo las infraestructuras usadas en los distintos experimentos. El capítulo IV abarca toda la parte de experimentación. Al igual que ocurría en el capítulo anterior, se muestran las etapas de experimentación englobadas en dos grandes fases: una primera donde se validan las distintas versiones desarrolladas a partir del modelo síncrono. Una segunda etapa es enriquecida, no sólo con la evaluación de la versión asíncrona del modelo, sino también mediante la evaluación de nuevas características y circunstancias (escalabilidad, replicación de tareas, dependencias, etc.). Por último, se compara el modelo en modo asíncrono en su versión más eficiente (con el algoritmo de selección que mejor resultado ha dado) con una de las soluciones de scheduling eficiente en grid más importantes a nivel nacional: Montera2. Además, también se incluyen comparaciones con otras alternativas de la literatura. Las conclusiones y trabajo futuro se exponen en el capítulo V. Para finalizar, en el Anexo A se especifican todos los méritos científicos conseguidos durante el desarrollo de la tesis. 2223 Capítulo II: Marco teórico 2.1. Computación Grid El término Computación Grid surgió a mediados de los 90 para referirse a una infraestructura de computación distribuida para la ciencia e ingeniería avanzada. Se presenta como una analogía a las redes eléctricas, donde los usuarios adquieren electricidad mediante el uso de los enchufes sin preocuparse/saber de dónde procede la misma. En este sentido, los usuarios de una infraestructura de computación grid consiguen capacidad de cómputo y de almacenamiento según sus necesidades, desconociendo la procedencia y localización de los mismos. Si consideramos que el objetivo final de este nuevo paradigma computacional es alcanzar un entorno capaz de proporcionar un acceso transparente a recursos heterogéneos distribuidos geográficamente, no es de extrañar que sea necesario no sólo hacer uso de técnicas para virtualizar ciertos recursos sino también técnicas y estándares en las áreas de planificación, seguridad, administración de sistemas, etc. Siguiendo esta línea, la Computación Grid puede definirse como una variedad de niveles de virtualización para formar un todo. Es decir, la finalidad es crear la ilusión de tener una única máquina con una gran capacidad de cómputo mediante el uso de un conjunto de recursos compartidos Beneficios de la Computación Grid Muchos son los beneficios que proporciona este nuevo paradigma de la computación distribuida, como se ha comentado en diferentes artículos (18) (19). A continuación se comentan sus principales ventajas. Uno de los beneficios de este paradigma es la reutilización de recursos. En muchas organizaciones los recursos tiene un bajo porcentaje de uso (alrededor de un 5%), de manera que incluso los servidores permanecen relativamente inactivos. Con la computación Grid, dichos recursos pueden ser explotados, incrementando los porcentajes de uso de los mismos. Pero no sólo nos estamos refiriendo a recursos de procesamiento, sino que también sería posible aprovechar los discos inutilizados como capacidad de almacenamiento (a través de data grid). Otro beneficio de estas infraestructuras es que mejoran el balanceo de carga de los recursos. Es decir, puede ocurrir que algunos centros experimenten en ciertos 2324 momentos unos picos de actividad, que implican una demanda de procesamiento. Si la aplicación en cuestión puede ser ejecutada en un entorno grid (bien porque desde su inicio se haya considerado su despliegue en tales entornos o porque se haya realizado un porting de la misma a sistemas grid) se puede preparar una migración al mismo cuando tengan lugar estos picos. De hecho, algunas implementaciones permiten la migración de tareas completas a la grid. Es por ello que la computación grid proporciona un método consistente de balanceo de carga que puede ser aplicado a CPUs, almacenamiento y otros tipos de recursos disponibles en los sistemas grid. Una de las características más atractivas de una grid es la capacidad de cómputo masivo paralelo que proporciona. Y es que, aparte de las necesidades científicas, esta capacidad computacional conduce a una nueva evolución dando lugar a nuevas áreas como la biomedicina, modelos financieros, animación de imágenes en movimiento y muchos otros. Para que una aplicación pueda beneficiarse de esta condición debe ser diseñada haciendo uso de algoritmos que se puedan dividir en partes independientes. Es por ello que no todas las aplicaciones pueden considerarse para su ejecución en estos entornos. Además, no existen herramientas que transformen las aplicaciones para su despliegue en grid y explotar las capacidades de cómputo de la misma. Los sistemas grid proporcionan también entornos para la colaboración entre la comunidad científica, otro factor importante a considerar. Los usuarios de las infraestructuras grid son agrupados a través de Organizaciones Virtuales (VO), cada una con diferentes políticas de acceso, uso, compartición, etc. Las VOs comparten sus propios recursos grid de manera colectiva y suelen estar asociadas a un determinado proyecto o área de investigación. La compartición no se queda sólo en los ficheros, datos y resultados de los distintos experimentos, sino que abarca también otros recursos como dispositivos especializados, software, servicios, licencias, etc. (todos ellos virtualizados para lograr una interoperabilidad uniforme entre los distintos usuarios). Finalmente, a modo de resumen, hemos visto que la Computación grid permite a las organizaciones (reales o virtuales) aprovecharse de un amplio conjunto de recursos de formas que antes no eran posibles. Pueden hacer uso igualmente de recursos con un porcentaje de uso bajo para alcanzar los requisitos de su proyecto a la vez que reducen costes. Por otra parte, la naturaleza de estas infraestructuras permite a sus usuarios hacer uso de procesamiento paralelo (de manera que aplicaciones de cómputo masivo puedan 2425 ser ejecutadas y, además, finalizadas en menor tiempo). El paradigma de la computación grid pone a disposición de un amplio número de usuarios una gran cantidad de recursos, mejorando la fiabilidad, balanceo y gestión de los mismos Términos y Conceptos Una infraestructura grid se construye mediante la agregación de recursos heterogéneos, como se ha indicado anteriormente. Estos recursos están agrupados en sites, independientes entre sí y distribuidos geográficamente. Estos sites pueden clasificarse en dos grandes grupos: los centros de recursos y los centros de operación de recursos. Los centros de recursos se crean para proporcionar capacidad de cómputo, capacidad de almacenamiento o ambas. Por su parte, los centros de operación de recursos se encargan de alojar los servicios globales esenciales para el funcionamiento de la infraestructura como un único y potente ordenador. Toda infraestructura grid está formada al menos por un centro de operación de recursos y un número (que puede ser variable según las necesidades del proyecto) de centros de recursos (ver Figura 1). Los usuarios, antes de poder utilizar los recursos grid deben afiliarse a una VO, ya que es la manera de obtener privilegios sobre los elementos. Posteriormente, deben adquirir un certificado grid que les permita autenticarse en la infraestructura. El punto de acceso a la infraestructura grid se conoce como interfaz de usuario (UI). Se trata de una máquina donde el usuario tiene una cuenta personal con sus certificados instalados. En cuanto a los elementos de computación, para acceder a un conjunto de recursos localizados en un site concreto se tiene un nodo maestro, conocido como Computing Element (CE). Este elemento coordina el funcionamiento del site grid, planificando la carga de los recursos. Es decir, entre otras cosas, se encarga de recibir los trabajos (jobs) y enviarlos a la colección de recursos de cómputo que gestiona. Cabe destacar que cada CE tiene una única cola de ejecución, con lo que si un site presenta varias colas de ejecución implica que hay varios CEs en el mismo. Los recursos donde los trabajos son finalmente ejecutados se conocen como Worker Nodes (WN). 2526 Figura 1: Componentes Grid Respecto a los elementos de almacenamiento, un Storage Element (SE) tiene la capacidad de proporcionar acceso uniforme a los recursos de almacenamiento del entorno. Puede manejar servidores de disco simple, grandes arrays de disco o sistemas de almacenamiento masivo (basados en cinta). Además, este tipo de elemento soporta diferentes protocolos de acceso a datos e interfaces. Para la gestión de la carga se tiene un componente conocido como Workload Management System (WMS). Este componente grid es responsable de recibir los trabajos que los usuarios envían a la infraestructura, asignarlos al CE más apropiado, registrar su estado en el Sistema de Información (IS - conocido como BDII en glite) y obtener la salida generada una vez que han sido ejecutados. La máquina que aloja estos servicios se conoce como Resource Broker (RB). Se puede decir que el RB actúa como un metaplanificador de los diferentes sites grid. Para escoger el CE que mejor se ajuste a la ejecución de la aplicación hace uso de un procedimiento conocido como matchmaking. En dicho proceso se consulta el IS para determinar el estado de los recursos grid y seleccionar, primero, de entre los CEs disponibles aquellos que cumplan con las especificaciones/requisitos del usuario y que, además, estén próximos a los ficheros de entrada especificados. A continuación se escoge uno en base a su grado de eficacia y ocupación. El IS se encarga de proporcionar información sobre los recursos grid y sus estados. Esta información es importante para el correcto funcionamiento de la infraestructura. La información publicada en él se utiliza también para las labores de descubrimiento y monitorización. Para la gestión de los datos se tiene un espacio único de nombres para toda la grid, Local File Catalog (LFC). No hay que olvidar que al 2627 tratarse de un sistema donde los ficheros están distribuidos en diferentes ubicaciones, se hace necesario contar con un servicio de este tipo Arquitectura Las infraestructuras grid requieren una serie de servicios que permitan la comunicación e interacción de los distintos elementos que la componen de una forma organizada y controlada. Varios de ellos han sido mencionados durante la descripción de componentes. En primer lugar se hace necesario tener servicios de autenticación y autorización. El servicio de autenticación será relativo no sólo a los usuarios que quieran acceder al entorno, sino también a los recursos que forman parte del sistema. Así mismo, un servicio de descubrimiento de recursos ya que, debido a la naturaleza de este tipo de entornos, los recursos pueden ser añadidos y/o eliminados dinámicamente. En este sentido también es importante contar con un sistema de planificación (scheduling) para garantizar un reparto equitativo entre tareas y recursos. Los servicios de monitorización son necesarios para controlar la correcta ejecución de las tareas y el comportamiento de los componentes. Dichos servicios de descubrimiento, planificación y monitorización van a estar ligados a un servicio de caracterización/información de los recursos, capaz de registrar el estado, comportamiento y funcionamiento de tareas y recursos. Serán igualmente convenientes servicios de acceso a datos remotos (considerando la naturaleza distribuida del sistema), de réplica y de transferencias rápidas de datos. Una vez especificados los servicios útiles, pasamos a describir la arquitectura de estos sistemas. Por regla general, la arquitectura global de estos sistemas puede dividirse en capas (como se observa en la Figura 2), donde cada una cumple una función específica. Como se verá a continuación, las capas superiores están centradas en el usuario, mientras que las capas inferiores están más centradas en los ordenadores y redes. En el nivel más bajo se encuentra la capa de red, que se encarga básicamente de proveer los métodos y protocolos de comunicación entre los recursos que componen la capa superior. También forman parte de este nivel los protocolos de seguridad, requisito esencial para el correcto funcionamiento del sistema. La siguiente es la capa de recursos constituida por el conjunto de recursos distribuidos, tales como servidores, PCs, dispositivos de almacenamiento, sensores, 2728 instrumentos científicos, etc. En esta capa se realizará la negociación de recursos así como la iniciación de las transacciones que sean necesarias para la realización de un trabajo (job), tales como la localización y recuperación de los datos necesarios para la ejecución del job. Inmediatamente superior a la capa de recursos se encuentra el middleware, capa de servicios que permite la gestión remota de procesos, la asignación de recursos, acceso de almacenamiento, registro y recuperación de información, seguridad, monitorización, diagnóstico de la ejecución de los distintos trabajos, etc. En definitiva, se trata de la capa que engloba todos los servicios que permiten gestionar y compartir un conjunto de recursos heterogéneos geográficamente distribuidos. En el último nivel se encuentra la capa de aplicación, donde residen todos los protocolos e interfaces que permiten a las aplicaciones científicas el acceso a la infraestructura. Según la naturaleza de la aplicación, será necesario conectarse a las distintas capas o a una en concreto. También incluye portales y grupos de herramientas de desarrollo cuyo objetivo es servir de apoyo a las aplicaciones. Es la capa con la que interactúan los usuarios grid, y será donde se asiente nuestro modelo de selección eficiente de recursos. Figura 2: Arquitectura Grid 2829 2.2. Trabajo Relacionado Como se ha comentado en la sección 1.1 (Motivación) del capítulo I, existen una serie de problemáticas en los entornos Grid relacionadas con los procesos de descubrimiento, selección y monitorización de los recursos. Esto implica que las aplicaciones necesiten manejar información en tiempo real sobre el estado de la infraestructura para poder hacer frente a los cambios de la misma. En los últimos años surge una tendencia para tratar de solventar estos problemas: el uso de la adaptación desde distintos puntos de vista. En este sentido son muchas las propuestas presentadas que hacen uso del concepto de adaptación para resolver los problemas grid. Algunas de ellas han desarrollado frameworks adaptativos para proporcionar una planificación (scheduling) eficiente de las tareas. Otras soluciones diseñan sistemas autónomos, de manera que ellos mismos puedan adaptarse a los cambios del entorno. Finalmente, existen estudios centrados en aplicar la adaptación específicamente en ciertos procesos grid. El trabajo en (20) propone una alternativa para resolver el problema de selección. Para ello, se recoge periódicamente información sobre los tiempos de comunicación y procesamiento. En base a dicha información, y aplicando una serie de métricas, se establecen dos umbrales (superior e inferior). El objetivo es mantener la eficiencia de la aplicación en el rango comprendido entre ambos umbrales, por lo tanto los recursos grid serán añadidos y/o borrados siguiendo este criterio. En (21) se proporciona una habilidad adaptativa mediante la mejora de la infraestructura grid. Entre otros, presentan diferentes formas de evitar las restricciones que sufren las tareas: 1- modificando el diseño de la infraestructura, 2- desarrollando una gestión de trabajos más dúctil y 3- promoviendo la cooperación entre los usuarios y las infraestructuras. El estudio en (22) presenta una metodología para manejar las aplicaciones grid de forma autónoma. En concepto de living application (aplicación viva) surge a partir de este trabajo. La aplicación es capaz de tomar decisiones acerca de las tareas a ejecutar en un determinado momento y los recursos que se harán cargo de dicha ejecución (para lo que se necesitan ciertos privilegios de administración). Estas decisiones se toman en base a los conocimientos que la aplicación va adquiriendo en tiempo real. 2930 Los sistemas de computación grid son cada vez más utilizados para ejecutar cierto tipo de aplicación: aplicaciones multi-fase paralelas. Este hecho ha motivado el desarrollo de los trabajos en (23) y (24), centrados en desarrollar frameworks eficientes para re-planificación (rescheduling). En ellos se proponen varias estrategias para decidir cuándo y dónde aplicar re-planificación en estos tipos de aplicación. En (25) se describe una versión del Conector de Recursos Avanzados (Advanced Resource Connector) ARC, servicio propio del middleware de grid. Esta versión tiene como objetivo resolver varios problemas detectados, como los cuellos de botella. Para ello aplican también el concepto de adaptación. Un framework para migración de aplicaciones se expone en (26), en el que se tienen en cuenta la carga de los recursos y las características de la aplicación. Ciertas políticas innovadoras son utilizadas para variar dinámicamente la carga de los recursos a la vez que se mantiene el rendimiento de la infraestructura. Otro framework inteligente es propuesto en (27). En esta ocasión se presenta un nuevo modelo de aplicación a la par que se proporcionan mecanismos para realizar dinámicamente una adaptación durante la ejecución de la aplicación. Dicho framework está basado en el proyecto Gridway 1. En el artículo el framework propuesto es también comparado con otras aproximaciones. El estudio en (28) se centra en mejorar el sistema de información conocido como Sistema de Monitoreo y Descubrimiento (Monitoring and Discovery System) MDS3, el cual es parte de la arquitectura basada en OGSA (Open Grid Service Architecture) Globus Tolkit GT3. Presentan dos algoritmos de notificación auto-adaptativos para prevenir que se produzca sobrecarga en el Servicio de Indexación (Index Service). El proyecto AppLes (Application Level Scheduling) (29) pretende investigar la planificación adaptativa dentro de los entornos grid. Esta aproximación incluye información tanto estática como dinámica de los recursos, técnicas de planificación y predicciones de rendimiento. Todos ellos permitirán a las aplicaciones auto-adaptarse en tiempo real. La investigación en (30) propone dos modelos para predecir el tiempo de ejecución de un único trabajo o de múltiples trabajos en la Grid. Ambos modelos son 1 3031 utilizados para reducir el tiempo medio de ejecución de la planificación de los trabajos y están basados en un algoritmo genético. El trabajo presentado en (31) se centra en el diseño de planificadores eficientes para los entornos Grid. Identifican diferentes tipos de estrategias de planificación y proponen el uso de heurísticas y metaheurísticas para mejorarlos. Este nuevo proceso de planificación será más adecuado que los tradicionales. En (32) se describen varios modelos computacionales diseñados para lograr una planificación grid eficiente. Algunos de estos modelos emplean estimaciones de la carga computacional de cada tarea, la capacidad de cálculo de cada recurso así como una estimación de la carga previa de los recursos. Otros modelos se basan en TPCC (Total Processor Cycle Consumption) y tienen en cuenta que la velocidad de computación de los recursos puede variar a lo largo del tiempo. Hay otros modelos más realistas en los cuales los planificadores toman decisiones relativas a las tareas y los recursos de acuerdo a cierta información GIS (Grid Information System). Para finalizar, en otros modelos incluidos en el trabajo se consideran ciertos criterios de optimización junto con el rendimiento del sistema en las estrategias de planificación. Varios algoritmos de planificación de workflows se exponen en (33). Todos ellos han sido desarrollados y desplegados en entornos Grid. En este sentido, el estudio en (34) propone una taxonomía para caracterizar varias propuestas que pretenden crear y ejecutar tales workflows en infraestructuras Grid. Además, los autores analizan distintos sistemas de gestión de workflows para comprender mejor la taxonomía presentada. Uno de los sistemas de gestión más conocidos es Pegasus (35), el cual permite manejar workflows abstractos que podrían ser ejecutados en diferentes entornos sin tener que alterar el diseño de la aplicación. Finalmente, en (36) se expone un informe que recoge una comparativa de los mecanismos auto-adaptativos existentes en grid. También incluye recomendaciones para alcanzar una gestión autónoma en los mismos. 3132 2.3. Hipótesis A la hora de establecer nuestra investigación y sentar las bases o hipótesis iniciales, se han tenido en cuenta todas las investigaciones desarrolladas hasta el momento. En ese sentido, cabe destacar que los trabajos, estudios y propuestas descritos en la sección anterior se centran en mejorar el rendimiento de la infraestructura y la ejecución de las aplicaciones mediante el uso de técnicas de planificación (scheduling) y migración, proponiendo nuevas políticas de control o políticas de notificación, modificando el comportamiento y la arquitectura de las infraestructuras Grid, etc. como se aprecia en la Tabla 1. Solución Nuevas Políticas de Información Entorno de Notificación Dinámica de Producción Grid Recursos Wrzesinska et al (20) X NO Buisson et al (21) X X NO Groen et al (22) X NO Sanjay et al (23) X X NO Murugavel et al (24) X X SI Cameron et al (25) X NO Vadhiyar et al (26) X NO Huedo et al (27) X SI Keung et al (28) X X SI Berman et al (29) X NO Gao et al (30) X X NO Xhafa et al (31) X X NO Xhafa et al (32) X X NO 3233 Solución Nuevas Políticas de Información Entorno de Notificación Dinámica de Producción Grid Recursos Yu et al (33) X X NO Yu et al (34) X X NO Pegasus (35) X X SI Modelo ERS SI Tabla 1: Diferencias principales entre el trabajo relacionado y el modelo ERS propuesto Por el contrario, el modelo de selección eficiente (Efficient Resource Selection) ERS que se propone en la presente investigación permite a las aplicaciones adaptarse por sí mismas a las condiciones cambiantes del entorno sin ejecutar ningún cambio o modificación en los recursos grid ni en la infraestructura. Ésta es una de las grandes diferencias entre nuestra propuesta y el trabajo anteriormente citado, como se observa en la Tabla 1. En el modelo no se aplican técnicas de planificación ni operaciones de migración; tampoco se hace uso de información dinámica de los recursos ni se diseñan nuevas políticas de notificación. Otra diferencia importante es que el modelo ERS ha sido diseñado para guiar a las aplicaciones durante su ejecución necesitando sólo cierta información de las mismas: tareas a ejecutar, datos de entrada y salida y descripción de las tareas. Además, se pretende que haciendo uso de esta forma de selección eficiente en los entornos grid, las aplicaciones no sólo adquieran una capacidad auto-adaptativa a los cambios del entorno sino que además se reduzcan sus tiempos de ejecución y se incremente la cantidad de tareas finalizadas con éxito. Estos dos objetivos son tópicos claves y de gran interés para los usuarios de los entornos grid ya que se consigue una mejora de la calidad del servicio. Finalmente, en la Tabla 1 también destaca el hecho de que muchas de las investigaciones relacionadas no han sido realmente probadas en entornos de producción grid (sino en base a simulaciones, etc.). 3334 En la Figura 3 se proporciona más información sobre el modelo realizado (acerca de sus características y diseños) en base a la taxonomía de (34). Figura 3: Taxonomía que caracteriza y clasifica nuestra propuesta ERS en el ámbito de la Computación Grid (taxonomía basada en (34)) En el siguiente capítulo se describe el modelo ERS en sus dos modos o vertientes, síncrona y asíncrona, junto con los diferentes algoritmos y heurísticas aplicadas en cada uno de ellos para alcanzar nuestros objetivos. 3435 Capítulo III: Metodología 3.1. Modelo de Selección Síncrono El presente modelo tiene como objetivo proporcionar una característica adicional a las aplicaciones científicas durante su ejecución en una infraestructura grid. Cuando los científicos ejecutan sus aplicaciones en la grid, las tareas (jobs) son gestionadas primero por el metaplanificador WMS y, posteriormente, por el CE. Éste último, como se ha comentado, determina o selecciona el conjunto de nodos de cómputo (conjunto de WN) en los que la aplicación es procesada. Estas técnicas de asignación provocan que el tiempo de ejecución de cualquier aplicación grid dependa tanto de la eficiencia con la que el planificador (CE) gestione su cola de tareas como del tiempo de procesamiento de dichas tareas. La gestión de todos estos componentes grid es totalmente transparente al usuario, de manera que éstos se encuentran limitados a la hora de paliar situaciones de mala gestión o bajo rendimiento de la infraestructura. Todas estas restricciones y limitaciones son tenidas en cuenta durante la etapa de diseño de nuestro modelo. En concreto, se evita el uso de conocimientos y operaciones propias de la parte de administración de la infraestructura. Toda la información que el modelo maneja para sus fines se obtiene aplicando conocimientos y operaciones propias del usuario. El presente modelo de optimización se propone como una estrategia inteligente durante el proceso de selección de recursos Grid, específicamente durante la selección de los CEs que se harán cargo de las tareas de la aplicación. La propuesta se encarga también de proporcionar una nueva perspectiva o conocimiento de la infraestructura a los usuarios. Para ello se diseña un modelo matemático capaz de medir y monitorizar la eficiencia de los recursos, permitiendo que las aplicaciones se adapten a los cambios del entorno en tiempo de ejecución. Estas métricas son formuladas bajo ciertos criterios de rendimiento, como se verá a continuación Modelo matemático y otros supuestos Para alcanzar no sólo la auto-adaptación de las aplicaciones sino también una reducción de los tiempos de ejecución de las mismas junto con una mejora de la tasa de tareas finalizadas con éxito, se necesita una gestión eficiente tanto de los procesos de computación como de las estrategias de asignación. Es por ello que para alcanzar estos objetivos, el funcionamiento del modelo se basa en el mapeo de dos espacios de trabajo: 3536 o Un espacio de tareas J formado por n tareas independientes y paralelas pertenecientes a la aplicación en cuestión. Las tareas se diferencian unas de otras por sus datos de entrada. En esta primera fase de la investigación, el modelo es diseñado para guiar a aplicaciones de tipo paramétrico. o Un espacio de recursos dinámico y heterogéneo R, en el cual quedan registrados los m recursos disponibles por la infraestructura durante la ejecución de la aplicación. Durante la ejecución de la aplicación se espera que el modelo adquiera conocimientos sobre la infraestructura en cuestión de manera progresiva. Por este motivo, las n tareas que la componen no son lanzadas en su totalidad al inicio de la ejecución sino gradualmente, evaluando y aprendiendo en cada paso. Se hace necesario pues, dividir el espacio de tareas J en subconjuntos. Tales conjuntos tendrán el mismo tamaño (misma cantidad de tareas a procesar) y se denotan como Pα. Entonces, al inicio de la ejecución se lanza a la grid un primer subconjunto Pα; cuando dicho subconjunto termine su ejecución, los recursos correspondientes (aquellos que han tomado parte en la ejecución de las tareas de dicho Pα) serán evaluados. Tras esto, el modelo seleccionará de manera eficiente los recursos necesarios para ejecutar un nuevo Pα (ver Figura 4). Estos pasos (envío, monitoreo, evaluación y selección) se repiten hasta que todos los subconjuntos Pα son procesados. Figura 4: Mapeo de espacios J y R en el modelo ERS Los recursos seleccionados para ejecutar las tareas de un Pα concreto componen un conjunto que denotamos como RPα y que forma parte de R ( ). Cabe destacar que una o varias tareas de Pα pueden ser asignadas al mismo, es decir, se trata de una relación muchos-a-uno. Para el primer Pα lanzado a ejecución, los recursos que forman el RPα correspondiente son seleccionados aleatoriamente ya que en este 3637 punto no se tienen aún métricas de eficiencia de los recursos (recordar que tales valores se van adquiriendo en tiempo de ejecución). El resto de conjuntos RPα son creados escogiendo los recursos mediante la aplicación de un algoritmo o heurística en el proceso de selección, garantizando que el proceso se realiza de una manera eficiente. El conjunto de procesos que abarca desde el envío de un Pα concreto a ejecución hasta la selección eficiente de un nuevo RPα se va a referenciar como iteración del modelo (en la Figura 4 =0, =1, etc. son diferentes iteraciones del modelo). Una vez determinada la manera de gestionar los dos espacios de trabajo durante la ejecución de una aplicación grid, el siguiente paso es especificar cómo se van a monitorizar y clasificar los recursos. Como ya se ha comentado, lo que nos interesa medir y monitorizar es la eficiencia de los mismos durante el procesamiento de las tareas. Por tanto, para medir la eficiencia de los recursos grid, se define un modelo matemático que se detalla a continuación. Dentro del mismo, el valor de fitness de cada CE va a depender de dos parámetros (como se muestra en la Ecuación 1): por un lado, del porcentaje de tareas finalizadas con éxito y, por otro lado, del tiempo normalizado de su procesamiento (definido en la Ecuación 2). Se trata de los parámetros principales de la ecuación. ( + )/( + ) Ecuación 1 Ambos parámetros, y, se calculan para cada CE escogido durante la ejecución de la aplicación y poseen valores dentro del rango [0,1]. Los dos tienen asociados unos parámetros de relevancia y, cuyos valores son introducidos por los usuarios para indicar el porcentaje de relevancia de los parámetros principales. De este modo, los usuarios pueden especificar las condiciones y prioridades de sus parámetros. El parámetro es calculado teniendo en cuenta los tiempos de procesamiento de los recursos del RPα correspondiente. Para ello, se utilizan valores máximo y mínimo obtenidos en el conjunto (a los cuales denotaremos como y respectivamente). El valor de este parámetro (Ecuación 2), puede ser considerado como el ranking de tiempo de procesamiento dentro de cada RPα. =( )/( ) Ecuación 2 3738 Por último, el tiempo de procesamiento de un CE concreto se define en la Ecuación 3. En esta ocasión, representa la cantidad de tareas asignadas al recurso, es el tiempo de comunicación entre el CE y otros servicios grid (durante la ejecución de las tareas) y (, ) es el tiempo de procesamiento del CE para una determinada tarea. = + (, ) Ecuación 3 Es importante remarcar que se trabaja en todo momento con valores normalizados para cada uno de los distintos parámetros implicados en el modelo matemático Workflow En esta sección se presenta el flujo de ejecución del modelo, desde la preparación de los espacios de trabajo hasta la generación de los ficheros de salida. También se describe el pseudocódigo correspondiente, de manera que es más fácil apreciar en qué punto interaccionan los algoritmos y metaheurísticas utilizados en el proceso de selección. El flujo de ejecución del modelo (Figura 5) comienza con el descubrimiento de los diversos elementos de la infraestructura (espacio R) y con la especificación de las tareas que componen la aplicación (espacio J). Tras esto, las tareas son agrupadas en los distintos conjuntos Pα; cada Pα se crea de forma aleatoria. A continuación, se genera el primer RPα de manera aleatoria. Posteriormente, el Pα inicial es lanzado a ejecución y monitorizado por la estrategia definida en ERS. Cada RPα tiene asociado un tiempo de vida lt para completar las tareas pertenecientes al Pα al que está asociado. Este concepto de tiempo de vida fue introducido para garantizar que si un recurso colapsa, el resto no esperará indefinidamente por las tareas asignadas al mismo. Continuando con el flujo de ejecución del modelo, una vez que la ejecución de un Pα finaliza, se actualiza el valor de eficiencia de cada recurso de RPα. 3839 Figura 5: Flujo de ejecución del modelo ERS Mediante la evaluación de la eficiencia de los recursos en cada iteración del modelo se realiza un ajuste en el conjunto de recursos a utilizar por la aplicación. De este modo, el modelo proporciona una capacidad auto-adaptativa a las aplicaciones grid. Como se ha mencionado anteriormente, estas iteraciones implican un aprendizaje del modelo, de manera que, se espera una mejor especialización de los recursos a medida que dicho aprendizaje crece (cuantas más iteraciones del modelo mejor será el aprendizaje y la consiguiente especialización). Para alcanzar esta especialización durante el aprendizaje, el modelo matemático es combinado con un algoritmo de IA (Inteligencia Artificial) o una metaheurística. La combinación de ambos componentes (modelo matemático y algoritmo inteligente) da lugar al modelo ERS propuesto. La Figura 6 representa los diferentes pasos de ERS. La etapa de inicialización está compuesta por la serie de pasos 1-4. El punto 5 es realizado para cada Pα de J, de manera que, cada vez que este punto se repite consideramos que se inicia una nueva iteración del modelo (y con ella una mejora del aprendizaje del modelo y la consiguiente especialización de recursos). Además, se observa que el modelo espera a la finalización de un determinado para lanzar a ejecución el siguiente (gestión síncrona de los conjuntos de tareas). 3940 Figura 6: Pseudocódigo ERS Como se puede observar, el punto 5.3 engloba el algoritmo o heurística empleado (contiene las reglas que rigen la selección eficiente de recursos). Es importante recordar, que este punto se aplica para cada recurso de un RPα concreto. En la siguiente sección se presentan las distintas versiones del modelo obtenidas aplicando este modo síncrono (37). En cada una de ellas se sigue una estrategia de selección distinta, en base a las reglas del algoritmo utilizado. Concretamente, se han desarrollado tres versiones diferentes: la primera está basada en el concepto de Enlace Preferencial (Preferential Attachment o PA) (38) propio de los Sistemas Complejos (39). Se ha nombrado a esta primera versión como ERS-PA (40) (41). En la segunda versión se aplica una metaheurística conocida como Búsqueda de Entorno Variable (Variable Neighbourhood Search o VNS) (42) (43). Siguiendo la notación empleada antes para nombrar la versión de ERS, en esta ocasión tenemos ERS-VNS (40). Finalmente, se hace uso del concepto de Autómata Celular (Cellular Automata o CA) (44) en la tercera versión conocida como ERS-CA (40) (45) Casos de Estudio Selección basada en Enlace Preferencial La técnica de Enlace Preferencial Preferential Attachment - PA (38) (46) (47) (48) es un proceso estocástico, es decir, un proceso en el que una serie de unidades 4041 discretas son agregadas continuamente de una forma aleatoria a un conjunto de objetos. La idea principal es que, en una red compleja, los nuevos nodos sean añadidos preferiblemente con aquellos que tienen un alto número de conexiones (un alto grado de conectividad). De este modo, la probabilidad de enlazar un nuevo nodo con uno ya existente en una red es proporcional al grado de ( ) de la siguiente manera ( ) / donde ( ) es la probabilidad de conectar con el nodo, y el sumatorio se realiza para todos los nodos ya existentes en la red. Aquellos nodos con un grado muy alto (conocidos como hubs) tienen mayor probabilidad de adquirir nuevos enlaces. Por ejemplo, desde un punto de vista social, las personas más populares tienen una mayor probabilidad de hacer nuevos amigos. Por tanto, para desarrollar la primera versión del modelo, ERS-PA (40) (41), las características de esta técnica, propia de los sistemas complejos, deben ser tenidas en cuenta. En este sentido, y adaptando la técnica al problema que nos ocupa, debemos considerar que: Se construye una red compleja haciendo uso de los elementos del espacio de trabajo R en tiempo de ejecución. El conjunto RPα generado en cada iteración del modelo ( =0, =1, =2,.) se corresponderá con un subconjunto de nodos dentro de nuestra red. En la Figura 7 puede observarse cómo va creciendo dicha red en cada iteración del modelo, mediante la inclusión de un nuevo RPα en cada caso (subgrafo cuyos nodos están conectados por aristas discontinuas). Los recursos pertenecientes a un RPα en particular serán nodos a añadir en nuestra red. Un RPα formará un subgrafo completo dentro de la red. Los hubs de nuestra red representan a los recursos más eficientes, es decir, aquellos recursos que más veces han sido escogidos para ejecutar tareas en los distintos Pα. El grado de un nodo indica el número de veces que el CE correspondiente ha sido escogido durante la ejecución (estableciendo una relación tarea-recurso). Por su parte, las aristas de la red representan la acción ejecutando tareas del mismo Pα o, lo que es lo mismo, recursos pertenecientes a un mismo RPα. 4142 Figura 7: Evolución de la red que se va creando en tiempo de ejecución. Cabe destacar que hay una extensión de PA conocida como Enlace Preferencial Heterogéneo (HPA Heterogeneous Preferential Attachment) (49), según el cual durante el cálculo de la probabilidad de enlace se tienen en cuenta características adicionales. Dentro del proceso de selección de ERS-PA se han incluido tales consideraciones de manera que, teniendo en cuenta que cada recurso es representado como un nodo de la red, todo nodo tendrá asociado dos parámetros: el grado y el fitness (obtenido aplicando la Ecuación 1). Como se ha descrito con anterioridad, el grado es un parámetro propio de la algoritmia de PA. Por su parte, indica cuál ha sido el rendimiento del nodo i para un específico, es decir, hasta qué punto ha conseguido finalizar las tareas que tenía asignadas y en cuánto tiempo. Mediante la combinación de ambos parámetros puede determinarse cómo de eficiente ha resultado un recurso en una iteración del modelo concreta. Por tanto, en base a ellos se puede definir la eficiencia de cada CE como se especifica en la Ecuación 4: (, Ecuación 4 El parámetro representa el valor de grado máximo de los recursos dentro de un determinado. Se ha definido la eficiencia (popularidad) en base a estos parámetros debido a que lo que se pretende es que en cada iteración del modelo se escojan los más eficientes (los hubs de la red). Es decir, se considera que un recurso que se ha comportado eficientemente en una primera iteración tendrá mayor probabilidad de ser escogido para un siguiente, lo que implica un incremento de su grado. Pero también podría darse el caso de que un recurso ineficiente es seleccionado un número 4243 suficiente de veces (dando lugar a un grado alto) lo que empeoraría el tiempo de ejecución de la aplicación. Es por ello que se penaliza su popularidad/eficiencia mediante la inclusión de su valor de rendimiento. En lo referente a la implementación de esta primera versión del modelo ERS cabe destacar que los valores de los parámetros implicados (salvo los parámetros de relevancia y que son indicados por el propio usuario) son obtenidos en tiempo de ejecución. Esto significa que su contenido va a depender tanto del estado de la infraestructura como de las decisiones que se tomen en cada iteración del modelo. Por su parte, el esquema de ERS-PA está compuesto de 4 grandes pasos (ver Figura 8). En primer lugar se determina el valor de eficiencia máximo que puede ser alcanzado por los recursos de R. En nuestro caso, al trabajar con valores normalizados, se considera que un recurso ha llegado al máximo valor de eficiencia cuando su es igual a 1 (los recursos ineficientes tendrán un valor próximo a 0). A continuación, dentro del rango 0, se escoge un valor de eficiencia de manera aleatoria. Seguidamente, un recurso perteneciente a R es escogido aleatoriamente y su valor de eficiencia es comparado con. Si el recurso resulta ser tan eficiente o más que el valor de referencia de eficiencia será escogido para formar parte del nuevo conjunto. En otro caso será rechazado y se buscará otro que cumpla la condición. Figura 8: Pseudocódigo para la versión ERS-PA Como se vio en el flujo de ejecución de ERS (Figura 6) en el punto 5.3 se aplica el algoritmo correspondiente para lograr una selección eficiente de CEs. De manera que en ese punto se aplicarían los 4 pasos comentados anteriormente. 4344 Selección basada en Búsqueda de Entorno Variable La Búsqueda de Entorno Variable Variable Neighbourhood Search - VNS (42) (43) (50) (51) (52) es una metaheurística utilizada para la resolución de problemas de optimización. Se trata de una búsqueda basada en el cambio sistemático de estructura de entorno cuando el proceso de búsqueda local se estanca. En este sentido la idea principal consiste en maximizar una función concreta max } en la cual es la solución factible, es la función objetivo y es un entorno de soluciones tal que. Si denotamos el conjunto finito de estructuras de entornos como h 1,,h ) y al conjunto de soluciones para el entorno h como ( ), las reglas para VNS quedan de la siguiente manera: Inicialización: seleccionar el conjunto de estructuras de entorno ; especificar una solución inicial y elegir una condición de parada. Repetir hasta la condición de parada: o Poner h=1 o Mientras h<= h Mutación: generar un punto aleatoriamente que pertenezca al entorno h de. Búsqueda local: aplicar algún método de búsqueda local con como solución inicial. Llamaremos al óptimo local que se obtenga en este proceso. Avanzar o no: si el óptimo local obtenido en el proceso anterior es mejor que entonces nos movemos ( = y h=1); en otro caso aplicaremos h=h+1 Teniendo en cuenta estas reglas, en ERS-VNS debemos especificar una función a optimizar. Para ello debemos tener presente que el objetivo va a ser mejorar el rendimiento de cada conjunto, lo que va a implicar una reducción en el tiempo de ejecución global de la aplicación y una mejora del número de tareas ejecutadas con éxito. Como trabajamos con valores normalizados, esto viene a indicar que se pretende que el fitness de cada uno de estos conjuntos sea lo más próximo a 1. Luego, la definición del fitness de quedaría de la siguiente manera: 4445 ( )= Ecuación 5 Donde es el valor medio del fitness para el conjunto, (Ecuación 1) es el valor de fitness de cada uno de los recursos que forman parte del conjunto y es la cardinalidad del mismo. Siguiendo con la adaptación del algoritmo a nuestro modelo ERS-VNS, se establecen las siguientes consideraciones: es el primer conjunto que se lanza a ejecución. Será conocido también como solución inicial. es el conjunto que se obtiene tras aplicar el proceso de mutación a. es el nuevo conjunto obtenido tras realizar la búsqueda local con como solución inicial de la misma. Además, podría tratarse del siguiente conjunto de recursos para ejecutar el siguiente. En lo referente a las estructuras de entorno, se determina que cada una de ellas tendrá asociados dos parámetros ( y ), los cuales van a ser utilizados en los procesos de mutación y búsqueda. El parámetro especifica el porcentaje de variación de una solución, para un entorno h concreto respecto de la solución cuando se lleva a cabo el proceso de mutación. Por su parte determina el rango de búsqueda durante la selección de candidatos, es decir, indica el número de posibles candidatos a formar parte de. Como es evidente, se utiliza dentro del proceso de búsqueda local. En cuanto a detalles de implementación, decir que se va a trabajar con un total de 5 estructuras de entorno. Para fijar este valor se ha tenido en cuenta la cantidad de recursos que se va a tener en la infraestructura de pruebas, el tamaño de los experimentos que se van a realizar, el número máximo de iteraciones del modelo para esos experimentos y el tiempo que lleva realizar tales ejecuciones. 4546 Además, el valor de varía de manera ascendente de un entorno a otro ya que, como se ha comentado, representa cómo de diferente es la solución inicial respecto de las soluciones que forman parte de los distintos entornos. Como el objetivo del modelo es obtener la solución óptima en el menor tiempo posible el valor de este parámetro va a variar desde 50% hasta un 90%, en incrementos de 10% en 10% para cada siguiente entorno de vecindad. Por otro lado, se utiliza para calcular el tamaño del conjunto de candidatos en cada entorno. Este tamaño se define como el porcentaje de (número de recursos actuales disponibles). La manera de realizar este cálculo es ordenando en primer lugar los recursos de de mayor a menor valor de eficiencia. Entonces se aplica el porcentaje y se escogen los mejores recursos, dando lugar al conjunto de candidatos. Tras esto, se seleccionan de manera aleatoria los elementos que van a formar a partir de este conjunto de candidatos. De este modo aseguramos que no sólo los recursos más eficientes serán escogidos sino que igualmente se les concederá una oportunidad a los no explorados. En este sentido, los valores de varían desde 20% hasta 100%, en incrementos de 20% en 20% para cada siguiente entorno de vecindad. Se está procurando, asimismo, que ERS-VNS sea lo más voraz posible durante la búsqueda del óptimo global por lo que, además, se han definido las siguientes reglas a aplicar durante todo el proceso de selección: 1. En cada iteración se debe trabajar con los mejores recursos. 2. Se debe dar una oportunidad a todos los CEs porque no sabemos cuál es el CE o CEs más eficiente(s). También se enriquece el proceso de mutación introduciendo un umbral de bondad (cuyo valor se determina tras la aplicación de unas pruebas de experimentación donde se han analizado los rangos de valores de eficiencia entre los que se mueven los recursos de una infraestructura). Dicho umbral será utilizado en el proceso de mutación para determinar qué recursos van a ser mutados, de manera que aquellos recursos que no superen el umbral serán considerados como ineficientes y mutarán. 9). Para finalizar, se presenta el esquema de ERS-VNS en la siguiente figura (Figura 4647 Figura 9: Pseudocódigo de la versión ERS-VNS Selección basada en Autómatas Celulares Un Autómata Celular Cellular Automata - CA (44) (53) (54) es un modelo computacional que está compuesto por un conjunto finito de estados, representados en una malla, que evolucionan a pasos discretos. El autómata evoluciona en cada paso de tiempo mediante la aplicación de unas reglas, modificándose el valor de todas las celdas de la malla a la vez. El nuevo valor de una celda concreta se obtiene en base a su valor actual y el de sus celdas vecinas. Se puede deducir, por tanto, que los CA son sistemas dinámicos capaces de generar un comportamiento complejo a partir de unas premisas simples. Los CA son adecuados para modelizar sistemas naturales que pueden ser descritos como una colección masiva de simples objetos que interaccionan localmente unos con otros. Existen multitud de CAs aplicados o diseñados para un rango amplio de disciplinas, aunque el más conocido es el denominado juego de la vida de John Conway (55) (56) (57). Las reglas de comportamiento de este CA son muy sencillas y se detallan a continuación: Una celda muerta con exactamente 3 vecinos vivos nace. Una celda viva con 2 o 3 vecinos vivos permanece viva. 4748 Una celda viva con 4 o más vecinos vivos muere (se considera superpoblación). Una celda viva con menos de 2 vecinos vivos muere. En esta versión del modelo, ERS-CA, nos vamos a basar no sólo en el concepto de autómata que se ha introducido anteriormente, sino también en los conceptos de CA de tipo red descritos en (58) (59). La idea es representar la infraestructura grid en cuestión como un CA de tipo red, de manera que tendríamos distintas subredes de CA, todas ellas con las mismas reglas de evolución. Cada celda de nuestro CA representa un CE de la infraestructura. Además, como el valor de cada celda se obtiene en base al estado o condición de sus vecinos, el concepto de vecindad que vamos a aplicar en ERS-CA es el siguiente: dos celdas del autómata son vecinas si los recursos que representan son vecinos geográficos en la infraestructura. Es decir, se va a aplicar un concepto de proximidad geográfica quedando la infraestructura utilizada dividida en 8 subredes como se muestra en la Figura 10. Figura 10: Subredes para autómata en ERS-CA. Concepto de vecindad El número de subredes utilizadas depende de la cantidad de recursos que haya disponibles en la infraestructura en cuestión. Es por ello que esta información será proporcionada al modelo a través de un fichero de configuración que podrá ser manipulado por el usuario. Cabe mencionar que se define una regla relativa a la creación de estas subredes y es que todas deben estar compuestas al menos por 3 recursos (debido a la cantidad de recursos que hay en el entorno de experimentación). 4849 Continuando con la definición de nuestro CA, cada una de las celdas del mismo podrá tomar tres valores posibles: viva, muerta o inactiva. Una celda viva representa un recurso que ha sido seleccionado porque se le considera eficiente. Por el contrario, cualquier recurso que sea catalogado como ineficiente tendrá su celda asociada muerta. Por último, todos aquellos recursos que pertenecen a la infraestructura pero se encuentran inoperativos tendrán el estado inactivo en el CA. Durante el proceso de selección sólo sobrevivirán dos celdas en cada una de las distintas subredes: aquellas con menor carga (para evitar sobrecarga de recursos y dar oportunidad a nuevos elementos a formar parte de un ). De esta manera provocamos que los recursos dentro de una misma subred compitan por sobrevivir. El modelo se encargará de medir durante la ejecución de la aplicación la carga de los recursos para clasificar los recursos en base a este criterio. A continuación se especifican las reglas que van a gobernar cada una de las subredes de ERS-CA: Cada celda viva cuyo recurso esté sobrecargado pasa al estado muerta. Cualquier celda con todos sus vecinos muertos sobrevive. Sólo las dos celdas con menor valor de carga viven. Cuando se tienen todas las celdas vivas del autómata se construye un conjunto de candidatos. La siguiente lista de normas será aplicada sobre este conjunto para obtener el siguiente conjunto. Presión selectiva: sólo la mitad más eficiente de este conjunto promociona para ser parte de. Exploradora: mientras haya CEs inexplorados (no utilizados en ningún ), uno de ellos será escogido de manera aleatoria para formar parte del nuevo conjunto. Celdas vivas: los recursos que hayan quedado finalmente en actualizarán su estado en el CA y se quedarán como vivas. El resto pasaría inevitablemente al estado muerta. Para finalizar, la Figura 11 muestra el flujo de ejecución de ERS-CA donde queda resumido todo el comportamiento anteriormente descrito. 4950 Figura 11: Pseudocódigo de la versión ERS-CA 5051 3.2. Modelo de Selección Asíncrono Una vez se ha analizado y evaluado el rendimiento del modelo ERS en modo síncrono (procesamiento secuencial de los distintos conjuntos ), el siguiente paso consiste en perfeccionar partes del mismo, buscando una mejora continua del proceso de selección de CEs. La nueva versión de ERS seguirá basándose en el mapeo de los dos espacios de trabajo y. Además, al comienzo de la ejecución, el modelo crea de manera aleatoria un subconjunto de tareas y lo lanza a ejecución. Para cada tarea de un recurso es seleccionado de forma aleatoria uniforme (ya que, al igual que ocurría en la versión anterior, en este punto no se tienen todavía métricas de eficiencia de los recursos). Estos recursos formarán un conjunto denotado como. La forma de realizar el mapeo entre ambos espacios de trabajo permitirá al modelo asignar diferentes tareas a un mismo recurso (relación muchos-a-uno). Aunque inicialmente se envía un conjunto a ejecución, a partir de ese momento las tareas serán gestionadas de manera independiente. Es decir, cuando una tarea finaliza su ejecución, un nuevo recurso será escogido de manera eficiente para realizar la siguiente. Enviando un conjunto al inicio de la ejecución esperamos promover una adquisición de métricas de eficiencia más rápida (estimulamos un aprendizaje más rápido del modelo). Hay que destacar que cada tarea tiene asociado un tiempo de vida de manera que el modelo no tenga que esperar indefinidamente a que una tarea acabe. El valor de este tiempo de vida depende de la aplicación que se vaya a ejecutar y puede ser manipulado por el usuario. En concreto, se ha calculado como la suma del tiempo medio de espera en la cola del planificador CE de un job (obtenido a través de experimentación) y el tiempo de ejecución de una tarea en local (valor aportado por el usuario). Además, en esta nueva versión de ERS se va a tener en cuenta la carga real de trabajo de los distintos recursos de la infraestructura, para evitar sobrecargarlos y conseguir un mejor balanceo de la carga. Para determinar la eficiencia de los recursos en este modo asíncrono de ERS, se define un modelo matemático lineal. De manera similar a lo establecido en el modelo 5152 matemático previo, se va a trabajar con valores normalizados de los parámetros. La descripción del mismo se presenta en la siguiente subsección Modelo Matemático El valor de eficiencia de un determinado recurso i se define en la Ecuación 6 y está basado en dos parámetros principales: por un lado, el valor del histórico de tareas finalizadas 2 y, por otro lado, el valor del histórico de tiempo de procesamiento utilizado para acabar con dichas tareas. Al igual que en Ecuación 1, los parámetros y llevan asociados dos parámetros de relevancia, y, para permitir a los usuarios especificar las características de sus experimentos. El valor de estos parámetros de relevancia se especifica en términos de porcentaje. + )/( + ) Ecuación 6 El parámetro (Ecuación 7) se define en relación al ratio de tareas finalizadas con éxito y al número total de tareas asignadas al recurso. / Ecuación 7 En lo referente al parámetro, para cada tarea se obtiene el tiempo de procesamiento consumido por el recurso. Este tiempo de procesamiento, depende tanto del tiempo de comunicación, entre el recurso y otros servicios grid como del tiempo de computación, para la tarea (ver la Ecuación 8)., =, +, Ecuación 8 A continuación, todos los valores de, obtenidos para el recurso se utilizan para calcular el valor medio de tiempo de procesamiento para el número de tareas finalizadas con éxito hasta el momento (Ecuación 9). =(, )/ Ecuación 9 2 El modelo considera que toda tarea que tenga registrado en el BDII un estado de Done o Aborted será considerada como tarea finalizada. También se etiquetarán como acabadas aquellas tareas cuyo tiempo de vida se haya agotado. 5253 Para finalizar, el valor histórico se define como se especifica en la Ecuación 10, teniendo en cuenta también el tiempo de vida. / Ecuación Workflow En lo que referente al flujo de ejecución de este nuevo modelo ERS, como puede observarse en la Figura 12, se tiene una primera fase para preparar los espacios de trabajo y. Es por ello que en dicha fase se debe determinar la disponibilidad de los distintos recursos de la infraestructura, así como la carga de trabajo de los mismos. Figura 12: Workflow versión asíncrona del modelo ERS A continuación, en la segunda fase se lleva a cabo el inicio de la ejecución, por lo que es en este punto donde se seleccionan aleatoriamente los recursos para crear el conjunto. Una vez que se tiene preparado dicho conjunto, se lanza a ejecución. En la tercera fase se monitorizan y procesan todas las tareas. Como las tareas se monitorizan de manera independiente, no buscamos encontrar el mejor par, sino que en cada momento se escoge el mejor para ejecutar una nueva. Por último se presenta el pseudocódigo de este nuevo modelo ERS, donde puede observarse que nuevamente será el punto 5.3 el que será modificado en las distintas versiones que del mismo se generen. En concreto se presentan tres versiones de este nuevo modelo: una primera versión ERS-SS (Efficient Resources Selection based on Scatter Search) basada en la búsqueda dispersa (60), una segunda ERS-SW (Efficient Resources Selection based on Small-World algorithm) (40) y una tercera ERS-ABC 5354 (Efficient Resources Selection based on Artificial Bee Colony) basada en la inteligencia colectiva de las abejas (61). Figura 13: Pseudocódigo del modelo asíncrono ERS Casos de Estudio Selección basada en la Búsqueda Dispersa La búsqueda dispersa Scatter Search SS (62) (63) (64) (65) es un método evolutivo utilizado para resolver un gran número de problemas de optimización. F. Glover (62) realizó la primera descripción del método en 1977, siendo quién establece los principios fundamentales del mismo. La búsqueda SS se basa principalmente en combinar soluciones de manera que se generen otras nuevas mejoradas. Esta combinación se realiza mediante la aplicación de una serie de elecciones sistemáticas y estratégicas sobre un conjunto de referencia (conjunto relativamente pequeño de soluciones). Este conjunto contiene todas las soluciones buenas que se han ido encontrando durante la búsqueda. Para determinar si una solución es buena se tienen en cuenta tanto el concepto de calidad de la solución como de diversidad de la misma (diversidad que la solución 5455 aporta al conjunto). A continuación se detallan los elementos que constituyen la versión básica de SS: Generador de soluciones diversas. El conjunto de soluciones diversas resultante se utiliza para obtener el conjunto de referencia. Conjunto de referencia. Contiene soluciones buenas y diferentes entre sí (con cierto nivel de calidad y diversidad). Por lo general, tiene la mitad de sus soluciones de calidad y la otra de diversidad. Todas las soluciones estarán ordenadas en base a su calidad. Método de combinación. Se hace uso de subconjuntos de 2 o más elementos que se combinan mediante una estrategia diseñada para tal efecto. Método de mejora. Por lo general se suele utilizar en este punto un método de búsqueda local para mejorar las soluciones. En lo referente a esta versión del modelo propuesto, ERS-SS, varios componentes han sido incluidos para adaptar el método de Búsqueda Dispersa a las consideraciones especificadas en la sección En esta versión vamos a considerar que una solución de SS equivale a un recurso de la infraestructura en cuestión. En este sentido, pretendemos que el conjunto contenga a los recursos más eficientes y diversos que se vayan detectando durante la ejecución de la aplicación. Entonces, los siguientes tres elementos son incluidos en el proceso de selección de ERS-SS como se ha especificado anteriormente: Conjunto de calidad. Contiene los recursos más eficientes en cada momento. Conjunto diversidad. Está formado por los h recursos más diversos respecto de los incluidos en. Para determinar el valor de diversidad de un recurso se van a tener en cuenta criterios geográficos y de eficiencia. Cada recurso va a llevar asociado un identificador numérico del site al que pertenece (esta información podrá ser manipulada por el usuario si fuera necesario). El valor de diversidad de dicho recurso va a determinar cómo de diferente es, geográficamente hablando, respecto al conjunto calidad. Dicho valor se va a calcular para todos los recursos. A 5556 continuación, todos estos recursos serán ordenados de mayor a menor valor de diversidad. Los h primeros recursos que superen un umbral de fitness formarán parte de. Umbral de fitness. Será el valor medio del fitness de todos los recursos evaluados por el modelo en un determinado momento. Este umbral será actualizado cada vez que una tarea finaliza. Una vez actualizado el conjunto ( ), se procedería a obtener un recurso eficiente del mismo para ejecutar una nueva tarea. Hay que destacar que en este punto se ha incluido una condición de selección según la cual el nuevo recurso escogido debe pertenecer al mismo conjunto, o, al que pertenecía el recurso recién liberado. Es decir, si el recurso que se acaba de liberar pertenecía al conjunto entonces el nuevo recurso se escoge de este mismo conjunto, y similarmente para el conjunto. Esta alternancia entre ambos conjuntos va a permitir que no sólo se usen los recursos más eficientes (propios del conjunto calidad) sino que también se exploren otros nuevos que pueden llegar a ser tan eficientes como los primeros (pertenecientes al conjunto diversidad). Como se observa en la Figura 14, estos procesos de actualización de conjuntos, actualización de umbral de fitness y selección de nuevo recurso se van a llevar a cabo hasta que todas las tareas de se hayan procesado. Figura 14: Pseudocódigo de la versión ERS-SS 5657 Selección basada en Red de Mundo Pequeño En esta ocasión se presenta una nueva versión del modelo ERS (ERS-SW (40)) basada en varios conceptos del fenómeno de Mundo Pequeño (66) (67) Small World que serán especificados en esta sección. La propiedad de mundo pequeño determina que a través de pocos pasos (enlaces) entre objetos intermedios pueden conectarse cualesquiera dos objetos de una red. Esta propiedad se puso de manifiesto en 1967 a través del experimento realizado por Milgram (68). En este experimento se pedía a un número de individuos, escogidos aleatoriamente, que enviaran cartas a un conocido para que éste, a su vez, las redirigiera a alguien próximo a una persona fijada de antemano, la cual no tenía vinculación directa con los individuos que iniciaban la cadena. Se determinó que estas personas fijadas eran alcanzadas en un promedio de 6 pasos intermedios de envíos de cartas. Posteriormente, Watts y Strogatz popularizaron las redes de mundo pequeño a través de su trabajo (69). Ambos determinaron que estas redes pueden obtenerse a partir de una red regular en la que cada nodo tiene el mismo número de enlaces. La manera de lograrlo es escogiendo al azar un nodo de la red y eliminar con una probabilidad uno de sus enlaces y sustituyéndolo por otro enlace con un nodo elegido también al azar. Esto se repite para cada nodo que constituye la red, dando lugar a enlaces de largo alcance entre nodos que en la red original eran distantes geográficamente (considerándose ahora vecinos). En los últimos años se está haciendo uso del fenómeno de las redes de mundo pequeño en procesos de búsqueda, generando un tipo de algoritmo conocido como Algoritmo de Optimización de Mundo Pequeño Small-World Optimization Algorithm SWOA (70). Este algoritmo incluye dos métodos de búsqueda conocidos como Random Long-range Search y Local Shortcuts Search. En el proceso de selección de esta nueva versión ERS-SW se han incluido los siguientes elementos para adaptar las características del fenómeno de mundo pequeño al problema que nos ocupa: Umbral de carga de trabajo ϖ. Este umbral es usado para determinar cuándo cambiar de una búsqueda local a una de carácter global. Es decir, en qué momento pasamos de utilizar el algoritmo Local Shortcuts Search y empezamos a utilizar Random Long-range Search. Se asume que un 5758 recurso está sobrecargado cuando su valor de carga de trabajo excede a ϖ. Conjunto de recursos evaluados. Se trata de un conjunto donde quedan registrados todos los recursos que han sido utilizados por el modelo durante la ejecución de la aplicación. Los recursos son organizados dentro del mismo de menor a mayor valor de eficiencia. Durante la búsqueda local (Local Shortcuts Search) se hará uso de este conjunto. Hay que destacar que al estar creándose una red durante la ejecución de la aplicación, los elementos de este conjunto serán los nodos enlazados en dicha red. Conjunto de recursos no evaluados. Se trata de un conjunto complementario al anterior, donde tenemos registrados todos los recursos disponibles por la infraestructura que no han sido escogidos hasta el momento por el modelo. Será utilizado durante el proceso de búsqueda global (Random Long-range Search). El valor de carga de los recursos es calculado durante la ejecución de la aplicación y teniendo en cuenta no sólo la carga producida por nuestros experimentos (como se realizaba en previas versiones de ERS) sino considerando también la carga local derivada de otras aplicaciones que se estén ejecutando en la infraestructura. Además, al estar trabajando con valores normalizados el valor del umbral ϖ se fija a 1, es decir, un recurso será tratado como sobrecargado cuando su capacidad esté siendo usada al 100%. Los valores de carga de los recursos serán también normalizados para determinar si exceden el umbral. Local Shortcuts Search Este algoritmo maneja el conjunto y aplica el concepto de vecindad. Dentro de asumimos que la vecindad de un determinado recurso está formada por los dos recursos más cercanos al mismo, los cuáles serán sus vecinos ( y en Figura 15). Como se ha indicado previamente, los elementos de son ordenados de menor a mayor valor de eficiencia de manera que los vecinos de un determinado recurso son aquellos con valores de eficiencia cercanos al suyo. El vecino más eficiente será 5859 aquel situado a su derecha ( en Figura 15) mientras que el menos eficiente se localizará a su izquierda ( ). Figura 15: Algoritmo de búsqueda local en ERS-SW Entonces, cuando una tarea finaliza su ejecución, el modelo trata de encontrar el vecino más eficiente de para que ejecute la siguiente tarea. Para ello, ERS-SW aplicará primero el algoritmo de búsqueda local: la primera opción será escoger, ya que es más eficiente que. En caso de que estuviera sobrecargado o no exista (ver caso especial 2 en Figura 15) el modelo escogería a. En caso de que este vecino estuviese también sobrecargado o no exista (ver caso especial 1 en Figura 15), se finalizaría el algoritmo de búsqueda local y se realizaría un salto a una búsqueda de carácter global. Para llegar a esta conclusión se habrá hecho uso del umbral ϖ. Es importante indicar que este umbral deberá ser actualizado cada vez que un recurso es evaluado. Random Long-range Search Como ya hemos visto, este algoritmo se aplica cuando la búsqueda local acaba sin encontrar un recurso adecuado para ejecutar la siguiente tarea (cuando los vecinos de están sobrecargados). Cuando esto ocurre, se utiliza el conjunto para encontrar un recurso eficiente que pueda encargarse de la ejecución de una nueva. El nuevo recurso será escogido de este conjunto al azar, ya que al tratarse de recursos no evaluados hasta el momento se desconoce hasta qué punto son eficientes. La única condición que deberá cumplir es no sobrepasar el umbral ϖ (no estar sobrecargado). El algoritmo será repetido hasta encontrar un recurso que cumpla la condición. Habrá dos casos especiales a tener en cuenta. Por un lado, puede ocurrir que durante la ejecución de la aplicación todos los recursos hayan sido escogidos para ejecutar tareas de (en este caso el conjunto estaría vacío). Por otra parte, puede 5960 ocurrir que todos los elementos de excedan a ϖ debido a demandas de otras aplicaciones. En ambos casos, la búsqueda global (es decir, la selección aleatoria de un nuevo recurso) se aplicaría sobre el conjunto. Finalmente, en la Figura 16 se presenta el flujo de ejecución de esta versión donde quedan reflejados la interacción entre los distintos elementos descritos a lo largo de la subsección. Figura 16: Pseudocódigo de la versión ERS-SW Selección basada en Inteligencia Colectiva: Abejas El algoritmo de colonia de abejas Artificial Bee Colony ABC (71) (72) es un algoritmo evolutivo introducido por Dervis Karaboga (73) que simula el comportamiento de las abejas en su búsqueda y explotación de fuentes de alimento con el fin de encontrar soluciones buenas a problemas de optimización de gran complejidad. En este algoritmo se van a considerar 3 tipos de abejas dentro de la colonia: obreras, observadoras y exploradoras. El comportamiento general de una colmena sería el siguiente. Tras explotar diferente fuentes de alimento (fuentes de néctar), las abejas obreras regresan a la colmena y bailan para comunicar al resto la calidad de las fuentes que han encontrado. A continuación, tanto las obreras como las observadoras escogerán las fuentes a explotar en base a la experiencia adquirida por la colmena. Por su parte, las abejas exploradoras, como su nombre indica, exploran nuevas fuentes de alimento. Para ello, escogen éstas al azar y no por medio del conocimiento existente. A la hora de utilizar este algoritmo en nuestro modelo ERS se han tenido en cuenta las siguientes suposiciones: 6061 Las abejas obreras en ERS-ABC buscarán los recursos más eficientes, que serán aquellos recursos con un valor de fitness próximo a 1 (serían fuentes de alimento con alta cantidad de néctar). Una solución en ERS-ABC será, por tanto, un recurso eficiente. Las abejas obreras explotarán los mejores recursos encontrados hasta el momento (utilizando experiencia de la colmena). El modelo manipulará estos recursos a través de un conjunto denotado como. Para cada recurso el modelo calcula la probabilidad de ser explotado nuevamente. El cálculo de esta probabilidad está basado en la eficiencia de los recursos. Las abejas observadoras dependen de la información que recolecten las obreras (experiencia). El modelo también gestionará un conjunto para los recursos explotados por abejas de este tipo. Una abeja exploradora explotará un recurso escogido al azar. Una vez tenemos fijadas estas suposiciones, el siguiente paso consiste en determinar las reglas que van a gobernar el comportamiento de los distintos grupos de abejas. Cuando un recurso ejecuta una tarea el modelo determina qué tipo de abeja se ha encargado de su explotación. Si el recurso pertenecía al conjunto de obreras el modelo medirá la calidad del mismo (cómo de eficiente ha sido). En caso de que su valor de eficiencia supere a la peor fuente de alimento detectada por (es más eficiente que el peor recurso detectado) permanecerá en el conjunto. En caso contrario, el modelo buscará un recurso eficiente que no forme parte del conjunto de exploradoras y descartará a (se produce mutación en ). Respecto al conjunto de observadoras, al comienzo de la ejecución de la aplicación se considera que es una réplica del conjunto de obreras como consecuencia de la falta de métricas de eficiencia de los recursos. Durante la ejecución de la aplicación se irá actualizando cada vez que se produzca un cambio en. El método de actualización correspondiente se basa en la probabilidad de explotación asociada a los recursos de como se observa en la Figura62 Figura 17: Método de actualización en ERS-ABC para obtener elementos para S OB Para obtener el nuevo conjunto actualizado se aplica un proceso de mutación: un recurso explotado por una observadora es sustituido por su vecino más cercano y más eficiente del espacio. Hay que destacar que para ello los elementos de este espacio son ordenados de mayor a menor valor de eficiencia durante toda la ejecución de la aplicación, por lo que los vecinos más eficientes de un recurso se van a encontrar a su izquierda. Por último, en relación a las abejas exploradoras, cada vez que un porcentaje del espacio es procesado un recurso explotado por una exploradora es considerado para ejecutar tareas. Esta abeja seleccionará el recurso de manera aleatoria de entre todos aquellos de que aún no han sido utilizados por ERS-ABC. Con los elementos que constituyen los conjuntos y, más el recurso exploradora cuando se tenga en cuenta, se genera un conjunto de candidatos a ser solución del modelo. La nueva solución (nuevo recurso a ejecutar una nueva tarea) se escoge aplicando una técnica Round Robin 3 sobre dicho conjunto candidato. Para finalizar, en la Figura 18 se presenta el flujo de ejecución de esta versión asíncrona del modelo haciendo uso de la inteligencia colectiva de las abejas. 3 Método para seleccionar todos los elementos de un grupo de manera equitativa y en un orden racional. Normalmente se comienza por el primer elemento de la lista y se avanza hasta llegar al último, empezando luego de nuevo desde el primer elemento. 6263 Figura 18: Pseudocódigo de la versión ERS-ABC 3.3. Infraestructuras de experimentación El modelo ha sido evaluado en dos infraestructuras de computación grid que forman parte de la infraestructura grid europea de EGI (74), una fundación sin ánimo de lucro establecida en virtud de la legislación Holandesa para coordinar y gestionar los recursos de dicha infraestructura en nombre de sus participantes: las iniciativas grid nacionales (NGI) y las organizaciones europeas de investigación (EIROS). A continuación se detalla información de cada una de ellas Ibergrid Se trata de una infraestructura grid a la que pertenece la iniciativa grid nacional española (ES-NGI) (75). Para ello nos hemos afiliado a una de sus VOs, la organización virtual genérica de Ibergrid (iber.vo.ibergrid.eu) (76) que tiene alrededor de 30 CEs, una cantidad razonable de recursos para una adecuada evaluación de ERS. La infraestructura de Ibergrid fue creada oficialmente en 2007 y desde entonces los dos países implicados, España y Portugal, han compartido experiencia y conocimiento para proporcionar servicios de computación grid como una única organización a lo largo de toda la geografía ibérica. Las diferentes versiones del modelo han sido analizadas en este entorno desde una UI propia de Ibergrid. En concreto, se trata de la máquina virtual proporcionada por el Centro Extremeño de Tecnologías Avanzadas Ceta-Ciemat (77) configurada con Scientific Linux 5.3 como Sistema Operativo SO y que cuenta con la versión del lenguaje de programación python (78) (con el que ha sido desarrollado el modelo). 6364 Fusion Durante la etapa de evaluación, como se verá a continuación en el capítulo 4, se realiza una comparativa entre nuestro modelo de selección propuesto ERS y una de las soluciones más importantes a nivel nacional para planificación eficiente en grid. En esta ocasión la infraestructura seleccionada para la etapa de evaluación es la perteneciente a la VO fusion (79). Se trata de una infraestructura propia de EGI que tiene alrededor de 37 CEs proporcionados por 18 organizaciones distintas, sumando más de nodos físicos. Fue creada en 2006 para apoyar la actividad EGEE-II NA4, compuesta por investigadores del área de fusión nuclear. Desde entonces y hasta el día de hoy, se ha venido apoyando a los usuarios de fusión durante su continuación en EGEE-III (80) y, en la actualidad, bajo EGI (74). Los miembros de esta VO se dedican a dar soporte y a promocionar el uso de las tecnologías grid en las aplicaciones de fusión nuclear. Cabe destacar que España, además de apoyar el ITER (International Thermonuclear Experimental Reactor), tiene un dispositivo experimental llamado TJ-II, ubicado en las instalaciones del Laboratorio Nacional de Fusión (LNF), propio de Ciemat (82). Este grupo es el principal responsable de la investigación sobre fusión en España con apoyo del equipo técnico del BIFI (83). Para el acceso a esta infraestructura se vuelve a hacer uso de la UI proporcionada por Ceta-Ciemat. 6465 Capítulo IV: Experimentación y Resultados A lo largo de este capítulo se presentan diversos escenarios con los que se pretende evaluar el rendimiento y eficacia del modelo diseñado en sus dos modos: síncrono y asíncrono. Estaremos interesados en demostrar que además se cumplen los dos objetivos marcados en la etapa de diseño: una reducción del tiempo de ejecución de las aplicaciones y un incremento del número de tareas finalizadas con éxito. En primer lugar se expone toda la experimentación relativa al modelo ERS en modo síncrono. En esta etapa se va a analizar el aprendizaje del modelo, su rendimiento para grandes producciones (tamaños grandes de ), su comportamiento cuando existe dependencias de datos entre las tareas de la aplicación, su tiempo de cómputo y escalabilidad, así como la influencia de los valores insertados en los parámetros de relevancia y. Por su parte, en la experimentación asíncrona, no sólo se van a realizar estos mismos experimentos, sino que además para la versión más eficiente, ERS-SS, se van a analizar ciertas circunstancias como la replicación de tareas, la agrupación dinámica de las mismas en tiempo de ejecución y la selección de recursos en base al número de slots libres en los mismos. Además, se va a comparar esta versión asíncrona más eficiente con una de las aproximaciones de scheduling inteligente en grid más importantes del panorama nacional: Montera2 (16) (17). Se trata de un framework diseñado para realizar ejecuciones eficientes de aplicaciones (originalmente de tipo Monte Carlo (84), aunque después se extendió a otros tipos de aplicaciones) en entornos Grid, mediante el uso de técnicas avanzadas de scheduling (planificación) junto con el uso de información dinámica obtenida de la propia infraestructura. Su objetivo es optimizar el tamaño y la distribución de las tareas, adaptándolos a los cambios del entorno. Con la intención de ejecutar el número total de tareas deseadas, Montera2 agrupa algunas de éstas en bloques (chunks) similar a los jobs de tipo collection de la grid y los envía a varios CEs. El tamaño de los chunks va a depender del rendimiento del CE, de la aplicación a ser ejecutada y del estado de la infraestructura. En las secciones 4.1 y 4.2 las distintas versiones del modelo serán comparadas entre sí y también con la selección estándar propia de las infraestructuras grid Europeas. En concreto, vamos a comparar estas versiones con las técnicas de selección de glite 6566 (85), el middleware utilizado en dichas infraestructuras Europeas (en proyectos de la categoría de EGEE (80) y EGI (74)). En este caso, la selección de los CEs es llevada a cabo por el metaplanificador WMS (introducido en la sección 2.1.2) a través de un proceso conocido como match-making. Según esta técnica selecciona aquellos CEs que cumplen los requisitos especificados por el usuario y que se encuentran próximos a los ficheros de entrada grid. Referente a la aplicación utilizada en esta etapa de experimentación, denotada como Runge, se trata de una herramienta centrada en la resolución numérica de sistemas de ecuaciones diferenciales mediante la aplicación del conocido método Runge-Kutta. La versión utilizada en nuestro caso es una aproximación de cuarto orden que proporciona muy buenos resultados (86) (87) (88) (89) (90) Experimentación Síncrona Análisis del Aprendizaje del Modelo Este primer escenario de evaluación fue diseñado para determinar la influencia que ejerce el tamaño de los conjuntos en los resultados obtenidos por el modelo. En otras palabras, delimitar los efectos que el número de iteraciones del modelo puede tener sobre la ejecución de la aplicación (número de iteraciones necesarias para que el modelo alcance una buena reducción de tiempos de ejecución). Teniendo en cuenta la definición matemática del modo síncrono de ERS, durante la ejecución de la aplicación se sucederá el procesamiento de un determinado número de conjuntos (un en cada iteración del modelo), dependiendo tanto del tamaño del espacio como de la cantidad de tareas que se especifique que contendrán tales conjuntos. Este procesamiento no será solapado, por lo que se espera que en cada ejecución de un el modelo aprenda, enriquezca sus conocimientos acerca de los recursos de la infraestructura, en términos de eficiencia, y sea capaz de rectificar en sus decisiones en caso de que sea necesario. Entonces hay dos situaciones a tener en cuenta a la hora de fijar los parámetros y características del escenario: Todo apunta a que cuanto mayor sea el número de ejecutados (mayor número de iteraciones del modelo), el modelo alcanzará una mejor especialización. 6667 Cuanto más grande sea más recursos serán evaluados a la vez, ya que el número de elementos en será mayor. Teniendo presente estas consideraciones más las características de la infraestructura de evaluación (Ibergrid), se van a realizar 5 pruebas en las que habrá un factor común: el tamaño de será de 200 tareas (cantidad a lanzar a ejecución). En cada una de las pruebas se evaluarán las distintas versiones en modo síncrono obtenidas: ERS-PA, ERS-VNS y ERS-CA. En cada una de las 5 pruebas, y por cada versión, se realizará un total de 10 ejecuciones en la infraestructura, siendo el valor medio de las mismas el que se muestre en los resultados. El número de iteraciones del modelo será diferente para cada prueba. Esto lo conseguiremos variando el tamaño de en cada prueba, como se observa en la Tabla 2. La relación entre ambos parámetros es inversamente proporcional: a medida que reducimos el tamaño de los conjuntos, el número de iteraciones del modelo aumenta. Veremos hasta qué punto una disminución del número de iteraciones del modelo repercute en una peor especialización de ERS. Prueba Tamaño de Iteraciones del Modelo Tabla 2: Características del escenario donde se evalúa el aprendizaje del modelo ERS en modo síncrono. Finalmente, se deben indicar los valores para los parámetros de relevancia y. En los experimentos que se van a llevar a cabo se ha decidido darle una relevancia ligeramente superior al porcentaje de tareas finalizadas con éxito porque consideramos de mayor interés para los usuarios acabar el mayor número de tareas posibles. Por eso en los experimentos se han utilizado 60% y 40%, para y, respectivamente. 6768 Si observamos los resultados obtenidos en la Figura 19 es fácilmente deducible que las distintas versiones síncronas de ERS mejoran los tiempos de ejecución del estándar utilizado en la mayoría de infraestructuras Europeas. No obstante, a continuación vamos a analizar el comportamiento de cada versión por separado tomando como referencia el obtenido para la versión síncrona de glite. La diferencia en tiempo de ejecución entre ERS-CA y glite crece a medida que se aumenta el tamaño de. Puede observarse que es en los tres últimos puntos (13, 20 y 40) en los que ERS-CA consigue reducir significativamente el tiempo de ejecución de la aplicación respecto de glite. Este incremento del tamaño de implica que un mayor número de recursos es evaluado en cada iteración del modelo. Esto es debido a las reglas de supervivencia y presión selectiva incluidas en el comportamiento del CA diseñado en esta versión. Es decir, la probabilidad de que todos los elementos de una subred hayan sido evaluados (se tengan métricas de su eficiencia y su carga de trabajo) es mayor, por lo que se escogerán los dos mejores (menos cargados) de cada una de ellas. Con la regla de presión selectiva, de todos los candidatos nos quedaremos con la mejor mitad (donde la mayoría ya habrán sido evaluados, garantizándose que son eficientes con respecto al resto). Estas mismas reglas son las que provocan que en los primeros puntos de la gráfica la diferencia con respecto a glite sea menor: menos recursos han sido evaluados en cada iteración del modelo con lo que la cantidad de recursos vivos de una iteración a otra para el CA es pequeña (aprendizaje lento del modelo). Análisis Aprendizaje ERS Síncrono Tiempo Ejecución Total (h) Tamaño de Pα glite ERS-PA ERS-VNS ERS-CA Figura 19: Resultados versiones síncronas de ERS al analizar el aprendizaje del modelo. Si ahora nos fijamos en ERS-VNS, el tamaño de no tiene una gran influencia en su comportamiento, como le ocurre a ERS-CA. Por su parte, la diferencia en tiempo 6869 de ejecución respecto a la versión de glite es medianamente estable a lo largo del escenario. Además, a diferencia de lo que ocurre cuando aplicamos CAs en el proceso de selección, en este caso los tamaños pequeños de favorecen el aprendizaje del modelo. Esto se debe a que en estos casos se producen más iteraciones del modelo, lo que implica que se realizan más cambios de estructuras de entornos, es decir, nos aproximamos más al óptimo global (conseguimos un conjunto de recursos óptimo). Por último, en lo que a ERS-PA se refiere, se observa que tiene un comportamiento ligeramente más inestable que el resto de versiones de ERS. Esta solución alcanza su mayor diferencia en tiempo de ejecución con respecto a glite para un valor de de 20. Como se comentaba en la sección , la eficiencia de los recursos para esta versión viene determinada tanto por el rendimiento de los recursos como por la cantidad de veces que ya han sido escogidos durante la ejecución de la aplicación (su grado). Con ERS-PA se detectan más rápidamente los mejores recursos de la infraestructura (los hubs). El problema radica cuando alguno de estos hubs se sobrecarga. En tales casos, y debido a la definición de eficiencia antes comentada (Ecuación 4), el modelo tarda ciertas iteraciones en detectar esta situación: aunque se obtenga un peor valor de fitness del recurso el grado del mismo sigue aumentando y contrarrestando la caída de rendimiento. Por su parte, en la Figura 20 se muestra la tasa de tareas finalizadas con éxito para cada versión síncrona de ERS así como de glite a lo largo del escenario. Se observa que las tres versiones (ERS-PA, ERS-CA y ERS-VNS) tienen mejores tasas que el estándar de glite. Pero además, se observa que tanto ERS-PA como ERS-VNS son las que consiguen mejores resultados en todas las pruebas. 6970 Tasa de Tareas Finalizadas con Éxito Tasa Tareas Finalizadas en Análisis ERS Síncrono Tamaño de Pα glite ERS-PA ERS-VNS ERS-CA Figura 20: Tasa de tareas finalizadas con éxito obtenida al analizar el aprendizaje de ERS síncrono Por último, se muestran ciertos datos estadísticos (Tabla 3) relativos al tiempo de ejecución total (medido en horas) obtenido por las aproximaciones evaluadas en el escenario (todas las ERS más glite). Cabe destacar que el coeficiente de variación no alcanza en ninguna de las pruebas realizadas el 40% de la media. Se debe tener en cuenta que los valores reflejados en la desviación estándar vienen motivados por el estado dinámico y cambiante de las infraestructuras grid. ERS-PA Media Desviación Estándar Coeficiente Variación 24% 34% 28% 36% 32% ERS-VNS Media Desviación Estándar Coeficiente Variación 30% 12% 23% 31% 26% ERS-CA Media Desviación Estándar Coeficiente Variación 8% 8% 27% 31% 26% glite Media Desviación Estándar Coeficiente Variación 32% 21% 37% 12% 1% Tabla 3: Valores estadísticos escenario análisis aprendizaje ERS síncrono Tras los resultados obtenidos en el escenario, podemos afirmar que el modelo ERS en su versión síncrona cumple los objetivos establecidos en la fase de hipótesis y diseño: mejorar los tiempos de ejecución y la tasa de tareas acabadas con éxito. 7071 Análisis del Efecto de Tamaños Grandes del Espacio de Tareas Una vez que se ha analizado el comportamiento del modelo según las características de los conjuntos de tareas y cómo de eficiente es su aprendizaje en base a estas circunstancias, lo siguiente que interesa es determinar cuál es su rendimiento ante producciones más grandes. Como se sabe, uno de los tipos de aplicación más utilizado en los entornos grid son las aplicaciones paralelas de barrido paramétrico que necesitan ejecutar una gran cantidad de tareas para obtener sus resultados. Es en este tipo en el que nos vamos a basar para fijar los parámetros de este segundo escenario síncrono. Así conseguimos delimitar el rango de aplicaciones en las que es beneficioso aplicar nuestro modelo eficiente. Como se muestra en la Tabla 4, en esta ocasión se van a realizar 6 pruebas en el escenario en las que el tamaño del espacio de trabajo va a variar dentro del rango [50,500]. En todas estas pruebas el tamaño de los conjuntos es el mismo: 10. Se ha establecido este tamaño ya que a partir del escenario anterior se deduce que es tan importante alcanzar un buen aprendizaje del modelo como evaluar una cantidad adecuada de recursos en cada iteración del modelo. Además, si observamos los resultados obtenidos previamente, se trata del tamaño mínimo con el que las versiones ERS síncronas comienzan a tener un equilibrio entre ambos aspectos. Respecto a los parámetros de relevancia, al igual que el caso anterior se fijan a 60% y 40%, para y, respectivamente. Mencionar que se espera que a medida que el tamaño de aumente se consigan mejoras más significativas en cuanto a tiempo de ejecución. Observando los resultados obtenidos (Figura 21), es posible deducir que el modelo ERS mejora el tiempo de ejecución en las tres versiones síncronas con respecto a la selección estándar de las infraestructuras Europeas, basada en las reglas de planificación de glite. Las 3 versiones síncronas de ERS consiguen tiempos de ejecución próximos a glite en las dos primeras pruebas (para tamaños de de 50 y 100). Además, no hay una diferencia significativa en estos puntos entre las 3 versiones. Sin embargo, a partir del tamaño de 200 tareas para esta diferencia empieza a crecer (salvo para ERS-CA, cuya diferencia con glite sigue sin ser significativa). 7172 Prueba Tamaño J Iteraciones del modelo Tabla 4: Parámetros configuración al analizar el efecto del tamaño del espacio J en ERS síncrono Si nos centramos en el comportamiento de la versión ERS-PA, podemos observar que a partir de un tamaño de 300 tareas su tiempo de ejecución aumenta. Esto es debido, al igual que ocurría en el escenario anterior, a que los recursos eficientes (hubs) se sobrecargan y el modelo tarda un tiempo en ajustar los valores de eficiencia de dichos recursos (lo que provoca un detrimento en su rendimiento). Respecto a ERS-VNS, tiene un comportamiento similar a ERS-PA, con la salvedad de que su tiempo de ejecución para el caso de 500 tareas no aumenta de manera tan considerable a la otra versión. En su caso, si en alguno de los cambios de estructura de entorno se ha alejado del óptimo global tardará menos en volver a acercarse a él. Esto hace que mantenga una mejora constante respecto a glite. ERS-CA tiene unos resultados similares a las dos versiones ERS previas en los dos primeros puntos de la gráfica (tamaños de de 50 y 100). Además, para las 3 primeras pruebas tiene valores muy próximos a los obtenidos por glite. Sin embargo, a partir de ese momento comienza a crecer significativamente la distancia con respecto glite. También incrementa la distancia con respecto a las versiones previas de ERS, aunque obtiene tiempos de ejecución más altos. El comportamiento de ERS-CA viene motivado por la evaluación de los recursos y por la consideración de la carga de los mismos a la hora de determinar cuáles sobreviven y son considerados nuevamente. Es por ello que a medida que aumenta la cantidad de tareas consigue mejores resultados, evita mejor que las otras versiones la sobrecarga de los recursos, por lo que su rendimiento no se ve perjudicado. 7273 Tiempo Total Ejecución (min.) Análisis Efecto Tamaños Grandes J en ERS Síncrono Tamaño de J glite ERS-PA ERS-VNS ERS-CA Figura 21: Resultados del análisis del efecto de grandes producciones para el ERS síncrono En la Figura 22 se muestra la tasa de tareas ejecutadas con éxito obtenida por las versiones para este escenario. Se presenta a modo de porcentaje alcanzado para que sea más sencilla y directa la comparación entre las distintas pruebas del escenario. Al igual que ocurría en el escenario anterior, las versiones síncronas obtienen mejores tasas que la versión basada en la selección de glite. Puede observarse, además, que ERS-VNS es la que mejores resultados alcanza en todas las pruebas respecto al resto. Esto es debido a que, aunque tarde más en encontrar el óptimo, una vez lo hace es la opción escogida para procesar las tareas restantes. Tareas Finaizadas con Éxito (%) Tasa Tareas Finalizadas Análisis Tamaño J ERS Síncrono Tamaño de J ERS-PA ERS-VNS ERS-CA glite Figura 22: Tasa tareas finalizadas con éxito al analizar tamaño de J para ERS síncrono Por último, se muestran los datos estadísticos del tiempo de ejecución en horas (Tabla 5) para cada una de las soluciones analizadas en este escenario. Puede observarse 73 Mostrar más
Universidad de Guadalajara Centro Universitario de Ciencias Económico-Administrativas Maestría en Tecnologías de Información Ante-proyecto de Tésis Selection of a lightweight virtualization framework to Más detalles Tecnologías Grid Estándares grid
Tecnologías Grid Estándares grid Master en Sistemas y Servicios Informáticos para Internet Universidad de Oviedo Estándares grid Introducción Introducción Justificación El grid se construye a base de diversos Más detalles Grid Computing. Clase 1: glite Overview. Francisco García Eijó y Alejandro Soba. Laboratorio de Sistemas Complejos Universidad de Buenos Aires
: glite Overview Francisco García Eijó y Alejandro Soba Laboratorio de Sistemas Complejos Universidad de Buenos Aires 12.06.2012 Agenda Introducción. Conceptos Grid. glite. Arquitectura. Qué es? es un Más detalles PONENCIAS. Proyecto FORMIGA: reaprovechando recursos para la investigación. FORMIGA Project: Reusing resources for research.
Proyecto FORMIGA: reaprovechando recursos para la investigación FORMIGA Project: Reusing resources for research Carlos Fernández Resumen Este proyecto persigue satisfacer la demanda creciente de recursos Más detalles GRID COMPUTING MALLA DE ORDENADORES
GRID COMPUTING MALLA DE ORDENADORES Introducción Concepto Compartir potencia computacional; Aprovechamiento de ciclos de procesamiento; El Grid Computing se enmarca dentro de la tecnología de computación Más detalles Sistema de Control Domótico
Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI Más detalles Programación en Capas.
Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2: Más detalles Computación Distribuida
Grid Adaptación de Aplicaciones Grid para el Procesamiento de Imágenes (AAG) Miguel Cárdenas Montes Centro de Investigaciones Energéticas Medioambientales y Tecnológicas, Madrid, Spain Máster: Grid y Paralelismo Más detalles Iniciación a las tecnologías Grid Granada. 8-12 de Marzo, 2010
Iniciación a las tecnologías Grid Granada. 8-12 de Marzo, 2010 ftp://ftp.iaa.es/pub/sse/ Susana Sánchez Instituto de Astrofísica de Andalucía (IAA-CSIC) sse@iaa.es Objetivos de esta clase: -Conocer la Más detalles Permite compartir recursos en forma coordinada y controlada para resolver problemas en organizaciones multiinstitucionales
The Anatomy of the Grid Enabling Scalable Virtual Organization Autores : Ian Foster, Carl Kesselman y Steven Tuecke. 2001 GRIDS y Organizaciones Virtuales Permite compartir recursos en forma coordinada Más detalles CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización
Página 1 de 19 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 6 Situación Contraste externo Actualización Más detalles Portal de acceso a recursos HPC en entornos Grid
Portal de acceso a recursos HPC en entornos Grid PONENCIAS Accessing to HPC Resource and Job Monitoring Information Using the HPC-Europa Portal F. Guim, I. Rodero, J. Corbalán y J. Labarta Resumen En un Más detalles Puesta a punto de un centro de recursos GRID utilizando Midleware GLITE 3.0
Puesta a punto de un centro de recursos GRID utilizando Midleware GLITE 3.0 Autores Maikel Isover Domínguez García* Daniel López Aldama* Alejandro Hurtado Turiño* Francisco Fernández Nodarse** Henry Ricardo Más detalles Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura
Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta Más detalles Grado en Ingeniería Informática
Grado en Ingeniería Informática Competencias Generales y trasversales De acuerdo con la resolución del Consejo de Universidades de fecha 3 de marzo de 2009, para obtener este título de grado en ingeniería Más detalles LA COLABORACIÓN, UNA REALIDAD GRACIAS A LA ARQUITECTURA TECNOLÓGICA HP EGOVERNMENT FRAMEWORK
1 LA COLABORACIÓN, UNA REALIDAD GRACIAS A LA ARQUITECTURA TECNOLÓGICA HP EGOVERNMENT FRAMEWORK Miguel Angel Abellán Juliá Gerente de Soluciones para Administraciones Públicas. Hewlett-Packard Española, Más detalles TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.
. TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. Índice 1 INTRODUCCIÓN 2 2 CARACTERÍSTICAS 2 2.1 Características del cliente...2 2.2 Características Más detalles Service Oriented Architecture
Service Oriented Architecture Isaac Gutiérrez Gómez, Salvador Otón Tortosa Universidad de Alcalá, Departamento de Ciencias de la Computación, 28871 Alcalá de Henares, Spain igutierrez09@yahoo.es, salvador.oton@uah.es Más detalles Este proyecto tiene como finalidad la creación de una aplicación para la gestión y explotación de los teléfonos de los empleados de una gran compañía.
SISTEMA DE GESTIÓN DE MÓVILES Autor: Holgado Oca, Luis Miguel. Director: Mañueco, MªLuisa. Entidad Colaboradora: Eli & Lilly Company. RESUMEN DEL PROYECTO Este proyecto tiene como finalidad la creación Más detalles Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web
Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web J.Corral-García, D.Cortés-Polo, C.Gómez-Martín, J.L.González-Sánchez Más detalles CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización
Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia Más detalles LINEAMIENTOS GENERALES PARA LA IMPLEMENTACIÓN DE PROCESOS ELECTRÓNICOS
LINEAMIENTOS GENERALES PARA LA IMPLEMENTACIÓN DE PROCESOS LINEAMIENTOS GENERALES PARA LA IMPLEMENTACIÓN DE PROCESOS Ministerio de Tecnologías de la Información y las Comunicaciones Programa de Gobierno Más detalles Productos Oracle para gobierno de SOA. Oracle White Paper Mayo 2009
Productos Oracle para gobierno de SOA Oracle White Paper Mayo 2009 Productos Oracle para gobierno de SOA RESUMEN EJECUTIVO La solución de Oracle SOA Governance es un elemento clave de la estrategia de Más detalles monitoreo efectivo del desempeño en entornos SAP
INFORME OFICIAL Septiembre de 2012 monitoreo efectivo del desempeño en entornos SAP Los desafíos clave y cómo CA Nimsoft Monitor ayuda a abordarlos agility made possible tabla de contenido resumen 3 Introducción Más detalles Infraestructuras Orientadas a Servicio en la Nube
Infraestructuras Orientadas a Servicio en la Nube Infrastructure aimed at cloud computing services Jordi Guijarro Olivares Resumen Analizando la evolución que durante los últimos años han sufrido nuestras Más detalles RESUMEN DE TRABAJO DE GRADO
RESUMEN DE TRABAJO DE GRADO Universidad Nueva Esparta. Facultad de Ciencias de la Informática. Escuela de Computación. Autores: Barrios M. Cesar E, Céspedes Nelson Tutor: Gabriel Méndez Titulo: Implantación Más detalles Servicios de asignación y planificación de recursos Grid
Servicios de asignación y planificación de recursos Grid PONENCIAS Allocation and Scheduling Services of Grid Resources A. Fernández, E. Heymann, J. Salt y M. A. Senar Resumen El concepto de Grid ha surgido Más detalles Documento de Competencias. Facultad de Informática, UPV/EHU. 1 Estructura general del Grado TE1 TE2 TE3 TE4 TE5 TE6 TE7 TE8
Documento de Competencias Grado en INGENIERÍA INFORMÁTICA Facultad de Informática, UPV/EHU 1 Estructura general del Grado 1.1 Fundamentos de Tecnología de los Principios de Diseño de Sistemas Digitales Más detalles SCADA BASADO EN LABVIEW PARA EL LABORATORIO DE CONTROL DE ICAI
SCADA BASADO EN LABVIEW PARA EL LABORATORIO DE CONTROL DE ICAI Autor: Otín Marcos, Ana. Directores: Rodríguez Pecharromán, Ramón. Rodríguez Mondéjar, José Antonio. Entidad Colaboradora: ICAI Universidad Más detalles 8 de Mayo de 2003 WORKSHOP IRIS-GRID. Middleware COORDINACIÓN
CAPITULO 1 Introducción a los Conceptos Generales de 1.1 Preliminares Las empresas necesitan almacenar información. La información puede ser de todo tipo. Cada elemento informativo es lo que se conoce Más detalles AAPP & Cloud Computing
AAPP & Cloud Computing La visión de Telefónica Telefónica también tiene una visión del CLOUD 1 01 Contexto de las AAPP Transformación, Recortes, Sociedad de la Información, Eficiencia, Vivimos un contexto Más detalles APLICACIONES OPEN SOURCE PARA EL MONITOREO DE REDES IP. Ing. Yubaira Boyer Digitel, Caracas E-mail: yubira_boyer@digitel.com.ve
1 APLICACIONES OPEN SOURCE PARA EL MONITOREO DE REDES IP. Ing. Yubaira Boyer Digitel, Caracas E-mail: yubira_boyer@digitel.com.ve RESUMEN. El Código abierto es el término por el que se conoce al software Más detalles Objetos Distribuidos - Componentes. Middleware
Objetos Distribuidos - Componentes Middleware Middleware Component Oriented Development Arquitecturas 3 Tier Middleware es el software que: conecta y comunica los componentes de una aplicacion distribuida Más detalles Tema 1: Introducción a la gestión y planificación de redes
Tema 4: Diseño de flujos interaplicación 4.1 Introducción a los Sistemas EAI Modelo de referencia (1) INTEGRACIÓN B2B INTEGRACIÓN DE APLICACIONES Y PROCESOS INTEGRACIÓN DE DATOS INTEGRACIÓN DE PLATAFORMA Más detalles Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica
Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica C1. Capacidad para la resolución de los problemas matemáticos que puedan plantearse en la ingeniería. Aptitud para aplicar Más detalles D.4.3.1 Definición de la infraestructura de soporte.
D.4.3.1 Definición de la infraestructura de soporte. RESUMEN EJECUTIVO El proyecto CloudPYME ha analizado, desarrollado y probado tres servicios de valor añadido para las PYME de la Euroregión Galicia-Norte Más detalles Rendimiento y monitorización
Rendimiento y monitorización RED ESPAÑOLA DE SUPERCOMPUTACIÓN -Operations Department -Barcelona Supercomputing Center Foreword All Information contained in this document refers to BSC s & RES s internal Más detalles Una heurística para la asignación de máquinas a trabajos fijos
VIII Congreso de Ingeniería de Organización Leganés, 9 y 10 de septiembre de 2004 Una heurística para la asignación de máquinas a trabajos fijos José Manuel García Sánchez, Marcos Calle Suárez, Gabriel Más detalles Uso de los Servicios Web en la nueva arquitectura de N-Capas del Sistema Económico Integral Rodas XXI.
Ponencia para Evento de Redes. Autor: Rubén Rivera Rodríguez, Citmatel Resumen Uso de los Servicios Web en la nueva arquitectura de N-Capas del Sistema Económico Integral Rodas XXI. Las nuevas tendencias Más detalles Departamento Organización de Empresas TESIS DOCTORAL. Arquitectura, Metodología y Plataforma Tecnológica para
Departamento Organización de Empresas TESIS DOCTORAL Arquitectura, Metodología y Plataforma Tecnológica para la Ingeniería y Operación de Redes Colaborativas. Una aproximación basada en Servicios Digitales Más detalles ADAPTACIÓN DE REAL TIME WORKSHOP AL SISTEMA OPERATIVO LINUX
UNIVERSIDAD CENTROCCIDENTAL "LISANDRO ALVARADO" DECANATO DE CIENCIAS Y TECNOLOGIA MAESTRIA EN CIENCIAS DE LA COMPUTACION MENCION REDES DE COMPUTADORAS MODELO DE GESTION WBEM PARA ADMINISTRACION DE REDES Más detalles Facultad de Ingeniería ISSN: 0121-1129 revista.ingenieria@uptc.edu.co. Universidad Pedagógica y Tecnológica de Colombia. Colombia
Facultad de Ingeniería ISSN: 0121-1129 revista.ingenieria@uptc.edu.co Universidad Pedagógica y Tecnológica de Colombia Colombia Amézquita-Mesa, Diego Germán; Amézquita-Becerra, Germán; Galindo-Parra, Omaira Más detalles Gestión de Operaciones - VSOM vsphere with Operations Management. Oscar Onofre Vmware Systems Engineer
Gestión de Operaciones - VSOM vsphere with Operations Management Oscar Onofre Vmware Systems Engineer Julio 2015 La estrategia del centro de datos definido por el software Arquitectura ideal para la nube Más detalles GUÍA DE EVIDENCIA DE LA UNIDAD DE COMPETENCIA
MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES Más detalles ID:1374 INTEGRO. SERVICIOS TELEMÁTICOS EN LA NUBE. Sánchez Rodríguez, Alfredo. Cuba RESUMEN
ID:1374 INTEGRO. SERVICIOS TELEMÁTICOS EN LA NUBE. Sánchez Rodríguez, Alfredo. Cuba RESUMEN La Plataforma de Servicios Telemáticos desarrollada por SOFTEL bajo la denominación de: proyecto INTEGRO, constituye Más detalles UNIVERSIDAD DE OVIEDO
UNIVERSIDAD DE OVIEDO ESCUELA POLITÉCNICA DE INGENIERÍA DE GIJÓN MÁSTER EN INGENIERÍA INFORMÁTICA TRABAJO FIN DE MÁSTER SPRING ROO ADD-ONS PARA PROTOTIPADO RÁPIDO JAVIER MENÉNDEZ ÁLVAREZ JULIO 2014 UNIVERSIDAD Más detalles Plataformas GRID. Área de Arquitectura y Tecnología de Computadores
Plataformas GRID Qué Plataformas Grid hay disponibles? Objetivo de este tema Dar una visión de las plataformas (Middleware) Grid disponibles No confundir Middleware Grid con Un Grid Middleware Grid (Software Más detalles Prototipo de virtualización de un caso de estudio para fundamentar la virtualización en el SNEST
L u n a G a r c í a F e l i p e - M a r t í n e z Z a m u d i o M a r í a d e L o u r d e s V Í N C U L O S J U L I O D E 2 0 1 3 VOLUMEN 10 NÚMERO 2 Prototipo de virtualización de un caso de estudio para Más detalles Infraestructuras a la carta Virtualización en entornos Cloud
Infraestructuras a la carta Virtualización en entornos Cloud Jordi Guijarro Olivares (jguijarro@cesca.cat) Responsable de Operaciones y Seguridad Centro de Servicios Científicos y Académicos de Cataluña Más detalles :Arquitecturas Paralela basada en clusters.
Computación de altas prestaciones: Arquitecturas basadas en clusters Sesión n 1 :Arquitecturas Paralela basada en clusters. Jose Luis Bosque 1 Introducción Computación de altas prestaciones: resolver problemas Más detalles 6 El catálogo del sistema
6 El catálogo del sistema Un sistema de gestión de base de datos debe llevar la cuenta de gran cantidad de información referente a la estructura de una base de datos con el fin de efectuar sus funciones Más detalles En verde están algunas propuestas que entendemos que faltan y que ayudarían a mejorar las fichas sustancialmente.
NOTAS ACLARATORIAS: Esta ficha de grado es la resultante de las dos reuniones celebradas (9 enero 2009 y 23 de febrero de 2009) por la subcomisión creada desde el MICIIN para debatir las fichas de Grado Más detalles Operating MATLAB by Internet
Operating MATLAB by Internet Bonifacio Castaño, Juan Llovet, Javier Sánchez University of Alcalá de Henares, Departament of mathematics. Abstract. In this work we demonstrate an interactive web-page, that Más detalles Fecha Publicación: 3 de Noviembre 2009. BPM Business Process Management Gestión de Procesos de Negocio
BPM Business Process Management Gestión de Procesos de Negocio Palabras Clave: BPM, Business Process Management, Workflow, Gestión de Procesos de Negocio, Reingeniería de Procesos, Optimización de Procesos, Más detalles Capítulo 1. Introducción. 1.1. Antecedentes
Capítulo 1. Introducción En este capítulo se presenta una descripción general del problema a investigar y el enfoque con el que se aborda. Se establece la necesidad de incorporar técnicas de análisis novedosas Más detalles Gestión de activos con Maximo y Tivoli Service Request Manager
en colaboración con: Capgemini e IBM Maximo Gestión de activos con Maximo y Tivoli Service Request Manager Capgemini es en la actualidad el único partner global para la implantación de soluciones de gestión Más detalles Servicios TIC en Universidad San Jorge: Hacia un modelo eficiente en infraestructuras de sistemas y comunicaciones.
Servicios TIC en Universidad San Jorge: Hacia un modelo eficiente en infraestructuras de sistemas y comunicaciones. Autores: José Antonio Barrio Puyo Roberto Bazán Sancho Jorge Miguel Moneo Planteamiento Más detalles Acoplamiento e interoperabilidad
Máster Universitario en Ingeniería Informá3ca Acoplamiento e interoperabilidad Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA 2 Acoplamiento débil Tipos de acoplamiento Cabalgando el Más detalles SISTEMA CONTROL DE ACCESOS A EDIFICIOS MEDIANTE TARJETAS CRIPTOGRÁFICAS Y TARJETAS DE RADIOFRECUENCIA (RFID)
SISTEMA CONTROL DE ACCESOS A EDIFICIOS MEDIANTE TARJETAS CRIPTOGRÁFICAS Y TARJETAS DE RADIOFRECUENCIA (RFID) Alumno: Velayos Sardiña, Marta Director: Palacios Hielscher, Rafael Entidad Colaboradora: ICAI Más detalles Mosix2: La versión grid de Mosix para Linux-2.6
Mosix2: La versión grid de Mosix para Linux-2.6 Juan P. Caballero Lionel Gutierrez Javier Echaiz Jorge R. Ardenghi Laboratorio de Investigación de Sistemas Distribuidos (LISiDi) Departamento de Ciencias Más detalles Enginyeria del Software III
Enginyeria del Software III Sessió 3. L estàndard ISO/IEC 15504 Antònia Mas Pichaco 1 Introducción El proyecto SPICE representa el mayor marco de colaboración internacional establecido con la finalidad Más detalles Instalación: Instalación de un agente en una máquina cliente y su registro en el sistema.
HERRAMIENTA DE MONITORIZACIÓN DE SISTEMAS Autor: Sota Madorrán, Iñaki. Director: Igualada Moreno, Pablo. Entidad Colaboradora: Evotec Consulting, S.L. RESUMEN DEL PROYECTO El proyecto consiste en el diseño, Más detalles Catálogo de Servicios
Catálogo de Servicios Fecha: 14 de mayo de 2013 Índice 1 Presentación... 3 2 Servicios de Consultoría SQL Server... 4 2.1 Monitorización servidores SQL Server... 4 2.2 DBA Remoto... 5 2.3 Consolidación Más detalles La gestión de objetos digitales: una aplicación para la e-ciencia
La gestión de objetos digitales: una aplicación para la e-ciencia PONENCIAS Digital object management: an application for e-science Luis Zorita Vicente y Alicia López Medina Resumen El nuevo entorno de Más detalles Adaptación y Configuración de Procesos de Software Tailoring and Configuration of Software Processes
Adaptación y Configuración de Procesos de Software Tailoring and Configuration of Software Processes Rodolfo Villarroel Acevedo 1* 1 Pontificia Universidad Católica de Valparaíso. Avenida Brasil 2241, Más detalles CEUS: Sistema informático para monitorear el uso de las computadoras en las organizaciones
CEUS: Sistema informático para monitorear el uso de las computadoras en las organizaciones CEUS: Computer system for monitoring the use of computers in organizations Zénel Reyes Pérez 1*, Orlenis Vega Más detalles Análisis de Requisitos
Análisis de Requisitos Los requisitos determinan lo que hará el sistema y definen restricciones sobre su operación e implementación. El análisis de requisitos es el proceso del estudio de las necesidades Más detalles SEMAFOUR: Autogestión para las nuevas generaciones de redes radio
SEMAFOUR: Autogestión para las nuevas generaciones de redes radio Una visión de redes autoorganizadas multicapa y multiprotocolo Luis M Campoy Luismiguel.campoycervera@telefonica.com Radio Enero 2015 para Más detalles IMPLEMENTACIÓN DE SERVICIOS COMPUTACIONALES FLEXIBLES EN LA NUBE PARA EL ÁREA DE INVESTIGACIÓN DEL DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN (DECC)
IMPLEMENTACIÓN DE SERVICIOS COMPUTACIONALES FLEXIBLES EN LA NUBE PARA EL ÁREA DE INVESTIGACIÓN DEL DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN (DECC) Rosa Duque Quezada 1, Jhoanna Sánchez Vaca 2, Diego Más detalles ArcGIS. Catálogo de cursos
ArcGIS Catálogo de cursos 2015 ArcGIS Desktop ArcGIS Desktop ArcGIS 1: Introduction to GIS (10.2)... 2 ArcGIS 2: Essential Workflows (10.2)... 3 ArcGIS 3: Performing Analysis (10.2)... 3 Building Geodatabases Más detalles Descripción de los Servicios Oracle contemplados en el Instrumento de Agregación de Demanda
Descripción de los Servicios Oracle contemplados en el Instrumento de Agregación de Demanda A través del Instrumento de Agregación de Demanda para la Adquisición de Servicios Oracle, las Entidades Estatales Más detalles La inteligencia artificial distribuida (IAD) es una de las ramas de la inteligencia artificial (IA), la cual estudia sistemas inteligentes formados por un conjunto de varios componentes. Lic. Patricia Más detalles Reutilización de objetos virtuales de aprendizaje en ambientes distribuidos* 1
Reutilización de objetos virtuales de aprendizaje en ambientes distribuidos* 1 Reuse of virtual learning objects in distributed environments 2 Noé Arcos Muñoz ** 3 Luis Antonio Castro R. *** 4 Rocío Rodríguez Más detalles 2.1 Compuertas para Bases de Datos
1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Uno de los aspectos mas importantes en un sistema multibase de datos es la forma en como llevar a cabo la comunicación Más detalles Gestión automatizada de la infraestructura (IaaS Infraestructure as a Service)
Universidad de Extremadura (Observatorio Tecnológico HP) Escuela Politécnica de Cáceres Gestión automatizada de la infraestructura (IaaS Infraestructure as a Service) Autores: Emilio José Muñoz Fernández Más detalles Desarrollo de una Aplicación Móvil para Revisar
Desarrollo de una Aplicación Móvil para Revisar Horarios de Atención de Tutores de la UNAD Development of a Movil Application for Check Over Office Hours of Tutors of the Unad Correa Rodríguez Arellys Más detalles MONITORIZACIÓN WIRELESS DE INSTALACIÓN FOTOVOLTAICA DE 56 KW P EN EL PARQUE TECNOLÓGICO DE ANDALUCÍA BASADA EN LA TECNOLOGÍA OPC
MONITORIZACIÓN WIRELESS DE INSTALACIÓN FOTOVOLTAICA DE 56 KW P EN EL PARQUE TECNOLÓGICO DE ANDALUCÍA BASADA EN LA TECNOLOGÍA OPC * Sidrach-de-Cardona M., * Carretero J., * Pereña A., ** Mora-López L, ** Más detalles Cloud Computing Tendencias. Modelos. Posibilidades. Germán Cortés Lasso gcorteslasso@gmail.com
Cloud Computing Tendencias. Modelos. Posibilidades Germán Cortés Lasso gcorteslasso@gmail.com Agenda Introducción Qué es Cloud Computing? Características Modelos Tendencias Posibilidades Introducción Todos Más detalles PROYECTO - WLAB. SISTEMA DE CONTROL REMOTO EN TIEMPO REAL DE EQUIPOS DE LABOROTORIO AUTORA: Sara Mira Fernández. Resumen
PROYECTO - WLAB. SISTEMA DE CONTROL REMOTO EN TIEMPO REAL DE EQUIPOS DE LABOROTORIO AUTORA: Sara Mira Fernández Resumen La idea de la que parte este proyecto es la de permitir acceder al Laboratorio de Más detalles Informe de avance Implementación herramientas de back-end (3-III).
D A T A S H E E T Unicenter Asset Management versión 4.0 Unicenter Asset Management es una completa solución para gestionar los activos TI de su entorno empresarial de forma activa. Proporciona funciones Más detalles Simulación 4D en el Control de Sistemas Mecatrónicos
12 Simulación 4D en el Control de Sistemas Mecatrónicos Anibal Cotrina Facultad de Ingeniería Electrónica y Eléctrica, Universidad Nacional Mayor de San Marcos, Lima Perú RESUMEN: En el presente artículo Más detalles - Capacidad para dirigir las actividades objeto de los proyectos del ámbito de la informática de acuerdo con los conocimientos adquiridos.
Competencias generales - Capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto, de acuerdo con los Más detalles Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez jimezam@gmail.com
Modelos de los sistemas distribuidos Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/36 Contenidos Modelo arquitectónico Más detalles Técnicas Avanzadas de Middleware. Presentación del curso
Técnicas Avanzadas de Middleware Presentación del curso Ponente Agustín Santos Méndez Experiencia laboral superior a 25 años. Proyectos de integración de sistemas complejos con Middleware. Profesor asociado Más detalles Uso de un motor de restricciones bajo dispositivos Android
Uso de un motor de restricciones bajo dispositivos Android Gonzalo Hernández 1, Camilo Villota Ibarra 2, James Muñoz Coronel 3, Harold Muñoz Muñoz 4 Universidad de Nariño, Facultad de Ingeniería, Departamento Más detalles Cloud Computing: Eficiencia y flexibilidad para las Infraestructuras TIC en las Universidades
Cloud Computing: Eficiencia y flexibilidad para las Infraestructuras TIC en las Universidades Marzo 2011 01 La eficiencia como objetivo de la TI 1 Tiene límites la eficiencia? 2 Cómo buscar eficiencia Más detalles Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.
SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados Más detalles Proyecto e-ca: Organización Virtual y Testbed. Susana Sánchez Expósito José Ruedas Sánchez II Reunión de e-ciencia Andaluza 16-17, Octubre 2008
Proyecto e-ca: Organización Virtual y Testbed Susana Sánchez Expósito José Ruedas Sánchez II Reunión de e-ciencia Andaluza 16-17, Octubre 2008 Índice Creación de una infraestructura Grid en Andalucía. Más detalles CAPÍTULO 12. Las comunicaciones móviles en los edificios inteligentes
CAPÍTULO 12 Las comunicaciones móviles en los edificios inteligentes Por: Angélica Reyes Muñoz Departamento Arquitectura de Computadores. Universidad Politécnica de Cataluña, España. Este trabajo presenta Más detalles ESTADO DEL ARTE DEL GRID
ESTADO DEL ARTE DEL GRID OSCAR GIOVANNI MEDINA ALFARO Presentado a: Ing. Diego Alberto Rincón Y. PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA CARRERA DE INGENIERÍA DE SISTEMAS BOGOTA D.C. 2011 Más detalles MS_20247 Configuring and Deploying a Private Cloud
Gold Learning Gold Business Intelligence Silver Data Plataform Configuring and Deploying a Private Cloud www.ked.com.mx Por favor no imprimas este documento si no es necesario. Introducción. Este curso Más detalles Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico.
Desarrollo de un cluster computacional para la compilación de algoritmos en paralelo en el Observatorio Astronómico. John Jairo Parra Pérez Resumen Este artículo muestra cómo funciona la supercomputación Más detalles RESOLUCIÓN EFICIENTE DE PROBLEMAS COMPLEJOS MEDIANTE HARDWARE RECONFIGURABLE
RESOLUCIÓN EFICIENTE DE PROBLEMAS COMPLEJOS MEDIANTE HARDWARE RECONFIGURABLE Miguel A. Vega Rodríguez, Juan A. Gómez Pulido, Juan M. Sánchez Pérez Univ. de Extremadura. Dept. de Informática Escuela Politécnica. Más detalles 2017 © DocPlayer.es Política de privacidad | Condiciones del servicio | Feedback

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 RESOLUCIÓN 

RESOLUCIÓN