planificación en sistemas de tiempo real

32
UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real en sistemas empotrados Departamento de Arquitectura y Tecnología de Computadores Universidad del País Vasco / Euskal Herriko Unibertsitatea Master en Ingeniería de Sistemas Empotrados

Upload: votuyen

Post on 11-Feb-2017

236 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 1

Introducción al tiempo real en sistemas

empotrados

Departamento de Arquitectura y Tecnología de Computadores

Universidad del País Vasco / Euskal Herriko Unibertsitatea

Master en Ingeniería de Sistemas Empotrados

Page 2: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 2

Contenido

• Introducción• Soporte de interrupciones• Conceptos de sistemas operativos• Planificación en sistemas de tiempo real• Mecanismos de sincronización y comunicación• Planificación de tiempo real con recursos

compartidos

Page 3: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 3

Planificación en sistemas de tiempo real

CONTENIDO

• Introducción• Modelo de tareas de tiempo real• Criterios para la planificación en tiempo real• Políticas de planificación para tiempo real• Planificación con tareas aperiódicas

BIBIOGRAFIA

• Q. Li: Real-Time concepts for embedded systems. CMP Books, 2003.• J. Liu: Real-Time Systems, Prentice-Hall, 2000• H. Kopetz: Real-Time Systems: design principles for distributed embedded

applications. Kluwer, 1997.• J.A. de la Puente et al: Introducción a los sistemas de tiempo real.

http://polaris.dit.upm.es/~aalonso/doctorado/str.html#Transparencias• J.A. de la Puente: Diseño de sistemas de tiempo real.

http://www.depeca.uah.es/docencia/doctorado/cursos04_05/82622/documentos/str/Puente-Desarrollo-str.pdf

Page 4: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 4

Introducción

• Dado un conjunto de tareas, se trata de planificar su ejecución de forma que todas ellas cumplan los plazos.

• Requiere políticas de planificación específicas.

Page 5: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 5

IntroducciónEnfoques (1)

• Algunos sistemas operativos soportan procesos de “clase de tiempo real”.– Son procesos con prioridades estáticas más altas

que los procesos de tiempo compartido.– Ejemplos: Unix SVR4, Windows– Sólo adecuados para sistemas flexibles (soft real-

time):• Contienen código no expulsable en el núcleo.• En general, demasiado voluminosos para sistemas

empotrados y poco fiables.

Page 6: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 6

IntroducciónEnfoques (2)

• Enfoque de máquina virtual– Un núcleo RT planifica el SO como una tarea más.– Ejemplo: RT-Linux– El núcleo RT intercepta las interrupciones del

hardware, por lo que la ejecución del SO puede ser interrumpida en cualquier momento.

– Es posible comunicar tareas mediante colas FIFO.

(Extraído del curso de J.A. de la Puente, UPM)

Page 7: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 7

IntroducciónEnfoques (3)

• Sobre la máquina desnuda: fabricar un núcleo básico ad-hoc con un planificador de tareas de tiempo real.– Costoso en tiempo de desarrollo.

(Extraído del curso de J.A. de la Puente, UPM)

Page 8: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 8

IntroducciónEnfoques (4)

• Sistemas Operativos de Tiempo Real (RTOS) específicos.– Flexibles– Ejemplos: LynxOS, QNX, VxWorks, FreeRTOS, MARTE

(Univ. de Cantabria)…– Estándar POSIX: apartados para sistemas de tiempo

real que definen normas y servicios específicos a incluir.

(Extraído del curso de J.A. de la Puente, UPM)

Page 9: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 9

Modelo de tareas de tiempo real

• Acción. Mínima cantidad de cómputo en un sistema de tiempo real.– Ejemplo: decodificar un cuadro de video.– Requiere un recurso de cómputo.

• Tarea. Conjunto de acciones repetidas a lo largo del tiempo.– Ejemplo: visualizar una secuencia de video.

τ= <J1, J2, …>

Page 10: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 10

Modelo de tareas de tiempo real

• Instante de activación de la acción, rk

– La acción puede empezar a ejecutarse. • límite de la acción, dk.

– La acción debe haber terminado

• Tarea periódica: rk = r0 + kT– Habitualmente: rk+1 = di

