Você está na página 1de 23

Algoritmos de planificacin para multiprogramacin 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 planificacin de multiprogramacion en un solo procesador
es estudiada desde el punto de vista de las caractersticas peculiares de la
funciones del programa que necesitan servicio garantizado. Se muestra que un
programador de prioridad posee un lmite superior de utilizacin del procesador
que puede ser tan bajo como 70 por ciento para grandes paquetes de tareas.
Tambin se muestra que la utilizacin completa del procesador puede
conseguirse por una asignacin dinmica de prioridades en base a sus limites
actuales. Una combinacin de estas dos tcnicas de planificacin tambin es
discutida.
Palabras clave y frases: multiprogramacin en tiempo real, planificacin,
planificacin de multiprograma,
programacin dinmica, asignacin de
prioridad, utilizacin del procesador, limites determinando planificacin.
CR categoras 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 aos recientes, y ser probablemente
expandido an ms dramticamente en un futuro cercano. Con frecuencia, la
computadora usada en una aplicacin es compartida entre un cierto nmero
de funciones de control y monitoreo de tiempo crtico y una corriente de
trabajo de procesamiento por lotes en tiempo no crtico. En otras instalaciones,
sin embargo, no existen trabajos que no son en tiempo crtico, y el uso
eficiente de la computadora puede ser logrado solo por una cuidadosa
planificacion de las funciones de control y monitoreo de tiempo crtico propias.
Este ltimo grupo puede ser denominado/llamado Control de proceso puro y
provee la base para el anlisis de la planificacin combinatoria presentada en
este documento. Dos algoritmos de planificacin para este tipo de
programacin 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


utilizacin del procesador en orden de 70 porciento o ms. El segundo
algoritmo de planificacin puede lograr la utilizacin completa del procesador
por medio de una asignacin dinmica de prioridades. Una combinacin de
estos dos algoritmos tambin es discutida.

2. Antecedentes
Una computadora de control de procesos realiza una o ms 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 funcin
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 despus 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 distribucin estadstica de los tiempos de respuesta es
aceptable.
Mucha de la literatura disponible en multiprogramacin comercial se ocupa del
anlisis estadstico de los sistemas de tiempo compartido comercial ([2 ]
Contiene una extensa bibliografa). Otros subconjuntos comerciales con los
aspectos mas interesantes
de planificacin de una instalacin de
procesamiento por lotes o una mezcla de lotes en tiempo compartido de
instalaciones, usualmente en una configuracin de multi procesadores [3-8].
Algunos papeles atacan directamente los problemas de la programacin en
tiempo real duro. Manacher [1] deriva un algoritmo para la generacin de
tareas planificadas es un entorno de tiempo real duro, pero sus resultados son
limitados a una situacin 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 planificacin de software en trminos generales y
representa un conjunto de procedimientos de programacin ALGOL que podran
ser software implementado o diseado en un planificador de propsito
especial. Para la asignacin de recursos y para el asignamiento de prioridades
y de intervalos de tiempo, l propone un programa que calcule la distribucin
estimada de tiempo de respuesta en base a la informacin de temporizacin
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 programacin de ellos. La descripcin de Martin del apretado control de
la gestin de ingeniera que debe mantenerse durante el e desarrollo de
software en tiempo real se hizo eco enfticamente en un artculo de Jirauh[11]
en el software de sistemas de pago automatico. Estos debates sirven para
enfatizar la necesidad de un enfoque ms sistemtico para el diseo de
software que actualmente est en uso.

3. El entorno
Para obtener ningn resultado analtico 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 seccin posterior.
(Suposicion1) Las solicitudes para todas las tareas para las que existen limitess
duros son peridicas, con un intervalo constante entre las peticiones.
(Suposicion2) Los limites consisten en restricciones solo de capacidad de
ejecucin --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 inicializacin o la finalizacin 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.
(Suposicin5) Cualquiera de las tareas no peridicas en el sistema son
especiales, estas son la inicializacin o de recuperacin de fallo de rutinas;
desplazan tareas peridicas mientras que estas mismas estn siendo
ejecutadas y estas mismas no tienen limites crticos duros.
La suposicin (Suposicion1) contrasta con la opinin 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 suposicin
(suposicion2) para mantener, una pequea pero posiblemente significativa
cantidad de buffering hardware debe existir para cada funcin perifrica.
Cualquier bucle de control cerrado dentro de la computadora debe ser
diseado para permitir al menos un retraso de muestra extra.

