Un ambiente para la evaluacion de arquitecturas de memoria en esquemas multihilo simultaneo
Tesis de Grado en Ingenier´ Inform´tica ıa a Orientaci´n en Sistemas Distribuidos o
Augusto J. Vega
ajvega@fi.uba.ar
Director: Dr. Ing. Jos´ Luis Hamkalo e
Facultad de Ingenier´ ıa Universidad de Buenos Aires
“Se debe hacer todo tan sencillo como sea posible, pero no m´s sencillo.” aAlbert Einstein
Resumen
En los ultimos a˜os, una nueva arquitectura de procesadores conocida ´ n como multihilo simult´neo (SMT − Simultaneous Multithreading), ha crea cido en relevancia y ha sido incorporada en los microprocesadores actuales, tales como los Intel Pentium 4 Hyper-Threading y Sun Microsystems UltraSPARC T1. La ejecuci´n de m´ltiples hilos en un mismo procesador genera o uinterrogantes respecto al desempe˜o de las unidades funcionales en escenan rios donde varios flujos de ejecuci´n compiten por los recursos disponibles. La o memoria cach´ de nivel 1 es una de las componentes m´s afectadas, debido a e a u u que la existencia de m´ltiples instrucciones pertenecientes a m´ltiples hilos de ejecuci´n dentro del procesador genera una situaci´n de competencia que o o se traduce enuna alta interferencia de los hilos en la memoria cach´. En esta e n tesis se propone y analiza el desempe˜o de un nuevo esquema de memoria cach´ para procesadores multihilo. e Dado que es una tecnolog´ muy reciente, son escasas (o inexistentes ıa en la pr´ctica) las herramientas que simulen o aporten los datos necesarios a para realizar simulaciones de estos ambientes multihilo. Por esta raz´n,en o la primera parte de esta tesis se presenta una herramienta, p´blica y de u c´digo abierto, que permite la captura de trazas de referencias a memoria o de programas con m´ltiples hilos de ejecuci´n. La misma fue implementada u o como un m´dulo para el sistema Valgrind, el cual permite realizar tareas o de debugging y profiling sobre programas ejecutables, para ambientes Linuxx86. La herramientaconstruida se utiliz´ para recolectar las trazas de los o programas que conforman los benchmarks SPLASH-2. ii
III
En la segunda parte, se describe una herramienta de simulaci´n conso truida para este trabajo, que ha sido llamada SimiOO. La misma fue desarrollada en base al paradigma de orientaci´n a objetos, en lenguaje Java, y o sobre una arquitectura de plug-ins que le permite serextendida con nuevas funcionalidades. La herramienta SimiOO y el plug-in de simulaci´n permio ten la evaluaci´n de organizaciones de memoria cach´ a partir de las trazas o e recolectadas anteriormente. Finalmente, en la tercera parte, se presenta la organizaci´n de memoria o cach´ SWSA-MT para procesadores multihilo propuesta en esta tesis, y la e evaluaci´n de su desempe˜o. Adem´s, se propone un nuevomodelo para la o n a clasificaci´n de desaciertos para ambientes multihilo, denominado “modelo o o de las 4C” (y que es una extensi´n del popular “modelo de las 3C”). Este modelo es utilizado para la clasificaci´n de desaciertos en el estudio de la o organizaci´n cach´ presentada. Para cerrar la tercera parte, se realizan las o e conclusiones finales. Adem´s de las herramientas para recolecci´n detrazas y simulaci´n, y a o o el modelo de clasificaci´n de desaciertos, esta tesis contribuye con un nuevo o dise˜o de memoria cach´ para procesadores multihilo. Esta nueva organin e zaci´n es estudiada y comparada contra esquemas tradicionales asociativos o por conjuntos de dos y cuatro v´ observ´ndose que el dise˜o propuesto ıas, a n presenta un desempe˜o muy superior respecto al asociativo porconjuntos n de dos v´ y similar al de una cach´ de cuatro v´ pero con menor comıas, e ıas, plejidad de implementaci´n. Se concluye de esta manera que la organizaci´n o o cach´ presentada es adecuada para los procesadores multihilo actuales. e
Abstract
In the last years, a new processor architecture known as Simultaneous Multithreading (SMT), has been incorporated in new processors, such as the...
Regístrate para leer el documento completo.