La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 5: Otros Aspectos de la Planificación

Presentaciones similares


Presentación del tema: "Tema 5: Otros Aspectos de la Planificación"— Transcripción de la presentación:

1 Tema 5: Otros Aspectos de la Planificación
Sistemas Operativos Tema 5: Otros Aspectos de la Planificación

2 Tema 5: Otros Aspectos de la Planificación
Índice: 1. Planificación de Sistemas en Tiempo Real 2. Planificación de Multiprocesadores 3. Ejemplos de Planificación Tema 5: Otros Aspectos de la Planificación 2

3 Tema 5: Otros Aspectos de la Planificación
Índice: 1. Planificación de Sistemas en Tiempo Real 2. Planificación de Multiprocesadores 3. Ejemplos de Planificación Tema 5: Otros Aspectos de la Planificación 3

4 Tema 5: Otros Aspectos de la Planificación
1. Planificación de Sistemas en Tiempo Real Tema 5: Otros Aspectos de la Planificación Definición de Sistema en Tiempo Real Modelos de planificación Planificación por plazos

5 Tema 5: Otros Aspectos de la Planificación
1. Planificación de Sistemas en Tiempo Real Tema 5: Otros Aspectos de la Planificación Definición de Sistema en Tiempo Real Modelos de planificación Planificación por plazos

6 Tema 5: Otros Aspectos de la Planificación
1.1 Definición de Sistema en Tiempo Real Tema 5: Otros Aspectos de la Planificación Sistema que debe ejecutar actividades respetando unas restricciones temporales. Clasificación de actividades: Por cumplimiento: Rígidas: incumplimiento causa malfuncionamiento Flexibles: incumplimiento causa degradación calidad Opcionales: incumplimiento no tiene mayores consecuencias Por periodicidad: Aperiódicas Periódicas Fijas Movibles Aclarar que normalmente las actividades se ejecutan en respuesta a estímulos o eventos externos. t T T T

7 Tema 5: Otros Aspectos de la Planificación
1. Planificación de Sistemas en Tiempo Real Tema 5: Otros Aspectos de la Planificación Definición de Sistema en Tiempo Real Modelos de planificación Planificación por plazos

8 Tema 5: Otros Aspectos de la Planificación
1.2 Modelos de Planificación Tema 5: Otros Aspectos de la Planificación Planificación Apropiativa con Prioridades Estáticas Aplicabilidad: cualquier sistema (solución clásica) Se utiliza un planificador genérico El quid de la cuestión: asignación de prioridades: Se analizan las actividades (periodicidad y cumplimiento) Se clasifican por niveles, según cumplimiento y frecuencia Se asignan prioridades estáticas a cada nivel Dificultad: garantizar planificabilidad

9 Tema 5: Otros Aspectos de la Planificación
1.2 Modelos de Planificación Tema 5: Otros Aspectos de la Planificación Planificación con Tablas Estáticas Aplicabilidad: todas las actividades periódicas Se construye planificador ad-hoc Metodología: Se calcula ciclo de ejecución (duración: mcm periodos) Se analizan actividades y establece plan de ejecución Planificador lanza cada actividad cuando corresponde Hacer referencia aquí a que cuando se habló de conocimiento de futuro, se dijo que en sistemas en tiempo real esto no era descabellado.

10 Tema 5: Otros Aspectos de la Planificación
1.2 Modelos de Planificación Planificación Dinámica Aplicabilidad: todas las actividades periódicas + alguna aperiódica flexible u opcional Se construye planificador ad-hoc Metodología: Se parte de un plan de ejecución con las actividades periódicas Si llega actividad periódica se intenta acomodar en el plan: Retrasando una flexible Eliminando una opcional Si no se puede acomodar: se descarta Tema 5: Otros Aspectos de la Planificación

11 Tema 5: Otros Aspectos de la Planificación
1.2 Modelos de Planificación Tema 5: Otros Aspectos de la Planificación Planificación por mejor resultado Aplicabilidad: cualquier sistema (orientado a actividades aperiódicas) Metodología: Se definen plazos de ejecución para actividades El planificador organiza las actividades de forma que se cumplan los plazos Comentar brevemente pues a continuación se va a ver un ejemplo concreto: planificación por plazos

