[Jde-dev] parche icestorm

Sara Marugan smarugan en gsyc.es
Lun Mar 22 12:54:52 CET 2010


Hola,

ya tengo los resultados del análisis del rendimiento temporal de 
Eldercare utilizando varias combinaciones para obtener las imágenes de 
entrada. En algunas utiliza el métido de publicación/subscripción 
IceStorm y en otras el método tradicional cliente/servidor.

*ICESTORM 1 THREAD -> 10 fps (0,2 ms en obtener imagen)

*ICESTORM 2 THREAD -> 12 fps (0,2 ms en obtener imagen)
(1 thread auxiliar para recibir imágenes)

*SIN ICESTORM 1 THREAD -> 4 fps (35 ms en obtener imagen, el tope es 7 fps)

*SIN ICESTORM 5 THREAD -> 12 fps (1 ms en obtener imagen)
(4 threads auxiliares para recibir imágenes)


* equipo empleado: Core 2 Duo 2GB RAM
* medido en el caso tipico: 2 personas


Destaca que si sólo utilizo un thread con icestorm es algo más lento que 
si utilizo además uno auxiliar. Esto parece ser que es porque el thread 
único debe parar la ejecución del algoritmo para atender una nueva 
publicación de imagen que le llega. Sin embargo si utilizamos un thread 
auxiliar para esto el algoritmo no es interrumpido y gana 2 fps.
También he visto que se llega al mismo tope utilizando icestorm con 1 
thread auxiliar y cliente/servidor con 4 threads auxiliares. En este 
caso escogería icestorm por motivos de recursos.

¿Introducimos pues IceStorm como alternativa en jderobot-5.0?



David Lobato wrote:
> Hola Sara,
>
> he revisado el parche que mandaste (no lo he probado). El uso de 
> icestorm parece bastante sencillo, no?
> Antes de subirlo al svn hay que apañar algunas cosas.
>
> Lo primero es que tenemos que buscar la manera de no tocar el interfaz 
> Image, ya que queda poco claro porque hay que implementar el método 
> report tanto en el servidor (vacio) como en el subscriptor. Echa un 
> ojo al image.ice de orca. Ellos usan un interfaz ImageConsumer para 
> estos efectos. Además hay que ver como crear con código los topics (De 
> nuevo ver como lo hacen en orca).
>
> El fichero de configuración que incluyes con cameraserver tiene 
> ficheros que están en tu equipo (file://....).
> Con gstreamer podemos poner dichos ficheros en un servidor web y 
> referirnos a ellos con una url. Para distribuir un ejemplo que 
> funcione sin que el usuario tenga que editar el fichero, no estaría 
> mal colocar unos ficheros en alguna parte de jderobot.org 
> <http://jderobot.org> y usarlos como referencia.
>
> Y por último, has hecho alguna medida del rendimiento? Mejora algo con 
> respecto al get()?
>
> Un saludete,
> David.
>
> 2010/3/17 Sara Marugan <smarugan en gsyc.es <mailto:smarugan en gsyc.es>>
>
>     Hola,
>
>     ya tengo los primeros prototipos de cameraserver y cameraview que
>     utilizan icestorm (publish/subscribe). Adjunto el parche sobre la
>     422 de jderobot-5.0.
>
>     Además es necesario ejecutar icebox y icestormadmin para que
>     funcione el servicio. Adjunto tgz con los ficheros de
>     configuracion y un readme.
>     De momento los topic los he creado manualmente, tengo que ver si
>     se puede hacer de forma automática.
>
>     David, si puedes probarlo y darme el visto bueno se agradece ;)
>
>     Un saludo!
>
>     _______________________________________________
>     Jde-developers mailing list
>     Jde-developers en gsyc.es <mailto:Jde-developers en gsyc.es>
>     http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>



More information about the Jde-developers mailing list