algoritmos de planificación para multiprogramación en tiempo real full

27
Algoritmos de planificación para multiprogramación en un entorno en tiempo real duro C. L. LIU Project MAC, Massachusetts Institute of Technology AND JAMES W. LAYLAND Jet Propulsion Laboratory, California Institute of Technology Resumen: El problema de la planificación de multiprogramacion en un solo procesador es estudiada desde el punto de vista de las características peculiares de la funciones del programa que necesitan servicio garantizado. Se muestra que un programador de prioridad posee un límite superior de utilización del procesador que puede ser tan bajo como 70 por ciento para grandes paquetes de tareas. También se muestra que la utilización completa del procesador puede conseguirse por una asignación dinámica de prioridades en base a sus limites actuales. Una combinación de estas dos técnicas de planificación también es discutida. Palabras clave y frases: multiprogramación en tiempo real, planificación, planificación de multiprograma, programación dinámica, asignación de prioridad, utilización del procesador, limites determinando planificación. CR categorías 3.80, 3.82, 3.83, 4.32 Introduccion: El uso de computadoras para control y monitoreo de procesos industriales se ha expandido en gran medida en años recientes, y será probablemente expandido aún más dramáticamente en un futuro cercano. Con frecuencia, la computadora usada en una aplicación es compartida entre un cierto número de funciones de control y monitoreo de tiempo crítico y una corriente de trabajo de procesamiento por lotes en tiempo no crítico. En otras

Upload: alex

Post on 09-Dec-2015

223 views

Category:

Documents


2 download

DESCRIPTION

Planificacion

TRANSCRIPT

Page 1: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Algoritmos de planificación para multiprogramación en un entorno en tiempo real duro

C. L. LIUProject MAC, Massachusetts Institute of TechnologyANDJAMES W. LAYLANDJet Propulsion Laboratory, California Institute of Technology

Resumen:

El problema de la planificación de multiprogramacion en un solo procesador es estudiada desde el punto de vista de las características peculiares de la funciones del programa que necesitan servicio garantizado. Se muestra que un programador de prioridad posee un límite superior de utilización del procesador que puede ser tan bajo como 70 por ciento para grandes paquetes de tareas. También se muestra que la utilización completa del procesador puede conseguirse por una asignación dinámica de prioridades en base a sus limites actuales. Una combinación de estas dos técnicas de planificación también es discutida.

Palabras clave y frases: multiprogramación en tiempo real, planificación, planificación de multiprograma, programación dinámica, asignación de prioridad, utilización del procesador, limites determinando planificación.

CR categorías 3.80, 3.82, 3.83, 4.32

Introduccion:

El uso de computadoras para control y monitoreo de procesos industriales se ha expandido en gran medida en años recientes, y será probablemente expandido aún más dramáticamente en un futuro cercano. Con frecuencia, la computadora usada en una aplicación es compartida entre un cierto número de funciones de control y monitoreo de tiempo crítico y una corriente de trabajo de procesamiento por lotes en tiempo no crítico. En otras instalaciones, sin embargo, no existen trabajos que no son en tiempo crítico, y el uso eficiente de la computadora puede ser logrado solo por una cuidadosa planificacion de las funciones de control y monitoreo de tiempo crítico propias. Este último grupo puede ser denominado/llamado “Control de proceso puro” y provee la base para el análisis de la planificación combinatoria presentada en este documento. Dos algoritmos de planificación para este tipo de programación son estudiados; ambos son accionados de prioridad y preferencia, esto significa que el procesamiento de cualquier tarea es interrumpido por una solicitud de cualquier tarea de mayor prioridad. El primer algoritmo estudiado utiliza un asignamiento de prioridad fija y puede lograr la utilización del procesador en orden de 70 porciento o más. El segundo algoritmo de planificación puede lograr la utilización completa del

Page 2: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

procesador por medio de una asignación dinámica de prioridades. Una combinación de estos dos algoritmos también es discutida.

2. Antecedentes

Una computadora de control de procesos realiza una o más funciones de control y monitoreo. El apuntamiento de una antena para el seguimiento de una nave espacial en su órbita es un ejemplo de estas funciones. Cada función a realizar se ha asociado con un conjunto/paquete de una o mas tareas. Algunas de estas tareas son ejecutadas en respuesta a eventos en el equipo controlado o monitoreado por la computadora. El resto son ejecutadas como respuesta a eventos en otras tareas. Ninguna de las tareas puede ser ejecutada antes del evento que requiera que esta se accione. Cada tarea debe ser completada antes de que haya transcurrido un tiempo fijo después de su solicitud. El servicio dentro de este lapso de tiempo debe garantizar, categorizar el entorno como “tiempo real duro” [1] en contraste con el “tiempo real suave” donde una distribución estadística de los tiempos de respuesta es aceptable.

