Herramientas para la monitorización de los accesos a memoria de códigos paralelos mediante contadores hardware

En este trabajo se presenta el desarrollo de una serie de herramientas que facilitan, especialmente en códigos paralelos, tanto la programación de los contadores EARs (Event Address Registers) de los procesadores Itanium 2 como el acceso y lectura de la información ofrecida por ellos. En concreto, se han desarrollado las siguientes herramientas: Una herramienta que permite la inserción en un programa paralelo del código de monitorización y programación de los contadores hardware de una forma sencilla e intuitiva. Se han realizado dos versiones, una ejecutable desde la línea de comandos, que toma como entrada un programa paralelo y devuelve como salida el programa paralelo con el código de monitorización añaadido, y otra con una interfaz gráfica que añade el código de monitorización de forma gradual según lo requiera el usuario. Otra herramienta que toma como entrada la información obtenida por el código paralelo monitorizado, y muestra la información obtenida por los contadores hardware de forma amigable y clara, pero a la vez exhaustiva y detallada. Esta herramienta permite ajustar el nivel de detalle, de modo que se puede elegir desde una vista global de los accesos a memoria, hasta una muestra detallada evento a evento. Se ha realizado un estudio de estos desarrollos sobre diversos problemas paralelos irregulares de memoria compartida en el supercomputador FinisTerrae, centrándose en el producto matriz dispersa vector. Aunque el trabajo se ha realizado en el entorno del FinisTerrae, las herramientas obtenidas son de aplicación general para cualquier otro sistema basado en procesadores Itanium 2, que disponen de contadores hardware, tanto mono como multiprocesador

Palabras clave: contadores hardware, codigos irregulares, monitorizacion.