Tenga en cuenta que la suposicin (suposicion3) no excluye la situacin en que


la aparicin de una tarea 3 solo puede seguir un cierto numero (fijo), dice N,
de apariciones de una tarea 2. Como una situacin puede ser modelada por la
seleccin 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-ejecucin en la suposicin
(suposicion4) puede ser interpretada como el tiempo mximo 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 superposicin de las transferencias entre el almacenamiento
principal y auxiliar y el programa de ejecucin en los sistemas informticos
modernos, suposicin (suposicion4) puede ser una buena aproximacin,
aunque no es exacta. Estas suposiciones permiten la caracterizacin completa
de una tarea: el periodo de solicitud y su tiempo de ejecucin. 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 tiempos-ejecucin siendo C1, C2, Cm, respectivamente. La tasa de solicitud
de una tarea es definida como reciproco de su periodo de solicitud.
Un algoritmo de planificacin es un conjunto de reglas que determinan la tarea
a ser ejecutada en un momento en particular. Los algoritmos de planificacin
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 ejecucin se interrumpe inmediatamente y se inicia la tarea recin
solicitada. As la especificacin de tales algoritmos asciende a la especificacin
del mtodo de asignacin de prioridades de las tareas. Un algoritmo de
planificacin se dice que es esttico si las prioridades son asignadas a las
tareas una vez por todas. Un algoritmo de planificacin esttico tambin es
llamado algoritmo de programacin de prioridad fija. Un algoritmo de
planificacin se dice que es dinmico si las prioridades de las tareas pueden
cambiar de solicitud a solicitud. Un algoritmo de planificacin se dice algoritmo
de planificacin 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 planificacin
En esta seccin se deriva una regla para asignacin de prioridad que produce
un algoritmo de planificacin esttica ptimo. Un concepto importante en la
determinacin de esta regla es el instante crtico para una tarea. El limite de
solicitud de una tarea es definido como el tiempo de la siguiente peticin para
la misma tarea. Para un conjunto de tareas planificadas de acuerdo a un
algoritmo de planificacin, se dice que se produce un desbordamiento en el
tiempo t si t es el lmite de una solicitud sin cumplir. Para un conjunto dado de

tareas, un algoritmo de planificacin 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 peticin. 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
simultneamente con las solicitudes para todas las tareas de mayor prioridad.
Comprobacin. Deje 1, 2, m, denotar un conjunto de tareas de prioridad
ordenada con m siendo la tarea con prioridad ms 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 t 2, , t2 + i, t2+2i, , t2+ ki como es ilustrado en la figura
1. Claramente, la preferencia de m por 2 causara una cierta cantidad de
retraso en la terminacin de la solicitud para m que ocurren en t1, a menos que
la solicitud para se complete antes de t 2. Por otra parte a partir de la figura 1
apreciamos inmediatamente que el avance del tiempo de solicitud t 2 no
acelerara la terminacin de m. El tiempo de terminacin de m es ya sea sin
cambos o retrasao por dicho avance. En consecuencia, el retraso en la
terminacin de m es mas grande cuando t 2 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 clculo directo puede
determinar si o no una asignacion de prioridad dada producir un algoritmo de
programacin factible. En concreto, si las solicitudes de todas las tareas es sus
instantes crticos se cumplen antes de sus respectivos limites, el algoritmo de
planificacin 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 continuacin en la figura 2(a) vemos que la prioridad de asignacin es
factible. Por otra parte, el valor de C2 puede ser incrementado al menos a 2
pero no ms 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 ms all de1 como se ilustra en la figura 2 (c).

Figura 1 Ejecucion de 1 , entre solicitud para m

Zona de
tiempo
critico

Planificacin 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 planificacin 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, despus, de acuerdo al teorema 1,
la siguiente desigualdad debe ser satisfecha:

Si dejamos 2 ser la tarea de mayor prioridad, despus, 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
planificacin de tareas es factible con 2 en la mayor prioridad que 1 , esto es
tambin 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, ms general, parece ser que una regla razonable de
asignacin de prioridad es asignar prioridades a las tareas de acuerdo con su
tasa de solicitud, independientemente de sus tiempos de ejecucin.
Especficamente, las tareas con mayor tasa de solicitud tendrn mayores
prioridades. Tal asignacin 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 montona.
1

Esto puede ser sealado 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.


pequeo.

