Agunas pruebas con computación en tiempo real

Computación en tiempo real… me ha traido algo loco los últimos dias, les platico un poco de esto…

Comentaba en la entrada anterior que me habia hecho de una computadora nueva. Despues de ver lo genial que es para graficar diseños mecánicos, le puse un reto totalmente distinto, ver que tal se comportaba con un RTOS.

Como platicaba en la introducción a la computación en tiempo real, el problema es muy diferente. Para tratar de evaluar las latencias de un RTOS, me topé con un LiveCD llamado“Realtime Kernel Live CD” que permite hacer unas pruebas, ya viene con RTAI pre-instalado.

Lastima que no tengo las gráficas (las dejaré para una entrada futura), pero si tengo algunos datos que me han dejado un tanto desconcertado sobre los elementos que con los causantes de altas o bajas latencias.

La primer computadora analizada fue una Intel Pentium M de 1.6 Ghz con 512 MB de RAM. Según este LiveCD, sus latencias para las interrupciones hiban de 4.5 a 7.5 µs, con un “pico” de 87 µs, lo cual es suficiente para algunos proyectos. Medido con osciloscopio dió valores de 6 a 8 µs.

Digo “pico”, porque la gráfica lo mostraba como el valor máximo, aunque no he podido corroborar eso.

Tiempo despues le tocó turno a una AMD Turion 64 X2 de 1.8 Ghz y 512 de RAM. Los resultados fueron desalentadores, el LiveCD daba latencias de interrupción de entre 4.5 a 15 µs con un “pico” de 48 µs y el osciloscopio mostraba de 10 a 20 µs en modo de 64 bits y de 12 a 14 µs en 32 bits.

Ralmente esperaba que la Turion fuera más rápida que el Pentium M, pero no.

Ahora, la nueva computadora, una AMD Athlon II X2 a 2.8 Ghz y 2 GB de RAM, ha corrido sus pruebas de rendimiento de tiempo real y sus resultados con el LiveCD fueron de 4.5 a 9.5 µs de latencia de interrupción y un “pico” de 31 µs. Aún no la he probado con osciloscopio.

Para los entusiastas en RT, les debo muchos datos técnicos, necesitaba escribir esto y no quedarmelo en la mente, pero pueden investigar algunos detalles de los microprocesadores en la wikipedia.

El valor de todas estas pruebas es el identificar el o los factores que intervienen en las latencias de interrupción y encontrar la computadora con mejor rendimineto para tiempo real. En alguna entrada posterior les pondré los datos que he analizado, por ahora hay que regresar al trabajo :P

Enlaces

OSADL Project: Realtime Kernel Live CD
OSADL: Open Source Automation Development Lab