Planificaci - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

Planificaci

Description:

Planificaci n Nora Blet Inform tica III Concurrencia Los sistemas de tiempo real controlan actividades del mundo exterior que son concurrentes Para ello deben ... – PowerPoint PPT presentation

Number of Views:86
Avg rating:3.0/5.0
Slides: 54
Provided by: Anto274
Category:

less

Transcript and Presenter's Notes

Title: Planificaci


1
Planificación
  • Nora Blet
  • Informática III

2
Concurrencia
  • Los sistemas de tiempo real controlan actividades
    del mundo exterior que son concurrentes
  • Para ello deben ejecutar varias actividades o
    tareas en paralelo (concurrentemente)
  • La ejecución de las tareas se multiplexa en el
    tiempo en uno o varios procesadores

3
Núcleo de ejecución (RTSS)
  • Los procesos concurrentes se ejecutan con la
    ayuda de un núcleo de ejecución (RTSS, Run-time
    support system) que tiene muchas de las
    propiedades de los planificadores en un sistema
    operativo y, se situa lógicamente entre el
    hardware y el software de la aplicación
  • Se encarga de la creación, terminación y
    multiplexado de los procesos

4
Núcleo de ejecución (RTSS) Opción 1
  • Desarrollado como parte de la aplicación

5
Núcleo de ejecución (RTSS) Opción 2
  • Sistemas operativos de tiempo real específicos
    (LynxOS, QNX, VxWorks, estándar POSX)

6
Núcleo de ejecución (RTSS) Opción 3
  • Sobre la un núcleo máquina desnuda fabricar un
    núcleo básico ad-hoc con un planificador de
    tareas de tiempo real

7
Núcleo de ejecución (RTSS) Opción 4
  • Arquitectura con máquina virtual (RT-Linux)

8
Objetivos
  • Cómo planificar el uso de los recursos de forma
    tal de garantizar los requisitos temporales?
  • En general un esquema de planificación
    proporciona dos elementos
  • Un algoritmo de planificación que determina el
    orden de acceso de las tareas a los recursos del
    sistema (en particular, el procesador)
  • Un método de análisis que permite predecir el
    comportamiento temporal del sistema
  • Las predicciones son útiles para confirmar que
    pueden garantizarse los requisitos temporales del
    sistema
  • En general, se estudia el peor comportamiento
    posible

9
Introducción
  • Un esquema de planificación puede ser
  • Estático el análisis se realiza antes de la
    ejecución
  • Dinámico se toman decisiones en tiempo de
    ejecución
  • Un método estático muy usado es el de
    planificación con prioridades fijas y desalojo
  • La prioridad es un parámetro relacionado con la
    urgencia o importancia de la tarea
  • En todo momento se ejecuta la tarea con mayor
    prioridad de todas las ejecutables (es decir, no
    esté retrasado o suspendido)

10
Arquitecturas de software
  • Definen la estructura general de una clase de
    sistemas de tiempo real
  • Hay dos tipos principales de arquitecturas
  • Arquitectura síncrona
  • Las tareas se ejecutan según un plan de ejecución
    fijo (realizado por el diseñador)
  • El sistema operativo se reemplaza por un
    ejecutivo cíclico
  • Arquitectura asíncrona
  • Las tareas se reparten el procesador de forma
    dinámica (invisible para el diseñador)
  • Cada tarea tiene una prioridad
  • En cada momento se ejecuta la tarea activa de
    mayor prioridad

11
Arquitectura síncrona
12
Arquitectura asíncrona
13
Esquemas de planificación
14
Modelo de tareas simple
  • Se supone que la aplicación está compuesta por un
    conjunto fijo de tareas y se conoce en tiempo de
    ejecución (estático)
  • Todas las tareas son periódicas, con periodos
    conocidos
  • Las tareas son completamente independientes unas
    de otras
  • Los plazos de respuesta de todas las tareas son
    iguales a sus periodos (o sea, cada tarea debe
    acabar antes de ser ejecutada nuevamente)
  • El tiempo de ejecución máximo de cada tarea es
    conocido y fijo
  • Todas las sobrecargas del sistema son ignoradas

15
Parámetros de planificación
  • N Número de tareas en el sistema
  • T Período de activación de una tarea
  • C Tiempo de ejecución máximo de una tarea
  • D Plazo de respuesta de una tarea
  • R Tiempo de respuesta máximo de una tarea
  • P Prioridad
  • En el modelo de tareas simple, para cada tarea
    ?i
  • Se trata de asegurar

16
Modelo de tareas en tiempo real
dk
rk
Dk
Ck
Rk
17
Hiperperíodo
  • En el modelo de tarea simple se denomina
    hiperperíodo del sistema a
  • El comportamiento temporal se repite cada
    hiperperíodo

18
Planificación con ejecutivos cíclicos
  • Si todas las tareas son periódicas, puede
    confeccionarse un plan de ejecución fijo
  • Se trata de un esquema que se repite cada ciclo
    principal
  • Cada ciclo principal se divide en ciclos
    secundarios, con periodos
  • En cada ciclo secundario se ejecutan las
    actividades correspondientes a determinadas
    tareas