12 Tema 5: Otros Aspectos de la Planificación
1. Planificación de Sistemas en Tiempo Real Tema 5: Otros Aspectos de la Planificación Definición de Sistema en Tiempo Real Modelos de planificación Planificación por plazos

13 Tema 5: Otros Aspectos de la Planificación
1.3 Planificación por Plazos Tema 5: Otros Aspectos de la Planificación Criterio basado en Mejor Resultado Idea: la preferencia por usar el procesador lo tiene aquella actividad que está más próxima a salirse de plazo. Concepto de plazo: Plazo Final: la actividad ha de comenzar y terminar dentro del plazo. Plazo Inicial: basta con que la actividad comience dentro del plazo Contar que el plazo inicial se suele utilizar para actividades atómicas (de duración despreciable). Contar por qué no se debe usar apropiación en plazos iniciales Con Apropiación Sin Apropiación t t P P

14 Tema 5: Otros Aspectos de la Planificación
1.3 Planificación por Plazos Tema 5: Otros Aspectos de la Planificación Ejemplo: aplicación a dos actividades periódicas flexibles. Suponemos que el plazo de cada actividad expira al acabar cada periodo T t A 4 2 B 10 5 IMPORTANTE: T=periodo, no tiempo de terminación!! :-O 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

15 Tema 5: Otros Aspectos de la Planificación
Índice: 1. Planificación de Sistemas en Tiempo Real 2. Planificación de Multiprocesadores 3. Ejemplos de Planificación Tema 5: Otros Aspectos de la Planificación 15

16 Tema 5: Otros Aspectos de la Planificación
2. Planificación de Multiprocesadores Tema 5: Otros Aspectos de la Planificación Tipos de sistemas multiprocesadores Paralelismo Aspectos de Diseño Planificación de hilos en multiprocesadores

17 Tema 5: Otros Aspectos de la Planificación
2. Planificación de Multiprocesadores Tema 5: Otros Aspectos de la Planificación Tipos de sistemas multiprocesadores Paralelismo Aspectos de Diseño Planificación de hilos en multiprocesadores

18 Tema 5: Otros Aspectos de la Planificación
2.1 Tipos de Multiprocesadores Tema 5: Otros Aspectos de la Planificación Multiprocesadores con Acoplamiento Débil Procesadores no comparten memoria Comunicados entre sí por algún sistema de comunicaciones No ha lugar a planificación! Procesadores especializados Su función no es la ejecución de código de los procesos Colaboran con procesador principal: coprocesadores matemáticos, video, audio, etc. ¡¡No ha lugar a planificación! Multiprocesadores con Acoplamiento Fuerte Comparten memoria y Sistema Operativo Consecuencia: paralelismo real Hacer notar que multiprocesadores con acoplamiento débil = sistema distribuido

19 Tema 5: Otros Aspectos de la Planificación
2. Planificación de Multiprocesadores Tema 5: Otros Aspectos de la Planificación Tipos de sistemas multiprocesadores Paralelismo Aspectos de Diseño Planificación de hilos en multiprocesadores

20 Tema 5: Otros Aspectos de la Planificación
2.2 Paralelismo Tema 5: Otros Aspectos de la Planificación Aplicaciones paralelas: formadas por varios procesos/hilos que pueden colaborar entre sí Grados de paralelismo: Procesos independientes: no hay colaboración entre ellos Interacción baja o débil: la colaboración se da de forma muy esporádica. Interacción media: se produce frecuente colaboración Interacción alta: se produce colaboración muy frecuente, cada muy pocas instrucciones. Hacer notar que las aplicaciones paralelas pueden ejecutarse también en plataformas monoprocesador, si bien es en un sistema multiprocesador donde pueden hacer uso de paralelismo real.

21 Tema 5: Otros Aspectos de la Planificación
2. Planificación de Multiprocesadores Tema 5: Otros Aspectos de la Planificación Tipos de sistemas multiprocesadores Paralelismo Aspectos de Diseño Planificación de hilos en multiprocesadores