Mucha de la literatura disponible en multiprogramación comercial se ocupa del análisis estadístico de los sistemas de tiempo compartido comercial ([2 ] Contiene una extensa bibliografía). Otros subconjuntos comerciales con los aspectos mas interesantes de planificación de una instalación de procesamiento por lotes o una mezcla de lotes en tiempo compartido de instalaciones, usualmente en una configuración de multi procesadores [3-8]. Algunos papeles atacan directamente los problemas de la programación en “tiempo real duro”. Manacher [1] deriva un algoritmo para la generación de tareas planificadas es un entorno de tiempo real duro, pero sus resultados son limitados a una situación un tanto irreal de una sola solicitud de tiempo para todas las tareas, a pesar de que varios limites son considerados. Lampson [9] discute el problema de la planificación de software en términos generales y representa un conjunto de procedimientos de programación ALGOL que podrían ser software implementado o diseñado en un planificador de propósito especial. Para la asignación de recursos y para el asignamiento de prioridades y de intervalos de tiempo, él propone un programa que calcule la distribución estimada de tiempo de respuesta en base a la información de temporización suministrada para programas que necesitan servicio garantizado. El no, sin embargo, describe el algoritmo que un programa de este tipo debe utilizar.

El texto por Martin[10] representa el rango de sistemas que se consideran por ser “tiempo-real” y discute en forma ordenada los problemas que se producen con la programación de ellos. La descripción de Martin del apretado control de la gestión de ingeniería que debe mantenerse durante el e desarrollo de software en tiempo real se hizo eco enfáticamente en un artículo de Jirauh[11] en el software de sistemas de pago automatico. Estos debates sirven para enfatizar la necesidad de un enfoque más sistemático para el diseño de software que actualmente está en uso.

Page 3: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

3. El entorno

Para obtener ningún resultado analítico sobre el comportamiento del programa en un entorno de tiempo real duro, ciertas suposiciones deben hacerse sobre este entorno. No todas las suposiciones son absolutamente necesarias, y los efectos de relajarlos será discutido en una sección posterior.

(Suposicion1) Las solicitudes para todas las tareas para las que existen limitess duros son periódicas, con un intervalo constante entre las peticiones.

(Suposicion2) Los limites consisten en restricciones solo de capacidad de ejecución --i.e cada tarea debe ser completada antes de que la siguiente solicitud se produzca.

(Suposicion3) Las tareas son independientes de las solicitudes para cierta tarea, no depende de la inicialización o la finalización de las solicitudes de otras tareas.

(Suposicion4) Tiempo-ejecucion para cada tarea es constante para la tarea y no varia con el tiempo. Tiempo-ejecucion se refiere aquí a la hora en que se toma por un procesador para ejecutar la tarea sin interrupciones.

(Suposición5) Cualquiera de las tareas no periódicas en el sistema son especiales, estas son la inicialización o de recuperación de fallo de rutinas; desplazan tareas periódicas mientras que estas mismas están siendo ejecutadas y estas mismas no tienen limites críticos duros.

La suposición (Suposicion1) contrasta con la opinión de Martin[2], pero aparenta ser valida por el proceso de control puro. Suposicion 2 (suposicion2) elimina los problemas de cola para tareas individuales. Por suposición (suposicion2) para mantener, una pequeña pero posiblemente significativa cantidad de buffering hardware debe existir para cada función periférica. Cualquier bucle de control cerrado dentro de la computadora debe ser diseñado para permitir al menos un retraso de muestra extra.

Tenga en cuenta que la suposición (suposicion3) no excluye la situación en que la aparición de una tarea τ3 solo puede seguir un cierto numero (fijo), dice N, de apariciones de una tarea τ2. Como una situación puede ser modelada por la selección de periodos de tareas τ2 y τ3 de manera que el periodo de τ3 es N veces el periodo de τ2 y la N-esima- solitud para τ2 coincidirá con la primera solicitud para τ3 , y así sucesivamente. El tiempo-ejecución en la suposición (suposicion4) puede ser interpretada como el tiempo máximo para interpretar una tarea. De esta manera la contabilidad de tiempo necesario para solicitar un sucesor y el costo de prioridad puede ser tomada en cuenta. Debido a la existencia de grandes memorias principales fuera de los programas que se ejecutan y la superposición de las transferencias entre el almacenamiento principal y auxiliar y el programa de ejecución en los sistemas informáticos modernos, suposición (suposicion4) puede ser una buena aproximación, aunque no es exacta. Estas suposiciones permiten la caracterización completa de una tarea: el periodo de solicitud y su tiempo de ejecución. A menos que se indique lo contario, a lo largo de este trabajo se utilizara τ1, τ2, …τm, para denotar m tareas periodicas, con sus periodos de solicitud siento Τ1, Τ2, … Τm y sus

Page 4: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

tiempos-ejecución siendo C1, C2, …Cm, respectivamente. La tasa de solicitud de una tarea es definida como reciproco de su periodo de solicitud.

