Coplanificacion

Post on 17-Feb-2017

240 views 0 download

Transcript of Coplanificacion

3.5 COPLANIFICACIÓN

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.

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.

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.

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.

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.

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.

COPLANIFICACIÓN

• EL PRIMER ALGORITMO UTILIZA UNA MATRIZ CONCEPTUAL EN LA QUE CADA COLUMNA ES

LA TABLA DE PROCESOS DE UN PROCESADOR.

COPLANIFICACIÓN

SE EMPLEA UNA MATRIZ CONCEPTUAL DONDE:LAS FILAS SON ESPACIOS DE TIEMPO.LAS COLUMNAS SON LAS TABLAS DE PROCESOS DE LOS PROCESADORES.

COPLANIFICACIÓN

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.

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.

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.

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.

•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 .

• 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.

• 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).

EN OTRAS APLICACIONES PUEDEN PERMITIRSE INCUMPLIMIENTOS ESPORÁDICOS DE LOS PLAZOS.

SISTEMAS DE TIEMPO REAL ACRÍTICOS (SOFT REAL TIME)

• 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.

EN CAMBIO, LOS SISTEMAS DE PLAZO FLEXIBLE ADMITEN ALGÚN RETRASO EN EL INCUMPLIMIENTO DEL PLAZO.

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.

• CON TAREAS PERIÓDICAS ES POSIBLE UN ANÁLISIS DE

VIABILIDAD ESTÁTICO (A PRIORI)

•EL CRITERIO DE PLANIFICACIÓN VIABLE ES ABSOLUTO PARA LOS

SISTEMAS DE TIEMPO REAL CRÍTICO.

• EN SISTEMAS ACRÍTICOS, SI LOS PLAZOS NO SE PUEDEN CUMPLIR,

LOS CRITERIOS A APLICAR DEPENDEN DEL TIPO DE SISTEMA.

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 MAGNITUD DE LOS

RETRASOS.

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.

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 SENCILLO, SE ESTABLECE UN EJECUTIVO CÍCLICO, ASOCIANDO A INSTANTES PERIÓDICOS DE TIEMPO LA LIBERACIÓN DE LAS TAREAS.

•OTROS MÉTODOS MÁS GENERALES SIGUEN CRITERIOS BASADOS EN PRIORIDADES:

FRECUENCIA MONÓTONA (RATE MONOTONIC, RM) ES UNA POLÍTICA EXPULSORA DONDE LA MÁS PRIORITARIA ES LA TAREA DE MENOR PERIODO.

•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.

ESTA POLÍTICA ES ÓPTIMA CON RESPECTO AL CRITERIO DE PLANIFICACIÓN VIABLE (ES DECIR, LA CONDICIÓN NECESARIA PARA LA VIABILIDAD ES TAMBIÉN SUFICIENTE, LO QUE NO OCURRE CON RM).

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).

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.

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.

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

SISTEMAS DISTRIBUIDOS EN TIEMPO REAL

• PREDICTIBILIDADSE 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.

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.

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

SISTEMAS DISTRIBUIDOS TIEMPO REAL

LA CAPACIDAD DE PROCESAMIENTO ESTÁ DISTRIBUIDA ENTRE VARIOS COMPUTADORES INTERCONECTADOS. LAS ACTIVIDADES DEL SISTEMA TIENEN REQUISITOS DE TIEMPO.

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.