22 Tema 5: Otros Aspectos de la Planificación
2.3 Aspectos de diseño Tema 5: Otros Aspectos de la Planificación Relación entre procesadores: Sistemas Amo/Esclavo vs Multiprocesadores simétricos Asignación de procesos a procesadores: Asignación Dinámica Asignación Estática Multiprogramación interna de procesadores SI NO

23 Tema 5: Otros Aspectos de la Planificación
2.3 Aspectos de diseño Tema 5: Otros Aspectos de la Planificación Relación entre procesadores: Multiprocesamiento Simétrico En esta diapositiva, contar en qué consiste el multiprocesamiento simétrico y el multiprocesamiento AMO/Esclavo, sin entrar todavía en ventajas ni inconvenientes. Sistema Simétrico: Todos los procesadores iguales en función Si un procesador queda libre: él mismo ejecuta el planificador para obtener un proceso Si proceso ejecuta E/S: el mismo procesador ejecuta el código del S/O que lo sirve. Sistema Amo/Esclavo: Hay un procesador con atribuciones especiales (el jefe) ;-) Dicho procesador coordina esclavos: Ejecuta el planificador Asigna procesos a procesadores esclavos Cuando un proceso se bloquea, el procesador queda libre -> avisa al amo Hacer notar que en multiprocesamiento simétrico, el planificador se ejecuta de manera distribuida!! Sistema Amo/Esclavo

24 Tema 5: Otros Aspectos de la Planificación
2.3 Aspectos de diseño Tema 5: Otros Aspectos de la Planificación Sistemas Amo/Esclavo Ventajas: Planificación similar a versión monoprocesador (pueden haber N procesos activos) Planificación no concurrente ¡Sistema operativo más simple! Inconvenientes: Si hay muchos procesadores: Amo = cuello de botella Fiabilidad: Amo = elemento crítico

25 Tema 5: Otros Aspectos de la Planificación
2.3 Aspectos de diseño Tema 5: Otros Aspectos de la Planificación Multiprocesamiento simétrico Ventajas: No hay cuello de botella Mayor fiabilidad (incluso tolerante a fallos) Inconvenientes: Sistema operativo se ejecuta concurrentemente ¡Incluso planificación es concurrente! Sistema operativo más complejo

26 Tema 5: Otros Aspectos de la Planificación
2.3 Aspectos de diseño Tema 5: Otros Aspectos de la Planificación Asignación de procesos a procesadores Asignación Estática P1 P2 P3 P4 P5 En esta diapositiva, contar en qué consiste la asignación estática: Cada proceso asignado a un procesador “de por vida” Por tanto criterio de asignación se ejecuta una sola vez al iniciarse proceso Cada procesador tiene sus propias colas. Hacer notar que pueden haber procesadores sobrecargados mientras hay procesadores ociosos, pero sin entrar aún en hablar de ventajas e inconvenientes. P6 P7 P8 P9 P10 P11 P12

27 Tema 5: Otros Aspectos de la Planificación
2.3 Aspectos de diseño Tema 5: Otros Aspectos de la Planificación Asignación de procesos a procesadores Asignación Dinámica P6 P1 P2 P3 P4 P5 En esta diapositiva, contar en qué consiste la asignación dinámica: Procesos no vinculados a procesadores Colas de procesos únicas y compartidas. Criterio de asignación: se lleva a cabo cada vez que un proceso pasa de estado preparado a activo

28 Tema 5: Otros Aspectos de la Planificación
2.3 Aspectos de diseño P6 P1 P2 P3 P4 P5 Tema 5: Otros Aspectos de la Planificación Asignación dinámica Ventajas: Facilita repartir la carga de trabajo Lo de las tomas de decisiones se refiere a que se decide a qué procesador se asigna un proceso cada vez que hay que activarlo. Inconvenientes: Cambiar un proceso de procesador puede implicar penalización si usa memoria no compartida Mayor complejidad: Cola de procesos = recurso compartido Más tomas de decisiones

