Re: [Gems-users] MessageBuffer ordering


Date: Thu, 6 Mar 2008 08:49:00 -0600
From: "Mike Marty" <mike.marty@xxxxxxxxx>
Subject: Re: [Gems-users] MessageBuffer ordering


On Thu, Mar 6, 2008 at 8:22 AM, Marco Solinas <marco.solinas@xxxxxxxxxxxx> wrote:
Hi list!

I have a doubt regarding MessageBuffer ordering.
If a MessageBuffer belongs to an ordered virtual network, I'm sure that
two outgoing messages are served in the same order they are insered in
the buffer (for this reason, Ruby checks if a message is enqueued with a
correct latency).
My doubt is about unordered virtual networks. If I enqueue a first
message that, for some reason, has a latency of (say) 10 cycles, and
then I enqueue a second message that belongs to the SAME block of the
first one, with a latency of 3 cycles, does the second message leave the
buffer and enter the network BEFORE the first one? The problem is that I
need that even if I specify two different latencies for two messages for
the same block, it is important for me that the second message leaves
the buffer after the first one, doesn't matter whether or not the second
latency is smaller than the first one. I want to be sure of this.

No, the second message will leave first.  If you want to change this behavior, consider adding a variable to each message buffer that records the time the last message was sent and then adjusts the latency of the second message accordingly.  But without backpressure, this could result in your latencies becoming unbounded


[← Prev in Thread] Current Thread [Next in Thread→]