research

Mejorando el rendimiento de la memoria transaccional para aplicaciones irregulares

Abstract

La Memoria Transaccional (TM) ofrece un modelo de ejecución concurrente optimista en arquitecturas multinúcleo, permitiendo a los programadores extraer paralelismo cuando la información de las dependencias de datos no está disponible hasta la ejecución ́del programa. Existe investigación reciente enfocada a explotar paralelismo a nivel de hilo usando TM. Sin embargo estas propuestas son de uso general, válidas para cualquier tipo de aplicación. Este trabajo presenta ReduxSTM, un TM software especialmente diseñado para mejorar la extracción de paralelismo en aplicaciones irregulares. La gestión de las versiones y la detección de conflictos se han diseñado para aprovechar tanto la ordenación secuencial de las transacciones, necesaria para asegurar la corrección de los resultados, como la privatización de patrones de reducción, un patrón de acceso a memoria muy frecuente en aplicaciones irregulares. La información adicional que proporcionan estas propiedades en tiempo de ejecución se utiliza para evitar abortos transaccionales innecesarios. Se ha elegido una función del benchmark 300.twolf de la suite SPEC CPU2000 como ejemplo de programa irregular con reducciones. Este código se ha paralelizado mediante TM utilizando ReduxSTM y una versión ordenada de TinySTM. Los resultados muestran que ReduxSTM es capaz de explotar más paralelismo

    Similar works