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 (2011)

Tesis Doctoral: Tecnicas Hardware para Sistemas de Memoria Transaccional de Alto Rendimiento en Procesadores Multinucleo Autor: Jose Ruben Titos Gil En el ultimo lustro hemos sido testigos de un punto de inflexion fundamental en la historia de la computacion. La combinacion de los progresos tanto en el proceso de integracion como en la arquitectura de los procesadores ha sostenido varias decadas de crecimiento exponencial en el rendimiento de los sistemas informaticos, un logro sin precedentes en la historia de la tecnologia que no obstante ha tocado a su fin. En los ultimos anos, las limitaciones impuestas por el consumo energetico, la capacidad de refrigeracion del chip, los crecientes costes de diseno y verificacion, 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 fabricacion de chips que incluyen mas de un procesador por chip, los llamados procesadores multinucleo o CMPs. Este cambio de paradigma hacia arquitecturas paralelas trae consigo nuevas oportunidades, pero tambien dificiles retos. El giro hacia las arquitecturas multinucleo ha situado el problema de la programacion concurrente al frente de la investigacion en computacion, pues la gran barrera que impide aprovechar plenamente la capacidad de computo agregado de un CMP es precisamente su complejidad de programacion. Los modelos tradicionales de programacion multi-hilo recurren a primitivas de bajo nivel como los cerrojos para proteger las estructuras de datos compartidas, garantizando el acceso de hilos en exclusion mutua. En este contexto, la complejidad de la sincronizacion basada en cerrojos hace de la programacion 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 programacion y rendimiento impuesto por el modelo de sincronizacion basado en cerrojos sigue siendo uno de los retos clave para los programadores y arquitectos de computadores de la era multinucleo. La Memoria Transaccional (TM) ha sido propuesta como un modelo de programacion conceptualmente mas sencillo que puede ayudar a incrementar la productividad de los programadores al eliminar la compleja tarea de razonar sobre la correccion de un programa que usa cerrojos de grano fino. Los sistemas TM pueden implementarse completamente en software, en hardware o usando una combinacion de ambos. A pesar de las ventajas de flexibilidad y coste del enfoque software, es incuestionable la necesidad de implementaciones rapidas 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 mas importantes para los arquitectos de computadores hoy dia es entender que abstracciones pueden mejorar la productividad del desarrollo de software paralelo, y a partir de ahi introducir el soporte hardware apropiado para realizarlo. Las transacciones son un buen candidato como abstraccion en el ambito de la sincronizacion de programas de memoria compartida. Esta tesis se centra en la implementacion hardware de los mecanismos que proporcionan un control de concurrencia optimista con estrictas garantias de atomicidad y aislamiento, con el objetivo de alcanzar altos niveles de rendimiento a un coste razonable en terminos de complejidad en el diseno global. El trabajo recogido en esta tesis abarca diferentes aspectos dentro del espacio de diseno de los sistemas hardware de memoria transaccional (HTM), en el contexto de un procesador multinucleo construido sobre una red de interconexion escalable. Esta tesis identifica ineficiencias criticas que degradan el rendimiento de los diferentes enfoques HTM, y propone mecanismos para solventar dichas limitaciones. En esta disertacion investigamos tanto sistemas HTM de politica ansiosa como aquellos disenados bajo el enfoque perezoso, y proponemos diferentes soluciones para afrontar las sobrecargas en el rendimiento que son inherentes a cada politica.