Hi Jinzhu,
Hmm if I understand your topology correctly, each controller connects to 
multiple routers: each router corresponding to one bus.
The problem is that all these routers connect  to the same MessageBuffer in the 
controller... ?
And I guess the problem occurs because the routers on each bus can wake up in 
any order within a cycle which means the controller's MessageBuffer does not 
see messages from each bus in a particular order. 

If this is the problem, connecting all buses/routers to *one* router which then 
connects to the controller, and then reading each bus in a particular order 
should solve the problem. But you say you tried that? You should probably debug 
why that doesn't work.. 

If your problem can be solved by a particular wakeup order, you could look into 
the event queue to see if you can create some  order between events with the 
same time. I don't have any experience with that though...

- Tushar


On Aug 9, 2012, at 5:37 PM, gem5 gem5 <[email protected]> wrote:

> Hi,
> 
> I have created a logic bus to run a broadcast protocol which requires total 
> ordering in ruby simple network. It works. Now I need to have multiple logic 
> buses. To achieve total ordering among different buses, each cache/directory 
> controller needs to listen to all the buses according to a predefined order.  
> I have tried several methods, such as, set the interface MessageBuffer order 
> to be true, connect a router between all the input links and a controller, 
> but none of them works. I wonder what 's the right way to achieve the goal. 
> Thanks.
> 
> Best,
> 
> Jinzhu 
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to