denota el entero mas

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
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 difcil de
ver que la asignacion de prioridad es todava factible. Dado que la tasa de
asignacin de prioridad puede obtenerse a partir de cualquier orden de
prioridad por una secuencia de reordenamientos de prioridad por demostrar el
teorema.

5. Utilizacin del procesador alcanzable


En este punto, las herramientas estn disponibles para determinar una cota
superior minima de la utilizacin del procesador en los sistemas prioritarios
fijos. Definimos el (procesador) factor de utilizacin para ser la fraccin de
tiempo utilizado en la ejecucin de la realizacin de un conjunto de tareas. En
otras palabras, el factor de utilizacin es igual a uno menos la fraccin de
tiempo del procesador inactivo. Desde C 2/ 2 , es la fraccin de tiempo del
procesador pasado en la ejecucion de la tarea 2 , para m tareas, el factor de
utilizacin es:

Aunque el factor de utilizacin del procesador se puede mejorar mediante el


aumento de los valores de C2s o por el incremento de los valores de 2s est
cota superior por el requerimiento de tareas de satisfacer sus limites en sus
instantes crticos. Se carece de inters claramente a preguntar que tan
pequeo puede ser el factor de utilizacin del procesador. Sin embargo, es
significativo pedir lo grande que puede ser el factor de utilizacin 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 asignacin 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 asignacin no
factible. Para dado algoritmo de planificacin de prioridad fija, el extremo
superior del factor de utlizacion es el minimo de los factores de utilizacin de
mas de todos los conjuntos de tareas que utilizan plenamente el
procesador.Para todos los conjuntos de tareas cuyo factor de utilizacin esta
por debajo de este limite, existe una asignacion de prioridad fija que es
factible. Por otra parte la utilizacin por encima de este limite solo puede
lograrse si 2 de las tareas esta debidamente situado.
Desde que la asignacion de prioridad de tasa-monotnica es ptima, el factor
de utilizacin logrado por la asignacion de prioridad de tasa monotonica para
un conjunto de tareas es mayor o igual al factor de utilizacin para cualquier
otra asignacion de prioridad para ese conjunto de tareas. As, el extremo
superior por determinar el (infimun) nfimo de los factores de utilizacin
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, despus extendidas por un
numero arbitrario de tareas.
Teorema 3

Para un conjunto de dos tares con asignamiento de prioridad fija, la cota


superior al factor de utilizacin del procesador es U=2(21/2-1).
Comprobacin
Dejamos 1, y 2 ser 2 tareas con sus periodos siendo 1 y 2 y sus tiempos de
ejecucin siendo C1 y C2, respectivamente. Asumimos que 1 > 2 . De acuerdo
con la asignacin 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 crtico. Se presentan dos casos:
Caso 1.El tiempo de ejecucion de C 1 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 utilizacin del procesador correspondiente es

En este caso, el factor de utilizacin del procesador de U esta disminuyendo


monotonicamente en C1.
Caso 2.
La ejecucin 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 C 2 es:

Y el fator de utilizacion correspondiente es:

En este caso, U es incrementado monotonicamente en C 1.

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

Tenemos

Para un notacin convencional , dejemos


(3) puede ser escrita como

La ecuacin

Desde que U es monoticamente incrementando con I, minimo U ocurre al valor


de I mas pequeo 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 relacin que desebamos probar. Debera ser notado que el factor de
utilizacin comienza en 1 si f=0, ie si el periodo de solicitud para la tarea de
prioridad mas baja es un mltiplo 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 discusin al caso en el que la relacin
entre dos periodos de solicitud es inferior a 2.

Teorema 4
Para un conjunto de m tareas con orden de prioridad fija, y la restriccin al
radio entre uno o dos periodos de solicitud es menor que 2, el limite mas alto
minimo del factor de utilizacin del factor de utilizacin 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:

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:

Para simplificar la notacion, dejamos

En consecuencia:

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


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

igual a

Resulta que:

