Re: [Gems-users] MessageBuffer ordering


Date: Thu, 06 Mar 2008 09:47:13 -0500
From: Niket <niketa@xxxxxxxxxxxxx>
Subject: Re: [Gems-users] MessageBuffer ordering
My understanding of the MessageBuffer is that it is a priority queue with "arrival time" as the key that determines the priority. The arrival time is the time at which the message can leave the buffer and is = current time + delta time (latency).

So, in your case say the second message enters 2 cycles after the first message, it still can leave early than the first message. Take a look at the ISCA tutorial of Gems in which they describe the priority queue.

If you want to implement your condition, you can modify the MessageBuffer code in ruby/buffers/MessageBuffer.C

Niket

Marco Solinas 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.

Hope you can help me!
Thanks a lot for your support.

Regards,
Marco

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.


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