Técnicas hardware para Sistemas de Memoria Transaccional de alto rendimiento en procesadores multinúcleo = Hardware techniques for High-performance Transactional Memory in many-core chip multiprocessors

  1. Titos Gil, José Rubén
Dirigida por:
  1. José Manuel García Carrasco Director
  2. Manuel Eugenio Acacio Sánchez Director

Universidad de defensa: Universidad de Murcia

Fecha de defensa: 08 de noviembre de 2011

Tribunal:
  1. José Francisco Duato Marin Presidente/a
  2. Juan Luis Aragón Alcaraz Secretario/a
  3. Oscar Plata González Vocal
  4. Osman Unsal García Vocal
  5. Mikel Lujan Vocal
Departamento:
  1. Ingeniería y Tecnología de Computadores

Tipo: Tesis

Resumen

Tesis Doctoral: Técnicas Hardware para Sistemas de Memoria Transaccional de Alto Rendimiento en Procesadores Multinúcleo Autor: José Rubén Titos Gil En el último lustro hemos sido testigos de un punto de inflexión fundamental en la historia de la computación. La combinación de los progresos tanto en el proceso de integración como en la arquitectura de los procesadores ha sostenido varias décadas de crecimiento exponencial en el rendimiento de los sistemas informáticos, un logro sin precedentes en la historia de la tecnología que no obstante ha tocado a su fin. En los últimos años, las limitaciones impuestas por el consumo energético, la capacidad de refrigeración del chip, los crecientes costes de diseño y verificación, etc. han provocado un estancamiento en las mejoras de rendimiento de los sistemas monoprocesador. La industria ha encontrado una salida a esta crisis por medio de la fabricación de chips que incluyen más de un procesador por chip, los llamados procesadores multinúcleo o CMPs. Este cambio de paradigma hacia arquitecturas paralelas trae consigo nuevas oportunidades, pero también difíciles retos. El giro hacia las arquitecturas multinúcleo ha situado el problema de la programación concurrente al frente de la investigación en computación, pues la gran barrera que impide aprovechar plenamente la capacidad de cómputo agregado de un CMP es precisamente su complejidad de programación. Los modelos tradicionales de programación multi-hilo recurren a primitivas de bajo nivel como los cerrojos para proteger las estructuras de datos compartidas, garantizando el acceso de hilos en exclusión mutua. En este contexto, la complejidad de la sincronización basada en cerrojos hace de la programación paralela una tarea propensa a errores, especialmente cuando se utilizan cerrojos de granularidad fina con el fin de extraer mayor rendimiento. Sin lugar a dudas, el compromiso entre la facilidad de programación y rendimiento impuesto por el modelo de sincronización basado en cerrojos sigue siendo uno de los retos clave para los programadores y arquitectos de computadores de la era multinúcleo. La Memoria Transaccional (TM) ha sido propuesta como un modelo de programación conceptualmente más sencillo que puede ayudar a incrementar la productividad de los programadores al eliminar la compleja tarea de razonar sobre la corrección de un programa que usa cerrojos de grano fino. Los sistemas TM pueden implementarse completamente en software, en hardware o usando una combinación de ambos. A pesar de las ventajas de flexibilidad y coste del enfoque software, es incuestionable la necesidad de implementaciones rápidas para que el nuevo paradigma basado en transacciones alcance un uso generalizado. Dada la abundancia de transistores disponibles en los chips actuales, uno de los retos más importantes para los arquitectos de computadores hoy día es entender qué abstracciones pueden mejorar la productividad del desarrollo de software paralelo, y a partir de ahí introducir el soporte hardware apropiado para realizarlo. Las transacciones son un buen candidato como abstracción en el ámbito de la sincronización de programas de memoria compartida. Esta tesis se centra en la implementación hardware de los mecanismos que proporcionan un control de concurrencia optimista con estrictas garantías de atomicidad y aislamiento, con el objetivo de alcanzar altos niveles de rendimiento a un coste razonable en términos de complejidad en el diseño global. El trabajo recogido en esta tesis abarca diferentes aspectos dentro del espacio de diseño de los sistemas hardware de memoria transaccional (HTM), en el contexto de un procesador multinúcleo construido sobre una red de interconexión escalable. Esta tesis identifica ineficiencias críticas que degradan el rendimiento de los diferentes enfoques HTM, y propone mecanismos para solventar dichas limitaciones. En esta disertación investigamos tanto sistemas HTM de política ansiosa como aquellos diseñados bajo el enfoque perezoso, y proponemos diferentes soluciones para afrontar las sobrecargas en el rendimiento que son inherentes a cada política.