Soporte arquitectónico a la sincronización imparcial de lectores y escritores en computadores paralelos

La evolución tecnológica en el diseño de microprocesadores ha conducido a sistemas paralelos con múltiples hilos de ejecución. Estos sistemas son más difíciles de programar y presentan overheads mayores que los sistemas uniprocesadores tradicionales, que pueden limitar su rendimiento y escalabilidad...

Full description

Bibliographic Details
Main Author: Vallejo Gutiérrez, Enrique
Other Authors: Beivide Palacio, Ramón
Format: Doctoral Thesis
Language:English
Published: Universidad de Cantabria 2010
Subjects:
004
62
Online Access:http://hdl.handle.net/10803/10637
http://nbn-resolving.de/urn:isbn:9788469355275
id ndltd-TDX_UC-oai-www.tdx.cat-10803-10637
record_format oai_dc
collection NDLTD
language English
format Doctoral Thesis
sources NDLTD
topic Implicit Transactions
Kilo-Instruction Processors
Locks
Lock Control Unit
Transactional Memory
Parallel Computing
Reader/writer synchronization
Arquitectura y Tecnología de Computadores
004
62
621.3
spellingShingle Implicit Transactions
Kilo-Instruction Processors
Locks
Lock Control Unit
Transactional Memory
Parallel Computing
Reader/writer synchronization
Arquitectura y Tecnología de Computadores
004
62
621.3
Vallejo Gutiérrez, Enrique
Soporte arquitectónico a la sincronización imparcial de lectores y escritores en computadores paralelos
description La evolución tecnológica en el diseño de microprocesadores ha conducido a sistemas paralelos con múltiples hilos de ejecución. Estos sistemas son más difíciles de programar y presentan overheads mayores que los sistemas uniprocesadores tradicionales, que pueden limitar su rendimiento y escalabilidad: sincronización, coherencia, consistencia y otros mecanismos requeridos para garantizar una ejecución correcta. La programación paralela tradicional se basa en primitivas de sincronización como barreras y locks de lectura/escritura, con alta tendencia a fallos de programación. La Memoria Transaccional (TM) oculta estos problemas de sincronización al programador; sin embargo, múltiples sistemas TM aún se basan en locks, y se beneficiarían de una implementación eficiente de los mismos.Esta tesis presenta nuevas técnicas hardware para acelerar la ejecución de estos programas paralelos. Proponemos un sistema TM híbrido basado en locks de lectura/escritura, que minimiza los overheads del software cuando la aceleración hardware está presente. Desarrollamos un mecanismo para garantizar fairness entre transacciones hardware y software. Introducimos un mecanismo distribuido de aceleración de locks de lectura/escritura, llamado Lock Control Unit. Finalmente, proponemos una organización de multiprocesadores basadas en Kilo-Instruction Processors que garantiza Consistencia Secuencial y permite especulación en secciones críticas. === Technological evolution in microprocessor design has led to parallel systems with multiple execution threads. These systems are more difficult to program and present higher performance overheads than the traditional uniprocessor systems, what may limit their performance and scalability: synchronization, coherence, consistency and other mechanisms required to guarantee a correct execution. Traditional parallel programming is based on synchronization primitives such as barriers, critical sections and reader/writer locks, highly prone to programming errors. Transactional Memory (TM) removes the synchronization problems from the programmer. However, many TM systems still rely on reader/writer locks, and would get benefited from an efficient implementation.This thesis presents new hardware techniques to accelerate the execution of such parallel programs. We propose a Hybrid TM system based on reader/writer locks, which minimizes the software overheads when acceleration hardware is present, still allowing for correct software-only execution. We propose a mechanism to guarantee fairness between hardware and software transactions is provided. We introduce a low-cost distributed mechanism named the Lock Control Unit to handle fine-grain reader-writer locks. Finally, we propose an organization of a mutiprocessor based on Kilo-Instruction Processors, which guarantees Sequential Consistency while allowing for speculation in critical sections.
author2 Beivide Palacio, Ramón
author_facet Beivide Palacio, Ramón
Vallejo Gutiérrez, Enrique
author Vallejo Gutiérrez, Enrique
author_sort Vallejo Gutiérrez, Enrique
title Soporte arquitectónico a la sincronización imparcial de lectores y escritores en computadores paralelos
title_short Soporte arquitectónico a la sincronización imparcial de lectores y escritores en computadores paralelos
title_full Soporte arquitectónico a la sincronización imparcial de lectores y escritores en computadores paralelos
title_fullStr Soporte arquitectónico a la sincronización imparcial de lectores y escritores en computadores paralelos
title_full_unstemmed Soporte arquitectónico a la sincronización imparcial de lectores y escritores en computadores paralelos
title_sort soporte arquitectónico a la sincronización imparcial de lectores y escritores en computadores paralelos
publisher Universidad de Cantabria
publishDate 2010
url http://hdl.handle.net/10803/10637
http://nbn-resolving.de/urn:isbn:9788469355275
work_keys_str_mv AT vallejogutierrezenrique soportearquitectonicoalasincronizacionimparcialdelectoresyescritoresencomputadoresparalelos
_version_ 1716592707510468608
spelling ndltd-TDX_UC-oai-www.tdx.cat-10803-106372013-07-12T06:12:42ZSoporte arquitectónico a la sincronización imparcial de lectores y escritores en computadores paralelosVallejo Gutiérrez, EnriqueImplicit TransactionsKilo-Instruction ProcessorsLocksLock Control UnitTransactional MemoryParallel ComputingReader/writer synchronizationArquitectura y Tecnología de Computadores00462621.3La evolución tecnológica en el diseño de microprocesadores ha conducido a sistemas paralelos con múltiples hilos de ejecución. Estos sistemas son más difíciles de programar y presentan overheads mayores que los sistemas uniprocesadores tradicionales, que pueden limitar su rendimiento y escalabilidad: sincronización, coherencia, consistencia y otros mecanismos requeridos para garantizar una ejecución correcta. La programación paralela tradicional se basa en primitivas de sincronización como barreras y locks de lectura/escritura, con alta tendencia a fallos de programación. La Memoria Transaccional (TM) oculta estos problemas de sincronización al programador; sin embargo, múltiples sistemas TM aún se basan en locks, y se beneficiarían de una implementación eficiente de los mismos.Esta tesis presenta nuevas técnicas hardware para acelerar la ejecución de estos programas paralelos. Proponemos un sistema TM híbrido basado en locks de lectura/escritura, que minimiza los overheads del software cuando la aceleración hardware está presente. Desarrollamos un mecanismo para garantizar fairness entre transacciones hardware y software. Introducimos un mecanismo distribuido de aceleración de locks de lectura/escritura, llamado Lock Control Unit. Finalmente, proponemos una organización de multiprocesadores basadas en Kilo-Instruction Processors que garantiza Consistencia Secuencial y permite especulación en secciones críticas.Technological evolution in microprocessor design has led to parallel systems with multiple execution threads. These systems are more difficult to program and present higher performance overheads than the traditional uniprocessor systems, what may limit their performance and scalability: synchronization, coherence, consistency and other mechanisms required to guarantee a correct execution. Traditional parallel programming is based on synchronization primitives such as barriers, critical sections and reader/writer locks, highly prone to programming errors. Transactional Memory (TM) removes the synchronization problems from the programmer. However, many TM systems still rely on reader/writer locks, and would get benefited from an efficient implementation.This thesis presents new hardware techniques to accelerate the execution of such parallel programs. We propose a Hybrid TM system based on reader/writer locks, which minimizes the software overheads when acceleration hardware is present, still allowing for correct software-only execution. We propose a mechanism to guarantee fairness between hardware and software transactions is provided. We introduce a low-cost distributed mechanism named the Lock Control Unit to handle fine-grain reader-writer locks. Finally, we propose an organization of a mutiprocessor based on Kilo-Instruction Processors, which guarantees Sequential Consistency while allowing for speculation in critical sections.Universidad de CantabriaBeivide Palacio, RamónVallejo Alonso, FernandoUniversidad de Cantabria. Departamento de Electrónica y Computadores2010-06-10info:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/10803/10637urn:isbn:9788469355275TDR (Tesis Doctorales en Red)engADVERTENCIA. 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.info:eu-repo/semantics/openAccess