Un algoritmo de planificación es un conjunto de reglas que determinan la tarea a ser ejecutada en un momento en particular. Los algoritmos de planificación para ser estudiados en este trabajo son determinados por preferencia y prioridad. Esto significa que cada vez que hay una solicitud de una tarea que es de mayor prioridad que la que se esta ejecutando en ese momento, la tarea en ejecución se interrumpe inmediatamente y se inicia la tarea recién solicitada. Así la especificación de tales algoritmos asciende a la especificación del método de asignación de prioridades de las tareas. Un algoritmo de planificación se dice que es estático si las prioridades son asignadas a las tareas una vez por todas. Un algoritmo de planificación estático también es llamado algoritmo de programación de prioridad fija. Un algoritmo de planificación se dice que es dinámico si las prioridades de las tareas pueden cambiar de solicitud a solicitud. Un algoritmo de planificación se dice algoritmo de planificación mixto si las prioridades de algunas de las tareas son fijas, y las prioridades de las tareas pendientes varias de solicitud a solicitud.

4. Una prioridad fija Algoritmo de planificación

En esta sección se deriva una regla para asignación de prioridad que produce un algoritmo de planificación estática óptimo. Un concepto importante en la determinación de esta regla es el instante crítico para una tarea. El limite de solicitud de una tarea es definido como el tiempo de la siguiente petición para la misma tarea. Para un conjunto de tareas planificadas de acuerdo a un algoritmo de planificación, se dice que se produce un desbordamiento en el tiempo t si t es el límite de una solicitud sin cumplir. Para un conjunto dado de tareas, un algoritmo de planificación es factible si las tareas son planificadas de manera que no se pueda producir un desbordamiento nunca. Definimos el tiempo de respuesta de una solicitud para una determinada tarea de ser el espacio de tiempo entre la solicitud y el final de la respuesta a esa petición. Un instante critico para una tarea se define para ser un instante en el que una solicitud para dicha tarea tendrá el mayor tiempo de respuesta, Una zona de tiempo critico para una tarea es el tiempo entre un instante critico y el final de la respuesta a la solicitud correspondiente de la tarea. Tenemos el siguiente teorema.

Teorema 1

Un instante critico para cualquier tara ocurre siempre que la tarea es requerida simultáneamente con las solicitudes para todas las tareas de mayor prioridad.

Comprobación. Deje τ1, τ2, …τm, denotar un conjunto de tareas de prioridad ordenada con τm

siendo la tarea con prioridad más baja. Considere una solicitud particular para τm que ocurre en t1. Suponga que entre t1 y t1 + Τm , el momento en que la solicitud posterior de τm, ocurre, solicitudes para una tarea τi,, i<m, ocurren en t2, , t2 + Τi, t2+2Τi, …, t2+ kΤi como es ilustrado en la figura 1. Claramente, la preferencia de τm por τ2 causara una cierta cantidad de retraso en la terminación de la solicitud para τm que ocurren en t1, a menos que la solicitud para se complete antes de t2. Por otra parte a partir de la figura 1 apreciamos inmediatamente que el avance del tiempo de

Page 5: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

solicitud t2 no acelerara la terminación de τm. El tiempo de terminación de τm es ya sea sin cambos o retrasao por dicho avance. En consecuencia, el retraso en la terminación de τm es mas grande cuando t2 coincide con t1. Repitiendo el argumento para todo τi, i=2,…m-1, se prueba el teorema.

Uno de los valores de este resultado es que un simple cálculo directo puede determinar si o no una asignacion de prioridad dada producirá un algoritmo de programación factible. En concreto, si las solicitudes de todas las tareas es sus instantes críticos se cumplen antes de sus respectivos limites, el algoritmo de planificación es factible. Por ejemplo, considere un conjunto de dos tareas τ1 y τ2 con Τ1=2, Τ2=5 y C1=1, C2=1. Si dejamos τ1 ser la tarea de prioridad mas alta, a continuación en la figura 2(a) vemos que la prioridad de asignación es factible. Por otra parte, el valor de C2 puede ser incrementado al menos a 2 pero no más como se ilustra en la figura 2(b). Por otra parte, si dejamos τ2 ser la tarea con mayor prioridad, entonces ninguno de los valores de C 1 y C2 se pueden incrementar más allá de1 como se ilustra en la figura 2 (c).

Figura 1 Ejecucion de τ1 , entre solicitud para τm

Zona de tiempo critico

Page 6: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Planificación para 2 tareas.

El resultado en el teorema 1 tambien sugiere una asignacion de prioridad que es optima en el sentido en el que indica el teorema 2, Vamos a motivar el resultado general considerando el caso de la planificación de dos tareas τ1 y τ2. Dejamos Τ1 y Τ2 ser los periodos de solicitud de las tareas, con Τ1< Τ2. Si dejamos τ1 ser la tarea de mayor prioridad, después, de acuerdo al teorema 1, la siguiente desigualdad debe ser satisfecha:

Si dejamos τ2 ser la tarea de mayor prioridad, después, la siguiente desigualdad debe ser satisfecha :

Desde

