Hi Jinzhu,
The crossbar topology in gem5 simply connects all controllers (cache and
directory) to one router/switch.
If two cores A and B send out a broadcast, the requirement is that all
nodes receive the broadcast in the same order.
The released version of garnet does not have broadcast support: every
broadcast is sent as multiple unicasts from the source Network Interface.
So it is possible that some cores receive A's unicasts before those B,
and vice versa, breaking ordering.
While you are testing out your protocol, I would suggest using the
simple network (don't add the --garnet-network option) which has the
capability of replicating messages.
I am not 100% sure if it'll solve this issue but might.
If you still get an ordering violation, you will need to go into the
network and see why messages from A and B get delivered in different
orders to cores.
Once you are sure that the protocol works, then you can either edit the
simple network switch itself to model your design (but the simple
network has a fuzzy congestion model), or plug in garnet (if you want a
more detailed network model) and add broadcast support to it.
- Tushar
On 08/06/2012 05:00 PM, gem5 gem5 wrote:
Hi Tushar,
Thanks a lot! I used the command you gave to me and find out that the
total ordering of the protocol is violated. I used the Crossbar
topology in GEM5. I think it's a simplified version of HIERARCHICAL
SWITCH in GEMS, so it should provide total ordering(the root node is
the serialization point). Do I misunderstand something here? Can the
protocol cause the violation if it's not the topology? Thank you!
Best,
Jinzhu
On Fri, Aug 3, 2012 at 8:12 PM, Tushar Krishna <[email protected]
<mailto:[email protected]>> wrote:
Hi Jinzhu,
The error is that your protocol found an invalid transition when
in state "I".
If you grep for "Invalid transition", you will see that this error
message was most likely printed out from
build/X86_SE/mem/protocol/L1Cache_Transitions.cc
You can print out a protocol trace in such cases to understand
what happened.
./build/X86_SE/gem5.opt --debug-flags=ProtocolTrace
configs/example/ruby_random_test.py --num-cpus=4 --num-dirs=1
--topology=Crossbar --garnet-network=flexible
Look at the requests/responses for that address and figure out
what went wrong…
cheers,
Tushar
On Jul 31, 2012, at 6:50 PM, gem5 gem5 wrote:
> Hi all,
>
> I want to move the MOSI_SMP_bcast protocol from GEMS to GEM5. I
modified the original MOSI_SMP_bcast_1level protocol to become
MOSI_CMP_bcast_1level. However, when I ran it with
ruby_random_test.py on Crossbar topology ( build/X86_SE/gem5.opt
--debug-flags=Ruby configs/example/ruby_random_test.py
--num-cpus=4 --num-dirs=1 --topology=Crossbar
--garnet-network=flexible
> ), I got an error like this:
>
> "fatal: Invalid transition
> system.l1_cntrl3 time: 2835 addr: [0x14c0, line 0x14c0] event:
Data state: I"
>
> Here are my questions;
>
> 1. GEMS uses a HIERARCHICAL_SWITCH to work as a logical bus to
provide total ordering. As I understand it, the crossbar
implemented in GEM5 is a simplified version of
HIERARCHICAL_SWITCH. The root router is the serialization point
and it should provide the total ordering for the broadcast
protocol. I wonder if this is correct or not and if this error is
due to lack of total ordering.
> 2. The original MOSI_SMP_bcast_1level-cache.sm has a StoreBuffer
inside, but it is no long supported in GEM5 , I wonder if this
could be the problem. What else changes of SLICC in GEM5 could
introduce this error?
> 3. If none of those is the reason, I wonder what 's the right
way to debug and fix this error. I don't have much experience with
this..
>
> Thanks a lot!
>
> Best,
>
> Jinzhu
>
> _______________________________________________
> gem5-users mailing list
> [email protected] <mailto:[email protected]>
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected] <mailto:[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
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users