Planificación en Multiprocesadores
description
Transcript of Planificación en Multiprocesadores
Sistemas de Tiempo Real 1
Planificación en Multiprocesadores
Dr. Pedro Mejia Alvarez
CINVESTAV-IPN
Departamento de Computación
Sistemas de Tiempo Real 2
Objetivos
• Comprender los problemas relacionados con las políticas de planificación sobre multiprocesadores
• Entender los dos esquemas de asignamiento de tareas: El esquema Particionado y el no-Particionado
• Revisar algunos algoritmos propuestos sobre el tema.
Sistemas de Tiempo Real 3
Indice
Introducción
Bin Packing
Asignamiento de tareas.
Definición de un modelo simple de Sistema.
Esquema Particionado.
Esquema No Particionado
Planificacion de Tiempo Real
22 3311
P
Como se planifica un conjunto de tareas tal que sus Como se planifica un conjunto de tareas tal que sus requermientos de tiempo real se garantizen ?requermientos de tiempo real se garantizen ?
ad hocprocess
Proceso de ingenieria
basado en metodos analiticos
Desarrollo de algoritmos de planificacion RM,DM and EDF y sus tecnica de analisis
Real-Time Scheduling
22 3311
P
RM,DM and EDF tienen:
• cotas de utilizacion conocidas• algoritmos de despacho en tiempo de ejecucion eficientes• bajo numero de expulsiones• la habilidad de planificar tareas esporadicas y con restricciones de sincronizacion
Como se planifica un conjunto de tareas tal que sus Como se planifica un conjunto de tareas tal que sus requermientos de tiempo real se garantizen ?requermientos de tiempo real se garantizen ?
Planificacion de tiempo real en multiples procesadores
22 3311
P1
Como planificar un conjunto de tareas de tiempo real tal que sus Como planificar un conjunto de tareas de tiempo real tal que sus requerimientos de tiempo real se satisfagan y se logre:requerimientos de tiempo real se satisfagan y se logre:• cotas de utilizacion conocidas (altas)• algoritmos de despacho en tiempo de ejecucion eficintes.• fbajo numero de expulsiones • la habilidad de planificar tareas esporadicas y con restricciones de sincronizacion
Problemas:
P2
Planificacion de tiempo real en multiples procesadores
22 3311
P1
• Problema de la Asignacion de tareas a procesadores.• Problema de la planificaciond e las tareas en los procesadores.
2 Problemas principales a resolver:
P2
Sistemas de Tiempo Real 8
Indice
Introducción
Bin Packing
Asignamiento de tareas.
Definición de un modelo simple de Sistema.
Esquema Particionado.
Esquema No Particionado
Sistemas de Tiempo Real 9
Bin Packing
Dado un número de artículos (A, ..., E) de varios pesos.
De que manera es posible colocarlos en dos cajas
de tal forma que el máximo peso de los artículos
en cada caja, no exceda los 20Kg.
Sistemas de Tiempo Real 10
Bin Packing
Primer enfoque para resolver el problema.
Repeat for all unpacked boxes
escoga el articulo mas pesado que queda
pongalo en el bin mas ligero
end repeat
La operación sería: Poner (A,1),(B,2),(D,1),(E,2),(C,2)
El problema es donde poner F ?.
Sistemas de Tiempo Real 11
Bin Packing
El problema es fácil al resolverlo intuitivamente, pero el
tratar de formalizarlo es complejo..
Sistemas de Tiempo Real 12
Bin PackingQue pasa si incrementamos el número de artículos ?
No. Artículos No. Combinaciones
4 24
5 120
6 720
7 5040
8 40320
9 362880
12 479,001,600
Sistemas de Tiempo Real 13
Bin Packing
Algoritmos aproximados para Bin Packing.
First Fit (FF)
Best Fit (BF)
First Fit Decreasing (FFD)
Best Fit Decreasing (BFD)
Sistemas de Tiempo Real 14
Indice
Introducción
Bin Packing
Asignacion de tareas.
Definición de un modelo simple de Sistema.
Esquema Particionado.
Esquema No Particionado
Sistemas de Tiempo Real 15
Asignacion de tareas
El asignamiento puede llevarse a cabo:
Off-line
-Hard Real Time
On -line
- Primero se lleva a cabo una prueba de
aceptación de la tarea.
Sistemas de Tiempo Real 16
Asignacion de tareas
Dado un número de tareas T={t1,...,tn] a procesar sobre una máquina con un cierto número de
procesadores P={p1,...,pk}.
Encontrar para cada tarea una asignacion tal que el número de procesadores sea el mínimo?
I:{ti,...,tn} ---> {p1,...,pk}
Sistemas de Tiempo Real 17
Asignamiento de tareas
Ejemplo:
Como planificar n independientes periódicas
y desalojables tareas, cuyos deadlines son iguales
a sus respectivos periodos, usando el algoritmo de
planificación EDF?
Test de Planificabilidad basado en RMS
• Para el modelo simple, con prioridades monótonas en frecuencia, los plazos están garantizados si
U = N ( 21/N - 1)
es la utilización mínima garantizada para N tareasmin
N
j
N
j
j NT
CU
1
/1 12
Planificación EDF
• Algoritmo optimo bajo un solo procesador y tareas expulsables.• Como se sabe si un conjunto de tareas es planificable bajo EDF ?• Se pueden garantizar los plazos de respuesta si se cumple que:
UC
Ti
ii
N
1
1
•Optima con una cota de utilización del 100%
•Si plazo < periodo, verifica los tiempos de respuesta en un intervalo igual a el hiperperiodo con fase de tareas 0.
Suposiciones de la planificación
• Las tareas pueden ser periódicas o aperiodicas.• Se ejecutan en un solo procesador• Las tareas son expulsables y no comparten recursos• Los plazos son iguales a los periodos.• No hay overhead del sistema operativo.
• Rate-Monotonic
• Earliest Deadline First
(2, 1)
(5, 2.5)
missed deadline
(2, 1)
(5, 2.5)
0 1 2 3 4 5 6 7 8 9 10
Planificación basada en Prioridades
Sistemas de Tiempo Real 22
Asignacion de tareas
Si se tienen tareas uniformemente distribuidas [0, U]
la utilización total por procesador en el algoritmo
First Fit es igual 0.98U en promedio.
De la misma manera la utilización total por procesador
en el algoritmo First Fit Drecreasing es igual a
0.98U en promedio.
Sistemas de Tiempo Real 23
Asignacion de tareas
Planificación con desalojo de independientes
periódicas tareas con prioridades fijas
sobre multiprocesadores homogéneos
puede resolverse usando uno de dos
esquemas diferentes basados en como
las tareas son asignadas a los procesadores.
Esquema Particionado y Esquema No-Particionado
Sistemas de Tiempo Real 24
Indice
Introducción
Bin Packing
Asignamiento de tareas.
Definición de un modelo simple de Sistema.
Esquema Particionado.
Esquema No Particionado
Sistemas de Tiempo Real 25
Definición de un modelo simple
Las tareas son independientes, con arrivos periódicos y pueden siempre ser desalojables.
Las tareas no requieren un acceso exclusivo a algún otro recurso que no sea el procesador.
El costo del desalojo es considerado nulo.
.
El costo de migración es considerado cero.
Sistemas de Tiempo Real 26
Definición de un modelo simple
Los procesadores se consideran homogéneos.
El costo cuando una tarea arriba es cero.
En general los costos de comunicación y cambio de contexto son considerados nulos.
P1 P2 P3
particionado
P1 P2 P3
global
Algoritmos de planificacion en multiples procesadores: global vs particionado
Sistemas de Tiempo Real 28
Indice
Introducción
Bin Packing
Asignamiento de tareas.
Definición de un modelo simple de Sistema.
Esquema Particionado.
Esquema No Particionado
Sistemas de Tiempo Real 29
Esquema Particionado
Todas las instancias de una tarea son ejecutadas sobre
el mismo procesador.
El procesador a utilizar será determinado antes por un
algoritmo de particionamiento
Garantiza el rendimiento de los tiempos de ejecución
(en términos de planificabilidad )
Sistemas de Tiempo Real 30
Esquema Particionado
Dispacher
Sistemas de Tiempo Real 31
Algoritmo RMFF
Esta Heurística es conocida como el Rate Monotonic Fisrt Fit.
De acuerdo con este algoritmo, las tareas son primero ordenadasen un orden creciente correspondiente a sus periodos.
Así se asignan las tareas en turno, comenzando desde T1 hasta que todas son asignadas siguiendo el First Fit algoritmo.
Una tarea Ti puede ser asignada a un procesador si la utilizacióntotal de Ti y las tareas x ya asignadas previamente al procesador es igual o menor que URM(x+1).
Sistemas de Tiempo Real 32
Algoritmo RMFFTi ui Ti ui Ti ui
(2,1) 0.500 (4.5,.01) 0.022 (8,1) 0.125(2.5,0.1) 0.040 (5,1) 0.300 (8.5,0.1) 0.012(3,1) 0.333 (6,1) 0.167 (9,1) 0.111(4,1) 0.250 (7,1) 0.143
P1: (2,1), (2.5,0.1), (4.5,0.1), (6,1), (8.5,.0.1)P2: (3,1), (4,1), (7,1)P3: (5,1), (8,1), (9,1)
(a)
P1: (2,1), (3,1), (6,1)P2: (4,1), (5,1), (7,1), (8,1), (9,1)P3: (2.5,0.1), (4.5,0.1), (8.5,0.1)
(b)
Sistemas de Tiempo Real 33
Indice
Introducción
Bin Packing
Asignamiento de tareas.
Definición de un modelo simple de Sistema.
Esquema Particionado.
Esquema No Particionado
Sistemas de Tiempo Real 34
Esquema No Particionado
La tarea puede ejecutarse sobre cualquier procesador
aun después de haber sido desalojada.
No existe una prueba de planificabilidad eficiente.
No hay un esquema optimo de asignamiento de
prioridad.
Sistemas de Tiempo Real 35
GRMS.
GRMS es un esquema de planificación global para
tareas usando Rate Monotonic sobre
multiprocesadores.
El control de admisión es un algoritmo que asegura que
solamente las tareas cuyos deadlines son
conocidas serán aceptadas en el sistema.
Posee costos de migración bajos.
Sistemas de Tiempo Real 36
GRMS.
Por que utilizar un esquema global?
Task Period Computation Utilization
T1 5 3 0.60
T2 7 4 0.57
T3 10 2 0.20
T4 15 7 0.46
Sistemas de Tiempo Real 37
GRMS.
Para tareas de tiempo real criticas la prueba de aceptación deberá asegurar que ninguna tarea admitida
pierda su plazo.
Dos algoritmos de control de admisión.
Instante Critico
Control de admisión optimo
Sistemas de Tiempo Real 38
Algoritmos Eficientes
RMST (Rate Monotonic Small Tasks)
RMGT (Rate Monotonic General Tasks)
Adaptive TkC
......