next up previous
Siguiente: Conclusiones y trabajo a Superior: Dispositivo KURT, KU Tiempo Anterior: Dispositivo KURT

Subsecciones


Prestaciones

Intuitivamente, podriamos decir que no debe de haber cambio en las prestaciones, ya que solo cambiamos la interface pero las rutinas son las mismas. Sin embargo, encontramos una mejora en el comportamiento de KURT usando esta nueva interface. A continuación voy a describir las condiciones en las que se llevaron a cabo los experimentos. Todos los experimentos se corrieron en un sistema ligeramente cargado. El sistema usado cuenta con un procesador Pentium Pro a 200Mhz, 64 MB de RAM, 6GB de disco duro con un núcleo 2.2.13. La primera prueba se hizo usando la versión KURT con llamados a sistema. El segundo experimento se corrió usando la versión con el dispositivo KURT, el cual no usa adiciones a la tabla de llamadas a sistema. El dispositivo KURT mostró un mejor comportamiento en el caso de acontecimientos periódicos.

KURT 2.0 usando llamados a sistema

El programa usado en ambos experimentos fué periodic.c el cual es incluido en la distribición estandard de

KURT 2.0. periodic se corrio para generar 300 iteraciones. Cada Iteración requirió 600 microsegundos con periodo de 1 milisegundo. Se corrio en el modo rt-2, el cual permita tener procesos de RT y normales al mismo tiempo. Esta prueba se corrió varias veces con resultados similares.

El comando usado fué: periodic 1 600 300 1 ./ rt-2 1000

A continuación vamos a observar el comportamiento de KURT, usando llamados a sistema, en cuanto a su capacidad de ejecutar tareas en un periodo prederminado. Idealmente todas las tareas deberían ejecutarse con un espacio de 1 milisegundo entre inicio de tareas. Es decir que un histograma de la diferencia en microsegundos entre eventos consecutivos contra la frecuencia ese número de microsegundos, deberiamos obtener una línea vertical en 1 milisegundo con una frecuencia de 300.

En la figura 3 podemos observar que de los 300 eventos programados a ocurrir en intervalos de 1 milisegundo la mayoría, 90 % aproximadamente, estuvieron alrededor del milisegundo. Sin embargo, el 10 % restante se ejecutó con retardos de hasta 10 milisegundos. El comportamiento de ese 10 % se muestra en la figura 4.

Figura 3: KURT con llamadas a sistema. Histograma con 90% de eventos
\begin{figure}
\begin{center}
\psfig{file=figuras/KURTsyscall_90_esp.eps ,width=5in } \end{center} \end{figure}

Figura 4: KURT con llamadas a sistema. Histograma con 100% de eventos
\begin{figure}
\begin{center}
\psfig{file=figuras/sys_calls_hist_100_esp.eps, width=5in} \end{center} \end{figure}

Ahora es importante analisar la periodicidad de los eventos desde una perspectiva temporal y no un histograma.Es importante que notar que los plazos fallados son periódicos. Este comportamiento se aprecia en la Figura 5. La razón para este mal comportamiento es todavía una incognita para nosotros.

Figura 5: KURT con llamadas a sistema. Periodicidad de los plazos fallados
\begin{figure}
\begin{center}
\psfig{file=figuras/periodic_missed_dead_esp.eps, width=5in} \end{center} \end{figure}

Dispositivo KURT

El programa usado en esta caso es una versión modificada de periodic.c para usar el dispositivo KURT. periodic se corrio para generar 300 iteraciones. Cada iteración requirio 600 microsegundos con un periodo de 1 milisegundo. También se corrió en modo rt-2. Igualmente se corrió varias veces obteniendo resultados similares.
El comando usado fué: periodic 1 600 300 1 ./ rt-2 1000

La gran mayoría de los plazos se cumplieron. Sin embargo, hay una gran variación alrededor del plazo de 1 milisegundo. Los picos que aparecian en la versión con llamados a sistema desaparecieron como se ve en la Figura 6.

Figura 6: Dispositivo KURT. Histograma del 100% de los eventos
\begin{figure}
\begin{center}
\psfig{file=figuras/module.Histogram_esp.eps, width=5in} \end{center} \end{figure}

La desaparición de esos picos alrededor de los 10 milisegundos es una gran ventaja, ya que ahora sabemos a pesar de que habrá una variación esta no será de la magnitud que se tenia antes.

Con la intensión de comparar el comportamiento de ambas versiones en el eje temporal se ha incluido la figura 7. En esta figura podemos observar que la variación de los plazos alrededor del milisegundo es mucho menor usando el dispositivo KURT que usando la versión con llamados a sistema, vease la figura 5. Es importante notar que en la gráfica de tiempo se presentan oscilaciones en el inicio y se estabilizan.

Figura: Dispositivo KURT. Análisis temporal del comportamiento del dispositivo KURT
\begin{figure}
\begin{center}
\psfig{file=figuras/module_timing_esp.eps ,width=5in} \end{center} \end{figure}


next up previous
Siguiente: Conclusiones y trabajo a Superior: Dispositivo KURT, KU Tiempo Anterior: Dispositivo KURT

Download this document: [src.tar.gz][ps.gz][html.tar.gz][dvi.gz]

Congreso HispaLinux 2000