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...
Main Author: | |
---|---|
Other Authors: | |
Format: | Doctoral Thesis |
Language: | English |
Published: |
Universidad de Cantabria
2010
|
Subjects: | |
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 |