[Jde-dev] clock y cycle

JoseMaria jmplaza en gsyc.es
Mar Mayo 19 16:35:56 CEST 2009


On Fri, 2009-05-15 at 11:56 +0200, David Lobato wrote:
> Veo que algunos interfaces usan los campos clock y cycle.
> ¿Qué significan exactamente? ¿Se necesitan en todos los interfaces?

Clock es un sello temporal de una observación sensorial. Cada vez que un
driver consigue una imagen, por ejemplo, incrementa el contador en
clock. No es necesario que sea un reloj de tiempo real, basta que sea un
reloj lógico. Esto permite, por ejemplo, que un cliente entre a procesar
la imagen sólo si es una imagen nueva y con ello evita repetir sus
cálculos sobre el mismo fotograma. Parece buena política incorporarla a
la mayoría de interfaces.

Cycle es justo el ritmo de ejecución de un esquema/componente. Esto
proviene de que un esquema al usar a otro podía modularle la frecuencia
de ejecución. Un padre podía necesitar que su hijo funcionara a 10Hz y a
otro padre le vale que ejecute a 2Hz. Rellenando ese campo el padre
fijaba la frecuencia de las iteraciones del hijo. Este campo es más
discutible que convenga incorporarlo a los interfaces de datos.

Ambas cosas caen en el ámbito de timing entre componentes, no del cómo
son los datos que se intercambia, sino del cuándo se hace, con qué
frecuencia, etc. Con clock se modula el control de flujo entre un
productor "lento" y un consumidor "rápido". A medida que sigamos
creciendo (sobre todo cuando pasemos a componentes distribuidos) habrá
que darle más vueltas a esto. Ahora creo que vale mantener el
planteamiento actual en los nuevos interfaces.

Ánimo,

JoseMaria
-- 
http://gsyc.es/jmplaza 
Universidad Rey Juan Carlos




More information about the Jde-developers mailing list