29 Tema 5: Otros Aspectos de la Planificación
2.3 Aspectos de diseño P6 P1 P2 P3 P4 P5 P7 P8 P9 P10 P11 P12 Tema 5: Otros Aspectos de la Planificación Asignación estática Ventajas: Menos tomas de decisiones Mayor simplicidad Permite implementar planificación por grupos Inconvenientes: Posible mal balance de carga de trabajo

30 Tema 5: Otros Aspectos de la Planificación
2.3 Aspectos de diseño Tema 5: Otros Aspectos de la Planificación Multiprogramación de procesadores: ¿Merece la pena multiprogramar cada procesador? Si aplicaciones con alto grado de interacción y suficientes procesadores: NO multiprogramar En otro caso: SI multiprogramar ¿Procesadores ociosos? No es de preocupar, si hay muchos

31 Tema 5: Otros Aspectos de la Planificación
2. Planificación de Multiprocesadores Tema 5: Otros Aspectos de la Planificación Tipos de sistemas multiprocesadores Paralelismo Aspectos de Diseño Planificación de hilos en multiprocesadores

32 Tema 5: Otros Aspectos de la Planificación
2.4 Planificación de hilos en multiproc. Tema 5: Otros Aspectos de la Planificación Planificación de hilos: particularidades por su aplicabilidad a aplicaciones de alto grado de interacción Modelos: Compartición de carga Planificación por grupos Asignación de procesadores en exclusividad Planificación dinámica Recalcar que lo que vamos a estudiar son modelos, que no criterios concretos.

33 Tema 5: Otros Aspectos de la Planificación
2.4 Planificación de hilos en multiproc. Tema 5: Otros Aspectos de la Planificación Compartición de carga Se mantiene una lista global de hilos preparados Al primer procesador que queda libre, se le asigna primer hilo de lista Ventajas: Tiende a repartir carga de trabajo entre procesadores Método de selección inmediato Se puede implementar como sistema simétrico Haz notar que se trata de un modelo dinámico

34 Tema 5: Otros Aspectos de la Planificación
2.4 Planificación de hilos en multiproc. Tema 5: Otros Aspectos de la Planificación Compartición de carga (cont.) Inconvenientes: Siguiente hilo no tiene por qué pertenecer a mismo proceso → Mala gestión caché Cola de hilos preparados: recurso compartido Necesidad de coordinación entre procesadores Posible cuello de botella No garantiza paralelismo real entre hilos de un mismo proceso: no apto para grado de interacción alto. Si dos hilos se coordinan entre sí muy frecuentemente (alto grado de interacción), es posible que cuando uno de ellos solicita coordinación con el otro el otro no esté activo (click), y viceversa, por lo que dicho tipo de aplicaciones no se beneficiarían del paralelismo real.

35 Tema 5: Otros Aspectos de la Planificación
2.4 Planificación de hilos en multiproc. Tema 5: Otros Aspectos de la Planificación Planificación por grupos Indicado para aplicaciones con grado de interacción Medio Alto Idea: formar grupos de hilos que se ejecutan en paralelo activando y desactivando todos los hilos en bloque. Comentar que una solución al problema de que puedan haber procesadores sin usar es asignar los procesadores por cuantos tiempos proporcional al nº de hilos. H1 H2 H3 H4 H5 H6 H7

36 Tema 5: Otros Aspectos de la Planificación
2.4 Planificación de hilos en multiproc. Tema 5: Otros Aspectos de la Planificación Asignación de procesadores en exclusividad Cuando se crea un hilo, se le asigna un procesador No se le retira en ningún momento ¡Ni siquiera en caso de bloqueo! Procesador sólo se libera a la terminación del hilo Haz notar lo tremendamente eficiente en tiempo de ejecución que es este método, pues ni siquiera hay penalización por conmutación Justificación: Contexto de aplicación: grandes multiprocesadores Objetivos: Garantizar paralelismo Reducir tiempos de terminación

37 Tema 5: Otros Aspectos de la Planificación
2.4 Planificación de hilos en multiproc. Tema 5: Otros Aspectos de la Planificación Planificación dinámica La asignación/liberación de procesadores las efectúa el propio proceso Pensado para lenguajes con soporte de hilos: Ada Java SO dispone en API de llamadas para manipulación de procesadores

