En la actualidad, para encontrar un buen equilibrio entre rendimiento y consumo
energético, los fabricantes están empezando a ofrecer procesadores heterogéneos. Estos
presentan 2 tipos diferentes de núcleos: unos están enfocados a la eficiencia energética y otros
al rendimiento. Un ejemplo de estos procesadores son los big.LITTLE de ARM. Para obtener
un buen provecho de este tipo de procesadores, los programadores deben escribir programas
multi-hilo. En este tipo de programas, los mecanismos de exclusión mútua son los encargados
de garantizar que, en un instante dado, únicamente uno de los hilos acceda a los datos
compartidos para asegurar la consistencia de dichos datos. Aunque de forma tradicional estos
problemas se han resuelto con cerrojos, la memoria transaccional (TM por sus siglas en
inglés) está cobrando importancia. En un trabajo previo se han caracterizado un conjunto de
aplicaciones que utilizan una popular librería de TM por software, midiendo rendimiento y
consumo de energía en ambos tipos de núcleos. Una vez caracterizadas las aplicaciones
individualmente, es interesante el diseño de un sistema de planificación automático que pueda
asignar las aplicaciones a aquellos núcleos en los que se estima un mejor rendimiento o
menor consumo energético.
En este trabajo presentamos ScHeTM, un planificador de aplicaciones que utilizan TM sobre
procesadores multi-núcleo heterogéneos. Atendiendo a las características de las aplicaciones
en cuanto a tiempo de cómputo, consumo de energía, y el número de conflictos en la zona de
exclusión mútua, ScHeTM realiza una planificación adecuada con el objetivo de mejorar el
rendimiento del sistema.