Que es la relacion que deseabamos probar.


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(2 1/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,
especifico, dejamos

Para ser
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 mximo

el tiempo dentro de la zona de tiempo critico de m,

ocupada por
pero no para
Dejemos U para denotar el factor de
utilizacin de un conjunto de tareas. Tenemos:

Desde q-1>0 y
Por lo tanto,
concluimos que para determinar la cota superior del factor de utilizacin del

procesador, solo necesitamos considerar conjuntos de tareas en que la relacin


entre dos periodos de solicitud es menor que 2. As pues, el teorema se sigue
directamente del teorema 4.
6. Relajando la utilizacin de cotas
La seccin anterior mostro que la cota superior impuesta a la utilizacin 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 situacin, desde que los costos practicos
de cambiar entre tareas aun deben ser contados. Una de las maneras mas
simples de hacer la cota de utilizacin 1 es hacer
.
Dado que no siempre se puede hacer,un solucin 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 mximo y el monto de separacin requerida puede ser
calculado bajo los supuestos de este articulo.
Una mejor solucin es asignar las prioridades de las tareas de una manera
dinmica. Las secciones restantes de este articulo son dedicadas a un mtodo
particular de asignamiento dinamico de prioridad. Este mtodo es optimo en el
sentido que si un conjunto de tareas puede ser planificado por un asignamiento
de prioridad, este tambin puede ser planificado por este mtodo. En otras
palabras, la cota superior del factor de utilizacin del procesador es
uniformemente 100 poriento.
7. La cota/limite determinada por el algoritmo de planificacin
Volvemos a estudiar un algoritmo de planificacin 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 mtodo para la asignacin de prioridades a las
tareas es dinamico, en contraste con el asignamiento esttico en el que las
prioridads en las tareas no cambian con el tiempo. Ahora queremos establecer
una condicin necesaria y suficiente para la factibilidad de la cota determinada
por el algoritmo de planificacin.

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


procesador
Teorema 6.
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 t 3. (i.e no hay tiempo de
inactividad en el procesador entre t2 y t3) La situacin es ilustrada en la figura
3, donde los de la primera solicitud para cada una de las m tareas despus 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 coincidirn con t2. Ya que no haba tiempo de inactividad en el
procesador entre t2 y t3, no habr tiempo de inactividad el procesador despus
de un ascenso. Por otra parte un overflow/desbordamiento ocurrir ya sea en t 3
o despus de este. Repitiendo el mismo argumento para todas las tareas,
concluimos que si todas las tareas son iniciadas en t 2,
habr un
desbordamiento/overflow sin periodo de inactividad en el procesador despus
de este. Sin embargo, estar es una contradiccin a la suposicin 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

Comprobacin
Para mostrar la necesidad, la demanda total de tiempo de clculo 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


Para mostrar la autosuficiencia, asumimos que la condicin

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=T 1T2Tm. 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 despus de T, donde a 1,
a2,son los tiempos de solicitud de las tareas con cotas/limites en T, y b 1, 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 clculos requeridos en b 1, 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

Tambin, puesto que

Que es un contradiccin de (7).


Caso 2
Algunos de los clculos 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 b 1, b2, sean llevadas a cabo
durante el intervalo de
En oras palabras, durante
, solo
estas solicitudes en T o antes de esta sern 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

Que un overflow/desbordamiento ocurra en T significa que

Que implica de nuevo

Que es una contradiccin para (7). Esto prueba el teorema.


Como se sealo 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 planificacin de cota/limite.

8. Algoritmo de planificacion combinado


En esta seccin investigamos una clase de algoritmos de planificacion que son
combinaciones del algoritmo de planificacion de
tasa monotonica y el
algoritmo de planificacin de determinacin 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 observacin de que la interrupcin de hadware de los
ordenadores presentes hoy en dia actan como un planificador de prioridad fija
y no parece ser compatible con un planificador dinmico de hardware. Por otro
lado el costo de la implementacin 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 asignacin de prioridad
fija.
Para ser especficos, dejamos las tareas 1,2, , k, la tarea k de periodo mas
corto, sera planificada segn 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 determinacin de cota/limite cuando
el procesador no este ocupado por las tareas 1,2,k.
Dejamos a(t) ser una funcin 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 de prioridad fija. Dejamos a k(t)
denotar las funciones del procesador disponibles para las tareas k+1, k+2,,
m. Claramente ak(t) es una funcin 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
determinacin de cota/limite en un procesador cuya funcin sublinear esta
disponible, entonces no hay periodo de inactividad en el procesador a un
desbordamiento.
Comprobacion.
Similar al teorema 6

Teorema9
Una condicin necesaria ysuficiente para la factibilidad del algoritmo de
planificacion de determinacin de cota/limitecon respecto a un procesador con
la funcin ak(t) disponible es:

Para toda ts que son mltiplos de


Comprobacion
La comprobacin 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 condicin establecida en el
teorema se cumple y sin embargo no hay un desbordamiento en T. Examine los
dos casos considerados en la demostracin del teorema 7. Para el caso 1,

que es una contradiccin de la suposicin. Note que T es multiple de T k+1, o


Tk+2,Tm. Para el caso 2,

Dejamos a
ser el numero mas pequeo no negativo tal como T-Tmltiplo de Tk+1, o Tk+2,,o Tm. Claramente

Y asi

que es una contradiccin de la suposicin. Esto prueba el teorema.

es un

Aunque, el resultado en el teorema 9 es un resultado general uti, su aplicacin


involucra la solucon de grandes conjuntos de desigualdades. En cualquier caso
especfico, 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 mxima fija, y a las otras dos tareas se
les planifica con el algoritmo de planificacion de cota/limite determinado. Esto
se puede verificar fcilmente si:

entonces, el algoritmo de planificacion mixta es factible. Esto puede ser


verificado tambin si

De esta manera el algoritmo de planificacion mixta es factible.


La comprobacin 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 utilizacin del procesador considerablemente ms baja, que
a la condicin necesaria y suficiente del teorema 9.
9. Comparacin y comentario
Las limitaciones en el teorema 9 surgieren fuertemente que el 100 por ciento
de utilizacin no es alcanzable universalmente por el algoritmo de
programacin mixta. El siguiente ejemplo es sencillo e ilustra esto. Deje T 1=3,
T2=4, T3=5 y C1=C2=1. Desde a1(20)=13, este puede ser fcilmente que el
mximo permitido para C3=2. El factor de utilizacin correspondiente es:

Si estas tres tareas son planificadas por el algoritmo de planificacion de


determinacin de cota/limite, C2 puede incrementarse hasta 2.0833 y lograr
el 100 por ciento de utilizacin. Si todas ellas son planificadas por el algoritmo
de planificacion de tasa monotonica de prioridad fija, C 3 es restringido a 1 o
menos, y la el factor de utilizacin es a lo mucho.

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

Aunque una expresin cercana al extremo superior de la utilizacin del


procesador no ha sido encontrada para el algoritmo de planificacin mixta,
este ejemplo fuertemente sugiere que la cota es considerablemente menos
restrictiva para el algoritmo de planificacion mixta que para el algoritmo de
planificacin de tasa monotonica de prioridad fija. El algoritmo de planificacin
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 anlisis restante. Tal ves los mas importantes y menos
defendibles de estos son (suposicion1), que todas las tareas tienen solicitudes
peridicas, y (suposicion4) Que los tiempos de ejecucin son constantes. Si
estos no se mantienen, la zona crtica para cada tarea debe ser definida como
la zona de tiempo entre la solicitud y el lmite durante el cual la cantidad
mxima posible de clculo se lleva a cabo por las tareas que tienen mayor
prioridad. A menos que un conocimiento detallado del tiempo de ejecucin y
los periodos de solitud estn disponibles, las limitaciones de capacidad de
gestin de tareas en tiempo de ejecucin tendran que ser calculadas en base
a periodicidad supuesta en tiempo de ejecucin constante, utilizando un
periodo igual al intervalo de solicitud mas corto y un tiempo de ejecucin igual
al mas largo. Nada de nuestro trabajo analtico seguir en virtud de esta
circunstancia, y una severa limitacin en la utilizacin del procesador podra
ser impuesta por la periodicidad de tareas. El orden de prioridad fija ahora es
montona 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 utilizacin ser alece si solo las tareas de mayor prioridad estn
involucrados. Al parecer, el valor de las suposiciones (Suposicion1) y
(suposicion4) son lo suficientemente grandes para que sean un ojetivo de
diseo para cualquier tarea en tiempo real que debe recibir el servicio de
garanta.
En conclusin, este articulo ha discutido algunos de los problemas asociado
con la multiprogramacin en un entorno de tiempo real duro tipificado por el
proceso de control y monitoreo, usando algunas suposiciones que parecen
caracterizar esta aplicacin.
Un algoritmo de planificacion que asigna prioridades a las tareas en una
relacin montona 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 utilizacin del procesador para este algoritmo es del orden
de 70 por ciento para los grandes conjuntos de tareas. El algoritmo de
planificacin de determinacin lmite dinmico (the dynamic deadline driven
scheduling algorithm) se muestra a continuacin para ser globalmente ptimo

y capaza de lograr la plena utilizacin del procesador. Una combinacin de


estos dos algoritmos de planificacin fue discutido, este parece proporcionar
los mayores beneficios de el algoritmo de planificacin de determinacin de
lmites y todava pueden ser implementados en las computadoras existentes.

Você também pode gostar