y entonces el periodo es: T = dk − rk

• Tarea aperiódica: rk+1 − rk variable.

J0 J1 J2

r0 r1 r2 r3d0 d1 d2

Page 11: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 11

Jk

Rk

Modelo de tareas de tiempo real

• Plazo de ejecución, Dk = dk − rk

– Condición necesaria: Ck < Dk

• Tiempo de respuesta, Rk

Ck

Dk

rk dk

Page 12: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 12

Modelo de tareas de tiempo realPlazos

• Plazo estricto– Todas las acciones deben ocurrir dentro del plazo– Los fallos pueden ser catastróficos– Ejemplo: sistema de control de vuelo

• Plazo flexible– Se pueden incumplir plazos de vez en cuando– El valor de la respuesta decrece con el paso del tiempo– Ejemplo: sistema de adquisición

• Plazo firme– Se pueden perder plazos ocasionalmente– Las respuestas fuera de plazo no tienen valor– Ejemplo: Sistemas multimedia

Page 13: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 13

Modelo de tareas de tiempo realPlazos

(Extraído del curso de J.A. de la Puente, UPM)

Page 14: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 14

Modelo de tareas de tiempo realPlazos

• Sistemas garantizados– Plazos estrictos– Validación

• Sistemas de esfuerzo óptimo (best-effort)– Plazos flexibles– Requisitos estadísticos– Criterios de Calidad de Servicio (QoS):

• Tasa de cumplimiento del plazo• Tiempos de respuesta• etc

Page 15: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 15

Modelo de tareas de tiempo realParámetros

• N tareas periódicas• 1 procesador• Parámetros temporales de las tareas:

– Tarea τi : (Φi, Ti, Ci, Di)– Una acción Ji,k

• Se activa en ri,k = Φi + kTi

• Debe terminar antes de di,k = Φi + kTi + Di

Habitualmente: Di = Ti

Page 16: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 16

Criterios para la planificación en tiempo real

• Dado un conjunto de tareas de tiempo real {τ1, τ2, …, τN}

el objetivo es proporcionar una planificación viable.

• Condición necesaria para la viabilidad (para tareas periódicas):

U=∑ Ci/Ti < 1• Tareas aperiódicas: encontrar periodo mínimo (si es

posible) y expresarlas como periódicas con ese periodo.

Page 17: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 17

Criterios para la planificación en tiempo real

• La viabilidad es un criterio absoluto en sistemas de plazo estricto.

• Sistemas de plazo no estricto: – Plazo flexible: minimizar la magnitud de los

retrasos.– Plazo firme: minimizar el número de retrasos.

Page 18: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 18

Criterios para la planificación en tiempo realEjemplo

¿viable?

Φ T C Dτ1 0 4 1 4τ2 0 6 1 6τ3 0 12 2 12τ4 0 12 3 12

Page 19: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 19

Políticas de planificación para tiempo realTipos de planificación

• Según cuándo se elabora la planificación:– Planificación estática

• Todos los parámetros temporales son fijos y conocidos.

• Puede establecerse un hiperperiodo (m.c.m. de todos los Ti).

• El plan se elabora antes de la ejecución y se almacena en una tabla.

• El planificador se limita a consultar la tabla en determinados instantes para seleccionar la tarea a ejecutar.

– Planificación dinámica• No existe un plan preestablecido.

Page 20: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 20

Políticas de planificación para tiempo real.Ejecutivo cíclico

• Planificación estática con un esquema periódico.

Φ T C Dτ1 0 4 1 4τ2 0 6 1 6τ3 0 12 2 12τ4 0 12 3 12

Periodo principal: H = mcm(Ti) = 12

τ1 τ2 τ1 τ1 τ1 τ1 τ1τ2 τ2τ2 τ4τ4 τ3τ3

Periodo secundario:TS = 4

Page 21: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 21

Políticas de planificación para tiempo real.Ejecutivo cíclico

• Plan cíclico:

Ciclo secundario Acciones a activar

1 τ1 τ2 τ3

2 τ1 τ4

3 τ1 τ2

τ1 τ2 τ1 τ1 τ2τ4τ3

Page 22: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 22

Políticas de planificación para tiempo real.Ejecutivo cíclico