(2) implica (1). En otras palabras, cada vez que Τ1< Τ2 y C1, C2 son tales que la planificación de tareas es factible con τ2 en la mayor prioridad que τ1 , esto es también factible con τ1 en la mayor prioridad que τ2, pero lo contrario no es cierto. Por lo tanto debemos asignar mayor prioridad a τ1 y menor prioridad a τ2 . Por lo tanto, más general, parece ser que una regla “razonable” de asignación de prioridad es asignar prioridades a las tareas de acuerdo con su tasa de solicitud, independientemente de sus tiempos de ejecución. Específicamente, las tareas con mayor tasa de solicitud tendrán mayores prioridades. Tal asignación de prioridades se conoce como asignacion de prioridad de tarifa monotonica. Como resultado, una asignacion de dicha prioridad es optima en el sentido de que no hay otra regla de asignacion de prioridad fija puede planificar un conjunto de tareas que no se pueden ser planificadas por la tasa de asignacion de prioridad monótona.

1 Esto puede ser señalado que (1) es necesario pero no suficiente para garantizar la factibilidad de la asignacion de prioridad.

2 denota el mayor entero menor o igual que x. denota el entero mas pequeño.

Teorema 2

Si existe una asignacion de prioridad factible para un conjunto de tarea, la tasa monotonica de asignacion de prioridad es factible para este conjunto de tareas.

Coprobacion

Page 7: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Si dejamos τ1, τ2,…, τm ser un conjunto de m tareas con una cierta factibilidad de asignacion de prioridades. Dejemos τ2 y τ3 ser dos tareas de prioridades adyacentes en dicha asignacion con τ2

siendo la mayor prioridad, Supongamos que Τ2> Τ1. Vamos a intercambiar las prioridades de τ2 y τ3. Esto no es difícil de ver que la asignacion de prioridad es todavía factible. Dado que la tasa de asignación de prioridad puede obtenerse a partir de cualquier orden de prioridad por una secuencia de reordenamientos de prioridad por demostrar el teorema.

5. Utilización del procesador alcanzable

En este punto, las herramientas están disponibles para determinar una cota superior minima de la utilización del procesador en los sistemas prioritarios fijos. Definimos el (procesador) factor de utilización para ser la fracción de tiempo utilizado en la ejecución de la realización de un conjunto de tareas. En otras palabras, el factor de utilización es igual a uno menos la fracción de tiempo del procesador inactivo. Desde C2/ Τ2 , es la fracción de tiempo del procesador pasado en la ejecucion de la tarea τ2 , para m tareas, el factor de utilización es:

Aunque el factor de utilización del procesador se puede mejorar mediante el aumento de los valores de C2’s o por el incremento de los valores de Τ2’s está cota superior por el requerimiento de tareas de satisfacer sus limites en sus instantes críticos. Se carece de interés claramente a preguntar que tan pequeño puede ser el factor de utilización del procesador. Sin embargo, es significativo pedir lo grande que puede ser el factor de utilización del procesador. Seamos precisos acerca de lo que queremos decir. En correspondencia con una asignacion de prioridad, se dice que un conjunto de tareas para utilizar plenamente el procesador si la asignación prioritaria es factible para el conjunto y si un aumento en el tiempo de ejecucion de cualquiera de las tareas en el conjunto hará la prioridad de asignación no factible. Para dado algoritmo de planificación de prioridad fija, el extremo superior del factor de utlizacion es el minimo de los factores de utilización de mas de todos los conjuntos de tareas que utilizan plenamente el procesador.Para todos los conjuntos de tareas cuyo factor de utilización esta por debajo de este limite, existe una asignacion de prioridad fija que es factible. Por otra parte la utilización por encima de este limite solo puede lograrse si Τ2 de las tareas esta debidamente situado.

Desde que la asignacion de prioridad de tasa-monotónica es óptima, el factor de utilización logrado por la asignacion de prioridad de tasa monotonica para un conjunto de tareas es mayor o igual al factor de utilización para cualquier otra asignacion de prioridad para ese conjunto de tareas. Así, el extremo superior por determinar el (infimun) ínfimo de los factores de utilización correspondientes a la asignacion de prioridad de tarifa monotonica sobre los posibles periodos de solicitud y tiempo de ejecucion para las tareas. El limite o cota se determinara por primer vez para dos tareas, después extendidas por un numero arbitrario de tareas.

Teorema 3

Page 8: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Para un conjunto de dos tares con asignamiento de prioridad fija, la cota superior al factor de utilización del procesador es U=2(21/2-1).

Comprobación

Dejamos τ1, y τ2 ser 2 tareas con sus periodos siendo Τ1 y Τ2 y sus tiempos de ejecución siendo C1 y C2, respectivamente. Asumimos que Τ1 > Τ2 . De acuerdo con la asignación de prioridad de tasa monotica, τ1 tiene una prioridad mayor que τ2. En una zona de tiempo critico τ1, Hay

solicitudes para τ1. Vamos a ajustar hora C2 para utilizar plenamente el tiempo de procesador disponible dentro de la zona de tiempo crítico. Se presentan dos casos:

Caso 1.El tiempo de ejecucion de C1 es suficientemente corto que todas las solicitudes para τ1

