La coplanificación toma en cuenta los patrones de comunicación entre procesos para garantizar que todos los miembros de un grupo se ejecuten al mismo tiempo. Utiliza una matriz conceptual donde cada columna representa la tabla de procesos de un procesador y las filas son espacios de tiempo, de modo que todos los procesadores ejecuten el mismo proceso simultáneamente. Esto maximiza el paralelismo y desempeño de la comunicación.
2. PLANIFICACIÓN DE PROCESOS
•LA PLANIFICACIÓN DE PROCESOS ES
LA ETAPA MÁS IMPORTANTE DEL
ADMINISTRADOR DE PROCESOS YA
QUE SE ENCARGA DE ADMINISTRAR
LA DISPONIBILIDAD DEL USO DE CPU.
3. PLANIFICACIÓN DE PROCESOS
•LOS PLANIFICADORES NO IMPORTANDO
SU COMPLEJIDAD DEBEN RESPETAR LOS
SIGUIENTES ELEMENTOS: EQUITATIVIDAD,
EFICIENCIA, TIEMPO DE RESPUESTA,
RETORNO, VOLUMEN DE PRODUCCIÓN.
4. COPLANIFICACIÓN
• CONCEPTO DE COPLANIFICACIÓN:
Ø TOMA EN CUENTA LOS PATRONES DE COMUNICACIÓN
ENTRE LOS PROCESOS DURANTE LA PLANIFICACIÓN
Ø DEBE GARANTIZAR QUE TODOS LOS MIEMBROS DEL
GRUPO SE EJECUTEN AL MISMO TIEMPO.
Ø CADA PROCESADOR DEBE UTILIZAR UN ALGORITMO DE
PLANIFICACIÓN ROUND ROBIN.
5. COPLANIFICACIÓN
• DESPUÉS DE TENER UN MODELO DE
PROCESAMIENTO Y DE UN ALGORITMO DE
ASIGNACIÓN DE PROCESADORES, EL SIGUIENTE
GRAN RETO ES LA ADMINISTRACIÓN CONJUNTA DE
LOS TIEMPOS DE USO DE CPU DE LOS PROCESOS
DE FORMA GLOBAL.
6. COPLANIFICACIÓN
• PARA PODER REALIZAR ESTO, SE NECESITA
DE ALGORITMOS DE PLANIFICACIÓN Y
MÉTODOS DE COMUNICACIÓN MÁS
EFICIENTE. A CONTINUACIÓN SE DESCRIBEN
ALGUNOS ALGORITMOS DE
COPLANIFICACIÓN.
7. COPLANIFICACIÓN
• OUSTERHOUT (1982) PROPUSO VARIOS
ALGORITMOS CON BASE EN UN ALGORITMO
LLAMADO COPLANIFICACION, EL CUAL TOMA EN
CUENTA LOS PATRONES DE COMUNICACIÓN ENTRE
LOS PROCESOS DURANTE LA PLANIFICACIÓN PARA
GARANTIZAR QUE TODOS LOS MIEMBROS DE UN
GRUPO SE EJECUTEN AL MISMO TIEMPO.
9. COPLANIFICACIÓN
SE EMPLEA UNA MATRIZ CONCEPTUAL
DONDE:
LAS FILAS SON ESPACIOS DE TIEMPO.
LAS COLUMNAS SON LAS TABLAS DE
PROCESOS DE LOS PROCESADORES.
11. COPLANIFICACIÓN
• LA ESENCIA DE ESTA IDEA ES CADA PROCESADOR
UTILICE UN ALGORITMO DE PLANIFICACIÓN ROUND
ROBIN, DONDE TODOS LOS PROCESADORES EJECUTEN
EL PROCESO EN EL ESPACIO 0 DURANTE UN CIERTO
PERIODO FIJO, PARA QUE DESPUÉS TODOS LOS
PROCESADORES EJECUTEN EL PROCESO DEL ESPACIO
1 DURANTE UN CIERTO PERIODO FIJO.
12. COPLANIFICACIÓN
• SE PUEDE UTILIZAR UN MENSAJE PARA INDICARLE
A CADA PROCESADOR EL MOMENTO EN QUE DEBE
HACER UN INTERCAMBIO DE PROCESOS, PARA
MANTENER SINCRONIZADOS LOS INTERVALOS DE
TIEMPO.
13. COPLANIFICACIÓN
• SI TODOS LOS MIEMBROS DE UN GRUPO SE
COLOCAN EN EL MISMO NÚMERO DE ESPACIO, PERO
EN PROCESADORES DISTINTOS, SE TIENE LA
VENTAJA DEL PARALELISMO DE NIVEL N, CON LA
GARANTÍA DE QUE TODOS LOS PROCESOS SE
EJECUTARAN AL MISMO TIEMPO, LO CUAL
MAXIMIZA EL DESEMPEÑO DE LA COMUNICACIÓN.
14. PLANIFICACIÓN DE TIEMPO REAL
• PROCESOS DE TIEMPO REAL (EN ESTE
CONTEXTO ES MÁS HABITUAL EL TÉRMINO
TAREAS DE TIEMPO REAL) SON AQUELLOS
CUYA CORRECCIÓN NO SÓLO DEPENDE DEL
RESULTADO, SINO TAMBIÉN DE SI LO
PRODUCEN ANTES DE UN PLAZO
DETERMINADO DE TIEMPO.
15. •EJEMPLOS DE TAREAS DE TIEMPO REAL
ABUNDAN EN LOS SISTEMAS DE
DISPONEN DE UN LÍMITE MÁXIMO DE
TIEMPO PARA EVALUAR UNA ENTRADA
Y PRODUCIR LA RESPUESTA ADECUADA
.
16. • EN UN SISTEMA DE PROPÓSITO GENERAL LOS
PROCESOS DE TIEMPO REAL CONVIVEN CON
PROCESOS DE TIEMPO COMPARTIDO O
PROCESOS DEL PROPIO SISTEMA, POR LO QUE
ES MUY DIFÍCIL GARANTIZAR SIEMPRE EL
CUMPLIMIENTO DE LOS PLAZOS.
17. • ALGUNAS APLICACIONES DE TIEMPO REAL EXIGEN
QUE EL PLAZO DE TIEMPO SE CUMPLA SIEMPRE, POR
LAS GRAVES CONSECUENCIAS QUE SU
INCUMPLIMIENTO PUDIERA TENER.
SISTEMAS DE TIEMPO REAL CRÍTICOS (HARD REAL
TIME).
18. EN OTRAS APLICACIONES PUEDEN
PERMITIRSE INCUMPLIMIENTOS
ESPORÁDICOS DE LOS PLAZOS.
SISTEMAS DE TIEMPO REAL ACRÍTICOS (SOFT
REAL TIME)
19. • EN CUANTO AL CUMPLIMIENTO DE LOS
PLAZOS, EN ALGUNOS SISTEMAS LA EJECUCIÓN
DE LAS TAREAS TIENE UN PLAZO FIRME, EN EL
SENTIDO DE QUE SI SE REBASA EL PLAZO, AÚN
MÍNIMAMENTE, LA RESPUESTA ES INÚTIL O
INCLUSO CONTRAPRODUCENTE.
20. EN CAMBIO, LOS SISTEMAS DE
PLAZO FLEXIBLE ADMITEN
ALGÚN RETRASO EN EL
INCUMPLIMIENTO DEL PLAZO.
21. CRITERIOS PARA LA PLANIFICACIÓN DE
TIEMPO REAL
• EL CRITERIO FUNDAMENTAL DE UN
ALGORITMO DE PLANIFICACIÓN DE TIEMPO
REAL PARA UN CONJUNTO DE TAREAS DE
TIEMPO REAL ES PROPORCIONAR
PLANIFICACIÓN VIABLE, ES DECIR, DEBE SER
POSIBLE PLANIFICAR LA EJECUCIÓN DE LAS
TAREAS DE FORMA QUE SE CUMPLAN LOS
PLAZOS DE TODAS ELLAS.
23. •EL CRITERIO DE PLANIFICACIÓN
VIABLE ES ABSOLUTO PARA LOS
SISTEMAS DE TIEMPO REAL
CRÍTICO.
24. •EN SISTEMAS ACRÍTICOS, SI LOS
PLAZOS NO SE PUEDEN
CUMPLIR, LOS CRITERIOS A
APLICAR DEPENDEN DEL TIPO
DE SISTEMA.
25. EN SISTEMAS DE PLAZO FIRME,
EL CRITERIO ES MINIMIZAR EL
NÚMERO DE RETRASOS; POR
EL CONTRARIO, EN SISTEMAS
DE PLAZO FLEXIBLE, EL
CRITERIO ES MINIMIZAR LA
26. POLÍTICAS DE PLANIFICACIÓN DE TIEMPO
REAL
SE DIVIDEN EN DOS GRUPOS, CONSIDERANDO SI
ADMITEN UN PLAN DE EJECUCIÓN ESTÁTICO, LO
QUE IMPLICA QUE LAS TAREAS DEBEN SER
PERIÓDICAS, O SI LA EJECUCIÓN DEBE
PLANIFICARSE DINÁMICAMENTE. ESTAS ÚLTIMAS
NO SIRVEN PARA SISTEMAS CRÍTICOS.
27. PLANIFICACIÓN ESTÁTICA
•CUANDO SE CONOCEN LOS
PERIODOS Y LOS TIEMPOS DE
EJECUCIÓN ES POSIBLE
ESTABLECER A PRIORI UN PLAN
DE EJECUCIÓN. EN EL CASO MÁS
28. •OTROS MÉTODOS MÁS GENERALES
SIGUEN CRITERIOS BASADOS EN
PRIORIDADES:
FRECUENCIA MONÓTONA (RATE
MONOTONIC, RM)
ES UNA POLÍTICA EXPULSORA DONDE
29. •PLANIFICACIÓN DE PLAZO MÁS
CERCANO (EARLIER DEADLINE FIRST,
EDF)
ES UNA POLÍTICA EXPULSORA QUE
PLANIFICA LA TAREA CUYO PLAZO
ESTÁ MÁS PRÓXIMO A EXPIRAR.
30. PLANIFICACIÓN DINÁMICA
• CON TAREAS APERIÓDICAS NO ES POSIBLE
ESTABLECER UN PLAN DE EJECUCIÓN A PRIORI.
• ESTE ÚLTIMO TIPO DE PLANIFICACIÓN,
HABITUAL EN SISTEMAS DE PROPÓSITO
GENERAL, SE DENOMINA PLANIFICACIÓN
DINÁMICA DEL MEJOR RESULTADO (BEST-
EFFORT).
31. SISTEMAS DISTRIBUIDOS EN TIEMPO REAL
LOS SISTEMAS DE TIEMPO REAL SON
AQUELLOS QUE INTERACTÚAN CON EL
MUNDO EXTERIOR DONDE EL TIEMPO ES UN
FACTOR IMPORTANTE.
32. SISTEMAS DISTRIBUIDOS EN TIEMPO REAL
• LOS SISTEMAS DE TIEMPO REAL SE
CONSIDERAN ESTIMULOS, MIENTRAS SU
RESPUESTA SEA ANTES DEL MOMENTO LIMITE
SE CONSIDERA CORRECTO UN ESTIMULO, Y SI
LA RESPUESTA ES DESPUÉS DEL MOMENTO
LIMITE SE CONSIDERA FALLIDO.
33. SISTEMAS DISTRIBUIDOS EN TIEMPO REAL
TIPOS DE SISTEMAS EN TIEMPO REAL
• SUAVES
NO TIENEN PROBLEMAS SI SE REBAZA CON EL TIEMPO
LIMITE
• DUROS
NO TIENEN LIMITE CUMPLIDO Y ES INACEPTABLE
34. SISTEMAS DISTRIBUIDOS EN TIEMPO REAL
• PREDICTIBILIDAD
SE DICE QUE EL SISTEMA DEBE SER CLARO, EN EL MOMENTO
EN QUE ESTE CUMPLA CON TODOS SUS TIEMPOS LIMITE, INCLUSO
CON UNA CARGA PICO.
LOS ANÁLISIS ESTADÍSTICOS DEL COMPORTAMIENTO, CON
FRECUENCIA ERRORES, PUEDEN EXISTIR CORRELACIONES
INESPERADAS ENTRE LOS EVENTOS CON ALARMAS DE TIEMPO,
PRESIÓN O RADIOACTIVIDAD.
35. SISTEMAS DISTRIBUIDOS EN TIEMPO REAL
• SE CONOCE COMO COMPOSICIÓN DE LOS
PROCESOS, QUE CIERTO ELEMENTO NECESITA
50MLS, OTRO CIERTO PROCESO NECESITA 60
MLS Y EL INICIO DEL PROCESO TARDARÍA UNOS
5MLS, ESTO GARANTIZA DE ENTRADA QUE SE
PUEDE MANEJAR TAL EVENTO.
36. SISTEMAS DISTRIBUIDOS EN TIEMPO REAL
CARACTERÍSTICAS:
-SE ACTIVAN POR EVENTO O POR TIEMPO
-SU COMPORTAMIENTO DEBE SER PREDECIBLE
-DEBEN SER TOLERANTES A FALLAS
-LA COMUNICACIÓN EN LOS SISTEMAS DISTRIBUIDOS DE TIEMPO
REAL DEBE SER DE ALTO DESEMPEÑO
37. SISTEMAS DISTRIBUIDOS TIEMPO REAL
LA CAPACIDAD DE PROCESAMIENTO
ESTÁ DISTRIBUIDA ENTRE VARIOS
COMPUTADORES INTERCONECTADOS.
LAS ACTIVIDADES DEL SISTEMA TIENEN
REQUISITOS DE TIEMPO.
38. SISTEMAS DISTRIBUIDOS EN TIEMPO REAL
NECESIDAD DE SISTEMAS DISTRIBUIDOS:
Requisitos de procesamiento.
Distribución física del sistema.
Fiabilidad: Tolerancia a fallos.
Los sistemas distribuidos de tiempo real (SDTR) son complicados de realizar.
Se consideran sistemas débilmente acoplados.
Comunicación mediante mensajes
El tiempo de comunicación es significativo.