• ¿Cómo definir el periodo secundario, TS?• Condiciones:

– La ejecución de cada acción debe caber en un ciclo.

– Debe ser un divisor entero del periodo de alguna tarea (y por lo tanto de H).

– Entre el periodo de activación de una acción y su tiempo límite debe de haber al menos un ciclo completo.

Page 23: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 23

Políticas de planificación para tiempo real.Ejecutivo cíclico

• No es posible cumplir simultáneamente las condiciones (1) y (3).

• Solución: segmentar tareas.

Φ T C Dτ1 0 4 1 4τ2 0 6 1 6τ3 0 12 5 12

Page 24: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 24

Políticas de planificación para tiempo real.Ejecutivo cíclico con segmentación de tareas

Φ T C Dτ1 0 4 1 4τ2 0 6 1 6τ31 0 12 2 12τ32 - 12 3 12

τ1 τ2 τ1 τ1 τ2τ31 τ32

Page 25: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 25

Políticas de planificación para tiempo real.Ejecutivo cíclico. Limitaciones.

• En general, el problema de construir el plan cíclico es muy complejo (NP-duro).

• Sólo apto para tareas periódicas.

Page 26: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 26

Políticas de planificación para tiempo real.Basadas en prioridades

• Las tareas son expulsables.• Admiten tareas aperiódicas (y esporádicas).• Prioridades fijas:

– Rate Monotonic (RM). Mayor prioridad para las tareas de menor periodo.

– Deadline Monotonic (DM). Mayor prioridad para las tareas de plazo más corto.(RM y DM son equivalentes cuando Di = Ti).

• Prioridades dinámicas:– Earliest Deadline First (EDF). Se planifica la tarea cuyo

plazo está más cercano a expirar.• La condición de viabilidad (U<1) es necesaria y suficiente

para que EDF encuentre una forma de cumplir todos los plazos.

Page 27: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 27

Políticas de planificación para tiempo real.RM

Φ T C Dτ1 0 4 1 4τ2 0 6 1 6τ3 0 12 2 12τ4 0 12 3 12

τ1 τ2 τ1 τ1 τ1 τ1 τ1τ2 τ2τ2 τ4τ4 τ3τ3 τ4 τ4 τ4 τ4

Page 28: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 28

Políticas de planificación para tiempo real.DM vs RM

Φ T C Dτ1 0 4 1 4τ2 0 6 1 6τ3 0 12 2 12τ4 0 12 3 9

τ1 τ2 τ1 τ1τ2τ4τ3 τ4RM τ4

D4 se cumple!

τ1 τ2 τ1 τ1τ2τ4 τ3τ4 τ3DM

Page 29: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 29

Políticas de planificación para tiempo real.EDF

Φ T C Dτ1 0 4 1 4τ2 0 6 1 6τ3 0 12 2 12τ4 0 12 3 12

τ1 τ2 τ1 τ1τ2τ4τ3 τ4 τ4

Page 30: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 30

Políticas de planificación para tiempo real.EDF

Φ T C Dτ1 0 4 1 4τ2 0 6 1 6τ3 0 12 2 12τ4 0 12 3 9

τ1 τ2 τ1 τ1τ2τ4 τ3τ4

Page 31: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 31

Planificación con tareas aperiódicas

• Tarea aperiódica– Se activa como respuesta a un suceso externo. – Puede tener restricciones de tiempo o no.– Tarea esporádica: Tarea aperiódica con

restricciones de tiempo críticas.• Objetivos:

– Garantizar plazos de las tareas críticas (esporádicas y periódicas).

– Buenos tiempos de respuesta para las aperiódicas no críticas.

Page 32: Planificación en sistemas de tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 32

Planificación con tareas aperiódicas.Políticas

• Procesamiento en segundo plano– Prioridades bajas para las tareas aperiódicas no

críticas.• Procesamiento por interrupciones

– Las tareas aperiódicas se tratan inmediatamente.• Reserva de ancho de banda

– Reserva a priori de capacidad de CPU para tareas aperiódicas.

– Se procesan inmediatamente.• Extracción dinámica de holgura

– Reserva de capacidad de CPU para tareas aperiódicas en tiempo de ejecución.