dentro de la zona de tiempo critico de Τ2 son completadas antes de la segunda solicitud τ2.Que es,

Así, el valor mas grande posible deC2 es

El factor de utilización del procesador correspondiente es

En este caso, el factor de utilización del procesador de U esta disminuyendo monotonicamente en C1.

Caso 2.

La ejecución de la -esima solicitud para t1 se sobrepone a la segunda solicitud para τ2. En este caso

De ello se deduce que el valor mas grande posible de C2 es:

Y el fator de utilizacion correspondiente es:

En este caso, U es incrementado monotonicamente en C1.

El minimo de U claramente ocurre en el limite entre estos dos casos. Que es, para

Page 9: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Tenemos

Para un notación convencional , dejemos La ecuación (3) puede ser escrita como

Desde que U es monoticamente incrementando con I, minimo U ocurre al valor de I mas pequeño posible, llamado, I=1; minimizando U por encima de f, determinamos que f=21/2-1, U adquiere su valor minimo que es

Esta es la relación que deseábamos probar. Debería ser notado que el factor de utilización comienza en 1 si f=0, ie si el periodo de solicitud para la tarea de prioridad mas baja es un múltiplo del periodo de solicitud de la otra tarea. Ahora derivamos la cota correspondiente a un numero arbitrario de tareas. En este momento vamos a restringir nuestra discusión al caso en el que la relación entre dos periodos de solicitud es inferior a 2.

Teorema 4

Para un conjunto de m tareas con orden de prioridad fija, y la restricción al radio entre uno o dos periodos de solicitud es menor que 2, el limite mas alto minimo del factor de utilización del factor

de utilización del procesador. Es:

Comprobacion:

Dejemos τ1, τ2,… τm denotar las m tareas. Dejemoa a C1,C2, …Cm ser los tiempos de ejecucion de las tareas que utilizan plenamente el procesador y minimizan el factor de utilizacion del procesador. Suponemos que Τm > Τm-1>…> Τ2 > Τ1 . Dejemos a U denotar el factor de utilizacion del procesador. Deseamos mostrar que:

Sumponemos que:

Page 10: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Dejamos:

Claramente C1’,C2’,…Cm-1’,Cm’ tambien utilizan plenaente el procesador. Dejemos a U’ denotar el factor de utilizacion correspondiente. Tenmos:

Alternativamente, suponemos que:

Dejamos

De nuevo, C1’’,C2’’,…,Cm-1’’,Cm’’ utilizan el procesador plenamente. Dejamos a U’’ denotar el factor de utilizacion correspondiente. Tenemos:

Por lo tanto, si en efecto U es el factor de utilizacion minimo, entonces

En forma similar, podemos mostrar que

Consecuentemente:

Page 11: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Para simplificar la notacion, dejamos

En consecuencia:

Y

Y finalmente

Asi como en el caso dos tareas, el limite de utilizacion comienza 1 si para toda i.

Para encontrar el limite superior del factor deutilizacion, la eq.(4) debe ser minimizada por encima

de . Esto puede se puede hacer mediante el establecimiento de la primera derivada de U

con respecto a cada igual a cero, y sereolviendo las ecuaciones en diferecncias resultantes:

La definicion de g0=1 ha sido adoptado por conveniencia.

La solucion general a las ecuaciones (5) puede ser mostrada por ser

Resulta que:

Que es la relacion que deseabamos probar.

Page 12: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Para m=2 es el mismo limite/cota como se encontro diretamente para el conjunto de dos tareas sin restricciones en los perodos de solicitud. Para m=3, equacion(6) se convierte;

Y para lm grande,

La restriccion de que la mayor relacion entre el periodo de solicitud de menos de 2 en el teorema 4 de hecho puede ser removida, lo que enuncimos como:

Teorema5. Para un conjunto de m tareas con orden de prioridad fujo, la cota superior para la utilizacion del procesador es: U=m(21/2-1).

Comprobacion.

Dejamos ser un conjunto de tareas m que utilizan plenamente el procesador. Dejamos a U denotar el factor de utilizacion correspondiente.

Suponemos que para alguna i, Para ser especifico, dejamos

Vamos a remplazar la tarea τi por la tarea τi,, tal

que , y el aumento Cm en la cantidad necesaria para utilizar el procesador plenamente. Este incremento es como máximo el tiempo dentro de la

zona de tiempo critico de τm, ocupada por pero no para Dejemos U’ para denotar el factor de utilización de un conjunto de tareas. Tenemos:

O

Desde q-1>0 y Por lo tanto, concluimos que para determinar la cota superior del factor de utilización del procesador, solo necesitamos considerar conjuntos de tareas en que la relación entre dos periodos de solicitud es menor que 2. Así pues, el teorema se sigue directamente del teorema 4.

6. Relajando la utilización de cotas

