50 research outputs found

    Mixed-mode multicore reliability

    Get PDF
    Future processors are expected to observe increasing rates of hardware faults. Using Dual-Modular Redundancy (DMR), two cores of a multicore can be loosely coupled to redundantly execute a single software thread, providing very high coverage from many difference sources of faults. This reliability, however, comes at a high price in terms of per-thread IPC and overall system throughput. We make the observation that a user may want to run both applications requiring high reliability, such as financial software, and more fault tolerant applications requiring high performance, such as media or web software, on the same machine at the same time. Yet a traditional DMR system must fully operate in redundant mode whenever any application requires high reliability. This paper proposes a Mixed-Mode Multicore (MMM), which enables most applications, including the system software, to run with high reliability in DMR mode, while applications that need high performance can avoid the penalty of DMR. Though conceptually simple, two key challenges arise: 1) care must be taken to protect reliable applications from any faults occurring to applications running in high performance mode, and 2) the desire to execute additional independent software threads for a performance application complicates the scheduling of computation to cores. After solving these issues, an MMM is shown to improve overall system performance, compared to a traditional DMR system, by approximately 2X when one reliable and one performance application are concurrently executing

    SMCV: a Methodology for Detecting Transient Faults in Multicore Clusters

    Get PDF
    The challenge of improving the performance of current processors is achieved by increasing the integration scale. This carries a growing vulnerability to transient faults, which increase their impact on multicore clusters running large scientific parallel applications. The  requirement for enhancing the reliability of these systems, coupled with the high cost of rerunning the application from the beginning, create the motivation for having specific software strategies for the target systems. This paper introduces SMCV, which is a fully distributed technique that provides fault detection for message-passing parallel applications, by validating the contents of the messages to be sent, preventing the transmission of errors to other processes and leveraging the intrinsic hardware redundancy of the multicore. SMCV achieves a wide robustness against transient faults with a reduced overhead, and accomplishes a trade-off between moderate detection latency and low additional workload.Instituto de Investigación en Informátic

    SMCV: a Methodology for Detecting Transient Faults in Multicore Clusters

    Get PDF
    The challenge of improving the performance of current processors is achieved by increasing the integration scale. This carries a growing vulnerability to transient faults, which increase their impact on multicore clusters running large scientific parallel applications. The  requirement for enhancing the reliability of these systems, coupled with the high cost of rerunning the application from the beginning, create the motivation for having specific software strategies for the target systems. This paper introduces SMCV, which is a fully distributed technique that provides fault detection for message-passing parallel applications, by validating the contents of the messages to be sent, preventing the transmission of errors to other processes and leveraging the intrinsic hardware redundancy of the multicore. SMCV achieves a wide robustness against transient faults with a reduced overhead, and accomplishes a trade-off between moderate detection latency and low additional workload.Instituto de Investigación en Informátic

    Propuesta de tesis: tratamiento de fallos transitorios en entornos de cluster de multicores

    Get PDF
    El objetivo de mejorar el rendimiento en las computadoras actuales ha producido el reto de utilizar mayor cantidad de transistores (mayor densidad) y aumentar la frecuencia de operación, además de una disminución en la tensión de alimentación. Todo esto se traduce en un aumento en la temperatura y una mayor cantidad de interferencias, provenientes del entorno, que afectan a los procesadores. Además, con el advenimiento de los multicores y los manycores, se han integrado varios núcleos de procesamiento en el mismo chip. La combinación de todos estos factores tiene como consecuencia que las computadoras sean cada vez menos robustas frente a la ocurrencia de fallos transitorios. El presente trabajo de Tesis se enfoca en el tratamiento de fallos transitorios que ocurren en los registros internos de los cores que conforman un procesador actual, en el contexto de un cluster de multicores en el que se está ejecutando una aplicación científica, de cómputo intensivo. Estos fallos pueden afectar tanto a datos como a instrucciones o direcciones. El centro de atención está puesto en los fallos silenciosos, aquellos que producen corrupciones de datos que alteran la ejecución del programa, pero sin provocar violaciones detectables a nivel del sistema operativo. La ocurrencia de estos fallos se traduce en la ejecución del programa con parámetros erróneos, de modo que proporciona resultados incorrectos. En este contexto, el objetivo del trabajo de Tesis es el diseño y desarrollo de un sistema de middleware que detecte y tolere los fallos transitorios en un entorno de cluster de multicores, de manera transparente al usuario, manteniendo un nivel de robustez especificado y optimizando la utilización de recursos en los multicores para minimizar la ineficiencia que implica replicar y comparar toda la ejecución.Presentado en el Encuentro de Tesistas de PostgradoRed de Universidades con Carreras en Informática (RedUNCI

    SafeDE: A low-cost hardware solution to enforce diverse redundancy in multicores

    Get PDF
    Failure risk must be tiny in high-integrity systems, such as those in cars, satellites and aircraft. Hence, safety measures must be deployed to avoid a single fault leading to a failure. Redundancy has been often used to address this concern, but it has been proven insufficient if a single fault can cause the same error in all redundant elements, which defeats the purpose of redundancy for error detection. Hence, to avoid this scenario, diversity is implemented along with redundancy, being lockstep execution the most popular diverse redundancy solution for computing cores. However, classic lockstep solutions have non-negligible limitations if implemented in hardware (e.g., half of the cores can only be used for redundant execution and are not even visible at user level), or in software (e.g., the software loop to enforce staggering is long and costs performance). This paper tackles the limitations of classic lockstep solutions by providing an extended analysis and evaluation of SafeDE, a Diversity Enforcement hardware module combining the short loop to enforce diversity of hardware solutions, and the nonintrusiveness of software solutions. Hence, cores can operate in lockstep mode efficiently or run independent tasks. In this paper, we present SafeDE and its rationale, its application to N-modular systems, its hardware and software integration, and an evaluation showing its performance and area efficiency, and its behavior in the presence of faults.This work was supported in part by the European Union’s Horizon 2020 Research and Innovation Programme under Grant 871467, and in part by the Spanish Ministry of Science and Innovation under Grant PID2019-107255GB-C21/AEI/10.13039/501100011033.Peer ReviewedPostprint (author's final draft

    Arquitecturas multiprocesador distribuidas: cluster, grid y cloud computing

    Get PDF
    Caracterizar las arquitecturas multiprocesador distribuidas enfocadas a cluster, grid y cloud computing, con énfasis en las que utilizan procesadores de múltiples núcleos (“multicores”), con el objetivo de modelizarlas, estudiar su escalabilidad, analizar y predecir performance de aplicaciones paralelas y desarrollar esquemas de tolerancia a fallas en las mismas.\nAnalizar y desarrollar software de base para clusters de multicores, tratando de optimizar el rendimiento de tales arquitecturas para diferentes modelos de programación paralela y diferentes paradigmas de resolución de aplicaciones.\nEn el año 2011 se han agregado dos líneas de interés:\n- El estudio de arquitecturas basadas en GPGPU y su comparación con clusters de multicores, así como el empleo combinado de GPUs y multicores en computadoras de alta perfomance.\n- El análisis de la eficiencia energética, considerando el impacto de la arquitectura, el sistema operativo, el modelo de programación y el algoritmo específico.\nEs de hacer notar que este proyecto se coordina con otros dos proyectos en curso en el IIILIDI, relacionados con Algoritmos Distribuidos/ Paralelos y Sistemas de Software Distribuido.Eje: Procesamiento distribuido y paralel

    Arquitecturas multiprocesador en HPC: software de base, métricas y aplicaciones

    Get PDF
    Caracterizar las arquitecturas multiprocesador distribuidas enfocadas especialmente a cluster y cloud computing, con énfasis en las que utilizan procesadores de múltiples núcleos (multicores y GPUs), con el objetivo de modelizarlas, estudiar su escalabilidad, analizar y predecir performance de aplicaciones paralelas y desarrollar esquemas de tolerancia a fallas en las mismas. Profundizar el estudio de arquitecturas basadas en GPUs y su comparación con clusters de multicores, así como el empleo combinado de GPUs y multicores en computadoras de alta perfomance. Analizar la eficiencia energética en estas arquitecturas paralelas, considerando el impacto de la arquitectura, el sistema operativo, el modelo de programación y el algoritmo específico. Analizar y desarrollar software de base para clusters de multicores y GPUs, tratando de optimizar el rendimiento. En el año 2012 se han agregado dos líneas de interés: -El estudio de clusters híbridos, que combinen multicores y GPUs. -La utilización de los registros de hardware de los procesadores para la toma de diferentes decisiones en tiempo de ejecución. Es de hacer notar que este proyecto se coordina con otros dos proyectos en curso en el III-LIDI, relacionados con Algoritmos Distribuidos/Paralelos y Sistemas de Software Distribuido.Ponencia presentada en el WICC 2013 realizado el 18 y 19 de abril de 2013 en Paraná (Entre Ríos)

    Arquitecturas multiprocesador en HPC: software, métricas y aplicaciones

    Get PDF
    Caracterizar las arquitecturas multiprocesador distribuidas enfocadas especialmente a cluster y cloud computing, con énfasis en las que utilizan procesadores de múltiples núcleos (multicores, GPUs y Xeon Phi), con el objetivo de modelizarlas, estudiar su escalabilidad, analizar y predecir performance de aplicaciones paralelas, estudiar el consumo energético y su impacto en la perfomance así como desarrollar esquemas para detección y tolerancia a fallas en las mismas.\nProfundizar el estudio de arquitecturas basadas en GPUs y su comparación con clusters de multicores, así como el empleo combinado de GPUs y multicores en computadoras de alta perfomance.\nIniciar investigación experimental con arquitecturas paralelas basadas en FPGAs. En particular estudiar perfomance en Clusters “híbridos”.\nAnalizar y desarrollar software de base para clusters, tratando de optimizar el rendimiento.\nInvestigar arquitecturas multicore asimétricas, desarrollar algoritmos de planificación en el software de sistema operativo para permitir la optimización del rendimiento y consumo energético en aplicaciones de propósito general.\nEstudiar clases de aplicaciones inteligentes en tiempo real, en particular el trabajo colaborativo de robots conectados a un cloud.\nEs de hacer notar que este proyecto se coordina con otros proyectos en curso en el III-LIDI, relacionados con Algoritmos Paralelos, Sistemas Distribuidos y Sistemas de Tiempo Real.Eje: Procesamiento Distribuido y Paralel

    Software de base, métricas y aplicaciones en arquitecturas multiprocesador orientadas a cómputo de altas prestaciones

    Get PDF
    Caracterizar las arquitecturas multiprocesador distribuidas enfocadas especialmente a cluster y cloud computing, con énfasis en las que utilizan procesadores de múltiples núcleos (multicores y GPUs), con el objetivo de modelizarlas, estudiar su escalabilidad, analizar y predecir performance de aplicaciones paralelas, estudiar el consumo energético y su impacto en la perfomance así como desarrollar esquemas para detección y tolerancia a fallas en las mismas.\nProfundizar el estudio de arquitecturas basadas en GPUs y su comparación con clusters de multicores, así como el empleo combinado de GPUs y multicores en computadoras de alta perfomance. En particular estudiar perfomance en Clusters “híbridos”.\nAnalizar y desarrollar software de base para clusters de multicores y GPUs, tratando de optimizar el rendimiento.\nInvestigar arquitecturas multicore asimétricas, sus aplicaciones y el software de base de las mismas apuntando a optimizar el rendimiento de aplicaciones de propósito general.\nA partir del año 2013 se han incorporado nuevas líneas de interés:\n- Cloud computing, incluyendo aplicaciones de HPC sobre cloud.\n- El desarrollo de aplicaciones que integran Big Data y procesamiento sobre Cloud.\n- La utilización de los registros de hardware de los procesadores para la toma de diferentes decisiones en tiempo de ejecución.\n- El desarrollo de herramientas para la transformación de código heredado, buscando su optimización sobre arquitecturas paralelas.\nEs de hacer notar que este proyecto se coordina con otros proyectos en curso en el III-LIDI, relacionados con Algoritmos Paralelos, Sistemas Distribuidos y Sistemas de Tiempo Real.Eje: Procesamiento Distribuído y Paralel
    corecore