Planificacion con multiples procesadores.

Download Report

Transcript Planificacion con multiples procesadores.

Planificación en Multiprocesadores
Dr. Pedro Mejia Alvarez
CINVESTAV-IPN
Departamento de Computación
Sistemas de Tiempo Real
1
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
2
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
3
Planificacion de Tiempo Real
t1
t2
t3
P
Como se planifica un conjunto de tareas tal que sus
requermientos de tiempo real se garantizen ?
ad hoc
process
Desarrollo de algoritmos
de planificacion RM,DM
and EDF y sus tecnica de
analisis
Proceso
de ingenieria
basado en
metodos
analiticos
Real-Time Scheduling
t1
t2
t3
P
Como se planifica un conjunto de tareas tal que sus
requermientos de tiempo real se garantizen ?
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
Planificacion de tiempo real
en multiples procesadores
t2
t1
P1
t3
P2
Problemas:
Como planificar un conjunto de tareas de tiempo real tal que sus
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
Planificacion de tiempo real
en multiples procesadores
t2
t1
P1
t3
P2
2 Problemas principales a resolver:
• Problema de la Asignacion de tareas a procesadores.
• Problema de la planificaciond e las tareas en los
procesadores.
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
8
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
9
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
10
Bin Packing
El problema es fácil al resolverlo intuitivamente, pero el
tratar de formalizarlo es complejo..
Sistemas de Tiempo Real
11
Bin Packing
Que 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
12
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
13
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
14
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
15
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
16
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?
Sistemas de Tiempo Real
17
Test de Planificabilidad basado en RMS
• Para el modelo simple, con prioridades monótonas
en frecuencia, los plazos están garantizados si
N
U
Cj
j 1 T j
U

N 2
= N ( 21/N
1/ N

1
- 1)
min
es la utilización mínima garantizada para N tareas
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:
N
Ci
U   1
i 1 Ti
•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.
Planificación basada en Prioridades
• Rate-Monotonic
(2, 1)
(5, 2.5)
missed deadline
• Earliest Deadline First
(2, 1)
(5, 2.5)
0
1
2
3
4
5
6
7
8
9
10
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
22
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
23
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
24
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
25
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.
Sistemas de Tiempo Real
26
Algoritmos de planificacion en multiples
procesadores: global vs particionado
particionado
global
P1
P2
P3
P1
P2
P3
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
28
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
29
Esquema Particionado
Dispacher
Sistemas de Tiempo Real
30
Algoritmo RMFF
Esta Heurística es conocida como el Rate Monotonic Fisrt Fit.
De acuerdo con este algoritmo, las tareas son primero ordenadas
en 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ón
total de Ti y las tareas x ya asignadas previamente al
procesador es igual o menor que URM(x+1).
Sistemas de Tiempo Real
31
Algoritmo RMFF
Ti
ui
(2,1)
0.500
(2.5,0.1) 0.040
(3,1)
0.333
(4,1)
0.250
Ti
ui
(4.5,.01) 0.022
(5,1)
0.300
(6,1)
0.167
(7,1)
0.143
Ti
ui
(8,1)
0.125
(8.5,0.1) 0.012
(9,1)
0.111
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
32
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
33
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
34
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
35
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
36
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
37
Algoritmos Eficientes
RMST (Rate Monotonic Small Tasks)
RMGT (Rate Monotonic General Tasks)
Adaptive TkC
......
Sistemas de Tiempo Real
38