Você está na página 1de 7

International Journal of Embedded Systems and Applications (IJESA) Vol.2, No.

3, September
2012
Algoritmo Gentica basado Algoritmo de Programacin Adaptativa para los Sistemas
Operativos en Tiempo Real

RESUMEN
En este artculo la novedosa tcnica para programacin de la CPU en los sistemas operativos
en tiempo real mediante el uso de algoritmos genticos (GA) se propone. Algoritmo adaptativo
propuesto es una combinacin de prioridad dinmica existente impulsado algoritmo es decir
Earliest Deadline First (EDF) y el nuevo algoritmo gentico (GA) basado en algoritmo de
programacin. En primer lugar hemos desarrollado GA basado en algoritmo de programacin y
probado durante tanto bajo carga y condicin de sobrecarga.
Inicialmente, en condiciones de poca carga EDF se utiliza para la programacin y en condicin
de sobrecarga del sistema cambiar a GA basado en algoritmo de programacin. As, nuestro
algoritmo adaptativo utiliza los rasgos fuertes de ambos algoritmos y superar sus
inconvenientes.
Hemos simulado, algoritmo adaptativo propuesto junto con tanto EDF y GA basado en
algoritmos para sistemas de tiempo real. % Tasa de xito y % efectiva utilizacin de la CPU se
utilizan como criterios de medicin del desempeo para todos estos 3 algoritmos. La
evaluacin de los resultados y la comparacin de nuestro algoritmo de programacin de la CPU
adaptativo propuesto con el algoritmo EDF muestra que el algoritmo adaptativo propuesto es
ptimo y eficiente durante poca carga, as como las situaciones de sobrecarga en comparacin
con EDF.
PALABRAS CLAVE
Programacin en tiempo real, algoritmos genticos, Sistema Operativo en Tiempo Real,
Earliest Deadline First (EDF), algoritmo de programacin.
1. INTRODUCCIN
Programacin de tareas en tiempo real es uno de los temas de inters en el contexto de los
sistemas operativos en tiempo real (RTOS). El inters sobre el tema empez con el trabajo
seminal de Liu y Layland en 1973. Desde entonces se han propuesto muchos algoritmos para la
programacin en tiempo real. Anlisis de planificabilidad es un aspecto fundamental de la
programacin en tiempo real. Un conjunto de tareas se dice que es planificable si hay
suficiente tiempo de CPU disponible para ejecutar todas estas tareas antes de sus plazos. Cada
tarea de tiempo real se le asigna una prioridad y una fecha lmite.
Las tareas de tiempo real son de 3 tipos. Si una tarea se debe ejecutar despus de intervalo de
tiempo regular, entonces se llama tarea peridica. Si no se conoce el tiempo de activacin
relativa de una tarea entonces es tarea no peridica. Una tarea no peridica con una fecha
lmite duro se llama tarea espordica. En RTOS ambas tareas peridicas y espordicas deben
ser programadas por la satisfaccin de sus limitaciones de tiempo. Los algoritmos de
planificacin se pueden dividir en algoritmos basados esttico- prioridad y algoritmos basados
dinmico-prioridad. La programacin se puede hacer, ya sea para tareas preventivas o no
preventivas. Dos limitaciones comunes en la programacin son las necesidades de recursos y la
preferencia de la ejecucin de las tareas. Los parmetros tpicos asociados con tareas son:
Tiempo medio de ejecucin
El peor caso el tiempo de ejecucin
Costos de Despacho
Tiempo de llegada
Perodo (para tareas peridicas).
El objetivo de la programacin es minimizar horario-longitud, la tardanza promedio o laxitud, y
para maximizar la precocidad media y el nmero de llegadas que cumplan con los plazos.
Algoritmos de planificacin en tiempo real se pueden clasificar en dos categoras: algoritmos
de prioridad esttica y algoritmos de prioridad dinmica.
Tasa de programacin montona (RMS) es un esquema de planificacin esttica de prioridad
preventiva para los sistemas uniprocesador. RMS asigna prioridades a tareas sobre la base de
sus perodos. Para RMS, la tarea de mayor prioridad es uno con menor perodo. Cuando
mltiples tareas estn disponibles para la ejecucin entonces el que tiene menor perodo es
atendido primero.
Otro algoritmo de planificacin de la CPU para el sistema de tiempo real es Earliest deadline
first (EDF). EDF se puede utilizar para el tipo esttico y dinmico de programacin. Cuando un
nmero n de tareas han de ser programado por EDF, a continuacin, su complejidad es O (

)
y de la CPU porcentaje es del 100%. Least Laxity First (LLF) programacin es una variante del
EDF. En las tareas de LLF tener menos laxitud se ejecutan primero. A diferencia de EDF tiempo
de ejecucin de la tarea que se considera para la programacin en LLF. Problemas de
planificacin con plazos que caracterizan a los sistemas de tiempo real son casi siempre
muestras de ser NP-hard en cualquiera de los procesadores individuales o mltiples
procesadores. Muchas investigaciones se han centrado en la bsqueda de algoritmos de
programacin heurstica cuyos resultados se comparan con los resultados ptimos. En algunos
estudios el uso de algoritmos genticos (GA) para la programacin de tareas en tiempo real se
encuentra significativo. La ventaja de usar GA es que alivia el diseador de la sobrecarga de la
construccin de una solucin y el diseador tiene que evaluar una solucin dada. Algoritmo
gentico se ha utilizado para optimizar el tiempo de ejecucin total. Los estudios de simulacin
presentados en este trabajo muestran la eficiencia del planificador adaptativo basado GA en
comparacin con otros programadores.
Todo el trabajo se organiza de la siguiente manera: En la seccin 2, el anlisis de
planificabilidad de RM, se discute EDF, as como algoritmo adaptativo propuesto. Seccin 3
muestra el algoritmo adaptativo propuesto. La seccin 4 contiene los parmetros del mtodo
de simulacin y medicin del rendimiento. Seccin 5 contiene los resultados obtenidos y el
trabajo finaliza con una breve conclusin en la Seccin 6.
2. ANLISIS DE PLANIFICABILIDAD
Las condiciones bsicas para planificabilidad RM y EDF propuestas por Liu y Layland (1973) se
derivaron de un conjunto de n tareas peridicas bajo los supuestos de que todas las tareas se
inician simultneamente en el tiempo t = 0 (es decir, Ai = 0 para todo i = 1 , ..., n), plazos
relativos son iguales a los perodos (es decir, di, k = k Ti) y las tareas son independientes (es
decir, no tienen limitaciones de recursos, ni las relaciones de precedencia).En tales supuestos,
un conjunto de n tareas peridicas es planificable por el algoritmo RM
Si