19
Ejemplo
20
Ejemplo
21
Propiedades
  • No hay concurrencia en la ejecución
  • Cada ciclo secundario es una secuencia de
    llamadas a procedimientos
  • Los procedimientos comparten un espacio de
    direcciones, por lo que pueden pasar datos entre
    ellos
  • No hace falta usar mecanismos de exclusión mutua
    porque es imposible el acceso concurrente
  • Todos los periodos de las tareas deben ser
    múltiplos del periodo de los ciclos secundarios
  • Puede ser necesario usar períodos mas cortos de
    lo necesario
  • No hace falta analizar el comportamiento temporal
  • El sistema es correcto por construcción

22
Problemas
  • Dificultad para incorporar tareas esporádicas
  • Dificultad en la construcción del plan cíclico
  • 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 un problema NP duro
  • Poco flexible y difícil de mantener
  • Cada vez que se cambia una tarea hay que rehacer
    toda la planificación

23
Programación basada en tareas
  • Las tareas se realizan como procesos concurrentes
  • Una tarea puede estar en varios estados
    (suponiendo que no exista comunicación entre
    procesos)

24
Programación basada en procesos
  • Las tareas ejecutables se despachan para su
    ejecución de acuerdo con un esquema de
    planificación
  • Prioridades fijas (FPS, por Fixed-Priority
    Scheduling)
  • Primero el más urgente (EDS, por Earliest
    Deadline First)
  • Primero el más valioso (VBS, por Value-Based
    Scheduling)

25
Planificación con prioridades fijas
  • Es el método más corriente en los sistemas
    operativos de tiempo real
  • Cada tarea tiene un prioridad fija, estática, que
    se calcula antes de su ejecución
  • Las tareas ejecutables se despachan para su
    ejecución en orden de prioridad
  • El despacho puede hacerse
  • Con desalojo
  • Sin desalojo
  • Con desalojo limitado
  • En general, se supondrá prioridad fija con
    desalojo
  • Se mejora la reacción de los procesos de alta
    prioridad

26
Primero el más urgente
  • Las tareas ejecutables se despachan por orden de
    los respectivos tiempos límites (absolutos)
  • La primer tarea que se ejecuta es la más urgente
    (aquélla cuyo plazo vence antes)
  • Los tiempos límites absolutos se calculan en
    tiempo de ejecución (esquema dinámico)

27
Primero el más valioso
  • Si el sistema puede sobrecargarse no será
    suficiente el simple uso de los métodos
    anteriores
  • Se precisa un esquema más adaptable
  • Se asigna un valor a cada tarea, y se emplea un
    algoritmo de planificación en línea basado en
    ellos para decidir cuál es la siguiente tarea a
    ejecutar

28
Prioridades de tasa monotónica
  • Se asigna menor prioridad a las tareas de menor
    período (rate monotonic scheduling), es óptima
    para el modelo de tareas simple
  • Si pueden garantizarse los plazos de un conjunto
    de tareas con otra asignación de prioridades,
    podrán garantizarse con el esquema de asignación
    de prioridades con tasa monotónica

29
Factor de utilización
  • Es una medida de la carga del procesador para un
    conjunto de tareas
  • En un sistema con un único procesador
  • Liu y Layland (1973) demostraron que usando este
    factor puede obtenerse un test de
    planificabilidad para RM

30
Análisis basado en la utilización
  • Para el modelo simple, con DT, con prioridades
    de tasa monotónica, los plazos están garantizados
    si
  • N Utilización mínima garantizada U0(N)
  • 1 100.0
  • 2 82.8
  • 3 78.0
  • 4 75.7
  • 5 74.3
  • 10 71.8

31
Ejemplo 1
  • La utilización combinada es del 0.82 (gt0.78) por
    tanto este conjunto de tareas no pasa el test de
    utilización. En el instante t50 la tarea a
    incumple su primer límite temporal

Tarea T C
P U a 50 12
1 0.24 b 40 10
2 0.25 c 30 10 3
0.33
32
Ejemplo 1
33
Ejemplo 1 Diagrama de Gantt
c
b
a
c
b
0
10
20
30
40
50
Tiempo
34
Ejemplo 2
  • Este sistema está garantizado (Ult0.78)

Tarea T C
P U a 80 32
1 0.400 b 40 5
2 0.125 c 16 4 3
0.250
35
Instante crítico
  • Las líneas temporales pueden utilizarse para
    probar la planificabilidad
  • Para conjunto de tareas que comparten un tiempo
    de activación común (instante crítico) es
    suficiente dibujar una línea temporal igual al
    tamaño del periodo más largo (Liu y Layland,
    1973)
  • Si todos las tareas cumplen su primer límite
    temporal, entonces cumplirán todos sus límites
    futuros

36
Ejemplo 3
  • Este sistema no pasa la prueba de utilización
    (U1gt0.78) pero, se cumplen los plazos

