Upload
raca82
View
165
Download
1
Embed Size (px)
Citation preview
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 1/48
Planificación demultiprocesadores y en tiempo
real
Capítulo 10
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 2/48
Clasificación de los sistemasmultiprocesador
• Mutiprocesador débilmente acoplado: – Cada procesador tiene su propia memoria principal y
sus propios canales de E/S.
• Procesadores especializados funcionalmente: – Procesadores de E/S. – Controlados por el procesador principal.
• Multiprocesador fuertemente acoplado. – Los procesadores comparten una memoria principal
común. – Controlados por el sistema operativo.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 3/48
Paralelismo independiente
• Aplicación o trabajo separado.• No existe sincronización.
• Hay más de un procesador disponible: – El tiempo medio de respuesta a los usuariosserá menor.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 4/48
Paralelismo de grano grueso ymuy grueso
• Sincronización entre los procesos muy burda.
• Bueno para los procesos concurrentesque se ejecutan en un monoprocesador multiprogramado: – Puede verse respaldado por un
multiprocesador con escasos cambios.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 5/48
Paralelismo de grano medio
• Un proceso paralelo o varias tareas enuna única aplicación.
• Una sola aplicación es un conjunto dehilos.
• Los hilos interactúan de forma muyfrecuente.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 6/48
Paralelismo de grano fino
• Aplicaciones muy paralelas.• Campo muy especializado y
fragmentado.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 7/48
Planificación
• Asignación de procesos a los procesadores.
• Uso de multiprogramación en procesadores individuales.
• Expedición real de los procesos.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 8/48
Asignación de procesos a los procesadores
• Tratar a los procesadores como un recursoreservado y asignar los procesos a los procesadores por demanda.
• Se asigna un proceso a un procesador deforma permanente: – Cola a corto plazo dedicada para cada
procesador.
– Sobrecarga menor. – Un procesador puede estar desocupado mientrasque otro procesador tiene trabajos pendientes.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 9/48
Asignación de procesos a los procesadores
• Cola global: – Ejecutados en cualquier procesador que esté disponible.
• Arquitectura maestro/esclavo: – Las funciones clave del núcleo siempre ejecutan en un
determinado procesador. – El maestro es el responsable de la planificación.
– El esclavo envía una solicitud del servicio al maestro.
– Desventajas:
• Un fallo en el maestro hace caer todo el sistema.• El maestro puede llegar a ser un cuello de botella del rendimiento.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 10/48
Asignación de procesos a los procesadores
• Arquitectura simétrica: – El sistema operativo puede ejecutarse en
cualquier procesador.
– Cada procesador se autoplanifica. – Complica el sistema operativo:
• Debe asegurarse que dos procesadores no
seleccionen el mismo proceso.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 11/48
Planificación del procesos
• Una cola única para todos los procesadores.
• Varias colas según la prioridad.
• Todas las colas alimentan a una reservacomún de procesadores.
• El algoritmo específico de planificación esmucho menos importante con dos
procesadores que con uno.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 12/48
Hilos
• La ejecución se separa del resto de la definiciónde un proceso.
• Una aplicación puede implementarse como un
conjunto de hilos que cooperan y ejecutanconcurrentemente en el mismo espacio dedirecciones.
• Los hilos que se ejecutan simultáneamente en
distintos procesadores posibilitan un aumentodrástico del rendimiento.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 13/48
Planificación de hilos paramultiprocesadores
• Reparto de carga: – Los procesos no se asignan a un procesador
en particular.
• Planificación por grupos: – Se planifica un conjunto de hilos afines para
su ejecución en un conjunto de
procesadores al mismo tiempo.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 14/48
Planificación de hilos paramultiprocesadores
• Asignación dedicada de procesadores: – Asignación de hilos a un procesador
específico.
• Planificación dinámica: – El número de hilos en un programa se
puede cambiar en el curso de la ejecución.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 15/48
Reparto de carga
• La carga se distribuye uniformementeentre los procesadores.
• No es necesario un planificador centralizado.
• Uso de colas globales.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 16/48
Desventajas del reparto decarga
• La cola central necesita exclusión mutua: – Puede convertirse en un cuello de botella si muchos
procesadores buscan trabajo al mismo tiempo.
• Es improbable que los hilos expulsados reanuden
su ejecución en el mismo procesador: – El uso de la cache será menos eficiente.
• Si todos los hilos están en la cola global, todos loshilos de un programa no conseguirán acceder a los procesadores al mismo tiempo.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 17/48
Planificación por grupos
• Planificación simultánea de hilos queforman parte de un único proceso.
• Útil para aplicaciones cuyo rendimiento se
degrada seriamente cuando alguna parte dela aplicación no se está ejecutando.
• Los hilos normalmente necesitan
sincronizarse mutuamente.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 18/48
Planificación por grupos
División uniforme División por pesos
Grupo 1Grupo 2Grupo 1 Grupo 2Grupo 1
37,5% Desperdiciado 15% Desperdiciado
Tiempo
desocupado
desocupado
desocupado
Figura 10.2. Ejemplo de planificación por grupos con uno y cuatro hilos [FEIT90a].
desocupado
desocupado
desocupado
desocupado
desocupado
desocupado
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 19/48
Asignación dedicada de procesadores
• Cuando se planifica una aplicación, seasigna cada uno de sus hilos a un procesador.
• Algunos procesadores pueden estar desocupados.
• No hay multiprogramación de
procesadores.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 20/48
Planificación dinámica
• La aplicación permite cambiar dinámicamente elnúmero de hilos de un proceso.
• El sistema operativo ajusta la carga para mejorar lautilización:
– Asigna los procesadores desocupados. – Las nuevas llegadas pueden ser asignadas a un
procesador quitándoselo a algún proceso que tenga másde un procesador asignado.
– La petición queda pendiente hasta que un procesador
esté disponible. – Se asignará un procesador a las nuevas llegadas antes de
que se den las aplicaciones que se están ejecutando.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 21/48
Sistemas en tiempo real
• La exactitud del sistema no depende sólo delresultado lógico de un cálculo sino también delinstante en que se produzca el resultado.
• Las tareas o procesos intentan controlar oreaccionar ante sucesos que tienen lugar en elmundo exterior.
• Estos sucesos se producen en “tiempo real” y
el proceso debe poder ir al paso de ellos.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 22/48
Sistemas en tiempo real
• Control de experimentos de laboratorio.• Procesos de control de edificios.• Robótica.• Control del tráfico aéreo.• Telecomunicaciones.
• Sistema de control y mando militar.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 23/48
Características de los sistemasoperativos en tiempo real
• Determinismo: – Las operaciones se realizan en instantes
fijos y predeterminados o en intervalos de
tiempo predeterminados. – Hace referencia a cuánto tiempo consume
un sistema operativo en reconocer unainterrupción.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 24/48
Características de los sistemasoperativos en tiempo real
• Sensibilidad: – Cuánto tiempo consume un sistema
operativo en dar servicio a la interrupción,
después de reconocerla. – Incluye la cantidad de tiempo necesario
para comenzar la ejecución de lainterrupción.
– Incluye la cantidad de tiempo necesario para ejecutar la interrupción.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 25/48
Características de los sistemasoperativos en tiempo real
• Control del usuario: – El usuario especifica prioridades.
– Especifica paginación.
– Qué procesos deben estar siempre residentes enla memoria principal.
– El usuario especifica los algoritmos de disco quese emplearán.
– Factores que disponen a los procesos en varias bandas de prioridad.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 26/48
Características de los sistemasoperativos en tiempo real
• Fiabilidad: – La degradación del rendimiento puede tener
consecuencias catastróficas.
– Intento de corregir el problema o minimizar sus efectos mientras continúa la ejecución.
– Ejecuta la tareas más importantes y de
mayor prioridad.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 27/48
Características de los sistemasoperativos en tiempo real
• Cambios rápidos de proceso o hilos.• Pequeño tamaño.
• Capacidad de responder rápidamente a
interrupciones externas.• Multitarea con herramientas de
comunicación entre procesos, como
semáforos, señales y sucesos.• Uso de archivos secuenciales especiales que
pueden acumular datos a alta velocidad.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 28/48
Características de los sistemasoperativos en tiempo real
• Planificación preferente basada en prioridades.
• Reducción de los intervalos en los que
están inhabilitadas las interrupciones.• Demorar tareas durante un tiempo fijo.• Alarmas especiales y temporizadores.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 29/48
Planificación de un proceso detiempo real
Solicitud de un proceso en tiempo
real
Tiempo de planificación
Pulso dereloj
El proceso de tiempo real se añade a la cola deejecución en espera de su próxima fracción
(a) Planificador preferente por turno rotatorio
Figura 10.4. Planificación de un proceso de tiempo real.
Proceso 1 Proceso 2 Proceso n Proceso de tiemporeal
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 30/48
Planificación de un proceso detiempo real
Figura 10.4. Planificación de un proceso de tiempo real.
(b) Planificador preferente controlado por prioridades
Proceso actual
Solicitud de un proceso en tiempo
realEl proceso de tiempo real pasa al principio de la cola de ejecución
Proceso de tiemporeal
Tiempo de planificación
El proceso actual se bloquea o termina
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 31/48
Planificación de un proceso detiempo real
Solicitud de un proceso en tiempo
real
Tiempo de planificación
Figura 10.4. Planificación de un proceso de tiempo real.
Proceso actual Proceso de tiemporeal
Espera de otroinstante deapropiación
Instante deapropiación
(c) Planificador preferente controlado por prioridades con instantes de apropiación
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 32/48
Planificación de un proceso detiempo real
(d) Planificador preferente inmediato
Figura 10.4. Planificación de un proceso de tiempo real.
Solicitud de un procesoen tiempo real
Proceso actual Proceso de tiemporeal
Tiempo de planificación
El proceso de tiempo real expulsa al proceso actual y se ejecuta
inmediatamente
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 33/48
Planificación en tiempo real
• Métodos con tablas estáticas: – Determina, en tiempo de ejecución, cuándo
debe comenzar la ejecución de una tarea.
• Métodos preferentes con prioridadesestáticas: – Se puede emplear un planificador
convencional preferente con prioridades.• Métodos de planificación dinámica.
• Métodos dinámicos del mejor resultado.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 34/48
Planificación por plazos
• En las aplicaciones de tiempo real no preocupa la velocidad absoluta, sinocompletar las tareas.
• La planificación de las tareas con el plazo más próximo minimiza la proporción de tareas que no cumplen sus
plazos.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 35/48
Planificación por plazos
• Información utilizada: – Instante en que está lista. – Plazo de comienzo.
– Plazo de finalización. – Tiempo de proceso. – Exigencias de recursos.
– Prioridad. – Estructura de subtareas.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 36/48
Dos tareas
Tabla 10.2. Perfil de ejecución de dos tareas periódicas.
Proceso Instante de llegada Tiempo de ejecución Plazo final
Plazo deB1
Plazo deB1
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 37/48
Tiempos de llegada,
ejecución y plazos
Planificación por prioridades fijas; A tiene
prioridad
Planificación por prioridades fijas; B tiene prioridad
Plazo deA1
Plazo deA2
B1
Plazo deA3
Plazo deA4
B1
Plazo deA5
Tiempo (ms.)
(No cumplido)
(No cumplido) (No cumplido)
A1 A4
Planificación por el plazomás cercano con plazos determinación
A2 B1 A3
Figura 10.5. Planificación de tareas periódicas de tiempo real con plazos de terminación.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 38/48
Requisitos
Plazo máscercano
Plazo máscercano contiemposlibres no
forzosos
Primero enllegar/primeroen servirse(FCFS)
Figura 10.6. Planificación de tareas aperiódicas de tiempo real con plazos de inicio.
(no cumplido)
(no cumplido) (no cumplido)
Plazos de inicio
Instantes de llegada
Servicio
Plazo de inicio
Instantes de llegada
Servicio
Plazo de inicio
Instantes de llegada
Servicio
Plazo de inicio
Instantes de llegada
l ifi ió ó d
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 39/48
Planificación monótona defrecuencia
• Asigna prioridades a las tareas enfunción de sus periodos.
• La tarea de más alta prioridad es la del
periodo más corto.
Di d i d
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 40/48
Diagrama de tiempos de tareas periódicas
Ciclo 1 Ciclo 2
Periodo T de la tarea P
Tiempo C de ejecución de la tarea P
libre
Tiempo
Figura 10.7. Diagrama de tiempos de tareas periódicas.
Procesamiento Procesamiento
Alto
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 41/48
Bajo
Frecuencia (Hz.)
Frecuencia más baja y tarea de prioridad más baja
Frecuencia más alta y tareade prioridad más alta
P r
i o r
i d
a d
Figura 10.8. Una tarea con RMS [WARR91].
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 42/48
Planificación en LINUX
• Clases de planificación: – SCHED_FIFO: Hilos de tiempo real con
planificación FIFO.
– SCHED_RR: Hilos de tiempo real con planificación por turno rotatorio.
– SCHED_OTHER: Hilos que no son detiempo real y otros.
• Dentro de cada clase se utilizanmúltiples prioridades.
mínima
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 43/48
máxima
media
media
mínima
Figura 10.9. Ejemplo de planificación Linux.
(a) Prioridades relativas de los hilos (b) Flujo con planificación FIFO
(c) Flujo con planificación RR
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 44/48
Planificación en UNIX SVR4
• Máxima prioridad a los procesos detiempo real.
• El siguiente nivel de prioridad se asigna
a los procesos en modo de núcleo.• El nivel más bajo se asigna al resto de
los procesos en modo de usuario.
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 45/48
Colas de expedición SVR4
Figura 10.11. Colas de expedición de SVR4.
Pl ifi ió Wi d
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 46/48
Planificación en Windows2000
• Las prioridades se organizan en dos bandas o clases: – Tiempo real.
– Variable.• Planificador preferente con prioridades.
Mayor (31)
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 47/48
Figura 10.12. Prioridades de expedición de hilos en W2K.
Menor (16)
Mayor (15)
Menor (0)
Clases de prioridad de
tiempo real
Clases de prioridadvariable
5/8/2018 Cap10 (Planificación de multiprocesasdores y de tiempo real) - slidepdf.com
http://slidepdf.com/reader/full/cap10-planificacion-de-multiprocesasdores-y-de-tiempo-real 48/48
prioridad basepor encima de lo normal
mayor
por debajo de lo normal
menor
por encima de lo normal
normal
por debajo de lo normal
menor
Prioridad de
procesos
Prioridad de
base de hilos
Prioridad
dinámica de hilos