Soporte de Orden y Reducciones en Sistemas de Memoria Transaccional

Loading...
Thumbnail Image

Identifiers

Publication date

Reading date

Collaborators

Tutors

Editors

Journal Title

Journal ISSN

Volume Title

Publisher

UMA Editorial

Metrics

Google Scholar

Share

Research Projects

Organizational Units

Journal Issue

Department/Institute

Abstract

En esta tesis se proponen soluciones basadas en memoria transaccional (TM) para optimizar la detección y resolución de conflictos en códigos que presentan operaciones de reducción. Las reducciones aparecen frecuentemente en aplicaciones científicas en combinación con patrones de acceso irregulares que dificultan su paralelización de forma eficiente. Nuestra propuesta contempla las reducciones como una operación transaccional adicional en el modelo TM. El tratamiento explícito de las reducciones permite filtrar los conflictos originados por dichas operaciones manteniendo la consistencia del sistema sin necesidad de abortar transacciones. Este trabajo introduce además un orden total de precedencia entre transacciones que implica que éstas confirmen sus cambios a memoria en un orden específico, facilitando así la paralelización de aplicaciones secuenciales. El uso de este orden permite además detectar reducciones parciales; accesos a memoria que violan las condiciones de reducción. Dado que un orden de precedencia estricto penaliza el rendimiento y puede ser demasiado restrictivo, esta tesis aborda también el diseño de un orden de precedencia parcial, donde las restricciones a la hora de confirmar los cambios a memoria no se aplican entre transacciones individuales sino entre grupos de ellas, permitiendo aumentar el grado de paralelismo de la aplicación. Introducimos el concepto de barrera transaccional, una primitiva cuya semántica es similar a una barrera de sincronización tradicional, pero que aprovecha TM para permitir a los hilos seguir ejecutando código de forma especulativa. Nuestra propuesta utiliza estas barreras para establecer un orden parcial de precedencia, lanzando transacciones con restricciones de precedencia dinámicas que permiten evitar bloqueos debidos a la sincronización manteniendo la corrección del programa.

Description

Las propuestas de esta tesis de han evaluado en una selección de benchmarks reales y sintéticos que incluye la suite STAMP, Eigenbench, códigos seleccionados de las suites SPEC, PARSEC, y Polybench; y otros kernels de aplicaciones HPC de interés. Fecha de Lectura de Tesis Lectoral: 29 enero 2019.

Bibliographic citation

Collections

Endorsement

Review

Supplemented By

Referenced by