Atomic dataflow model

Tesis doctoral de Vladimir Gajinov

Con el reciente cambio en el diseño de los procesadores de propósito general pasando del aumento de frecuencia al incremento del número de núcleos, la programación paralela se ha convertido en importante no solo para la comunidad científica sino también para la programación en general. Este hecho ha enfatizado la importancia de la programabilidad de los modelos actuales de programación paralela, cuyo objetivo era el rendimiento. Pronto se observó la necesidad de nuevos modelos de programación, para hacer factible la programación paralela a toda la comunidad. transactional memory ™ es un ejemplo de dicho objetivo. Supone una gran mejora sobre cualquier método anterior de sincronización en términos de programabilidad, con una posible reducción del rendimiento como coste. La razón principal de dicha degradación es el sobrecoste de la ejecución transaccional. Nuestro trabajo en la paralelización del motor del juego quake es un claro ejemplo de este problema. Demostramos que software transactional memory es superior en términos de programabilidad a los modelos de programación basados en locks, pero que el rendimiento es entorpecido por el sobrecoste introducido por tm. Mientras tanto, se ha invertido un importante esfuerzo de investigación para superar dicho problema. Nuestra solución se dirige hacia la mejora del rendimiento del código transaccional reduciendo los conflictos con la información contenida en las transacciones. La idea se basa en la organización del código en el cual la información conflictiva es promocionada a señales del flujo de datos que coordinan la ejecución de las transacciones. la contribución principal de esta tesis es atomic dataflow model (adf), un nuevo modelo de programación para c/c++ basado en tareas que integra abstracciones de flujo de datos en el modelo de programación de la memoria compartida. El modelo adf provee construcciones del lenguaje que permiten al programador la definición del programa como un conjunto de tareas, además de la definición explícita de las dependencias de datos para cada tarea. La información de dependencia de la tarea se transmite al runtime de adf, que construye un grafo de tareas que es el que controla la ejecución de un programa. Adicionalmente, el modelo adf permite que las tareas compartan información. La idea principal es que la computación es activada por el flujo de datos entre tareas, pero que dentro de una tarea la ejecución ocurre haciendo actualizaciones atómicas a un estado común mutable. Para conseguir este fin, el modelo adf utiliza tm, que garantiza la atomicidad en las modificaciones de la memoria compartida. la segunda contribución es dash, el primer conjunto de benchmarks para los modelos de programación de flujo de datos híbridos y los de memoria compartida. Dash contiene 11 benchmarks, cada uno representativo de uno de los berkeley dwarfs que captura patrones de comunicaciones y procesamiento comunes en un amplio rango de aplicaciones emergentes. Dash incluye implementaciones secuenciales y de memoria compartida basadas en openmp y tbb que facilitan la comparación entre los modelos híbridos de flujo de datos e implementaciones de memoria compartida. Nosotros usamos dash no solo para evaluar adf, sino también para compararlo con otros dos modelos híbridos para identificar sus ventajas. finalmente, estudiamos la aplicabilidad de dichos modelos híbridos para la paralelización del motor del juego. Mostramos que disminuyen la complejidad de la implementación paralela, eliminando o reestructurando la sincronización explícita que es necesaria en las implementaciones de memoria compartida. También se observa una buena escalabilidad y una aceleración mejor, especialmente en el caso de un ambiente de juego muy cargado. En última instancia, sobre una máquina con ocho núcleos se ha obtenido una aceleración del 4.72x comparado con el código secuencial, y una mejora del 49% sobre la implementación paralela basada en locks.

 

Datos académicos de la tesis doctoral «Atomic dataflow model«

  • Título de la tesis:  Atomic dataflow model
  • Autor:  Vladimir Gajinov
  • Universidad:  Politécnica de catalunya
  • Fecha de lectura de la tesis:  20/11/2014

 

Dirección y tribunal

  • Director de la tesis
    • Eduard Ayguadé Parra
  • Tribunal
    • Presidente del tribunal: paolo Meloni
    • miquel Pericí s gleim (vocal)
    • (vocal)
    • (vocal)

 

Deja un comentario

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

Scroll al inicio