ANALISIS Y DISEÑO DE ALGORITMOS DE PLANIFICACIÓN DE TIEMPO REAL EN SISTEMAS DE MULTIPROCESAMIENTO

Documentos relacionados
Análisis Rate Monotonic (RMA)

Planificación de Procesos

Software de Tiempo Real. Software de Tiempo Real. Consideraciones generales. Software en Tiempo Real. Conceptos Básicos. Consideraciones generales

Lección 13: Introducción a los sistemas de tiempo real

Planificación en Tiempo Real para Bajo Consumo

Introducción n a los Sistemas de Tiempo Real (RTS)

Un importante problema para sistemas de la nueva generación

Algoritmo de asignación de plazos globales en sistemas distribuidos de tiempo real con planificación EDF: comparativa de estrategias de planificación

Planificación multiprocesador y de tiempo real

Planificación dinámica de tareas

Concepto de Planificación Planificación: forma o criterio que se sigue a la hora de decidir que proceso debe entrar en ejecución.

Planificación multiprocesador y de tiempo real

Planificación con prioridades

ISO Tema 7-B,

Convivencia Gestión de Procesos

Sistemas Operativos Preguntas de Revisión

Sistemas operativos 2ª edición. Capítulo 4 Planificación del procesador (extracto de las transparencias del libro)

PROJECTE FI DE CARRERA

Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav

Conceptos de Planificación

DISEÑO DE UN SISTEMA DE CONTROL EN TIEMPO REAL PARA EL KERNEL DEL SISTEMA OPERATIVO UTILIZANDO MATLAB-SIMULINK

Tiempo de Ejecución. Midiendo el Tiempo de Ejecución

Análisis de sensibilidad en sistemas de tiempo real con prioridades dinámicas

Sistemas Operativos. Trabajo Práctico N ō 3

Desarrollo de un Sistema Gráfico para Análisis, Diseño y Monitoreo de Tareas de Tiempo Real. Tesis que presenta Ángel Fajardo Ortiz

Estructura de datos y Algoritmos. Tema III Clasificación en memoria secundaria

STR - Sistemas de Tiempo Real

Unidad 2: Gestión de Procesos

dit Planificación de tareas de tiempo real Juan Antonio de la Puente DIT/UPM UPM Copyright 2007, Juan Antonio de la Puente

Sistemas operativos 2ª edición. Capítulo 4 Planificación del procesador 4ª parte: Planificación de aplicaciones paralelas y distribuidas

Proyecto de Investigación Individual. Algoritmos de Ahorro de Energía para Sistemas de Tiempo Real de Cómputo Móvil

Kernel de Tiempo Real para Control de Procesos

Sistemas operativos, 2ª edición

5.- Despacho de CPU. Utilización máxima de CPU con multiprogramación. Ciclo CPU I/O Ejecución de un proceso = ciclo de CPU (ejecución) y espera de I/O

Niveles de Planificación

Proyecto de tesis de grado:

Administración del Procesador

Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS

! # % % &(& ) ) ) # +,., /0,.

Capítulo 5: Despacho de CPU

Tema 6: Sistemas en Tiempo Real

Introducción a la Computación Evolutiva

Sistemas recolectores de energía: teoría y diseño práctico

SISTEMAS OPERATIVOS. Ing. Raúl Alberto Rojas Reátegui

GUÍA DE ESTUDIO TEMA 8. SISTEMAS EN TIEMPO REAL. MODELOS. JERAQUÍA. SINCRONIZACIÓN

Análisis y evaluación de políticas de planificación en sistemas particionados multi-núcleo

CI63G Planificación de Sistemas de Transporte Público Urbano. Clase 12 Semestre Otoño 2008

Nivel de formación Maestría en Tecnologías de Información. Orientación. Obligatoria. Modalidad Presencial Carga horaria 80 hrs.

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos Comprender la tarea y la elección de un planificador.

Tema 12: El sistema operativo y los procesos

PLANIFICACIÓN GLOBAL EN SISTEMAS MULTIPROCESADOR DE TIEMPO REAL. Tesis propuesta para el doctorado en informática

COMPARACIÓN DE TRES MÉTODOS DE REGRESIÓN LINEAL USANDO PROCEDIMIENTOS DE SIMULACIÓN

SECUENCIACIÓN DE UNA LÍNEA DE PRODUCCIÓN CON MÁQUINAS EN PARALELO MEDIANTE PROGRAMACIÓN ENTERA MIXTA MULTI-OBJETIVO

4. Complejidad computacional

Planificación y Gestión de procesos

Análisis de esquemas de manejo de restricciones en optimización global.

Introducción al Análisis y Diseño de Algoritmos

ALGORITMOS DE PROGRAMACIÓN NO EXPULSIVOS

Fundamentos de Programación Entera. A. Revisión. Carlos Testuri Germán Ferrari

Sistemas Operativos Scheduling de Procesos

Materia: Introducción a los Sistemas Operativos

Los costes. José C. Pernías. Curso Índice

Planificación de Tareas de Tiempo Real Planificación Í d n i dice

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERIA EAP INGENIERIA INFORMATICA

Simulated Annealing & Tabu Search

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales.

Centro de Investigación y de Estudios Avanzados del IPN Departamento de Ingeniería Eléctrica Sección Computación

Introducción a los Sistemas Operativos

Sistemas de Tiempo Real Planificación de Sistemas de Tiempo Real

Mejora de los Test de Planificabilidad para Asignación Incremental de Tareas en Sistemas Multiprocesadores de Tiempo Real

Optimización en Ingeniería

OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 3 Programación Entera

Necesidad de Protección

Granularidad y latencia

Sistemas de Tiempo Real

S i s t e m a s e n t i e m p o r e a l. Autores: Pisana, Pablo Picca, Ezequiel Díaz Vélez, Agustín Saavedra, Walter Elías

5. Planificación en Tiempo real

Proyectos de Tesis 2005

Conceptos básicos de paralelismo

Sistemas Operativos. 5 Itineración de CPU. Prof. Javier Cañas R.

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U PLANIFICACION DE PROCESOS

PRÁCTICA 2 DE LABORATORIO: GESTIÓN DE RECURSOS DE MEMORIA Y PROCESADOR EN LINUX CENTOS

CONSTRUCION DE UN BRAZO ROBÓTICO E INTERFACE DE CONTROL PARA UN SISTEMA EMPOTRADO BASADO EN EL SISTEMA OPERATIVO RTEMS

Centro de Investigación en Computación T E S I S P A R A O B T E N E R E L G R A D O DE DOCTOR EN CIENCIAS DE LA COMPUTACIÓN P R E S E N T A

Sistemas Operativos Distribuidos

ORGANIZACIÓN DE COMPUTADORAS DRA. LETICIA FLORES PULIDO

PROTOTIPO DE SIMULADOR DE

Optimización y Programación Lineal

Búsqueda en espacio de estados

TEORÍA DE LA PRODUCCIÓN

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo)

1- UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES. Tecnicatura Universitaria en Programación de Sistemas

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos. Comprender la tarea y la elección de un planificador.

Planificación de Paquetes

Introducción a los Sistemas de Tiempo Real

UN ENOQUE UNIFICADO DE SISTEMA DE HORMIGAS PARA RESOLVER PROBLEMAS VRP

PRESUPUESTOS EMPRESARIALES. Presupuesto: Costos de Producción. MSc. Pedro Bejarano V. Unidad Temática 04: (1ra. Parte) Plan de Producción

Transcripción:

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