La sección anterior mostro que la cota superior impuesta a la utilización del procesador por el requisito de servicio garantizado en tiempo real puede aproximarse En (2) para para los grupos de tareas grandes. Es deseable encontrar las formas de mejorar esta situación, desde que los costos practicos de cambiar entre tareas aun deben ser contados. Una de las maneras mas simples de

hacer la cota de utilización 1 es hacer . Dado que no siempre

Page 13: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

se puede hacer,un solución alternativa es amortiguar/buffer la tarea τm y tal vez varias veces las tareas de menor prioridad y relajar sus limites duros.Suponieno que todo el conjunto de tareas tiene un periodo determinado y que las tareas debuffer son ejecutadas de alguna manera razonable. –e.g, en la manera por orden de llegada--- entonces los tiempos de retardo máximo y el monto de separación requerida puede ser calculado bajo los supuestos de este articulo.

Una mejor solución es asignar las prioridades de las tareas de una manera dinámica. Las secciones restantes de este articulo son dedicadas a un método particular de asignamiento dinamico de prioridad. Este método es optimo en el sentido que si un conjunto de tareas puede ser planificado por un asignamiento de prioridad, este también puede ser planificado por este método. En otras palabras, la cota superior del factor de utilización del procesador es uniformemente 100 poriento.

7. La cota/limite determinada por el algoritmo de planificación

Volvemos a estudiar un algoritmo de planificación dinamico l que llamamos “deadline driven schedulingalgorithm” (Cota/limite determinado por algoritmo de planifiacion) . Usando este algoritmo, las prioridades son asignadas a las tareas de acuerdo a sus cotas o sus peticiones actuales. Una tarea será asignada de mayor prioridad si la cota de su solicitud actual es la mas cercano, y se le asignara la prioridad mas baja si la cota de su solicitud actual es la mas lejana.

En cualquier instante la tarea con la prioridad mas alta y la solicitud aun sin cumplir será ejecutada. Como el método para la asignación de prioridades a las tareas es dinamico, en contraste con el asignamiento estático en el que las prioridads en las tareas no cambian con el tiempo. Ahora queremos establecer una condición necesaria y suficiente para la factibilidad de la cota determinada por el algoritmo de planificación.

Fig 3. Procesos de desbordamiento seguido de un periodo de inactividad del procesador

Teorema 6.

Page 14: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Cundo la cota impuesta por el algoritmo de planificacion es usada para planificar un conjunto de tareas en el procesador, no hay tiempo de inactividad en el procesador antes de un desbordamiento/overfloew.

Comprobacion: Suponiendo que hay un tiempo de inactividad en el procesador antes de un overflof/desbordamiento. Para ser especifico, empezando en el tiempo 0, dejamos a t3 denotar el tiempo en el que el overflow/desbordamiento ocurre y dejando t1, t2 para denotar en inicio y el fin, respectivamente, del periodo de inactividad del procesador cercano a t3. (i.e no hay tiempo de inactividad en el procesador entre t2 y t3) La situación es ilustrada en la figura 3, donde los de la primera solicitud para cada una de las m tareas después del periodo de inactividad del procesador [t1, t2] son denotados por a,b,…,m.

Suponemos que para t2 donde movemos todas las solicitudes para la tarea 1 de tal manera que coincidirán con t2. Ya que no había tiempo de inactividad en el procesador entre t2 y t3, no habrá tiempo de inactividad el procesador después de un ascenso. Por otra parte un overflow/desbordamiento ocurrirá ya sea en t3 o después de este. Repitiendo el mismo argumento para todas las tareas, concluimos que si todas las tareas son iniciadas en t2, habrá un desbordamiento/overflow sin periodo de inactividad en el procesador después de este. Sin embargo, estará es una contradicción a la suposición de que a partir del tiempo 0 hay un periodo de inactividad en el procesador para un desbordamiento/owerflow.Esto prueba el teorema 6.

El teorema 6 será usado ahora para establecer el siguiente teorema.

Teorema 7.

Para un conjunto de tareas dadas, la cota determinada por el algoritmo planificador es factible si y solo si

Comprobación

Para mostrar la necesidad, la demanda total de tiempo de cálculo parte de todas las tareas entre t=0 y t=T1T2….Tm, puede ser calculado por

Si la demanda total excede el tiempo disponible en el procesador, i.e

Esto es claramente un algoritmo de planificacion no factibe

Page 15: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Para mostrar la autosuficiencia, asumimos que la condición

Fig 4. Proceso de desbordamiento/overflow al tiempo T

es satisfecho y el algoritmo de planificacion no es factible aun.Esto es porque hay un desbordamiento/overflow entre t=0 y t=T1T2…Tm. Por otra parte, de acuerdo al teorema 6 hay un

t= donde hay un desbordamiento/overflow sin tiempo de inactividad en el procesador entre t=0 y t=T. Para ser especifico, dejamos a 1, a2, …,b1, b2 , …, que denota el tiempo de solicitud de las m tareas inmediatamente después de T, donde a1, a2,…son los tiempos de solicitud de las tareas con cotas/limites en T, y b1, b2,… son los tiempos de solicitud de tareas con cotas/limites por debajo de T. Esto es ilustrado en la figura 4.

