ANALISIS Y DISEÑO DE ALGORITMOS DE PLANIFICACIÓN DE TIEMPO REAL EN SISTEMAS DE MULTIPROCESAMIENTO Avance de tesis que presenta: Omar Ulises Pereira Zapata Asesor de Tesis: Dr. Pedro Mejía Alvarez. Sección de Computación CINVESTAV-IPN, México 1
CONTENIDO Introducción Planteamiento del problema Objetivos Avances obtenidos Trabajo futuro Publicaciones Conclusiones 2
INTRODUCCIÓN La correctitud de un Sistema de Tiempo Real se basa tanto en un buen funcionamiento lógico, como en el cumplimiento de las restricciones de tiempos. Los Sistemas de Tiempo Real (STR) se pueden clasificar como: STR Duros (hard) STR Suaves (soft) 3
PLANIFICACIÓN DE TAREAS DE TIEMPO REAL Los algoritmos de planificación se pueden clasificar en: Algoritmos con manejo de prioridad fija Algoritmos con manejo de prioridad dinámica. La planificación puede realizarse en forma: Fuera de línea (Off-line) En línea (on-line) 4
PLANIFICACIÓN SOBRE MULTIPROCESADORES La solución general al problema de planificación de un conjunto de tareas de tiempo real sobre multiprocesadores envuelve dos algoritmos: Uno que asigna las tareas a procesadores individuales, y otro que las planifique en cada procesador. La planificación sobre multiprocesadores puede realizarse siguiendo: Esquema Particionado Esquema No-Particionado o Global 5
ESQUEMA PARTICIONADO 6
ESQUEMA NO-PARTICIONADO PROCESADORES P1 COLA GLOBAL DE TAREAS PLANIFICADOR P2 Pn 7
RESTRICCIONES DE PRECEDENCIA Si una tarea no puede comenzar su ejecución hasta que todas sus predecesoras hayan terminado, entonces diremos que es una tarea del tipo AND. Si una tarea comienza su ejecución cuando alguna o algunas de sus predecesoras directas terminen, entonces diremos que es una tarea del tipo OR. Si el conjunto completo posee tareas del tipo AND y del tipo OR, entonces diremos que el conjunto de tareas tiene restricciones de precedencia AND/OR. 8
MODELO AND/OR A1 O3 A B C F G A2 a) O4 b) Estructuras AND/OR. a) Estructura AND. b) Estructura OR. 9
RESTRICCIONES DE ENERGÍA Minimización del consumo de energía es importante para dispositivos tales como: Laptops, PDA s, sistemas de cómputo empotrados, etc., donde el tiempo de vida útil de la bateria es crítico. Desarrolladores de hardware han introducido estandares en el problema del manejo de energía tales como ACPI (Advanced Configuration and Power Interface). Recientemente algunos procesadores permiten operar en un rango de voltajes y frecuencias, considerando de esta manera el manejo de energía. 10
TAREAS DE TIEMPO REAL APERIODICAS PERIODICAS NO DESALOJABLES DESALOJABLES NO DESALOJABLES DESALOJABLES MANEJO DE ENERGIA SISTEMAS UNIPROCESADORES SISTEMAS CON MULTIPLES PROCESADORES NUMERO DE PROCESADORES INFINITO NUMERO DE PROCESADORES FIJO TAREAS INDEPENDIENTES TAREAS CON RESTRICCIONES DE PRECEDENCIA 11
PLANTEAMIENTO DEL PROBLEMA Problema 1: Cuál es el número mínimo de procesadores requerido para ejecutar un conjunto de tareas periódicas expulsables considerando un esquema de planificación global, de forma tal que todas las tareas cumplan con sus plazos de respuesta, utilizando las políticas de planificación Rate Monotonic y EDF? 12
OBJETIVOS Desarrollar algoritmos de planificación para el esquema global que sean eficientes. Comparar los algoritmos desarrollados contra los algoritmos existentes tanto en el esquema particionado, así como en el esquema global. Establecer las condiciones necesarias en donde el esquema global mejora al esquema particionado. 13
Problema 2: PLANTEAMIENTO DEL PROBLEMA De que forma es posible planificar un conjunto de tareas de tiempo real con restricciones de precedencia en un ambiente de múltiples procesadores?. Las restricciones de precedencia a considerar son del tipo: a) Simples (AND), y b) Compuestas (con restricciones AND y OR). 14
OBJETIVOS El problema que se plantea, considera un sistema de tiempo real en donde existe una sobrecarga. Maximizar el número de tareas resultante después de eliminar la sobrecarga. Maximizar el valor del conjunto de tareas resultante. 15
Problema 3: PLANTEAMIENTO DEL PROBLEMA Cuál es el consumo mínimo de energía posible que puede obtenerse en un sistema de tiempo real con múltiples procesadores de forma tal que todas las tareas cumplan con sus plazos de respuesta? 16
VARIANTES DEL PROBLEMA # 3 A CONSIDERAR Número de procesadores infinito: El problema consiste en encontrar el número mínimo de procesadores para planificar un conjunto de tareas periódicas tal que se minimize el consumo de energía y se cumplan con los plazos de respuesta. Número de procesadores fijo: El problema consiste en minimizar el consumo de la energía tal que se cumplan los plazos de respuesta de las tareas del sistema. Con pérdida de plazos: El problema consistiría en minimizar el consumo de energía en un sistema en donde se permite la pérdida de plazos de respuesta de las tareas. 17
OBJETIVO FINAL Se considera atacar el problema de minimizar el consumo de energía en sistemas de tiempo real sobre múltiples procesadores, en donde las tareas son críticas y además poseen restricciones de precedencia. 18
TRABAJO REALIZADO Se realizó un estudio de las condiciones de planificabilidad para Rate Monotonic sobre un procesador. Se realizó un análisis comparativo de los mejores algoritmos de planificación de tiempo real sobre multiprocesadores, tanto del esquema particionado así como del esquema global. Se redefinieron y propusieron algunos algoritmos de planificación de tiempo real bajo RM en el esquema particionado. 19
MODELO SIMPLE DE TAREAS Una tarea puede caracterizarse de forma simple como un par ordenado (P, C) donde: P : Periodo de la tarea C : Tiempo de Cómputo D = P donde D es el plazo de respuesta. Se define. U = C/P como la utilización de la tarea. 20
OTRAS CONSIDERACIONES Los procesadores son homogéneos. Las tareas son periódicas y desalojables. Todas las tareas son independientes. Las tareas sólo requieren accesos al procesador. Todo el cómputo extra (overhead) realizado por las operaciones dentro del kernel se considera nulo. Se utilizaran los esquemas de planificación particionado y global. 21
CONDICION DE PLANIFICABILIDAD WC Condición WC: Si un conjunto τ de n tareas es planificable de acuerdo al algoritmo RM, entonces la mínima utilización que se logra del CPU es n(2 1/n 1). 1 0.95 0.9 0.85 n i=1 C i / T i 0.8 0.75 0.7 0.65 0.6 0.55 0.5 2 4 6 8 10 12 14 16 18 20 No. de Tareas (n) 22
CONDICIONES DE SIMULACIÓN Los periodos de las tareas se generaron utilizando distribución uniforme donde: 10 T i 500 Los tiempos de cómputo se obtienen bajo una distribución uniforme con: 0 C i αt i Se varía el factor de carga máximo α entre 0 y 1. α = max i=1..n U i Se consideraron conjuntos de tareas con utilizaciones entre 75 % y 95 %. 23
CONDICIONES DE PLANIFICABILIDAD PARA RM α = 0,8 24
% DE FACTIBILIDAD CON UTILIZACIÓN = 80 % Condiciones de Planificabilidad α 0.2 0.5 0.8 1.0 WC 0 6 53 69 IP 0 10 65 80 UO 0 25 81 85 RBOUND 0 33 74 84 PO 0 37 76 89 HC 0 10 55 71 ROOT 0 13 59 73 Algoritmo SR 59 99 99 100 Algoritmo DCT 63 99 100 100 Algoritmo 1 53 78 97 99 Algoritmo 3 61 79 97 99 25
CONDICIONES DE PLANIFICABILIDAD PARA RM Algoritmo Cota de Utilización Complejidad Condición WC n(2 1/n 1) O(n) Condición IP Cn/Tn 2(1 + u (n 1) ) (n 1) 1 O(n log n) Condición PO U (n 1)(2 β/(n 1) 1) + 2 1 β 1 O(n log n) Condición RBOUND U (n 1)(r 1/(n 1) 1) + 2/r 1 O(n log n) Condición UO Cn/Tn 2[ n 1 i=1 (1 + u i )] 1 1 O(n) Condición HC K(2 1/K 1) O(n 5/2 ) Condición ROOT R(2 1/R 1) O(n 2 ) SR O(n log n) DCT O(n 2 ) ALGORITMO 1 O(n 2 ) ALGORITMO 2 O(n 2 ) ALGORITMO 3 O(n 3 ) 26
RENDIMIENTOS DE LOS ALGORITMOS Sea N 0 y N(A) el número de procesadores usado por un algoritmo óptimo y el número de procesadores usado por la heurística A respectivamente. Entonces el rendimiento asintótico en el peor caso del algoritmo A, denotado como R(A) se define: R(A) = lím N 0 N(A) N 0 27
RESUMEN ALGORITMOS FUERA DE LINEA Algoritmo Condición Complejidad R(A) RMNF Condición IP O(n log n) 2.67 RMFF Condición IP O(n log n) 2.33 RMBF Condición IP O(n log n) 2.33 RM-FFDU Condición UO O(n log n) 5/3 FFDUF Condición WC O(n log n) 2.0 RMST Condición PO O(n log n) 1/1-α RMGT Condición PO y IFF O(n log n) 7/4 RBound-MP Condición Rbound O(n log n) Desconocido 28
RESUMEN ALGORITMOS EN DE LINEA Algoritmo Condición Complejidad R(A) RMNF-WC Condición WC O(n) 2.88 RMFF-WC Condición WC O(n log n) 2.33 RMBF-WC Condición WC O(n log n) 2.33 RMGT-M Condición PO O(n) 1/(1-α) Next Fit M Condición WC O(n) 2.28 29
CONDICIONES DE SIMULACIÓN Se definen k conjuntos de tareas donde: 100 k 1000 Los periodos tienen una distribución uniforme donde: 1 T i 500 Los tiempos de cómputo se obtienen bajo una distribución uniforme con: 0 C i αt i Se varía el factor de carga máximo α entre 0 y 1. α = max i=1..n U i 30
ALGORITMOS FUERA DE LINEA BAJO RM NUMERO DE PROCESADORES 700 600 500 400 300 200 100 CARGA TOTAL RMNF RMFF RMBF FFDUF RM-FFDU RMST RMGT RBOUND-MP α = 0.8 0 100 200 300 400 500 600 700 800 900 1000 NUMERO DE TAREAS 31
ALGORITMOS EN LINEA BAJO EDF NUMERO DE PROCESADORES 600 500 400 300 200 100 CARGA TOTAL EDF-NF EDF-FF EDF-BF EDF-WF α = 0.8 0 100 200 300 400 500 600 700 800 900 1000 NUMERO DE TAREAS 32
ALGORITMOS GLOBALES BAJO RM NUMERO DE PROCESADORES 600 500 400 300 200 100 CARGA TOTAL RM ADAPTIVE-TKC RM-US[m/(3m-2)] α = 0.8 0 100 200 300 400 500 600 700 800 900 1000 NUMERO DE TAREAS 33
CONDICIONES DE SIMULACIÓN Los periodos tienen una distribución uniforme donde: 1 T i 500 Los tiempos de cómputo se obtienen bajo una distribución uniforme con: 0 C i αt i Se varía el factor de carga máximo α entre 0 y 1. α = max i=1..n U i El número de procesadores a considerar en los experimentos son: 4, 8 y 16. 34
ALGORITMOS FUERA DE LINEA BAJO RM % FACTIBILIDAD 100 80 60 40 20 RMNF RM-FFDU FFDUF RMFF RMBF RMST RMGT RBOUND-MP α = 0.5 0 7 8 9 10 11 12 13 14 15 16 UTILIZACION 35
ALGORITMOS FUERA DE LINEA BAJO EDF % FACTIBILIDAD 100 80 60 40 20 EDF-NFI EDF-FFI EDF-BFI EDF-WFI EDF-NFD EDF-FFD EDF-BFD EDF-WFD α = 0.5 0 11.5 12 12.5 13 13.5 14 14.5 15 15.5 16 UTILIZACION 36
ALGORITMOS GLOBALES BAJO RM 100 80 RM ADAPTIVE-TKC RM-US[m/(3m-2)] α = 0.5 % FACTIBILIDAD 60 40 20 0 7 8 9 10 11 12 13 14 15 16 UTILIZACION 37
RESUMEN ALGORITMOS MODIFICADOS Algoritmo Condición Complejidad R(A) RMSTMod Condición PO O(n log n) 1/1-α RMGTMod Condición PO y IFF O(n log n) Desconocido RMFFMod Condición WC y IFF O(n log n) 7/4 RMBFMod Condición WC y IFF O(n log n) 7/4 38
700 600 UTILIZACION TOTAL RMST RMST-Mod RMGT RMGT-Mod ALGORITMOS MODIFICADOS FUERA DE LINEA Factor de Carga = 0.8 No. PROCESADORES 500 400 300 200 100 0 100 200 300 400 500 600 700 800 900 1000 No. TAREAS 39
ALGORITMOS MODIFICADOS EN LINEA Factor de Carga = 0.8 500 UTILIZACION TOTAL RMFF RMFF-Mod RMBF RMBF-Mod No. PROCESADORES 400 300 200 100 0 100 200 300 400 500 600 700 800 900 1000 No. TAREAS 40
TRABAJO FUTURO Realizar una serie de experimentos con distribuciones diferentes a la uniforme. Desarollo e implementación de un algoritmo de planificación para el esquema global. Continuar con el trabajo establecido en los problemas 2 y 3 antes descritos. 41
CUATRIMESTRES 2003 2004 2005 1er. 2do. 3er. 1er. 2do. 3er. 1er. 2do. 3er. PROBLEMA 1. REVISION DEL ESTADO DEL ARTE. DESARROLLO DE ALGORITMOS. ESCRITURA. PROBLEMA 2. REVISION DEL ESTADO DEL ARTE. DESARROLLO DE ALGORITMOS. ESCRITURA. PROBLEMA 3. REVISION DEL ESTADO DEL ARTE. PROBLEMA CON PROCESADORES INFINITOS. PROBLEMA CON PROCESADORES FIJOS. ESCRITURA. SEMINARIOS DE INVESTIGACION 42
PUBLICACIONES Omar U. Pereira Zapata and Pedro Mejía-Alvarez, Analysis of Real-Time Multiprocessor Scheduling Algorithms, Proceedings of the IEEE Real-Time Systems Symposium, Cancun, México.3-5 December 2003. 43
CONCLUSIONES 44