2.3 Clasificación de Diagramadores
2.3.2. Prioridades Variables
Las disciplinas de prioridades variables, al contrario de las fijas, modifican la pila de prioridades al generarse un nuevo pedido de las tareas. El diagramador debe actualizar la pila de prioridades y determinar a quién le asignará el recurso al comienzo de cada ranura.
A continuación se describen las disciplinas de prioridades variables más utilizadas en tiempo real:
2.3.2.1 Rueda Cíclica
La disciplina por Rueda Cíclica (RC), también conocida como “Round Robin”, consiste en realizar una rotación de la pila de prioridades una vez que es asignado el recurso, enviando dicha tarea al fondo de la pila, girando las restantes como si fuese una rueda. Sea m el número de tareas e i la tarea que a la cual le asigna el recurso; entonces la próxima tarea al tope de la pila será [i mod m] + 1.
La Rueda Cíclica Simple (RCS) deja un espacio de tiempo libre si la tarea al tope de la pila no generó ningún pedido de uso del recurso, al momento de la asignación del mismo. En cambio la Rueda Cíclica Justa (RCJ), asigna el uso del recurso a la tarea de mayor prioridad de las que solicitaron al mismo.
La diagramabilidad de este algoritmo para un sistema de m tareas se asegura si se cumple (2):
30
å
= ³ m i i C T 1 min (2)donde Tmin es el menor período de generación expresado en ranuras.
La ecuación (2), indica que la factibilidad del sistema se da si el menor período de vencimiento es mayor que el tiempo de ejecución de las tareas que integran el sistema.
La mayor desventaja radica en que las condiciones de diagramabilidad requieren que el sistema no sea muy exigente o que su complejidad sea relativamente baja, ya que todos los vencimientos deben ser mayores que la suma del tiempo de ejecución de todas las tareas.
2.3.2.2. Menor Tiempo al Vencimiento (EDF)
La disciplina de prioridades por Menor Tiempo al Vencimiento (EDF) consiste en determinar cuál es la tarea que posee menor tiempo para alcanzar su vencimiento, y asignar el uso del recurso a dicha tarea.
En EDF, se debe conocer perfectamente los instantes de activación y vencimientos de las tareas. Este es un mecanismo óptimo desde el punto de vista de la diagramación, ya que permite alcanzar el 100% del factor de utilización del procesador (si no se considera los gastos generales de diagramación). Si un conjunto de tareas no puede diagramarse por EDF, ningún otro algoritmo podrá hacerlo. Esto se da si el diagramador es totalmente apropiativo y no se comparten recursos del sistema. En la Ecuación (3) se establece la condición de diagramabilidad para un sistema de tiempo real diagramado mediante la disciplina EDF.
1 1 £
å
= m i i i T C (3) Si la tarea ti realiza su j-ésimo pedido en el instante tj, su prioridad en t será inversamente proporcional a (tj + Di) – t, siendo (tj + Di), el instante de tiempo en que se producirá el vencimiento. En caso de coincidencia en dos o más tiempos, se emplea alguna regla de desempate.La mayor ventaja del EDF, como se mencionó anteriormente, es que es un algoritmo de diagramación óptimo.
31 La desventaja más saliente es la complejidad en la implementación, que además produce importantes gastos indirectos en el sistema (mayor tiempo de cómputo para el cálculo de la prioridad). Cabe también mencionar que ante una falla por sobrecarga, podría producir una crisis en todas las tareas. Este efecto se conoce como “efecto dominó”, pues la primera tarea que pierda su vencimiento, podría producir la pérdida de vencimiento de otras tareas [6].
Ejemplo: tenemos un grupo de 3 tareas parametrizadas como se muestra en la tabla 1.
Tareas C [seg] T [seg] D [seg]
1 2 5 5
2 1 6 6
3 4 10 10
Tabla 2-1. Ejemplo de sistema con 3 tareas
Aplicando la disciplina EDF para la diagramación, la ejecución del grupo de tareas de la tabla 1 queda como se muestra en la figura 2-1. Las flechas (↓) indican el instante de tiempo en donde se genera la tarea. En cada ranura de tiempo se indica la tarea ejecutada por el procesador.
Figura 2-1. Ejemplo con disciplina EDF
2.3.2.3. Menor Tiempo de Proceso Remanente
La disciplina de prioridades por Menor Tiempo de Proceso Remanente consiste en determinar cuál es la tarea que posee menor tiempo para procesar y asigna el uso del recurso a dicha tarea.
Las características de esta disciplina son: · Apropiativa
· Menor Tiempo de respuesta · Alto rendimiento
32
· Inanición: posible para largos procesos (una tarea puede quedar relegada en la cola de atención porque su requiere mucho tiempo de proceso y nunca ser atendida)
· Penaliza a los procesos largos · Alta Sobrecarga
La tasa de respuesta R está dada por el tiempo total gastado entre el tiempo de espera y de ejecución normalizado sobre el tiempo de ejecución.
R = (w + s)/s
donde w es el tiempo de espera y s el tiempo de ejecución.
Ejemplo: si tenemos el mismo grupo de tareas del ejemplo anterior la diagramación con la disciplina SRTP queda como se muestra en la figura 2-2
Figura 2-2. Ejemplo con disciplina SRTP
2.3.2.4 Comparación entre EDF y SRTP
Las disciplinas de prioridades dinámicas EDF y SRTP son las utilizadas en esta tesis para la evaluación del rendimiento de las distintas propuestas efectuadas en esta tesis sobre el estándar 802.15.3. Por tal motivo el siguiente ejemplo ilustra estas disciplinas usando un sistema de tiempo real compuesto de 4 tareas con un factor de utilización cercano a la unidad.
Tareas C [seg] T [seg] D [seg]
1 2 10 10
2 5 8 8
3 2 6 6
4 6 15 15
33 τ4 τ3 τ2 τ1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18[seg]
Diagramación con EDF
τ4 τ3 τ2 τ1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18[seg] Diagramación con SRTP
τ2 pierde el vencimiento en t = 16 seg
Figura 2-3. Comparación entre EDF y SRTP
Como muestra la figura 2-3, la ejecución de las tareas bajo la disciplina EDF prioriza aquellas que tienen menor tiempo al vencimiento (menor D), con lo cual el sistema tiende a no perder vencimientos. En cambio la ejecución bajo la disciplina SRTP prioriza a las tareas de menor tiempo de ejecución logrando con esto disminuir el tiempo de respuesta.