Bajo mismos supuestos, un conjunto de n tareas peridicas es planificable por el algoritmo EDF
si y slo si



La planificabilidad ligado de RM es una funcin del nmero de tareas, y disminuye con n.
Recordamos que

)=
Lo que significa que cualquier conjunto de tareas se pueden programar por RM si U 0.69,
pero no todos los conjuntos de tareas se puede programar si 0,69 <U 1.
Mientras, algoritmo adaptativo basado GA propuesto puede programar tareas, incluso
despus de sistema est sobrecargado, es decir







3. ALGORITMO ADAPTATIVO PROPUESTA
El algoritmo adaptativo es la combinacin de dos algoritmos de programacin: algoritmo de
EDF y algoritmo de planificacin basado GA.
3.1 Algoritmo EDF:
El algoritmo de planificacin EDF es un algoritmo de prioridad impulsado. La tarea con fecha
lmite ms cercano tiene la mxima prioridad y es seleccionado para su ejecucin. Este
algoritmo es simple y result ser ptima cuando el sistema es preferente, poca carga y slo
hay un procesador.
3.2 Algoritmo de planificacin basado en GA:
El primer paso del GA es codificar cualquier posible solucin del problema como un conjunto
de cuerdas llamado como cromosomas. El algoritmo gentico utilizado en nuestro sistema es
la siguiente:
Algoritmo de planificacin basada en la gentica
1. Inicializacin aleatoria de poblacin (n)
2. Determinar la aptitud de la poblacin (n)
3. Repita
a. Seleccione los padres de la poblacin (n)
b. Realizar 2 puntos parcialmente emparejados de cruce sobre los padres que crean poblacin
(n+1)
c. Haga 1 mutacin poco de poblacin (n +1)
d. Determinar la aptitud de la poblacin (n +1)
5. Hasta que el mejor individuo es lo suficientemente bueno.
3.3 Algoritmo de planificacin adaptativo
Algoritmo adaptativo propuesta combina estos dos algoritmos y funciona segn lo siguiente:
Durante condiciones de poca carga, el algoritmo utiliza el algoritmo EDF es decir,
prioridad del trabajo se decidir de forma dinmica en funcin de su fecha lmite.

Durante condicin de sobrecarga, que utiliza algoritmo de programacin basada GA es
decir, la prioridad del trabajo se decidir dependiendo del valor de la aptitud de cada
cromosoma. Valor de la aptitud del cromosoma se decide por el porcentaje Tasa de
xito (% SR) que se define como:






Criterios de conmutacin:

Inicialmente, el algoritmo propuesto utiliza el algoritmo EDF teniendo en cuenta que la
condicin no est sobrecargada. Pero cuando un trabajo se ha incumplido el plazo, que
ser identificado como condicin de sobrecarga y el algoritmo pasar al algoritmo de
planificacin basado en GA. Despus de 10 trabajos han logrado continuamente la
fecha lmite, de nuevo el algoritmo se desplazar al algoritmo EDF considerando que
esta condicin de sobrecarga se ha desaparecido.
Durante condiciones de poca carga, el algoritmo EDF se utiliza para reducir el tiempo
de ejecucin y durante sobrecargado algoritmo de planificacin basado en la condicin
GA se utiliza para lograr un mejor rendimiento. De esta manera, el algoritmo
adaptativo se ha aprovechado de los dos algoritmos y superar sus limitaciones.

4. Mtodo de simulacin

Hemos desarrollado el simulador utilizando la plataforma Java para simular EDF, GA basado y
los algoritmos adaptativos. Hemos llevado a cabo simulaciones para acumular datos empricos.
Para la simulacin se consideran nicamente las tareas peridicas que se ejecutan en sistemas
de un solo procesador. Hemos probado el programa de simulacin de 500 programaciones de
tareas diferentes. En cada programa de tareas, 200 tareas se generan. Los resultados
correspondientes a 20 diferentes valores de carga son tomados y probados en ms de 10 mil
tareas. El simulador se ejecuta en el procesador Intel Core 2 Duo CPU@1.50 GHz con 2 GB
de RAM y Sistema Operativo Microsoft Windows 7. Hemos implementado EDF, GA basado y
los algoritmos adaptativos y han de ejecutar simulaciones para acumular datos empricos.
Inicialmente la carga global del sistema se calcula de la siguiente manera


Donde Ci es el tiempo de ejecucin de la tarea i y Di es la fecha lmite de la tarea i.

El sistema se dice que est sobrecargado cuando, valor de U 1. Hemos considerado tres
siguientes cantidades como nuestros principales criterios de medicin del desempeo para los
algoritmos de planificacin en tiempo real:
Podemos medir el rendimiento de cualquier algoritmo de planificacin en tiempo real
mediante el uso de Porcentaje

1) Tasa de xito (% SR). Se trata de un porcentaje de tareas completado con xito antes de los
plazos respectivos. Se define como sigue:





2) Tasa de Desaparecidos (MR) es el nmero de tareas que no se han programado durante sus
plazos respectivos. Se puede definir como,







3) Utilizacin de CPU (CU) es la cantidad de tiempo de procesador est ocupado en la
programacin de las tareas. Pero aqu medimos porcentaje efectivo uso de la CPU (% de ECU),
que proporciona informacin de la eficacia con que se utiliza el tiempo de procesador.


Cuando,
V es el valor de un trabajo y,
- Valor de un trabajo = tiempo de ejecucin de un trabajo, si el trabajo se completa dentro de
su fecha lmite.
- El valor de un trabajo = 0, si el trabajo no cumple con la fecha lmite.
S es un conjunto de todos los trabajos que son ejecutados por la CPU.
T es el tiempo total de la programacin.
5. RESULTADOS

Siguiendo la figura 1 y la figura 2 representa los resultados obtenidos a partir de estudio de
simulacin. La figura 1 muestra los resultados obtenidos en trminos de% SR y% ECU durante
condiciones de sobrecarga, utilizando los mismos algoritmos. La figura 2 muestra la
comparacin del tiempo de ejecucin tomada por cada algoritmo. De los resultados de la
figura. 1 y la fig. 2,


















La Figura 1 muestra los resultados obtenidos en trminos de %SR Vs Load y la Figura 2 muestra
los resultados obtenidos en trminos de % ECU Vs Load. De los resultados se puede observar
que el algoritmo adaptativo se comporta mejor que el algoritmo EDF durante condiciones de
sobrecarga incluso algoritmo basado GA se comporta mejor que el algoritmo EDF durante
condiciones de sobrecarga.

6. CONCLUSIN

En este trabajo, hemos propuesto algoritmo de planificacin adaptativa basado GA para
programar tareas peridicas del entorno de un solo procesador, cuando las tareas son de
preferencia. Los resultados obtenidos durante la simulacin demuestran lo siguiente:

El algoritmo adaptativo propuesto es ms eficiente que la EDF para un solo
procesador, el medio ambiente preventivo cuando se sobrecarga el sistema.

Algoritmo EDF no funciona bien cuando se sobrecarga el sistema y el algoritmo de
planificacin basado GA toma ms tiempo de ejecucin en ese tipo de condiciones.
Estas son las principales limitaciones de ambos algoritmos.

Durante condiciones de poca carga, el tiempo de ejecucin adoptada por el algoritmo
propuesto es casi igual que el algoritmo EDF (es decir, menos tiempo).

El algoritmo puede cambiar automticamente entre algoritmo EDF y algoritmo de
planificacin basado GA. Por lo tanto, el algoritmo adaptativo propuesto es muy til
cuando la futura carga de trabajo del sistema es impredecible.

Você também pode gostar