[Spread-users] FIFO vs AGREED

Steven Dake sdake at mvista.com
Fri Jan 23 19:18:53 EST 2004


I have been reading through the spread code and have a question about
the impact of the FIFO vs AGREED tag.

It is my belief that in order to send a FIFO message, the token must
exist on the current processor.  This is required because the seq field
is used to reorder the FIFO messages at the receiving cpus.  This means
a FIFO message cannot be sent until the token is on the processor.

In order to send a AGREED message, the token must exist on the current
processor for the same reasons as FIFO.

My question is how do these two methods differ in terms of performance
and implementation?

I don't understand how FIFO can perform or is implemented different then
AGREED given the data structures (token) used to ensure ordering. 
Ideally, FIFO could have better performance characteristics, because it
wouldn't have to participate in the ring ordering technique and a cpu
could send messages even when the token was not held, but i don't see
this from my inspection.

Pointers to how it works or code lines would be helpful


More information about the Spread-users mailing list