Mejora de la eficiencia energética de sistemas de memoria transaccional hardware para arquitecturas multinúcleo

Author

Gaona Ramírez, Epifanio

Director

Acacio Sánchez, Manuel Eugenio

Fernández Peinador, Juan

Date of defense

2016-01-15

Pages

48 p.



Department/Institute

Universidad de Murcia. Departamento de Ingeniería y Tecnología de Computadores

Abstract

Las actuales arquitecturas de procesador con múltiples núcleos de ejecución (arquitecturas multinúcleo o CMP) se presentan con un gran reto difícil de superar para la mayoría de los programadores. El clásico modelo de programación secuencial sigue siendo aplicable en un CMP, sin embargo mediante su empleo no se estarían aprovechando los múltiples núcleos de procesamiento de que disponen estos chips. Para poder extraer todo el rendimiento posible de un CMP es necesario recurrir a la programación paralela y al uso de varios hilos de ejecución. A través de ellos se consigue exprimir el paralelismo a nivel de hilo (TLP) que estas arquitecturas explotan. El modelo de Memoria Transaccional (TM) está siendo promovido actualmente como un nuevo paradigma mediante el cual los programadores pueden desarrollar sus aplicaciones de forma cercana al paradigma secuencial al que están acostumbrados, pero habilitando los beneficios del uso de varios núcleos de ejecución. La identificación en el código de las secciones críticas es la única condición nueva que debe satisfacerse. Enmarcando estas secciones en bloques de código denominados transacciones, el sistema de Memoria Transaccional (TM) se encarga de asegurar las propiedades de atomicidad y aislamiento a pesar de la ejecución de los mismos en paralelo. Todo ello de forma totalmente transparente al programador, que no debe preocuparse por los problemas típicos achacados al uso de los cerrojos clásicos (interbloqueo, convoying e inversión de prioridades). En esta tesis doctoral se presta atención a las implementaciones hardware del modelo de Memoria Transaccional (HTM). Por otra parte, la búsqueda del rendimiento de forma aislada ha dejado de ser la principal motivación en el desarrollo de procesadores para pasar a serlo el rendimiento por watio. El rendimiento sigue siendo importante pero no a costa de un consumo desmesurado de energía. El objetivo de esta tesis es abordar el diseño de sistemas HTM teniendo en cuenta tanto rendimiento como consumo de energía. Para ello, se analiza con detalle en primer lugar el rendimiento y consumo energético que las implementaciones hardware actuales ofrecen (eager-eager y lazy-lazy). Los resultados de este estudio comparativo permiten identificar las ventajas e inconvenientes de cada uno de estos sistemas de memoria transaccional y son el punto de partida para proponer técnicas encaminadas a mejorar los aspectos problemáticos que cada sistema presenta. Por un lado, para los sistemas eager-eager se ha observado que una fracción importante de la energía consumida es debida a los conflictos que surgen entre transacciones. Se han desarrollado, implementado y evaluado diversas políticas que permiten serializar en tiempo de ejecución transacciones que entran en conflicto sólo cuando éste se produce sin que se produzcan ciclos de que den lugar a interbloqueos. El resultado final ha sido un sistema eager-eager más eficiente desde el punto de vista del consumo de energía sin pérdida de prestaciones. Por otro lado, el principal problema en los sistemas lazy-lazy se encuentra en la etapa de confirmación de las transacciones, más concretamente en las operaciones que son necesarias para garantizar que una transacción ha finalizado sin conflictos. Para solucionarlo se ha implementado y evaluado una técnica hardware que permite acelerar, mejorar la eficiencia energética y simplificar la principal propuesta diseñada hasta ahora en sistemas HTM escalables. Concretamente se ha propuesto emplear una red específica de bajo coste y un protocolo implementado en hardware. A lo largo de la tesis se hace uso de un entorno de desarrollo y pruebas ampliamente aceptado, conformado por la herramienta de simulación SIMICS+GEMS y la suite de benchmarks STAMP. Los resultados de esta tesis ofrecen una visión amplia sobre el compromiso entre rendimiento-energía de sistemas HTM sofisticados.