Se Examinan los 2 casos.

Caso 1. Ninguno de los cálculos requeridos en b1, b2,… son llevados a cabo antes de T. En este caso, la demanda total del tiempo de calculo entre 0 y T es

Dado que no hay periodo de inactividad en el procesador

Page 16: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

También, puesto que

Y

Que es un contradicción de (7).

Caso 2

Algunos de los cálculos requeridos para b1, b2,… son llevados a cabo antes de T. Ya que ocurre un desbordamiento/overflow en T, debe existir un punto T’ de tal manera que ninguna de las solicitudes de b1, b2,… sean llevadas a cabo durante el intervalo de En oras palabras, durante , solo estas solicitudes en T o antes de esta serán ejecutas, como se ilustra

en la figura 5. Por otra parte, el hecho de que una o mas delas tareas tienen solicitudes a las es ejecutado solo hasta que t=T’ esto significa que todas las solicitudes iniciadas antes de T’ con cotas/limites en o antes de T se han cumplido antes de T’. Por lo tanto, la demanda total de tiempo del procesador durante es menor o igual que

Solicitud con Cotas/limites en a1 y 3 son cumplidas antes de T’

Fig 5. Proceso de overflow/desbordamiento al tiempo T sin la ejecucuon de seguido de T’

Page 17: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Que un overflow/desbordamiento ocurra en T significa que

Que implica de nuevo

Que es una contradicción para (7). Esto prueba el teorema.

Como se señalo anteriormente, la cota/limite determinado por el algoritmo de planificacion es optimo en el sentido que si un conjunto de tareas puede ser planificado por cualquier algoritmo, este puede ser planificado por el algoritmo de planificación de cota/limite.

8. Algoritmo de planificacion combinado

En esta sección investigamos una clase de algoritmos de planificacion que son combinaciones del algoritmo de planificacion de tasa monotonica y el algoritmo de planificación de determinación de cota/limte. Llamamos a un algoritmo de esta clase algoritmo de planificacion combinado.

El estudio de los algoritmos de planificacion mezclados o combinados es motivado por la observación de que la interrupción de hadware de los ordenadores presentes hoy en dia actúan como un planificador de prioridad fija y no parece ser compatible con un planificador dinámico de hardware. Por otro lado el costo de la implementación de un planificador de software para tareas de ritmo lento no se incrementa significativamente, si estas tareas son determinadas por una cota/limite en lugar de tener una asignación de prioridad fija.

Para ser específicos, dejamos las tareas 1,2, …, k, la tarea k de periodo mas corto, sera planificada según el algoritmo de tasa monotonica de prioridad fija, y dejamos las tareas restantes, tarea k+1, k+2, …m, ser planificadas de a cuerdo a el algoritmo de planificacion de determinación de cota/limite cuando el procesador no este ocupado por las tareas 1,2,…k.

Dejamos a(t) ser una función no decreciente de t. Decimos que a(t) es sublinear para todo t y todo T

La disponibilidad de funciones de un procesador para un conjunto de tareas es definido como el tiempo acumulado en el procesador desde 0 a t disponible para este conjunto de tareas. Suponemos que k tareas han sido planificadas en el procesador por un algoritmo de planificacion

Page 18: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

de prioridad fija. Dejamos ak(t) denotar las funciones del procesador disponibles para las tareas k+1, k+2,…, m. Claramente ak(t) es una función no decreciente de t. Por otra parte, a k(t) se puede demostrar por ser sublinear por el argumento de la zona de tiempo critico. Tenemos:

Teorema 8

Si un conjunto de tareas son planificadas por el algoritmo de planificacion de determinación de cota/limite en un procesador cuya función sublinear esta disponible, entonces no hay periodo de inactividad en el procesador a un desbordamiento.

Comprobacion.

Similar al teorema 6

Teorema9

Una condición necesaria ysuficiente para la factibilidad del algoritmo de planificacion de determinación de cota/limitecon respecto a un procesador con la función ak(t) disponible es:

Para toda t’s que son múltiplos de

Comprobacion

La comprobación es muy similar a la del teorema 7. Para mostrarlo es necesario, observar que en cualquier momento la demanda total del tiempo del procesador no puede exceder el tiempo del procesador total disponible. Por lo tanto tenemos:

Para cualquier t.

Para demostrar su autosuficiencia, asumimos que la condición establecida en el teorema se cumple y sin embargo no hay un desbordamiento en T. Examine los dos casos considerados en la demostración del teorema 7. Para el caso 1,

que es una contradicción de la suposición. Note que T es multiple de Tk+1, o Tk+2,…Tm. Para el caso 2,

Dejamos a ser el numero mas pequeño no negativo tal como T-T’- es un múltiplo de Tk+1, o Tk+2,…,o Tm. Claramente

Page 19: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

Y asi

que es una contradicción de la suposición. Esto prueba el teorema.

