Maximizing multithreaded multicore architectures through thread migrations

Heterogeneity in general-purpose workloads often end up in non optimal per-thread hardware resource usage. The current trend towards multicore architectures, containing several multithreaded cores, increases the need of a complexity-effective way to expose the heterogeneity in general-purpose worklo...

Descripción completa

Detalles Bibliográficos
Autores: Acosta Ojeda, Carmelo Alexis, Cazorla Almeida, Francisco Javier, Santana Jaria, Oliverio J., Falcón Samper, Ayose Jesús, Ramírez Bellido, Alejandro, Valero Cortés, Mateo|||0000-0003-2917-2482
Tipo de recurso: informe técnico
Fecha de publicación:2009
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/108861
Acceso en línea:https://hdl.handle.net/2117/108861
Access Level:acceso abierto
Palabra clave:Multiprocessors
Multicore
Thread migration
Heterogeneity-aware
Multiprocessadors
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors
Descripción
Sumario:Heterogeneity in general-purpose workloads often end up in non optimal per-thread hardware resource usage. The current trend towards multicore architectures, containing several multithreaded cores, increases the need of a complexity-effective way to expose the heterogeneity in general-purpose workloads to the underlying hardware, in order to obtain all the potential performance of these architectures. In this paper we present the Heterogeneity-Aware Dynamic Thread Migrator (hDTM), a novel complexity-effective hardware mechanism that exposes the heterogeneity in software to the hardware, also enabling the hardware to react to the dynamic behavior variations in the running applications. By means of core-to-core thread migrations, the hDTM mechanism strives to perform the desired behavior transparently to the Operating System. As an example of the general-purpose hDTM concept presented in this paper, we describe a naive hDTM implementation for a Power5-like processor and provide results on the benefits of the proposed mechanism. Our results indicate that even this simple hDTM implementation is able to get close to hDTM’s goal, not only avoiding losses due to bad thread-to-core assignments (up to a 25%) but also going beyond the best static thread-to-core assignment upper limit.