58 research outputs found

    Application-level Fault Tolerance and Resilience in HPC Applications

    Get PDF
    Programa Oficial de Doutoramento en Investigación en Tecnoloxías da Información. 524V01[Resumo] As necesidades computacionais das distintas ramas da ciencia medraron enormemente nos últimos anos, o que provocou un gran crecemento no rendemento proporcionado polos supercomputadores. Cada vez constrúense sistemas de computación de altas prestacións de maior tamaño, con máis recursos hardware de distintos tipos, o que fai que as taxas de fallo destes sistemas tamén medren. Polo tanto, o estudo de técnicas de tolerancia a fallos eficientes é indispensábel para garantires que os programas científicos poidan completar a súa execución, evitando ademais que se dispare o consumo de enerxía. O checkpoint/restart é unha das técnicas máis populares. Sen embargo, a maioría da investigación levada a cabo nas últimas décadas céntrase en estratexias stop-and-restart para aplicacións de memoria distribuída tralo acontecemento dun fallo-parada. Esta tese propón técnicas checkpoint/restart a nivel de aplicación para os modelos de programación paralela roáis populares en supercomputación. Implementáronse protocolos de checkpointing para aplicacións híbridas MPI-OpenMP e aplicacións heteroxéneas baseadas en OpenCL, en ámbolos dous casos prestando especial coidado á portabilidade e maleabilidade da solución. En canto a aplicacións de memoria distribuída, proponse unha solución de resiliencia que pode ser empregada de forma xenérica en aplicacións MPI SPMD, permitindo detectar e reaccionar a fallos-parada sen abortar a execución. Neste caso, os procesos fallidos vólvense a lanzar e o estado da aplicación recupérase cunha volta atrás global. A maiores, esta solución de resiliencia optimizouse implementando unha volta atrás local, na que só os procesos fallidos volven atrás, empregando un protocolo de almacenaxe de mensaxes para garantires a consistencia e o progreso da execución. Por último, propónse a extensión dunha librería de checkpointing para facilitares a implementación de estratexias de recuperación ad hoc ante conupcións de memoria. En moitas ocasións, estos erros poden ser xestionados a nivel de aplicación, evitando desencadear un fallo-parada e permitindo unha recuperación máis eficiente.[Resumen] El rápido aumento de las necesidades de cómputo de distintas ramas de la ciencia ha provocado un gran crecimiento en el rendimiento ofrecido por los supercomputadores. Cada vez se construyen sistemas de computación de altas prestaciones mayores, con más recursos hardware de distintos tipos, lo que hace que las tasas de fallo del sistema aumenten. Por tanto, el estudio de técnicas de tolerancia a fallos eficientes resulta indispensable para garantizar que los programas científicos puedan completar su ejecución, evitando además que se dispare el consumo de energía. La técnica checkpoint/restart es una de las más populares. Sin embargo, la mayor parte de la investigación en este campo se ha centrado en estrategias stop-and-restart para aplicaciones de memoria distribuida tras la ocurrencia de fallos-parada. Esta tesis propone técnicas checkpoint/restart a nivel de aplicación para los modelos de programación paralela más populares en supercomputación. Se han implementado protocolos de checkpointing para aplicaciones híbridas MPI-OpenMP y aplicaciones heterogéneas basadas en OpenCL, prestando en ambos casos especial atención a la portabilidad y la maleabilidad de la solución. Con respecto a aplicaciones de memoria distribuida, se propone una solución de resiliencia que puede ser usada de forma genérica en aplicaciones MPI SPMD, permitiendo detectar y reaccionar a fallosparada sin abortar la ejecución. En su lugar, se vuelven a lanzar los procesos fallidos y se recupera el estado de la aplicación con una vuelta atrás global. A mayores, esta solución de resiliencia ha sido optimizada implementando una vuelta atrás local, en la que solo los procesos fallidos vuelven atrás, empleando un protocolo de almacenaje de mensajes para garantizar la consistencia y el progreso de la ejecución. Por último, se propone una extensión de una librería de checkpointing para facilitar la implementación de estrategias de recuperación ad hoc ante corrupciones de memoria. Muchas veces, este tipo de errores puede gestionarse a nivel de aplicación, evitando desencadenar un fallo-parada y permitiendo una recuperación más eficiente.[Abstract] The rapid increase in the computational demands of science has lead to a pronounced growth in the performance offered by supercomputers. As High Performance Computing (HPC) systems grow larger, including more hardware components of different types, the system's failure rate becomes higher. Efficient fault tolerance techniques are essential not only to ensure the execution completion but also to save energy. Checkpoint/restart is one of the most popular fault tolerance techniques. However, most of the research in this field is focused on stop-and-restart strategies for distributed-memory applications in the event of fail-stop failures. Thís thesis focuses on the implementation of application-level checkpoint/restart solutions for the most popular parallel programming models used in HPC. Hence, we have implemented checkpointing solutions to cope with fail-stop failures in hybrid MPI-OpenMP applications and OpenCL-based programs. Both strategies maximize the restart portability and malleability, ie., the recovery can take place on machines with different CPU / accelerator architectures, and/ or operating systems, and can be adapted to the available resources (number of cores/accelerators). Regarding distributed-memory applications, we propose a resilience solution that can be generally applied to SPMD MPI programs. Resilient applications can detect and react to failures without aborting their execution upon fail-stop failures. Instead, failed processes are re-spawned, and the application state is recovered through a global rollback. Moreover, we have optimized this resilience proposal by implementing a local rollback protocol, in which only failed processes rollback to a previous state, while message logging enables global consistency and further progress of the computation. Finally, we have extended a checkpointing library to facilitate the implementation of ad hoc recovery strategies in the event of soft errors) caused by memory corruptions. Many times, these errors can be handled at the software-Ievel, tIms, avoiding fail-stop failures and enabling a more efficient recovery

    An approach to pervasive monitoring in dynamic learning contexts : data sensing, communication support and awareness provision

    Get PDF
    It is within the capabilities of current technology to support the emerging learning paradigms. These paradigms suggest that today’s learning activities and environments are pervas ive and require a higher level of dynamism than the traditional learning contexts. Therefore, we have to rethink our approach to learning and use technology not only as a digital information support, but also as an instrument to reinforce knowledge, foster collaboration, promote creativity and provide richer learning experiences. Particularly, this thesis was motivated by the rapidly growing number of smartphone users and the fact that these devices are increasingly becoming more and more resource-rich, in terms of their communication and sensing technologies, display capabilities battery autonomy, etc. Hence, this dissertation benefits from the ubiquity and development of mobile technology, aiming to bridge the gap between the challenges posed by modern learning requirements and the capabilities of current technology. The sensors embedded in smartphones can be used to capture diverse behavioural and social aspects of the users. For example, using microphone and Bluetooth is possible to identify conversation patterns, discover users in proximity and detect face-to-face meetings. This fact opens up exciting possibilities to monitor the behaviour of the user and to provide meaningful feedback. This feedback offers useful information that can help people be aware of and reflect on their behaviour and its effects, and take the necessary actions to improve them. Consequently, we propose a pervasive monitoring system that take advantage of the capabilities of modern smartphones, us ing them to s upport the awarenes s provis ion about as pects of the activities that take place in today’s pervas ive learning environments. This pervasive monitoring system provides (i) an autonomous sensing platform to capture complex information about processes and interactions that take place across multiple learning environments, (ii) an on-demand and s elf-m anaged communication infras tructure, and (ii) a dis play facility to provide “awarenes s inform ation” to the s tudents and/or lecturers. For the proposed system, we followed a research approach that have three main components. First, the description of a generalized framework for pervasive sensing that enables collaborative sensing interactions between smartphones and other types of devices. By allowing complex data capture interactions with diverse remote sensors, devices and data sources, this framework allows to improve the information quality while saving energy in the local device. Second, the evaluation, through a real-world deployment, of the suitability of ad hoc networks to support the diverse communication processes required for pervasive monitoring. This component also includes a method to improve the scalability and reduce the costs of these networks. Third, the design of two awareness mechanisms to allow flexible provision of information in dynamic and heterogeneous learning contexts. These mechanisms rely on the use of smartphones as adaptable devices that can be used directly as awareness displays or as communication bridges to enable interaction with other remote displays available in the environment. Diverse aspects of the proposed system were evaluated through a number of simulations, real-world experiments, user studies and prototype evaluations. The experimental evaluation of the data capture and communication aspects of the system provided empirical evidence of the usefulness and suitability of the proposed approach to support the development of pervasive monitoring solutions. In addition, the proof-of-concept deployments of the proposed awareness mechanisms, performed in both laboratory and real-world learning environments, provided quantitative and qualitative indicators that such mechanisms improve the quality of the awareness information and the user experienceLa tecnología moderna tiene capacidad de dar apoyo a los paradigmas de aprendizaje emergentes. Estos paradigmas sugieren que las actividades de aprendizaje actuales, caracterizadas por la ubicuidad de entornos, son más dinámicas y complejas que los contextos de aprendizaje tradicionales. Por tanto, tenemos que reformular nuestro acercamiento al aprendizaje, consiguiendo que la tecnología sirva no solo como mero soporte de información, sino como medio para reforzar el conocimiento, fomentar la colaboración, estimular la creatividad y proporcionar experiencias de aprendizaje enriquecedoras. Esta tesis doctoral está motivada por el vertiginoso crecimiento de usuarios de smartphones y el hecho de que estos son cada vez más potentes en cuanto a tecnologías de comunicación, sensores, displays, autonomía energética, etc. Por tanto, esta tesis aprovecha la ubicuidad y el desarrollo de esta tecnología, con el objetivo de reducir la brecha entre los desafíos del aprendizaje moderno y las capacidades de la tecnología actual. Los sensores integrados en los smartphones pueden ser utilizados para reconocer diversos aspectos del comportamiento individual y social de los usuarios. Por ejemplo, a través del micrófono y el Bluetooth, es posible determinar patrones de conversación, encontrar usuarios cercanos y detectar reuniones presenciales. Este hecho abre un interesante abanico de posibilidades, pudiendo monitorizar aspectos del comportamiento del usuario y proveer un feedback significativo. Dicho feedback, puede ayudar a los usuarios a reflexionar sobre su comportamiento y los efectos que provoca, con el fin de tomar medidas necesarias para mejorarlo. Proponemos un sistema de monitorización generalizado que aproveche las capacidades de los smartphones para proporcionar información a los usuarios, ayudándolos a percibir y tomar conciencia sobre diversos aspectos de las actividades que se desarrollan en contextos de aprendizaje modernos. Este sistema ofrece: (i) una plataforma de detección autónoma, que captura información compleja sobre los procesos e interacciones de aprendizaje; (ii) una infraestructura de comunicación autogestionable y; (iii) un servicio de visualización que provee “información de percepción” a estudiantes y/o profesores. Para la elaboración de este sistema nos hemos centrado en tres áreas de investigación. Primero, la descripción de una infraestructura de detección generalizada, que facilita interacciones entre smartphones y otros dispositivos. Al permitir interacciones complejas para la captura de datos entre diversos sensores, dispositivos y fuentes de datos remotos, esta infraestructura consigue mejorar la calidad de la información y ahorrar energía en el dispositivo local. Segundo, la evaluación, a través de pruebas reales, de la idoneidad de las redes ad hoc como apoyo de los diversos procesos de comunicación requeridos en la monitorización generalizada. Este área incluye un método que incrementa la escalabilidad y reduce el coste de estas redes. Tercero, el diseño de dos mecanismos de percepción que permiten la provisión flexible de información en contextos de aprendizaje dinámicos y heterogéneos. Estos mecanismos descansan en la versatilidad de los smartphones, que pueden ser utilizados directamente como displays de percepción o como puentes de comunicación que habilitan la interacción con otros displays remotos del entorno. Diferentes aspectos del sistema propuesto han sido evaluados a través de simulaciones, experimentos reales, estudios de usuarios y evaluaciones de prototipos. La evaluación experimental proporcionó evidencia empírica de la idoneidad del sistema para apoyar el desarrollo de soluciones de monitorización generalizadas. Además, las pruebas de concepto realizadas tanto en entornos de aprendizajes reales como en el laboratorio, aportaron indicadores cuantitativos y cualitativos de que estos mecanismos mejoran la calidad de la información de percepción y la experiencia del usuario.Postprint (published version

    Mobile Oriented Future Internet (MOFI)

    Get PDF
    This Special Issue consists of seven papers that discuss how to enhance mobility management and its associated performance in the mobile-oriented future Internet (MOFI) environment. The first two papers deal with the architectural design and experimentation of mobility management schemes, in which new schemes are proposed and real-world testbed experimentations are performed. The subsequent three papers focus on the use of software-defined networks (SDN) for effective service provisioning in the MOFI environment, together with real-world practices and testbed experimentations. The remaining two papers discuss the network engineering issues in newly emerging mobile networks, such as flying ad-hoc networks (FANET) and connected vehicular networks

    Exploring intelligent service migration in a highly mobile network

    Get PDF
    Mobile services allow services to be migrated or replicated closer to users as they move around. This is now regarded as a viable mechanism to provide good Quality of Service to users in highly mobile environments such as vehicular networks. The vehicular environment is rapidly becoming a significant part of the internet and this presents various challenges that must be addressed; this is due to continuous handovers as mobile devices change their point of attachment to these networks resulting in a loss of service. Therefore, this explains the need to build a framework for intelligent service migration. This thesis addresses these issues. It starts by discussing the requirements for intelligent service migration. Then it investigates a low latency Quality of Service Aware Framework as well as an experimental transport protocol that would be favoured by vehicular networks. Furthermore, two analytical models are developed using the Zero-Server Markov Chain technique which is a way of analysing scenarios when the server is not continuously available to serve. Using the Zero-Server Markov Chain, the first analytical model looks at lost service due to continuous handovers and the communication dynamics of vehicular networks, while the second model analyses how service migration affects service delivery in these networks. Formulas are developed to yield the average number of packets in the system, the response time, the probability of blocking and a new parameter called the probability of lost service. These formulas are then applied to the Middlesex VANET Testbed to look at reactive and proactive service migration. These techniques are then incorporated into a new Service Management Framework to provide sustainable Quality of Service and Quality of Experience to mobile users in vehicular networks. This thesis also shows that this new approach is better than current approaches as it addresses key issues in intelligent service migration in such environments, and hence can play a significant part in the development of Intelligent Transport Systems for Smart Cities

    Security and trust in a Network Functions Virtualisation Infrastructure

    Get PDF
    L'abstract è presente nell'allegato / the abstract is in the attachmen

    On the Enhancement of Remote GPU Virtualization in High Performance Clusters

    Full text link
    Graphics Processing Units (GPUs) are being adopted in many computing facilities given their extraordinary computing power, which makes it possible to accelerate many general purpose applications from different domains. However, GPUs also present several side effects, such as increased acquisition costs as well as larger space requirements. They also require more powerful energy supplies. Furthermore, GPUs still consume some amount of energy while idle and their utilization is usually low for most workloads. In a similar way to virtual machines, the use of virtual GPUs may address the aforementioned concerns. In this regard, the remote GPU virtualization mechanism allows an application being executed in a node of the cluster to transparently use the GPUs installed at other nodes. Moreover, this technique allows to share the GPUs present in the computing facility among the applications being executed in the cluster. In this way, several applications being executed in different (or the same) cluster nodes can share one or more GPUs located in other nodes of the cluster. Sharing GPUs should increase overall GPU utilization, thus reducing the negative impact of the side effects mentioned before. Reducing the total amount of GPUs installed in the cluster may also be possible. In this dissertation we enhance one framework offering remote GPU virtualization capabilities, referred to as rCUDA, for its use in high-performance clusters. While the initial prototype version of rCUDA demonstrated its functionality, it also revealed concerns with respect to usability, performance, and support for new GPU features, which prevented its used in production environments. These issues motivated this thesis, in which all the research is primarily conducted with the aim of turning rCUDA into a production-ready solution for eventually transferring it to industry. The new version of rCUDA resulting from this work presents a reduction of up to 35% in execution time of the applications analyzed with respect to the initial version. Compared to the use of local GPUs, the overhead of this new version of rCUDA is below 5% for the applications studied when using the latest high-performance computing networks available.Las unidades de procesamiento gráfico (Graphics Processing Units, GPUs) están siendo utilizadas en muchas instalaciones de computación dada su extraordinaria capacidad de cálculo, la cual hace posible acelerar muchas aplicaciones de propósito general de diferentes dominios. Sin embargo, las GPUs también presentan algunas desventajas, como el aumento de los costos de adquisición, así como mayores requerimientos de espacio. Asimismo, también requieren un suministro de energía más potente. Además, las GPUs consumen una cierta cantidad de energía aún estando inactivas, y su utilización suele ser baja para la mayoría de las cargas de trabajo. De manera similar a las máquinas virtuales, el uso de GPUs virtuales podría hacer frente a los inconvenientes mencionados. En este sentido, el mecanismo de virtualización remota de GPUs permite que una aplicación que se ejecuta en un nodo de un clúster utilice de forma transparente las GPUs instaladas en otros nodos de dicho clúster. Además, esta técnica permite compartir las GPUs presentes en el clúster entre las aplicaciones que se ejecutan en el mismo. De esta manera, varias aplicaciones que se ejecutan en diferentes nodos de clúster (o los mismos) pueden compartir una o más GPUs ubicadas en otros nodos del clúster. Compartir GPUs aumenta la utilización general de la GPU, reduciendo así el impacto negativo de las desventajas anteriormente mencionadas. De igual forma, este mecanismo también permite reducir la cantidad total de GPUs instaladas en el clúster. En esta tesis mejoramos un entorno de trabajo llamado rCUDA, el cual ofrece funcionalidades de virtualización remota de GPUs para su uso en clusters de altas prestaciones. Si bien la versión inicial del prototipo de rCUDA demostró su funcionalidad, también reveló dificultades con respecto a la usabilidad, el rendimiento y el soporte para nuevas características de las GPUs, lo cual impedía su uso en entornos de producción. Estas consideraciones motivaron la presente tesis, en la que toda la investigación llevada a cabo tiene como objetivo principal convertir rCUDA en una solución lista para su uso entornos de producción, con la finalidad de transferirla eventualmente a la industria. La nueva versión de rCUDA resultante de este trabajo presenta una reducción de hasta el 35% en el tiempo de ejecución de las aplicaciones analizadas con respecto a la versión inicial. En comparación con el uso de GPUs locales, la sobrecarga de esta nueva versión de rCUDA es inferior al 5% para las aplicaciones estudiadas cuando se utilizan las últimas redes de computación de altas prestaciones disponibles.Les unitats de processament gràfic (Graphics Processing Units, GPUs) estan sent utilitzades en moltes instal·lacions de computació donada la seva extraordinària capacitat de càlcul, la qual fa possible accelerar moltes aplicacions de propòsit general de diferents dominis. No obstant això, les GPUs també presenten alguns desavantatges, com l'augment dels costos d'adquisició, així com major requeriment d'espai. Així mateix, també requereixen un subministrament d'energia més potent. A més, les GPUs consumeixen una certa quantitat d'energia encara estant inactives, i la seua utilització sol ser baixa per a la majoria de les càrregues de treball. D'una manera semblant a les màquines virtuals, l'ús de GPUs virtuals podria fer front als inconvenients esmentats. En aquest sentit, el mecanisme de virtualització remota de GPUs permet que una aplicació que s'executa en un node d'un clúster utilitze de forma transparent les GPUs instal·lades en altres nodes d'aquest clúster. A més, aquesta tècnica permet compartir les GPUs presents al clúster entre les aplicacions que s'executen en el mateix. D'aquesta manera, diverses aplicacions que s'executen en diferents nodes de clúster (o els mateixos) poden compartir una o més GPUs ubicades en altres nodes del clúster. Compartir GPUs augmenta la utilització general de la GPU, reduint així l'impacte negatiu dels desavantatges anteriorment esmentades. A més a més, aquest mecanisme també permet reduir la quantitat total de GPUs instal·lades al clúster. En aquesta tesi millorem un entorn de treball anomenat rCUDA, el qual ofereix funcionalitats de virtualització remota de GPUs per al seu ús en clústers d'altes prestacions. Si bé la versió inicial del prototip de rCUDA va demostrar la seua funcionalitat, també va revelar dificultats pel que fa a la usabilitat, el rendiment i el suport per a noves característiques de les GPUs, la qual cosa impedia el seu ús en entorns de producció. Aquestes consideracions van motivar la present tesi, en què tota la investigació duta a terme té com a objectiu principal convertir rCUDA en una solució preparada per al seu ús entorns de producció, amb la finalitat de transferir-la eventualment a la indústria. La nova versió de rCUDA resultant d'aquest treball presenta una reducció de fins al 35% en el temps d'execució de les aplicacions analitzades respecte a la versió inicial. En comparació amb l'ús de GPUs locals, la sobrecàrrega d'aquesta nova versió de rCUDA és inferior al 5% per a les aplicacions estudiades quan s'utilitzen les últimes xarxes de computació d'altes prestacions disponibles.Reaño González, C. (2017). On the Enhancement of Remote GPU Virtualization in High Performance Clusters [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/86219TESISPremios Extraordinarios de tesis doctorale

    High Performance Network Evaluation and Testing

    Get PDF

    Energy-aware scheduling in heterogeneous computing systems

    Get PDF
    In the last decade, the grid computing systems emerged as useful provider of the computing power required for solving complex problems. The classic formulation of the scheduling problem in heterogeneous computing systems is NP-hard, thus approximation techniques are required for solving real-world scenarios of this problem. This thesis tackles the problem of scheduling tasks in a heterogeneous computing environment in reduced execution times, considering the schedule length and the total energy consumption as the optimization objectives. An efficient multithreading local search algorithm for solving the multi-objective scheduling problem in heterogeneous computing systems, named MEMLS, is presented. The proposed method follows a fully multi-objective approach, applying a Pareto-based dominance search that is executed in parallel by using several threads. The experimental analysis demonstrates that the new multithreading algorithm outperforms a set of fast and accurate two-phase deterministic heuristics based on the traditional MinMin. The new ME-MLS method is able to achieve significant improvements in both makespan and energy consumption objectives in reduced execution times for a large set of testbed instances, while exhibiting very good scalability. The ME-MLS was evaluated solving instances comprised of up to 2048 tasks and 64 machines. In order to scale the dimension of the problem instances even further and tackle large-sized problem instances, the Graphical Processing Unit (GPU) architecture is considered. This line of future work has been initially tackled with the gPALS: a hybrid CPU/GPU local search algorithm for efficiently tackling a single-objective heterogeneous computing scheduling problem. The gPALS shows very promising results, being able to tackle instances of up to 32768 tasks and 1024 machines in reasonable execution times.En la última década, los sistemas de computación grid se han convertido en útiles proveedores de la capacidad de cálculo necesaria para la resolución de problemas complejos. En su formulación clásica, el problema de la planificación de tareas en sistemas heterogéneos es un problema NP difícil, por lo que se requieren técnicas de resolución aproximadas para atacar instancias de tamaño realista de este problema. Esta tesis aborda el problema de la planificación de tareas en sistemas heterogéneos, considerando el largo de la planificación y el consumo energético como objetivos a optimizar. Para la resolución de este problema se propone un algoritmo de búsqueda local eficiente y multihilo. El método propuesto se trata de un enfoque plenamente multiobjetivo que consiste en la aplicación de una búsqueda basada en dominancia de Pareto que se ejecuta en paralelo mediante el uso de varios hilos de ejecución. El análisis experimental demuestra que el algoritmo multithilado propuesto supera a un conjunto de heurísticas deterministas rápidas y e caces basadas en el algoritmo MinMin tradicional. El nuevo método, ME-MLS, es capaz de lograr mejoras significativas tanto en el largo de la planificación y como en consumo energético, en tiempos de ejecución reducidos para un gran número de casos de prueba, mientras que exhibe una escalabilidad muy promisoria. El ME-MLS fue evaluado abordando instancias de hasta 2048 tareas y 64 máquinas. Con el n de aumentar la dimensión de las instancias abordadas y hacer frente a instancias de gran tamaño, se consideró la utilización de la arquitectura provista por las unidades de procesamiento gráfico (GPU). Esta línea de trabajo futuro ha sido abordada inicialmente con el algoritmo gPALS: un algoritmo híbrido CPU/GPU de búsqueda local para la planificación de tareas en en sistemas heterogéneos considerando el largo de la planificación como único objetivo. La evaluación del algoritmo gPALS ha mostrado resultados muy prometedores, siendo capaz de abordar instancias de hasta 32768 tareas y 1024 máquinas en tiempos de ejecución razonables
    corecore