Aunque, el resultado en el teorema 9 es un resultado general uti, su aplicación involucra la solucon de grandes conjuntos de desigualdades. En cualquier caso específico, puede ser ventajoso para derivar condiciones suficientes en la planificacion de factibilidad en lugar de trabajar directamente en el teorema 9. Por ejemplo, considere un caso especial donde tres tareas sean planificadas por el algoritmo de planificacion mixta de tal manera que la tarea con el periodo mas corto se le asigna una prioridad máxima fija, y a las otras dos tareas se les planifica con el algoritmo de planificacion de cota/limite determinado. Esto se puede verificar fácilmente si:

entonces, el algoritmo de planificacion mixta es factible. Esto puede ser verificado también si

De esta manera el algoritmo de planificacion mixta es factible.

La comprobación de estas sentencias consiste de algunas relativamente directas pero extensas manipulaciones de desigualdades, y pueden ser encontradas en Liu [13]. Desafortunadamente, estas dos condiciones corresponden a la utilización del procesador considerablemente más baja, que a la condición necesaria y suficiente del teorema 9.

9. Comparación y comentario

Las limitaciones en el teorema 9 surgieren fuertemente que el 100 por ciento de utilización no es alcanzable universalmente por el algoritmo de programación mixta. El siguiente ejemplo es sencillo e ilustra esto. Deje T1=3, T2=4, T3=5 y C1=C2=1. Desde a1(20)=13, este puede ser fácilmente que el máximo permitido para C3=2. El factor de utilización correspondiente es:

Si estas tres tareas son planificadas por el algoritmo de planificacion de determinación de cota/limite, C2 puede incrementarse hasta 2.0833 … y lograr el 100 por ciento de utilización. Si todas ellas son planificadas por el algoritmo de planificacion de tasa monotonica de prioridad fija, C3 es restringido a 1 o menos, y la el factor de utilización es a lo mucho.

Page 20: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full

que es solo ligeramente mayor que el peor caso de las cotas/limites de las tres tareas.

Aunque una expresión cercana al extremo superior de la utilización del procesador no ha sido encontrada para el algoritmo de planificación mixta, este ejemplo fuertemente sugiere que la cota es considerablemente menos restrictiva para el algoritmo de planificacion mixta que para el algoritmo de planificación de tasa monotonica de prioridad fija. El algoritmo de planificación mixta debe ser apropiado para muchas aplicaciones.

10. Conclusion

En el inicio del articulo, fueron hechas 5 suposiciones para definir el entorno de apoyo a la labor de análisis restante. Tal ves los mas importantes y menos defendibles de estos son (suposicion1), que todas las tareas tienen solicitudes periódicas, y (suposicion4) Que los tiempos de ejecución son constantes. Si estos no se mantienen, la zona crítica para cada tarea debe ser definida como la zona de tiempo entre la solicitud y el límite durante el cual la cantidad máxima posible de cálculo se lleva a cabo por las tareas que tienen mayor prioridad. A menos que un conocimiento detallado del tiempo de ejecución y los periodos de solitud estén disponibles, las limitaciones de capacidad de gestión de tareas en tiempo de ejecución tendrían que ser calculadas en base a periodicidad supuesta en tiempo de ejecución constante, utilizando un periodo igual al intervalo de solicitud mas corto y un tiempo de ejecución igual al mas largo. Nada de nuestro trabajo analítico seguirá en virtud de esta circunstancia, y una severa limitación en la utilización del procesador podría ser impuesta por la periodicidad de tareas. El orden de prioridad fija ahora es monótona con el menor lapso ente la solicitud y el limite para cada tarea en lugar del periodo de solicitud indefinido. Lo mismo sera verdad si solo algunos de los limites son mas estrictos que los supuestos en (suposicion2), aunque el impacto en la utilización ser alece si solo las tareas de mayor prioridad están involucrados. Al parecer, el valor de las suposiciones (Suposicion1) y (suposicion4) son lo suficientemente grandes para que sean un ojetivo de diseño para cualquier tarea en tiempo real que debe recibir el servicio de garantía.

En conclusión, este articulo ha discutido algunos de los problemas asociado con la multiprogramación en un entorno de tiempo real duro tipificado por el proceso de control y monitoreo, usando algunas suposiciones que parecen caracterizar esta aplicación.

Un algoritmo de planificacion que asigna prioridades a las tareas en una relación monótona a su tasa de solicitud ha demostrado ser optimo entre la clase de todos los algoritmos de planificacion de prioridad fija. El extremo superior al factor de utilización del procesador para este algoritmo es del orden de 70 por ciento para los grandes conjuntos de tareas. El algoritmo de planificación de determinación límite dinámico (the dynamic deadline driven scheduling algorithm) se muestra a continuación para ser globalmente óptimo y capaza de lograr la plena utilización del procesador. Una combinación de estos dos algoritmos de planificación fue discutido, este parece proporcionar los mayores beneficios de el algoritmo de planificación de determinación de límites y todavía pueden ser implementados en las computadoras existentes.

Page 21: Algoritmos de Planificación Para Multiprogramación en Tiempo Real Full