17 research outputs found

    Multi-Stream LDPC Decoder on GPU of Mobile Devices

    Get PDF
    Low-density parity check (LDPC) codes have been extensively applied in mobile communication systems due to their excellent error correcting capabilities. However, their broad adoption has been hindered by the high complexity of the LDPC decoder. Although to date, dedicated hardware has been used to implement low latency LDPC decoders, recent advancements in the architecture of mobile processors have made it possible to develop software solutions. In this paper, we propose a multi-stream LDPC decoder designed for a mobile device. The proposed decoder uses graphics processing unit (GPU) of a mobile device to achieve efficient real-time decoding. The proposed solution is implemented on an NVIDIA Tegra board as a system on a chip (SoC), where our results indicate that we can control the load on the central processing units through the multi-stream structure

    Parallel Implementation Strategies for MIMO ID-BICM Systems

    Full text link
    [EN] One of the current techniques proposed for multiple transmit and receive antennas wireless communication systems is the use of error control coding and iterative detection and decoding at the receiver. These sophisticated techniques produce a significant increase of the computational cost and require large computational power. The use of modern computer facilities as multicore and multi-GPU (Graphics Processing Unit) processors can decrease the computational time required, representing a promising solution for the receiver implementation in these systems. In this paper we explain how iterative receivers can improve the performance of suboptimal detectors. We also introduce a novel parallel receiver scheme based on a hybrid computing model where CPUs and GPUs work together to accelerate the detection and decoding steps; this design comes to exploit the features of the GPU NVIDIA Kepler architecture respect to the previous one in order to optimize the communication system performance.This work has been partially funded by PROMETEO/2009/013 project of Generalitat Valenciana, projects TEC2009-13741 of the Ministerio Español de Ciencia e Innovación, TEC2012-38142-C04 of the Ministerio Español de Economía y Competitividad, and PAID-05-2011 of Universitat Politècnica de València.Simarro Haro, MDLA.; Ramiro Sánchez, C.; Martínez Zaldívar, FJ.; Vidal Maciá, AM.; González Téllez, A.; Piñero Sipán, MG.; García Mollá, VM. (2013). Parallel Implementation Strategies for MIMO ID-BICM Systems. Waves. 5-13. http://hdl.handle.net/10251/57906S51

    Effi cient algorithms for iterative detection and decoding in Multiple-Input and Multiple-Output Communication Systems

    Full text link
    This thesis fits into the Multiple-Input Multiple-Output (MIMO) communication systems. Nowadays, these schemes are the most promising technology in the field of wireless communications. The use of this technology allows to increase the rate and the quality of the transmission through the use of multiple antennas at the transmitter and receiver sides. Furthermore, the MIMO technology can also be used in a multiuser scenario, where a Base Station (BS) equipped with several antennas serves several users that share the spatial dimension causing interference. However, employing precoding algorithms the signal of the multiuser interference can be mitigated. For these reasons, the MIMO technology has become an essential key in many new generation communications standards. On the other hand, Massive MIMO technology or Large MIMO, where the BS is equipped with very large number of antennas (hundreds or thousands) serves many users in the same time-frequency resource. Nevertheless, the advantages provided by the MIMO technology entail a substantial increase in the computational cost. Therefore the design of low-complexity receivers is an important issue which is tackled throughout this thesis. To this end, one of the main contributions of this dissertation is the implementation of efficient soft-output detectors and precoding schemes. First, the problem of efficient soft detection with no iteration at the receiver has been addressed. A detailed overview of the most employed soft detectors is provided. Furthermore, the complexity and performance of these methods are evaluated and compared. Additionally, two low-complexity algorithms have been proposed. The first algorithm is based on the efficient Box Optimization Hard Detector (BOHD) algorithm and provides a low-complexity implementation achieving a suitable performance. The second algorithm tries to reduce the computational cost of the Subspace Marginalization with Interference Suppression (SUMIS) algorithm. Second, soft-input soft-output (SISO) detectors, which are included in an iterative receiver structure, have been investigated. An iterative receiver improves the performance with respect to no iteration, achieving a performance close to the channel capacity. In contrast, its computational cost becomes prohibitive. In this context, three algorithms are presented. Two of them achieve max-log performance reducing the complexity of standard SISO detectors. The last one achieves near max-log performance with low complexity. The precoding problem has been addressed in the third part of this thesis. An analysis of some of the most employed precoding techniques has been carried out. The algorithms have been compared in terms of performance and complexity. In this context, the impact of the channel matrix condition number on the performance of the precoders has been analyzed. This impact has been exploited to propose an hybrid precoding scheme that reduces the complexity of the previously proposed precoders. In addition, in Large MIMO systems, an alternative precoder scheme is proposed. In the last part of the thesis, parallel implementations of the SUMIS algorithm are presented. Several strategies for the parallelization of the algorithm are proposed and evaluated on two different platforms: multicore central processing unit (CPU) and graphics processing unit (GPU). The parallel implementations achieve a significant speedup compared to the CPU version. Therefore, these implementations allow to simulate a scalable quasi optimal soft detector in a Large MIMO system much faster than by conventional simuLa presente tesis se enmarca dentro de los sistemas de comunicaciones de múltiples antenas o sistemas MIMO. Hoy en día, estos sistemas presentan una de las tecnologías más prometedoras dentro de los sistemas comunicaciones inalámbricas. A través del uso de múltiples antenas en ambos lados, transmisor y receptor, la tasa de transmisión y la calidad de la misma es aumentada. Por otro lado, la tecnología MIMO puede ser utilizada en un escenario multiusuario, donde una estación base (BS) la cual está equipada con varias antenas, sirve a varios usuarios al mismo tiempo, estos usuarios comparten dimensión espacial causando interferencias multiusuario. Por todas estas razones, la tecnología MIMO ha sido adoptada en muchos de los estándares de comunicaciones de nueva generación. Por otro lado, la tecnología MIMO Masivo, en la cual la estación base está equipada con un gran número de antenas (cientos o miles) que sirve a muchos usuarios en el mismo recurso de tiempo-frecuencia. Sin embargo, las ventajas proporcionadas por los sistemas MIMO implican un aumento en el coste computacional requerido. Por ello, el diseño de receptores de baja complejidad es una cuestión importante en estos sistemas. Para conseguir esta finalidad, las principales contribuciones de la tesis se basan en la implementación de algoritmos de detección soft y esquemas de precodificación eficientes. En primer lugar, el problema de la detección soft eficiente en un sistema receptor sin iteración es abordado. Una descripción detallada sobre los detectores soft más empleados es presentada. Por otro lado, han sido propuestos dos algoritmos de bajo coste. El primer algoritmo está basado en el algoritmo Box Optimization Hard Detector (BOHD) y proporciona una baja complejidad de implementación logrando un buen rendimiento. El segundo de los algoritmos propuestos intenta reducir el coste computacional del conocido algoritmo Subspace Marginalization with Interference Suppression (SUMIS). En segundo lugar, han sido investidados detectores de entrada y salida soft (SISO, soft-input soft-output) los cuales son ejecutados en estructuras de recepción iterativa. El empleo de un receptor iterativo mejora el rendimiento del sistema con respecto a no realizar realimentación, pudiendo lograr la capacidad óptima. Por el contrario, el coste computacional se vuelve prohibitivo. En este contexto, tres algoritmos han sido presentados. Dos de ellos logran un rendimiento óptimo, reduciendo la complejidad de los detectores SISO óptimos que normalmente son empleados. Por el contrario, el otro algoritmo logra un rendimiento casi óptimo a baja complejidad. En la tercera parte, se ha abordado el problema de la precodificación. Se ha llevado a cabo un análisis de algunas de las técnicas de precodificación más usadas. En este contexto, se ha evaluado el impacto que el número de condición de la matriz de canal tiene en el rendimiento de los precodificadores. Además, se ha aprovechado este impacto para proponer un precodificador hibrido. Por otro lado, en MIMO Masivo, se ha propuesto un esquema precodificador. En la última parte de la tesis, la implementación paralela del algoritmo SUMIS es presentada. Varias estrategias sobre la paralelización del algoritmo han sido propuestas y evaluadas en dos plataformas diferentes: Unidad Central de Procesamiento multicore (multicore CPU) y Unidad de Procesamiento Gráfico (GPU). Las implementaciones paralelas consiguen una mejora de speedup. Estas implementaciones permiten simular para MIMO Masivo y de forma más rápida que por simulación convencional, un algoLa present tesi s'emmarca dins dels sistemes de comunicacions de múltiples antenes o sistemes MIMO. Avui dia, aquestos sistemes presenten una de les tecnologies més prometedora dins dels sistemes de comunicacions inalàmbriques. A través de l'ús de múltiples antenes en tots dos costats, transmissor y receptor, es pot augmentar la taxa de transmissió i la qualitat de la mateixa. D'altra banda, la tecnologia MIMO es pot utilitzar en un escenari multiusuari, on una estació base (BS) la qual està equipada amb diverses antenes serveix a diversos usuaris al mateix temps, aquests usuaris comparteixen dimensió espacial causant interferències multiusuari. Per totes aquestes raons, la tecnologia MIMO ha sigut adoptada en molts dels estàndars de comunicacions de nova generació. D'altra banda, la tecnologia MIMO Massiu, en la qual l'estació base està equipada amb un gran nombre d'antenes (centenars o milers) que serveix a molts usuaris en el mateix recurs de temps-freqüència. No obstant això, els avantatges proporcionats pels sistemes MIMO impliquen un augment en el cost computacional requerit. Per això, el disseny de receptors de baixa complexitat és una qüestió important en aquests sistemes. Per tal d'aconseguir esta finalitat, les principals contribucions de la tesi es basen en la implementació d'algoritmes de detecció soft i esquemes de precodificació eficients. En primer lloc, és abordat el problema de la detecció soft eficient en un sistema receptor sense interacció. Una descripció detallada dels detectors soft més emprats és presentada. D'altra banda, han sigut proposats dos algorismes de baix cost. El primer algorisme està basat en l'algorisme Box Optimization Hard Decoder (BOHD) i proporciona una baixa complexitat d'implementació aconseguint un bon resultat. El segon dels algorismes proposats intenta reduir el cost computacional del conegut algoritme Subspace Marginalization with Interference Suppression (SUMIS). En segon lloc, detectors d'entrada i eixidia soft (SISO, soft-input soft-output) els cuals són executats en estructures de recepció iterativa han sigut investigats. L'ocupació d'un receptor iteratiu millora el rendiment del sistema pel que fa a no realitzar realimentació, podent aconseguir la capacitat òptima. Per contra, el cost computacional es torna prohibitiu. En aquest context, tres algorismes han sigut presentats. Dos d'ells aconsegueixen un rendiment òptim, reduint la complexitat dels detectors SISO òptims que normalment són emprats. Per contra, l'altre algorisme aconsegueix un rendiment quasi òptim a baixa complexitat. En la tercera part, s'ha abordat el problema de la precodificació. S'ha dut a terme una anàlisi d'algunes de les tècniques de precodificació més usades, prestant especial atenció al seu rendiment i a la seua complexitat. Dins d'aquest context, l'impacte que el nombre de condició de la matriu de canal té en el rendiment dels precodificadors ha sigut avaluat. A més, aquest impacte ha sigut aprofitat per a proposar un precodificador híbrid , amb la finalitat de reduir la complexitat d'algorismes prèviament proposats. D'altra banda, en MIMO Massiu, un esquema precodificador ha sigut proposat. En l'última part, la implementació paral·lela de l'algorisme SUMIS és presentada. Diverses estratègies sobre la paral·lelizació de l'algorisme han sigut proposades i avaluades en dues plataformes diferents: multicore CPU i GPU. Les implementacions paral·leles aconsegueixen una millora de speedup quan el nombre d'àntenes o l'ordre de la constel·lació incrementen. D'aquesta manera, aquestes implementacions permeten simular per a MIMO Massiu, i de forma més ràpida que la simulació convencional.Simarro Haro, MDLA. (2017). Effi cient algorithms for iterative detection and decoding in Multiple-Input and Multiple-Output Communication Systems [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/86186TESI

    MIMOPack: A High Performance Computing Library for MIMO Communication Systems

    Full text link
    [EN] Nowadays, several communication standards are emerging and evolving, searching higher transmission rates, reliability and coverage. This expansion is primarily driven by the continued increase in consumption of mobile multimedia services due to the emergence of new handheld devices such as smartphones and tablets. One of the most significant techniques employed to meet these demands is the use of multiple transmit and receive antennas, known as MIMO systems. The use of this technology allows to increase the transmission rate and the quality of the transmission through the use of multiple antennas at the transmitter and receiver sides. MIMO technologies have become an essential key in several wireless standards such as WLAN, WiMAX and LTE. These technologies will be incorporated also in future standards, therefore is expected in the coming years a great deal of research in this field. Clearly, the study of MIMO systems is critical in the current investigation, however the problems that arise from this technology are very complex. High Performance Computing (HPC) systems, and specifically, modern hardware architectures as multi-core and many-cores (e.g Graphics Processing Units (GPU)) are playing a key role in the development of efficient and low-complexity algorithms for MIMO transmissions. Proof of this is that the number of scientific contributions and research projects related to its use has increased in the last years. Also, some high performance libraries have been implemented as tools for researchers involved in the development of future communication standards. Two of the most popular libraries are: IT++ that is a library based on the use of some optimized libraries for multi-core processors and the Communications System Toolbox designed for use with MATLAB, which uses GPU computing. However, there is not a library able to run on a heterogeneous platform using all the available resources. In view of the high computational requirements in MIMO application research and the shortage of tools able to satisfy them, we have made a special effort to develop a library to ease the development of adaptable parallel applications in accordance with the different architectures of the executing platform. The library, called MIMOPack, aims to implement efficiently using parallel computing, a set of functions to perform some of the critical stages of MIMO communication systems simulation. The main contribution of the thesis is the implementation of efficient Hard and Soft output detectors, since the detection stage is considered the most complex part of the communication process. These detectors are highly configurable and many of them include preprocessing techniques that reduce the computational cost and increase the performance. The proposed library shows three important features: portability, efficiency and easy of use. Current realease allows GPUs and multi-core computation, or even simultaneously, since it is designed to use on heterogeneous machines. The interface of the functions are common to all environments in order to simplify the use of the library. Moreover, some of the functions are callable from MATLAB increasing the portability of developed codes between different computing environments. According to the library design and the performance assessment, we consider that MIMOPack may facilitate industrial and academic researchers the implementation of scientific codes without having to know different programming languages and machine architectures. This will allow to include more complex algorithms in their simulations and obtain their results faster. This is particularly important in the industry, since the manufacturers work to analyze and to propose their own technologies with the aim that it will be approved as a standard. Thus allowing to enforce their intellectual property rights over their competitors, who should obtain the corresponding licenses to include these technologies into their products.[ES] En la actualidad varios estándares de comunicación están surgiendo buscando velocidades de transmisión más altas y mayor fiabilidad. Esta expansión está impulsada por el aumento en el consumo de servicios multimedia debido a la aparición de nuevos dispositivos como los smartphones y las tabletas. Una de las técnicas empleadas más importantes es el uso de múltiples antenas de transmisión y recepción, conocida como sistemas MIMO, que permite aumentar la velocidad y la calidad de la transmisión. Las tecnologías MIMO se han convertido en una parte esencial en diferentes estándares tales como WLAN, WiMAX y LTE. Estas tecnologías se incorporarán también en futuros estándares, por lo tanto, se espera en los próximos años una gran cantidad de investigación en este campo. Está claro que el estudio de los sistemas MIMO es crítico en la investigación actual, sin embargo los problemas que surgen de esta tecnología son muy complejos. La sistemas de computación de alto rendimiento, y en concreto, las arquitecturas hardware actuales como multi-core y many-core (p. ej. GPUs) están jugando un papel clave en el desarrollo de algoritmos eficientes y de baja complejidad en las transmisiones MIMO. Prueba de ello es que el número de contribuciones científicas y proyectos de investigación relacionados con su uso se han incrementado en el últimos años. Algunas librerías de alto rendimiento se están utilizando como herramientas por investigadores en el desarrollo de futuros estándares. Dos de las librerías más destacadas son: IT++ que se basa en el uso de distintas librerías optimizadas para procesadores multi-core y el paquete Communications System Toolbox diseñada para su uso con MATLAB, que utiliza computación con GPU. Sin embargo, no hay una biblioteca capaz de ejecutarse en una plataforma heterogénea. En vista de los altos requisitos computacionales en la investigación MIMO y la escasez de herramientas capaces de satisfacerlos, hemos implementado una librería que facilita el desarrollo de aplicaciones paralelas adaptables de acuerdo con las diferentes arquitecturas de la plataforma de ejecución. La librería, llamada MIMOPack, implementa de manera eficiente un conjunto de funciones para llevar a cabo algunas de las etapas críticas en la simulación de un sistema de comunicación MIMO. La principal aportación de la tesis es la implementación de detectores eficientes de salida Hard y Soft, ya que la etapa de detección es considerada la parte más compleja en el proceso de comunicación. Estos detectores son altamente configurables y muchos de ellos incluyen técnicas de preprocesamiento que reducen el coste computacional y aumentan el rendimiento. La librería propuesta tiene tres características importantes: la portabilidad, la eficiencia y facilidad de uso. La versión actual permite computación en GPU y multi-core, incluso simultáneamente, ya que está diseñada para ser utilizada sobre plataformas heterogéneas que explotan toda la capacidad computacional. Para facilitar el uso de la biblioteca, las interfaces de las funciones son comunes para todas las arquitecturas. Algunas de las funciones se pueden llamar desde MATLAB aumentando la portabilidad de códigos desarrollados entre los diferentes entornos. De acuerdo con el diseño de la biblioteca y la evaluación del rendimiento, consideramos que MIMOPack puede facilitar la implementación de códigos sin tener que saber programar con diferentes lenguajes y arquitecturas. MIMOPack permitirá incluir algoritmos más complejos en las simulaciones y obtener los resultados más rápidamente. Esto es particularmente importante en la industria, ya que los fabricantes trabajan para proponer sus propias tecnologías lo antes posible con el objetivo de que sean aprobadas como un estándar. De este modo, los fabricantes pueden hacer valer sus derechos de propiedad intelectual frente a sus competidores, quienes luego deben obtener las correspon[CA] En l'actualitat diversos estàndards de comunicació estan sorgint i evolucionant cercant velocitats de transmissió més altes i major fiabilitat. Aquesta expansió, està impulsada pel continu augment en el consum de serveis multimèdia a causa de l'aparició de nous dispositius portàtils com els smartphones i les tablets. Una de les tècniques més importants és l'ús de múltiples antenes de transmissió i recepció (MIMO) que permet augmentar la velocitat de transmissió i la qualitat de transmissió. Les tecnologies MIMO s'han convertit en una part essencial en diferents estàndards inalàmbrics, tals com WLAN, WiMAX i LTE. Aquestes tecnologies s'incorporaran també en futurs estàndards, per tant, s'espera en els pròxims anys una gran quantitat d'investigació en aquest camp. L'estudi dels sistemes MIMO és crític en la recerca actual, no obstant açó, els problemes que sorgeixen d'aquesta tecnologia són molt complexos. Els sistemes de computació d'alt rendiment com els multi-core i many-core (p. ej. GPUs)), estan jugant un paper clau en el desenvolupament d'algoritmes eficients i de baixa complexitat en les transmissions MIMO. Prova d'açò és que el nombre de contribucions científiques i projectes d'investigació relacionats amb el seu ús s'han incrementat en els últims anys. Algunes llibreries d'alt rendiment estan utilitzant-se com a eines per investigadors involucrats en el desenvolupament de futurs estàndards. Dos de les llibreries més destacades són: IT++ que és una llibreria basada en lús de diferents llibreries optimitzades per a processadors multi-core i el paquet Communications System Toolbox dissenyat per al seu ús amb MATLAB, que utilitza computació amb GPU. No obstant açò, no hi ha una biblioteca capaç d'executar-se en una plataforma heterogènia. Degut als alts requisits computacionals en la investigació MIMO i l'escacès d'eines capaces de satisfer-los, hem implementat una llibreria que facilita el desenvolupament d'aplicacions paral·leles adaptables d'acord amb les diferentes arquitectures de la plataforma d'ejecució. La llibreria, anomenada MIMOPack, implementa de manera eficient, un conjunt de funcions per dur a terme algunes de les etapes crítiques en la simulació d'un sistema de comunicació MIMO. La principal aportació de la tesi és la implementació de detectors eficients d'exida Hard i Soft, ja que l'etapa de detecció és considerada la part més complexa en el procés de comunicació. Estos detectors són altament configurables i molts d'ells inclouen tècniques de preprocessament que redueixen el cost computacional i augmenten el rendiment. La llibreria proposta té tres característiques importants: la portabilitat, l'eficiència i la facilitat d'ús. La versió actual permet computació en GPU i multi-core, fins i tot simultàniament, ja que està dissenyada per a ser utilitzada sobre plataformes heterogènies que exploten tota la capacitat computacional. Amb el fi de simplificar l'ús de la biblioteca, les interfaces de les funcions són comunes per a totes les arquitectures. Algunes de les funcions poden ser utilitzades des de MATLAB augmentant la portabilitat de còdics desenvolupats entre els diferentes entorns. D'acord amb el disseny de la biblioteca i l'evaluació del rendiment, considerem que MIMOPack pot facilitar la implementació de còdics a investigadors sense haver de saber programar amb diferents llenguatges i arquitectures. MIMOPack permetrà incloure algoritmes més complexos en les seues simulacions i obtindre els seus resultats més ràpid. Açò és particularment important en la industria, ja que els fabricants treballen per a proposar les seues pròpies tecnologies el més prompte possible amb l'objectiu que siguen aprovades com un estàndard. D'aquesta menera, els fabricants podran fer valdre els seus drets de propietat intel·lectual enfront dels seus competidors, els qui després han d'obtenir les corresponents llicències si voleRamiro Sánchez, C. (2015). MIMOPack: A High Performance Computing Library for MIMO Communication Systems [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/53930TESISPremios Extraordinarios de tesis doctorale

    Datacenter Design for Future Cloud Radio Access Network.

    Full text link
    Cloud radio access network (C-RAN), an emerging cloud service that combines the traditional radio access network (RAN) with cloud computing technology, has been proposed as a solution to handle the growing energy consumption and cost of the traditional RAN. Through aggregating baseband units (BBUs) in a centralized cloud datacenter, C-RAN reduces energy and cost, and improves wireless throughput and quality of service. However, designing a datacenter for C-RAN has not yet been studied. In this dissertation, I investigate how a datacenter for C-RAN BBUs should be built on commodity servers. I first design WiBench, an open-source benchmark suite containing the key signal processing kernels of many mainstream wireless protocols, and study its characteristics. The characterization study shows that there is abundant data level parallelism (DLP) and thread level parallelism (TLP). Based on this result, I then develop high performance software implementations of C-RAN BBU kernels in C++ and CUDA for both CPUs and GPUs. In addition, I generalize the GPU parallelization techniques of the Turbo decoder to the trellis algorithms, an important family of algorithms that are widely used in data compression and channel coding. Then I evaluate the performance of commodity CPU servers and GPU servers. The study shows that the datacenter with GPU servers can meet the LTE standard throughput with 4× to 16× fewer machines than with CPU servers. A further energy and cost analysis show that GPU servers can save on average 13× more energy and 6× more cost. Thus, I propose the C-RAN datacenter be built using GPUs as a server platform. Next I study resource management techniques to handle the temporal and spatial traffic imbalance in a C-RAN datacenter. I propose a “hill-climbing” power management that combines powering-off GPUs and DVFS to match the temporal C-RAN traffic pattern. Under a practical traffic model, this technique saves 40% of the BBU energy in a GPU-based C-RAN datacenter. For spatial traffic imbalance, I propose three workload distribution techniques to improve load balance and throughput. Among all three techniques, pipelining packets has the most throughput improvement at 10% and 16% for balanced and unbalanced loads, respectively.PhDComputer Science and EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttp://deepblue.lib.umich.edu/bitstream/2027.42/120825/1/qizheng_1.pd

    Technologies of information transmission and processing

    Get PDF
    Сборник содержит статьи, тематика которых посвящена научно-теоретическим разработкам в области сетей телекоммуникаций, информационной безопасности, технологий передачи и обработки информации. Предназначен для научных сотрудников в области инфокоммуникаций, преподавателей, аспирантов, магистрантов и студентов технических вузов

    Heterogeneous Architectures For Parallel Acceleration

    Get PDF
    To enable a new generation of digital computing applications, the greatest challenge is to provide a better level of energy efficiency (intended as the performance that a system can provide within a certain power budget) without giving up a systems's flexibility. This constraint applies to digital system across all scales, starting from ultra-low power implanted devices up to datacenters for high-performance computing and for the "cloud". In this thesis, we show that architectural heterogeneity is the key to provide this efficiency and to respond to many of the challenges of tomorrow's computer architecture - and at the same time we show methodologies to introduce it with little or no loss in terms of flexibility. In particular, we show that heterogeneity can be employed to tackle the "walls" that impede further development of new computing applications: the utilization wall, i.e. the impossibility to keep all transistors on in deeply integrated chips, and the "data deluge", i.e. the amount of data to be processed that is scaling up much faster than the computing performance and efficiency. We introduce a methodology to improve heterogeneous design exploration of tightly coupled clusters; moreover we propose a fractal heterogeneity architecture that is a parallel accelerator for low-power sensor nodes, and is itself internally heterogeneous thanks to an heterogeneous coprocessor for brain-inspired computing. This platform, which is silicon-proven, can lead to more than 100x improvement in terms of energy efficiency with respect to typical computing nodes used within the same domain, enabling the application of complex algorithms, vastly more performance-hungry than the current state-of-the-art in the ULP computing domain

    Optimización del rendimiento y la eficiencia energética en sistemas masivamente paralelos

    Get PDF
    RESUMEN Los sistemas heterogéneos son cada vez más relevantes, debido a sus capacidades de rendimiento y eficiencia energética, estando presentes en todo tipo de plataformas de cómputo, desde dispositivos embebidos y servidores, hasta nodos HPC de grandes centros de datos. Su complejidad hace que sean habitualmente usados bajo el paradigma de tareas y el modelo de programación host-device. Esto penaliza fuertemente el aprovechamiento de los aceleradores y el consumo energético del sistema, además de dificultar la adaptación de las aplicaciones. La co-ejecución permite que todos los dispositivos cooperen para computar el mismo problema, consumiendo menos tiempo y energía. No obstante, los programadores deben encargarse de toda la gestión de los dispositivos, la distribución de la carga y la portabilidad del código entre sistemas, complicando notablemente su programación. Esta tesis ofrece contribuciones para mejorar el rendimiento y la eficiencia energética en estos sistemas masivamente paralelos. Se realizan propuestas que abordan objetivos generalmente contrapuestos: se mejora la usabilidad y la programabilidad, a la vez que se garantiza una mayor abstracción y extensibilidad del sistema, y al mismo tiempo se aumenta el rendimiento, la escalabilidad y la eficiencia energética. Para ello, se proponen dos motores de ejecución con enfoques completamente distintos. EngineCL, centrado en OpenCL y con una API de alto nivel, favorece la máxima compatibilidad entre todo tipo de dispositivos y proporciona un sistema modular extensible. Su versatilidad permite adaptarlo a entornos para los que no fue concebido, como aplicaciones con ejecuciones restringidas por tiempo o simuladores HPC de dinámica molecular, como el utilizado en un centro de investigación internacional. Considerando las tendencias industriales y enfatizando la aplicabilidad profesional, CoexecutorRuntime proporciona un sistema flexible centrado en C++/SYCL que dota de soporte a la co-ejecución a la tecnología oneAPI. Este runtime acerca a los programadores al dominio del problema, posibilitando la explotación de estrategias dinámicas adaptativas que mejoran la eficiencia en todo tipo de aplicaciones.ABSTRACT Heterogeneous systems are becoming increasingly relevant, due to their performance and energy efficiency capabilities, being present in all types of computing platforms, from embedded devices and servers to HPC nodes in large data centers. Their complexity implies that they are usually used under the task paradigm and the host-device programming model. This strongly penalizes accelerator utilization and system energy consumption, as well as making it difficult to adapt applications. Co-execution allows all devices to simultaneously compute the same problem, cooperating to consume less time and energy. However, programmers must handle all device management, workload distribution and code portability between systems, significantly complicating their programming. This thesis offers contributions to improve performance and energy efficiency in these massively parallel systems. The proposals address the following generally conflicting objectives: usability and programmability are improved, while ensuring enhanced system abstraction and extensibility, and at the same time performance, scalability and energy efficiency are increased. To achieve this, two runtime systems with completely different approaches are proposed. EngineCL, focused on OpenCL and with a high-level API, provides an extensible modular system and favors maximum compatibility between all types of devices. Its versatility allows it to be adapted to environments for which it was not originally designed, including applications with time-constrained executions or molecular dynamics HPC simulators, such as the one used in an international research center. Considering industrial trends and emphasizing professional applicability, CoexecutorRuntime provides a flexible C++/SYCL-based system that provides co-execution support for oneAPI technology. This runtime brings programmers closer to the problem domain, enabling the exploitation of dynamic adaptive strategies that improve efficiency in all types of applications.Funding: This PhD has been supported by the Spanish Ministry of Education (FPU16/03299 grant), the Spanish Science and Technology Commission under contracts TIN2016-76635-C2-2-R and PID2019-105660RB-C22. This work has also been partially supported by the Mont-Blanc 3: European Scalable and Power Efficient HPC Platform based on Low-Power Embedded Technology project (G.A. No. 671697) from the European Union’s Horizon 2020 Research and Innovation Programme (H2020 Programme). Some activities have also been funded by the Spanish Science and Technology Commission under contract TIN2016-81840-REDT (CAPAP-H6 network). The Integration II: Hybrid programming models of Chapter 4 has been partially performed under the Project HPC-EUROPA3 (INFRAIA-2016-1-730897), with the support of the EC Research Innovation Action under the H2020 Programme. In particular, the author gratefully acknowledges the support of the SPMT Department of the High Performance Computing Center Stuttgart (HLRS)
    corecore