Programming, debugging, profiling and optimizing transactional memory programs

Tesis doctoral de Ferad Hasanov Zyulkyarov

La memoria transaccional ™ es una nueva técnica de sincronización optimistica la cual tiene el potencial de hacer más sencilla la programación paralela con memoria compartida que la programación con locks sin renunciar al rendimiento. Esta tesis examina cuatro aspectos en la investigación de la memoria transaccional. Primero, estudia como programar con tm en comparación con locks. Durante el transcurso de este trabajo, se desarrolla la primera aplicación transaccional real – atomicquake. Atomicquake es una versión transaccional de del servidor del juego quake. Los resultados sugieren que la programación con tm es de hecho más fácil que la programación con locks. Sin embargo, el rendimiento del software actual de sistemas de tm es inferior a las versiones basadas en locks implementadas de forma eficiente del mismo programa. Por otro lado, el mismo informe de conclusiones muestra que el nivel de las propuestas de las extensiones del lenguaje no es suficiente para desarrollar software con un nivel de producción robusto y que las herramientas existentes de desarrollo como los compiladores, depuradores y perfiles carecen de apoyo para el desarrollo de aplicaciones transaccionales. segundo, esta tesis introduce nuevos principios y abstracciones para depurar. Estos nuevos principios de depuración y abstracción permiten depurar errores de sincronización los cuales se muestran en niveles de bloques atómicos gruesos, código erróneo dentro de bloques atómicos, y también errores de rendimiento relacionados con la implementación de bloques atómicos. Los nuevos principios de depuración distinguen entre depurar al nivel de constructores del lenguaje, tales como bloques atómicos y depuración de bloques atómicos basándose en si están implementados utilizando tm o locks. Estas ideas están demostradas mediante la implementación de una extensión del depurador windbg y el añadido ahead-of-time c# para el compilador x86 bartok-stm. tercero, esta tesis investiga los diferentes rendimientos en cuellos de botella en aplicaciones tm e introduce nuevas técnicas de perfil para encontrar y entender estos cuellos de botella. Estas nuevas técnicas de perfiles proporcionan información comprensiva y en profundidad acerca del trabajo malgastado por causa de transacciones abortadas. Las abstracciones de perfiles individuales pueden ser clasificadas en tres grupos: (i) técnicas para identificar múltiples conflictos de una única ejecución de un programa, (ii) técnicas para describir las estructuras de datos implicadas en conflictos por el uso de rutas simbólicas dentro de un heap, en lugar de direcciones máquina, y (iii) técnicas de visualización para detectar que transacciones ocurren con más frecuencia. Las ideas son demostradas mediante la construcción de perfil de framework ligero para bartok-stm y una herramienta off-line que procesa y muestra información de perfil. cuarto, esta tesis examina e introduce nuevas especificaciones de optimización tm que tienen como objetivo la detección del trabajo malgastado por causa de las transacciones abortadas. Usando los resultados obtenidos mediante las herramientas de perfiles, se analizan y optimizan diferentes aplicaciones del conjunto de herramientas de evaluación de stamp. Las técnicas de perfil relevan efectivamente los cuellos de botella específicos de tm, tales como conflictos falsos y controversia en los accesos a estructuras de datos. Los cuellos de botella detectados se eliminan usando nuevas técnicas de optimización. La optimizaciones más resaltantes son los puntos de control de transacciones que reducen en un 40% el trabajo malgastado en intruder, descomponiendo los objetos para eliminar conflictos falsos en bayes, y la versión preliminar de labyrinth que reduce de un 98% a un 1% el trabajo malgastado, usando menos estructuras de datos para contención como tablas de dispersión encadenadas en intruder o genome, las cuales permiten tener un grado de paralelismo más alto.

 

Datos académicos de la tesis doctoral «Programming, debugging, profiling and optimizing transactional memory programs«

  • Título de la tesis:  Programming, debugging, profiling and optimizing transactional memory programs
  • Autor:  Ferad Hasanov Zyulkyarov
  • Universidad:  Politécnica de catalunya
  • Fecha de lectura de la tesis:  19/07/2011

 

Dirección y tribunal

  • Director de la tesis
    • Mateo Valero Cortés
  • Tribunal
    • Presidente del tribunal: xavier Martorell bofill
    • mikel Lujan (vocal)
    • pascal Felber (vocal)
    • tim Harris (vocal)

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio