Los procesadores multicore asimétricos o AMPs (Asymmetric Multicore Processors) constituyen una alternativa de bajo consumo energético a los procesadores multicore convencionales formados por cores idénticos, pero también plantean grandes desafíos para el software de sistema. Los AMPs integran cores complejos de alto rendimiento y cores simples de bajo consumo.
La mayoría de los algoritmos de planificación existentes para AMPs intentan optimizar el rendimiento global. Sin embargo, estos algoritmos degradan otros aspectos como la justicia o la eficiencia energética. El principal objetivo de esta tesis doctoral es superar estas limitaciones, mediante el diseño de estrategias de planificación más flexibles para AMPs. Asimismo, en esta tesis mostramos el impacto que la optimización de una métrica tiene en otras.
Para mejorar el rendimiento global, la justicia o la eficiencia energética en AMPs, el planificador debe tener en cuenta el beneficio que cada aplicación alcanza al usar los distintos cores en un AMP. Dado que no todos los hilos en ejecución de una carga de trabajo obtienen siempre el mismo beneficio relativo (speedup factor–SF) al usar un core de alto rendimiento, debe tenerse en cuenta esta diversidad de SFs para optimizar los distintos objetivos. El sistema operativo (SO) debe determinar de forma efectiva el SF de cada hilo en ejecución. En esta tesis proponemos una metodología general para construir modelos de estimación de SF precisos basados en el uso de contadores hardware.
La mayoría de los algoritmos de planificación existentes para AMPs, han sido evaluados empleando o bien simuladores o plataformas asimétricas emuladas o bien prototipos de planificadores en modo usuario. Por el contrario, en esta tesis doctoral, evaluamos los algoritmos propuestos en un entorno realista: empleando implementaciones de los algoritmos en el kernel de SOs reales y sobre hardware multicore asimétrico real.