Download - Planificación en Multiprocesadores
![Page 1: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/1.jpg)
Sistemas de Tiempo Real 1
Planificación en Multiprocesadores
Dr. Pedro Mejia Alvarez
CINVESTAV-IPN
Departamento de Computación
![Page 2: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/2.jpg)
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.
![Page 3: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/3.jpg)
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
![Page 4: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/4.jpg)
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
![Page 5: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/5.jpg)
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 ?
![Page 6: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/6.jpg)
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
![Page 7: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/7.jpg)
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
![Page 8: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/8.jpg)
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
![Page 9: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/9.jpg)
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.
![Page 10: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/10.jpg)
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 ?.
![Page 11: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/11.jpg)
Sistemas de Tiempo Real 11
Bin Packing
El problema es fácil al resolverlo intuitivamente, pero el
tratar de formalizarlo es complejo..
![Page 12: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/12.jpg)
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
![Page 13: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/13.jpg)
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)
![Page 14: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/14.jpg)
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
![Page 15: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/15.jpg)
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.
![Page 16: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/16.jpg)
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}
![Page 17: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/17.jpg)
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?
![Page 18: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/18.jpg)
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
![Page 19: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/19.jpg)
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.
![Page 20: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/20.jpg)
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.
![Page 21: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/21.jpg)
• 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
![Page 22: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/22.jpg)
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.
![Page 23: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/23.jpg)
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
![Page 24: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/24.jpg)
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
![Page 25: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/25.jpg)
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.
![Page 26: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/26.jpg)
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.
![Page 27: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/27.jpg)
P1 P2 P3
particionado
P1 P2 P3
global
Algoritmos de planificacion en multiples procesadores: global vs particionado
![Page 28: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/28.jpg)
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
![Page 29: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/29.jpg)
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 )
![Page 30: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/30.jpg)
Sistemas de Tiempo Real 30
Esquema Particionado
Dispacher
![Page 31: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/31.jpg)
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).
![Page 32: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/32.jpg)
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)
![Page 33: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/33.jpg)
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
![Page 34: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/34.jpg)
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.
![Page 35: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/35.jpg)
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.
![Page 36: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/36.jpg)
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
![Page 37: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/37.jpg)
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
![Page 38: Planificación en Multiprocesadores](https://reader036.vdocuments.co/reader036/viewer/2022081511/56814408550346895db09d4c/html5/thumbnails/38.jpg)
Sistemas de Tiempo Real 38
Algoritmos Eficientes
RMST (Rate Monotonic Small Tasks)
RMGT (Rate Monotonic General Tasks)
Adaptive TkC
......