38 Tema 5: Otros Aspectos de la Planificación
Índice: 1. Planificación de Sistemas en Tiempo Real 2. Planificación de Multiprocesadores 3. Ejemplos de Planificación Tema 5: Otros Aspectos de la Planificación 38

39 Tema 5: Otros Aspectos de la Planificación
3. Ejemplos de planificación Tema 5: Otros Aspectos de la Planificación Planificación en MINIX Planificación en Windows 2000 Planificación Linux

40 Tema 5: Otros Aspectos de la Planificación
3. Ejemplos de planificación Tema 5: Otros Aspectos de la Planificación Planificación en MINIX Planificación en Windows 2000 Planificación Linux

41 Tema 5: Otros Aspectos de la Planificación
3.1 Planificación en MINIX Tema 5: Otros Aspectos de la Planificación Planificación mediante colas multinivel: TASK_Q: Turno rotatorio hasta bloqueo (sin apropiación) SERVER_Q: Turno rotatorio hasta bloqueo USER_Q: Turno rotatorio con ranura de 100 ms. Téngase en cuenta que aunque la colsa SERVER_Q se planifica sin cuanto, puede ser apropiada por un gestor de la cola TASK_Q que termine un bloqueo. Gestor Floppy Gestor HD Gestor Disco RAM TASK_Q - prioridad + Admin. Archivos Admin. Memoria SERVER_Q Planificador MINIX Proc. usuario init USER_Q

42 Tema 5: Otros Aspectos de la Planificación
3. Ejemplos de planificación Tema 5: Otros Aspectos de la Planificación Planificación en MINIX Planificación en Windows 2000 Planificación Linux

43 Tema 5: Otros Aspectos de la Planificación
3.2 Planificación en Windows 2000 Tema 5: Otros Aspectos de la Planificación Planificador de hilos mediante colas multinivel 32 Colas (o prioridades, según terminología Microsoft) 31 30 . : 16 TR1 TR2 TR3 Comentar que decir “prioridad de un hilo” equivale a decir “cola en la que se planifica el hilo” Cualquier hilo puede ser apropiado por un hilo que se inserte en una cola de más prioridad Planificación colas en tiempo real: Cada hilo se planifica en la cola que se le asigna en su creación. Planificación colas de prioridad variable: en siguiente diapositiva Comentar que el Zero Page Thread es el demonio de paginación - prioridad + TR4 TR5 TR6 Nivel de Tiempo Real 15 2 . : 1 PV1 PV2 Nivel de Prioridad Variable PV3 PV4 PV5 Zero Page Thread

44 Tema 5: Otros Aspectos de la Planificación
3.2 Planificación en Windows 2000 Tema 5: Otros Aspectos de la Planificación Planificación prioridades variable: Prioridad inicial= prioridad del proceso + prioridad relativa hilo prioridad del proceso: [1..15] prioridad del hilo: [ ] Priority Boost: si en varias ocasiones hilo se bloquea antes de terminar cuanto: se incrementa su prioridad. Límites de la prioridad dinámica: Límite inferior: menor (prioridad proceso – 2, 1) Límite superior: 15 Duración del cuanto: Versiones de sobremesa: 6 ticks Versiones para servidores: 36 ticks En plataformas monoprocesador: 1 tick = 10ms En plataformas multiprocesador: 1 tick= 15ms Comentar que el tick es una abstracción del Hardware Abstraction Layer (HAL)

45 Tema 5: Otros Aspectos de la Planificación
3.2 Planificación en Windows 2000 Tema 5: Otros Aspectos de la Planificación Si hay N procesadores: Los N-1 hilos de mayor prioridad se asignan a N-1 procesadores y se activan hasta bloqueo El procesador restante es compartido por los demás hilos Afinidad por procesador: Un hilo puede declarar afinidad por un procesador Sólo se activará sobre dicho procesador Si hilo preparado pero procesador no está libre → hilo espera