Improving Energy Efficiency in Hardware Transactional Memory Systems for Multicore Architectures Abstract Current microprocessor architectures with multiple execution cores (Chip MultiProcessors or CMP) present a great challenge difficult to overcome for most programmers. Although, the classic model of sequential programming remains applicable in CMPs, developing applications in such way would hinder taking advantage of the multiple processor cores available in these chips. To extract all the possible performance of a CMP it is necessary to use parallel programing and multiple threads, through which we are able to squeeze the thread-level parallelism (TLP) that these architectures exploit. Transactional Memory (TM) is currently being promoted as a new paradigm that provides applications’ programmers a programming model that is closest to the sequential paradigm they are familiar with, and at the same time enabling the benefits of using multiple execution cores. The identification of critical sections in code is the only new condition that must be satisfied. By framing these sections in blocks of code called transactions, the underlying Transactional Memory (TM) system is able to ensure the atomicity and isolation properties despite transactions are executed in parallel. All of this is completely transparent to the programmer, who should not worry about the typical problems blamed on the use of classical locks (deadlock, convoying and priority inversion). This thesis focuses on hardware implementations of the Transactional Memory model (HTM). Moreover, the pursuit of performance in isolation is no longer the main motivation in the development of processors, and nowadays, performance per watt constitutes the new target. Performance remains important but not at the cost of excessive energy consumption. The goal of this thesis is to address the design of HTM systems considering both performance and energy consumption. To do so, we first analyze in detail performance and power consumption that current HTM implementations offer (eager-eager and lazy-lazy). The results of this comparative study allow us to identify the benefits and drawbacks of these two transactional memory systems, and they are the starting point to propose techniques aimed at alleviating the main problems each system has. In eager-eager systems, we have noticed that a substantial fraction of the energy consumed is due to conflicts between transactions. In order to minimize such conflicts, we have developed, implemented and evaluated several policies that identify and serialize transactions that will probably conflict, all of this avoiding cycles leading to potential deadlocks. The final result has been a more efficient eager-eager system from the energy consumption point of view without suffering any performance loss. On the other hand, the main problem in the lazy-lazy systems is at the commit stage of the transactions, specifically in the operations that are necessary to ensure that a transaction can be completed without any conflicts. To solve this, we have implemented and evaluated a hardware technique that speeds up performance, improves energy efficiency and simplifies the main proposal designed so far in scalable HTM systems. In particular, we have proposed to use a low cost specific network and a protocol implemented in hardware that uses it. Throughout this thesis we make use of a widely accepted development and evaluation environment, consisting in the simulation tool known as SIMICS+GEMS and the STAMP benchmarks suite. The results reported in this thesis provide a broad view of the trade-off between performance and energy consumption in sophisticated HTM systems.

Keywords

Arquitectura de ordenador

Subjects

004 - Computer science and technology. Computing. Data processing

Knowledge Area

Ingeniería

Note

Tesis por compendio de publicaciones

Documents

TEGR.pdf

697.3Kb

 

Rights

ADVERTENCIA. El acceso a los contenidos de esta tesis doctoral y su utilización debe respetar los derechos de la persona autora. Puede ser utilizada para consulta o estudio personal, así como en actividades o materiales de investigación y docencia en los términos establecidos en el art. 32 del Texto Refundido de la Ley de Propiedad Intelectual (RDL 1/1996). Para otros usos se requiere la autorización previa y expresa de la persona autora. En cualquier caso, en la utilización de sus contenidos se deberá indicar de forma clara el nombre y apellidos de la persona autora y el título de la tesis doctoral. No se autoriza su reproducción u otras formas de explotación efectuadas con fines lucrativos ni su comunicación pública desde un sitio ajeno al servicio TDR. Tampoco se autoriza la presentación de su contenido en una ventana o marco ajeno a TDR (framing). Esta reserva de derechos afecta tanto al contenido de la tesis como a sus resúmenes e índices.

This item appears in the following Collection(s)