Optimización de rendimiento, justicia y consumo energético en sistemas multicore asimétricos mediante planificación
Material type:
Tesis (Doctorado en Ciencias Informáticas) - Universidad Nacional de La Plata. Facultad de Informática, 2017.
1. Introducción -- 1.1. Motivación -- 1.2. Objetivos y principales desafíos -- 1.3. Contribuciones de la tesis -- 1.4. Organización de la tesis -- 2. Entorno experimental -- 2.1. Hardware asimétrico -- 2.2. Framework de planificación para multicores asimétricos -- 2.2.1. El planificador de OpenSolaris -- 2.2.1.1. OpenSolaris y soporte AMP -- 2.2.2. El planificador de Linux -- 2.2.2.1. Las clases de planificación -- 2.2.2.2. Run queues -- 2.2.2.3. Representación de procesos en Linux -- 2.2.2.4. Core scheduler -- 2.2.2.5. La clase de planificación CFS -- 2.2.2.6. Linux y soporte AMP -- 2.2.3. Módulos cargables del kernel -- 2.2.4. Interacción con contadores hardware -- 2.2.5. Interacción con módulos de estimación -- 2.2.6. Interacción con runtime systems -- 2.3. Otras herramientas -- 2.3.1. Herramientas de depuración -- 2.3.2. Herramientas para escenarios de prueba -- 2.4. Resumen del capítulo y conclusiones -- 3. Métricas del planificador y trabajo relacionado -- 3.1. Métricas del planificador -- 3.1.1. Rendimiento global -- 3.1.2. Justicia -- 3.1.3. Eficiencia energética -- 3.2. Trabajo relacionado -- 3.2.1. Optimización del rendimiento -- 3.2.1.1. Técnicas para determinar el SF en tiempo de ejecución -- 3.2.1.2. Soporte para aplicaciones multi-hilo -- 3.2.2. Justicia y soporte a prioridades -- 3.2.3. Optimizando la eficiencia energética -- 3.3. Resumen del capítulo y conclusiones -- 4. Mejorando el compromiso rendimiento-justicia -- 4.1. El algoritmo de planificación Prop-SP -- 4.1.1. Asignación de créditos de cores rápidos -- 4.1.2. Intercambio de hilos entre cores -- 4.2. Soporte para aplicaciones multi-hilo en Prop-SP -- 4.2.1. Efectividad de las distintas estrategias de distribución de créditos -- 4.2.2. Determinando el speedup de las aplicaciones en tiempo de ejecución -- 4.3. Otros algoritmos analizados en este capítulo -- 4.4. Evaluación experimental -- 4.4.1. Aplicaciones con la misma prioridad -- 4.4.1.1. Escenario de aplicaciones secuenciales y multi-hilo -- 4.4.1.2. Escenario de aplicaciones secuenciales -- 4.4.2. Aplicaciones con prioridades diferentes -- 4.5. Resumen del capítulo y conclusiones -- 5. Modelo analítico de rendimiento-justicia -- 5.1. Derivación de las fórmulas analíticas para aggregate speedup y unfairness -- 5.2. Óptimos de rendimiento y justicia -- 5.3. Resumen del capítulo y conclusiones -- 6. Algoritmo de planificación ACFS -- 6.1. Diseño del planificador ACFS -- 6.1.1. Seguimiento del progreso y asignación inicial de hilos a cores -- 6.1.2. Caso de estudio -- 6.1.3. Garantizando justicia mediante el intercambio de hilos -- 6.1.4. Compromiso rendimiento-justicia -- 6.2. Soporte para aplicaciones multi-hilo en ACFS -- 6.3. Determinando el speedup factor en tiempo de ejecución -- 6.3.1. Plataforma experimental -- 6.3.2. Generando modelos de estimación de speedup factor offline -- 6.3.3. Implementación: utilizando los modelos de estimación de speedup factor en tiempo de ejecución -- 6.4. Evaluación experimental -- 6.4.1. Aplicaciones con la misma prioridad -- 6.4.1.1. Cargas de trabajo compuestas por aplicaciones secuenciales -- 6.4.1.2. Cargas de trabajo compuestas por aplicaciones secuenciales y multi-hilo -- 6.4.1.3. Resultados generales -- 6.4.2. Aplicaciones con distintas prioridades -- 6.4.3. Compromiso rendimiento-justicia en ACFS -- 6.5. Impacto de la frecuencia de intercambio de hilos en el rendimiento global y justicia -- 6.6. Resumen del capítulo y conclusiones -- 7. Mejorando la eficiencia energética en AMPs -- 7.1. Modelo analítico de rendimiento, justicia y eficiencia energética -- 7.1.1. Cargas de trabajo -- 7.1.2. Fórmulas analíticas -- 7.1.3. Algoritmos de planificación analizados -- 7.1.4. Análisis de los resultados -- 7.2. Diseño de los algoritmos propuestos -- 7.2.1. El planificador EEF-Driven -- 7.2.2. Determinando el EEF en tiempo de ejecución -- 7.2.3. El planificador ACFS-E -- 7.3. Evaluación experimental -- 7.3.1. Evaluación del algoritmo EEF-Driven -- 7.3.1.1. Selección de cargas de trabajo -- 7.3.1.2. Análisis de los resultados -- 7.3.2. Efectividad de ACFS-E -- 7.4. Resumen del capítulo y conclusiones -- 8. Conclusiones y trabajo futuro -- 8.1. Líneas de trabajo futuro -- A. Aproximación del speedup de aplicaciones -- A.1. Speedup de aplicaciones multihilo bajo Even y AID -- A.1.1. Speedup bajo Even -- A.1.2. Speedup bajo AID -- A.2. Speedup de aplicaciones multihilo ejecutadas bajo BusyFC -- B. Detección de fases de SF mediante umbralización -- Bibliografía