46 Tema 5: Otros Aspectos de la Planificación
3. Ejemplos de planificación Tema 5: Otros Aspectos de la Planificación Planificación en MINIX Planificación en Windows 2000 Planificación Linux

47 Tema 5: Otros Aspectos de la Planificación
3.2 Planificación en Linux (2.6) Tema 5: Otros Aspectos de la Planificación Planificador de hilos mediante colas multinivel 140 Colas (también llamadas prioridades) 1 . : 99 S_F1 S_F2 1 . : 99 S_R1 S_R3 S_F4 Lo primero: aclarar que planificación muy compleja. Similar a Windows 2000 Si quieres, cuenta lo de que el planificador le llaman O(1) porque selecciona un proceso en tiempo constante, independientemente de la carga Haz notar que las prioridades van al revés que en Windows 2000 Comentar que existen tres tipos de hilos, SCHED_FIFO, SCHED_RR, SCHED_OTHER, que los dos primeros son solo para el nivel de tiempo real (prioridades estáticas) y el último solo para el nivel no de tiempo real (prioridades dinámicas), y que la forma en que planifican depende, además del nivel, del tipo de hilo. No entrar en más detalle, eso se ve en siguiente diapositiva. Comentar la duplicación colas activas-colas vencidas (click). En las colas vencidas se insertan los procesos que han agotado su cuanto, y cuando termina la ronda en la cola activa, la activa se convierte en vencida y viceversa. Así se evita inanición de los procesos con menor prioridad. Aclarar por tanto que este es un concepto de prioridad un tanto sui-generis. - prioridad + Nivel de Tiempo Real S_F3 S_R2 S_F4 100 138 . : 139 Nivel de Prioridad Variable 100 138 . : 139 S_O1 S_O2 S_O5 S_O3 S_O4 S_O6 S_O7 S_O8 Colas Activas Colas Expiradas

48 Tema 5: Otros Aspectos de la Planificación
3.3 Planificación en Linux (2.6) Tema 5: Otros Aspectos de la Planificación Planificación hilos tipo SCHED_FIFO Sólo perderá la CPU en los siguientes casos: Bloqueo Cede CPU voluntariamente mediante sched_yield() Es apropiado por otro hilo SCHED_FIFO de mayor prioridad Si hay más de un hilo SCHED_FIFO preparado con la misma prioridad → se activa el que lleva más tiempo esperando Planificación hilos tipo SCHED_RR Análoga a SCHED_FIFO, excepto en que… Si hay más de un hilo SCHED_FIFO con la misma prioridad → turno rotatorio

49 Tema 5: Otros Aspectos de la Planificación
3.3 Planificación en Linux (2.6) Tema 5: Otros Aspectos de la Planificación Planificación hilos tipo SCHED_OTHER Turno rotatorio en orden descendente de prioridad Prioridad dinámica = prioridad base + bonificación Bonificación: -5 (máxima) (mínima) Cálculo de la bonificación: relación tiempo bloqueo / tiempo activo Duración del cuanto: Depende de prioridad base Entre 5 ms y 800 ms (más prioritario, cuanto más largo) Procesos “interactivos”: No van a cola expirada (excepción) Aclarar que el sistema decide qué procesos son “interactivos” mediante una formula que tiene en cuenta la frecuencia y duración de los bloqueos. No significa necesariamente que sean interactivos Haz notar que en Linux, los procesos de mayor prioridad salen doblemente beneficiados: más prioridad y encima, mayor cuanto.

50 Tema 5: Otros Aspectos de la Planificación
3.3 Planificación en Linux (2.6) Tema 5: Otros Aspectos de la Planificación Sistemas multiprocesadores: Cada procesador tiene sus propias colas Reparto de carga de trabajo mediante dominios de planificación Dominio de planificación = conjunto de procesadores que se mantienen equilibrados Los dominios de planificación son jerárquicos

51 Foto tomada de una dimuta flor tomada casualmente, probando el zoom de una cámara. Tomada en los jardines del Palacio del Rey Moro, en Ronda, Octubre de 2007.


Descargar ppt "Tema 5: Otros Aspectos de la Planificación"

Presentaciones similares


Anuncios Google