Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Planificación Cíclica Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Slides:



Advertisements
Presentaciones similares
Diseño y análisis de algoritmos
Advertisements

Planificación de Monoprocesadores
Gestión de Recursos Informáticos Unidad Nº 4: Proyectos Informáticos
Sistema operativo Componentes de un sistema operativo
PLANEACION DE PROYECTOS
Planificación con Prioridades Fijas
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Programación Estructurada
Introducción al tiempo real en sistemas empotrados
La regla de la esquina noroeste
Sistemas Operativos Unidad II Procesos.
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
CONCURRENCIA. PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL Juan Antonio Fernández Madrigal, 2004 Departamento de Ingeniería de Sistemas y Automática.
Tema 3. Optimización de Código
METODOLOGIA DE LA PROGRAMACION
Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.
Analisis y Diseño de Algoritmos Tema: Grafos 3ra Parte
GRAFOS HUGO ARAYA CARRASCO.
Analisis de Planificación
Tema 10: Gestión de Memoria
Deadlocks Abrazo Mortal Bloqueos mutuos
Planificación de Tareas Aperiodicas
Sistemas Operativos Procesos.
1 Concurrencia Procesos y Programas. 2 Establecer Comunicación entre procesos (memoria común)
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Planificación Cíclica
Secuencia y duración De actividades.
Capítulo 6: Planificación del CPU – Parte a
(Organización y Manejo de Archivos)
Programación del Mantenimiento Es el proceso mediante el cual se hacen coincidir los trabajos de Mantenimiento con los recursos y se les asigna una secuencia.
Modelo del Sistema Dr. Pedro Mejía Alvarez
Scheduling Problem ¿Cuándo y dónde debo hacer cada trabajo ?
Características de un sistema operativo
Planificación Dinámica de Tareas
Planificación y Gestión de procesos
Tipos de Datos. Entrada-Salida.. La entrada-salida (I/O) le permite a un programa comunicarse con el mundo exterior. Esta comunicación puede realizarse.
Planificación de Tareas Aperiodicas
APLICACIONES.
Sincronización de Procesos
Informática III Arquitectura de Software para aplicaciones de tiempo real estricto Ejecutivos cíclicos VS. Ejecutivos de prioridad fija Integrantes: Anibal.
Programación y control del proyecto
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Tema 10: Algoritmos voraces
SISTEMAS DE TIEMPO REAL Diseño de Sistemas de Tiempo Real. HRT-HOOD
Planificación Temporal de Proyectos Informáticos
Representación de Algoritmos
Métodos de Planificación
DIAGRAMA DE FLECHAS O RUTA CRITICA
Introducción a las Ingenierías de la Información
1 5. UNIDADES DE PROGRAMAS. 2 Uso de mecanismos de control de secuencia de: Invocaciones Retornos Entre: PPSP 1 a) I R SP 1 SP 2 b) I R Unidades subordinadas.
COMPLETA LOS ESPACIOS CON LA PALABRA ADECUADA 1.LOS _______________________ SE DEFINEN COMO LA _________________LÓGICA DE _________PARA SOLUCIONAR UN.
Introducción al análisis de sistemas
PLANIFICACION DEL PROCESADOR
ROUND ROBIN.
Introducción a los TADs
Cinvestav-IPN, Sección de Computación, Mexico
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Operations Management
Estructuras de Control
Introduccion a los Sistemas en Tiempo Real
TIPOS DE SISTEMAS OPERATIVOS.  Que es un sistema operativo??  Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar,
Fundamentos de Computación
Planificación de uso del procesador Rina Arauz. Planificación de CPU 2 UNAN-Leon La ejecución de un trabajo se compone de secuencias de procesador y de.
Ejemplo nº1 En una fábrica de cerveza se producen dos tipos: rubia y
PSP1 Lección 5: Estimaciones de tiempo y tamaño. Objetivos  ¿Qué es PSP? Alcance y necesidad.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
4. Definición del proyecto. Qué tan difícil es manejar un proyecto? ◦Dependerá del tamaño del mismo ◦De los costos ◦De los plazos ◦Del nivel de dificultad.
L.I. Gerardo Ortiz Rivera
L.I. Gerardo Ortiz Rivera
Transcripción de la presentación:

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Planificación Cíclica Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 2 Indice Planificación Cícilica Estructura del ciclo principal y secundario Método para construir el plan cíclico Cambios de Modo Tareas Aperiodicas y Esporadicas Grafica de flujo de red Ventajas y Desventajas

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 3 Planificacion basada en el Reloj Se calcula una plantilla de planificacion estatica fuera de linea Se minimiza la sobrecarga Aplica solo cuando los parametros temporales son conocidos y no cambian.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 4 Planificacion basada en el Reloj Modelo de tareas periodicas para planificacion ciclica – Cada tarea Ti es invocada regularmente con un periodo Pi – Cada tarea tiene su propia fase – Los parametros son conocidos a priori Para aplicaciones periodicas, el plan estatico se construye para un hiperperiodo. Las tareas aperiodicas se planifican buscando intervalos vacios dentro de la planificacion.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 5 Planificación Cíclica Si todas las tareas son periódicas, se puede confeccionar un plan de ejecución fijo Se trata de un esquema que se repite cada ( ciclo principal ) El ciclo principal se divide en ciclos secundarios, con período En cada ciclo secundario se ejecutan las actividades correspondientes a determinadas tareas El sistema debe ser determinista,todos los parametros temporales deben ser conocidos a priori. T = m c m ( Tj ) M T ( T = k T ) SMS

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 6 Ejemplo  El ciclo principal dura 100 ms  Se compone de 4 ciclos secundarios de 25 ms cada uno T = 100ms M AAAABBBBCCDDE T = 25ms S

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 7 Programación del Ejecutivo cíclico procedure Cyclic_Executive is type Cycle is mod 4; Frame ; Cycle : = 0; begin loop Wait_for_Interrupt; case Frame is when 0 => A; B; C; when 1 => A; B; D; E; when 2 => A; B; C; when 3 => A; B; D; end case; Frame : = Frame + 1; end loop; end Cyclic_Executive;

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 8 Programación del Ejecutivo cíclico Plan ciclico: (tk,  (tk)), al instante tk, ejecuta la tarea  (tk) o tiempo ocioso Planificador: proximo punto de desicion i y entrada k de la tabla = 0 timer = tk do forever acepta interrupcion del timer timer =  i/N  + tk Ejecuta la tarea  sleep Se asume que solo hay una tarea por frame

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 9 El cumplimiento de tiempos debe verificarse al final de cada frame Las reglas para seleccionar el valor de m para una tarea con parametros {(Ti,Ci, D i )} para n tareas es: –m  d i, y m  Ci ; i = 1, 2, …, n –M / n = entero (m divide a Ti en al menos una tarea) –debe haber al menos un frame en el intervalo entre el tiempo de inicio y el plazo de cada Job. 2m - gcd (m, T i )  Di, for i = 1, 2, …, n ciclo principal frames (ciclos secundarios) i - 1 idleframe overrun 1234 ii + 1 tt + mt + 2mt + 3mt + 4mt + M ... Estructura del ciclo principal

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 10 Tareas = {(T,C,D)} = {(15, 1, 14), (20, 2, 26), (22, 3,22)} Hiperperiodo = 660 Valores posibles de m - f  min{D i } = 14  m = 1, 2, 3, 4, …, 14 - f  max{Ci} = 3  m = 3, 4, 5, …, 14 - f divide a Ti  m = 3, 4, 5, 10, f - gcd(f,Ti)  Di  m = 3, 4, 5 Ejemplo: selección del valor de m

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 11 Ejemplo: selección del valor de m f = …. (15, 1, 14) (20, 2, 26) (22, 3) 

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 12 Ejemplo: selección del valor de m Suponga que T = {(5, 1, 4), (20, 7, 26), (22, 5)} Reglas: – 1 f  min{Di} = 4 – 2 f  max{Ci} = 7 no pueden satisfacerse simultaneamente Podemos descomponer tareas grandes en tareas pequenas T’ = {(5, 1, 4), (20, 3, 26), (20, 4, 26), (22, 2), (22, 3)} para planificarlas en un procesador La programacion del planificador del ejecutivo ciclico cambia cuando las tareas se descomponen.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 13 1/17/01CIS Aplicar las reglas para seleccionar el valor del frame. Si no existe un plan de ejecución factible (no existe un valor factible del frame), partir los jobs en partes menores y seleccionar de nuevo el valor del frame. Asignar las partes en los frames. Algoritmo flujo de red iterativo: –Permite encontrar un plan de ejecución, si este existe. –Encuentra los planes factibles para cada tamaño de frame, desde el frame mas grande al mas pequeño. –Si se encuentra un plan factible, este nos dirá si es necesario descomponer las tareas en partes. –Si el algoritmo no encuentra un plan factible para todos los tamaños de frames, no existe un plan factible. Método para construir el plan cíclico

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 14 Asuma que cada tarea se puede dividir (es expulsable) eligir f que divida a H y a 2f - gcd ( f, p i )  D i Para cada f, construya un diagrama de flujo de red. una fuente y un destino un vértice (vertex) para cada job J i,k (instancia de la tarea) y una flecha (edge) desde el destino con capacidad C i un vértice para cada frame f k y una flecha(edge) desde cada frame hacia el destino (sink) con capacidad f Si J i,j puede planificarse en el frame f k, añade una flecha (edge) entre los vértices con capacidadad f Encuentre el máximo flujo entre el destino (source) y la fuente(sink). la planificación es factible si el flujo máximo es igual a el tiempo de ejecución total. Algoritmo para la construccion del plan cícilico.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 15 Plan de Ejecución Cíclico (ejemplos) Tres tareas (15, 1, 14) (20, 2, 26) and (22,3) H = 330, f  3, y f = 3, 4, 5, 10, o 11 f no pueder ser muy grande dado que 2f - gcd(….)  14 f puede tener valores 3, 4, y 5 Tres tareas (4, 1) (5, 2, 7) and (20, 5) H=20, f  5, pero f  4 job slices: divide la 3ra. tarea en (20, 1) (20, 3) y (20, 3) f puede tener valor de 4 T 1 T 2 T 3,,1 T 1 T 3,2 T 1 T 2 T 3,3 T 1 T 2 T 1 T

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 16 Grafica de flujo de red Tres tareas (4, 1) (5, 2, 7) y (20, 5) H=20, f = 2 o 4 source sink J i,k f1f1

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 17 Propiedades No hay concurrencia en la ejecución Cada ciclo secundario es una secuencia de invocaciones de procedimientos Los procedimientos pueden compartir datos No hace falta usar mecanismos de exclusión mutua Los períodos deben ser armónicos Puede ser necesario utilizar períodos más cortos de lo necesario No hace falta analizar el comportamiento temporal El sistema es correcto por construcción

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 18 Ventajas del ejecutivo cíclico Simplicidad y Predecibilidad: Las restricciones temporales pueden checarse facilmente. El plan de ejecución cíclico puede representarse en una tabla para usarse por el kernel Cambio de contexto muy pequeño, poco overhead de planificación Facil para representar restricciones de precedencia

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 19 Desventajas del ejecutivo cíclico Las tareas esporádicas son difíciles de tratar Se puede utilizar un servidor de consulta El plan cíclico es difícil de construir Si los períodos son de diferentes órdenes de magnitud el número de ciclos secundarios se hace muy grande Puede ser necesario partir una tarea en varios procedimientos En el caso más general es NP-duro Es poco flexible y difícil de mantener Cada vez que se cambia una tarea hay que rehacer toda la planificación No permite integrar tareas con plazos criticos y acriticos.