Tarea T C
P U a 80 40
1 0.50 b 40 10
2 0.25 c 20 5 3
0.25
37
Ejemplo 3
Tarea
a
Desalojado
b
En ejecución
c
70
80
Tiempo
38
Utilización mínima garantizada
  • Es una condición suficiente pero no necesaria
  • En muchos casos se pueden garantizar los plazos
    con factores de utilización mayores a U0(N)
  • Sólo puede utilizarse para conjunto de tareas con
    plazos igual al periodo
  • No se puede aplicar a modelos de tareas más
    complejos

39
Factor de utilización con EDF
  • Los plazos están garantizados si y sólo si
  • Permite una mayor utilización del procesador. FPS
    tiene algunas ventajas sobre EDF
  • FPS es más sencillo de implementar
  • EDF requiere un sistema de tiempo de ejecución
    más complejo
  • Durante las situaciones de sobrecarga el
    comportamiento de FPS es mas predecible
  • EDF requiere que todas las tareas tengan un plazo
    asignado

40
Análisis del tiempo de respuesta para FPS
  • Las pruebas basadas en la utilización para FPS
    tienen 2 inconvenientes
  • No son exactas y,
  • No son realmente aplicables a un modelo de tareas
    más general
  • Se verá una forma diferente basada en el cálculo
    del tiempo de respuesta en el peor caso de cada
    tarea, Ri y una simple comprobación

R ? D
i
i
41
Análisis del tiempo de respuesta para FPS
  • El tiempo de respuesta en el peor caso de cada
    tarea es igual a la suma del tiempo de ejecución
    en el peor caso para la misma más la
    interferencia que sufre por la ejecución de
    tareas con mayor prioridad
  • La interferencia es máxima cuando todas las
    tareas se activan a la vez (instante crítico)

42
Instante crítico
  • La interferencia es máxima cuando todos las
    tareas se activan a la vez
  • El instante inicial se denomina instante crítico

43
Cálculo de la interferencia
  • El número de veces que una tarea de prioridad
    superior, j, se ejecuta durante el intervalo 0,
    Ri) es

La función techo obtiene el menor entero
mayor que el fraccionario sobre el que actúa. El
techo de 1/3 es 1, el de 6/5 es 2, y el de 6/3 es
2.
La interferencia total es
44
Cálculo del tiempo de respuesta
donde hp(i) es el conjunto de tareas de prioridad
mayor que i. La ecuación no es continua ni lineal
y no puede resolverse analíticamente (Joseph y
Pandya, 1986)
45
Cálculo del tiempo de respuesta
  • Se puede resolver mediante la relación de
    recurrencia (Audsley et al., 1993)
  • El conjunto de valores es monótono no
    decreciente
  • Un valor aceptable de puede ser Ci (o 0)

46
Cálculo del tiempo de respuesta
47
Ejemplo 4
  • Tarea T C P
  • a 7 3 3
  • b 12 3 2
  • c 20 5 1

48
Ejemplo 4
Tarea T C P
a 7 3 3 b
12 3 2 c
20 5 1
49
Ejemplo 3 - revisión
  • El cálculo de los tiempos de respuesta indica que
    todas las tareas tienen garantizados sus plazos

Tarea T C
P R a 80 40
1 80 b 40 10
2 15 c 20 5 3
5
50
Propiedades del análisis del tiempo de respuesta
  • Proporciona una condición necesaria y suficiente
    para la garantía de los plazos
  • Proporciona un análisis del comportamiento
    temporal del sistema más exacto quel método
    basado en la utilización
  • El elemento crítico es el tiempo de cómputo de
    cada tarea
  • Optimista Los plazos pueden fallar aunque el
    análisis sea positivo
  • Pesimista El análisis puede ser negativo y en la
    realidad no fallen los plazos

R ? D
i
i
51
Tiempo de ejecución en el peor caso (WCET)
  • Interesa el tiempo de ejecución en el peor caso
    (WCET, worst case execution time)
  • Hay dos formas de obtener el WCET de una tarea
  • Medida del tiempo de ejecución
  • No es fácil saber cuándo se ejecuta el peor caso
    posible
  • Análisis del código ejecutable
  • Puede ser muy pesimista
  • Hace falta tener un modelo adecuado del
    procesador
  • Es difícil tener en cuenta los efectos de los
    dispositivos de hardware (cachés, pipelines,
    estados de espera de la memoria, etc.)

52
Generalización del modelo de tareas
  • El análisis del tiempo de respuesta visto para el
    modelo de tareas básico puede extenderse con
  • Tareas esporádicas y aperiódicas
  • Plazos menores o mayores que los períodos
  • Interacción mediante secciones críticas
  • Planificación cooperativa
  • Fluctuaciones (jitter) en la activación
  • Tolerancia a fallos
  • Desfases (offsets)

53
Referencias
  • Burns, A. Wellings, A. "Sistemas de Tiempo Real y
    Lenguajes de Programación", Addison-Wesley (2003)
    Capítulo 6
  • Transparencias de Juan Antonio de la Puente
    http//polaris.dit.upm.es/jpuente/
  • Transparencias de Javier Macías Guarasa
    http//www-lsi.die.upm.es/carreras/ISSE/sistemas_
    con_restricciones_1.x2.pdf
Write a Comment
User Comments (0)
About PowerShow.com