Hi Tushar, Oh..it's my shame !!! Yes, the network-only simulation works fine after removing the options. Thank you for your point.
As for ALPHA_SE_MOESI_hammer, the problematic protocol state should not have been generated withe the protocol, according to the state diagram in document page. That is why I wonder. Anyway, I downloaded the recent *stable version of gem5* called *gem5-stable * by running *hg clone http://repo.gem5.org/gem5-stable, and *the simulator package's build_opts directory showed me that there was a ALPHA_SE_MOESI_hammer. Thus, I compiled the gem5 binary by executing "scons build/ALPHA_SE_MOESI_hammer". This is the process that I did so as to get the binary. I guess the problem is only related to gem5-stable version, because I am able to run the same command with gem5 (development version). Can you perform the regression test for the protocol with gem5-stable in your side? Thanks. Regards, Juyoung On Wed, May 9, 2012 at 10:23 PM, Tushar Krishna <tus...@csail.mit.edu>wrote: > Hi Juyoung, > Regarding the first deadlock: > The simulation actually doesn't give you anything useful since you have > --fixed-pkts --maxpackets=1 which basically means that each core will only > inject ONE packet whether you run it for 1000 or 1M cycles. > To run with more cycles, you should remove the --fixed-pkts options, or > increase the maxpackets. > The reason why you get a deadlock error is because the tester > (src/cpu/testers/networktest/networktest.cc) thinks there is a deadlock > since nothing happened for the past 500K cycles. > > > For the second deadlock, hmm thats weird. MOESI_hammer is a pretty > rigorously tested protocol. > Note that this is not a deadlock error: the error is that the cache > controller received a non-existent transition request. > > BTW how did you compile a ALPHA_SE_MOESI_hammer? I thought the current > gem5 version has no separate SE and FS versions… > Are you using the latest version? > Can you compile as scons build/ALPHA_MOESI_hammer/gem5.debug and re-try? > > cheers, > Tushar > > > On May 9, 2012, at 7:39 PM, Juyoung Jung wrote: > > Hi Tushar, > > I installed the prerequisites having the following versions, and run the > network tester. > g++: 4.4.6 (rather than 4.4.5) > python: 2.6.7 (rather than 4.4.6) > swig: 1.3.40 > m4: 1.4.14 > gzip: 1.3.12 > > The result was successful with a command > ./build/ALPHA_SE_Network_test/gem5.debug > ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 > --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 > --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed > > However, when I increased the simulation cycles up to 1M, it exited with > deadlock error like this: > > gem5 compiled May 9 2012 15:40:30 > gem5 started May 9 2012 16:00:17 > gem5 executing on cairo1 > command line: ./build/ALPHA_SE_Network_test/gem5.debug > ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 > --topology=Mesh --mesh-rows=2 *--sim-cycles=1000000* --injectionrate=0.01 > --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > warning: add_child('cls'): child 'credit_links0 credit_links1' already has > parent > Global frequency set at 1000000000 ticks per second > info: Entering event queue @ 0. Starting simulation... > system.cpu3: deadlocked at cycle 500015 > fatal: > @ cycle 500015 > [tick:build/ALPHA_SE_Network_test/cpu/testers/networktest/networktest.cc, > line 175] > > > The same deadlock situation occurred with hammer protocol at even earlier > simulation like this: > > gem5 Simulator System. http://gem5.org > gem5 is copyrighted software; use the --copyright option for details. > > gem5 compiled May 9 2012 15:54:32 > gem5 started May 9 2012 16:06:42 > gem5 executing on cairo1 > command line: ./build/ALPHA_SE_MOESI_hammer/gem5.debug > configs/example/ruby_random_test.py --num-cpus=4 --num-dirs=4 > --topology=Mesh --mesh-rows=2 *-l 1000* > Global frequency set at 1000000000 ticks per second > info: Entering event queue @ 0. Starting simulation... > fatal: Invalid transition > system.l1_cntrl0 time: 330144 addr: [0x20c0, line 0x20c0] event: > Flush_line state: MR > @ cycle 330144 > [doTransitionWorker:build/ALPHA_SE_MOESI_hammer/mem/protocol/L1Cache_Transitions.cc, > line 1132] > Memory Usage: 220192 KBytes > > From these trials, I could not successfully run the network simulation > even though I am able to invoke a garnet object without error in this time. > I am not sure if this deadlock or invalid transition problem is also caused > by slightly different development tool version. What would be the real > cause of the deadlock/invalid transition between simply bad code generation > and test controller's bug based on wrong protocol? How can I debug it? I > would like to run the network-only simulation as like being shown in gem5 > document(http://www.m5sim.org/Networktest). Let me hear your comments. > Thanks. > > > - Juyoung > > > On Tue, May 8, 2012 at 5:08 PM, Tushar Krishna <tus...@csail.mit.edu>wrote: > >> Yeah it works for me both with and without garnet. >> >> Here are the versions on my machine: >> g++: 4.4.5 >> python: 2.6.6 >> swig: 1.3.40 >> m4: 1.4.14 >> gzip: 1.3.12 >> >> Start with matching the python and g++ versions as you seem to be getting >> an error when it tries to create a garnet object in configs/ruby/Ruby.py >> >> >> - Tushar >> >> >> >> On May 8, 2012, at 5:31 PM, Juyoung Jung wrote: >> >> Hi Tushar, >> >> Thanks for your quick reply. >> I was able to run the simulation with ruby_random_test.py + >> ALPHA_MOESI_hammer protocol without any error. At a glance, I thought the >> protocol used was a problem. However, after more tests, I found that the >> simulation failed with option to invoke garnet-network as like: >> * ./build/ALPHA_Network_test/gem5.debug >> ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 >> --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 >> --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed* >> Meanwhile, it worked fine if I drop the option "--garnet-nework=fixed" >> off the command like: >> * ./build/ALPHA_Network_test/gem5.debug >> ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 >> --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 >> --synthetic=0 --fixed-pkts --maxpackets=1* >> >> Based on this observation, I wonder if you succeed in running a >> simulation with configs/example/ruby_network_test.py, especially invoking >> garnet network. I tested the ruby network tester with both g++ 4.3.2 and >> g++ 4.6.1, and checked with different garnet mode (i.e. flexible) as well. >> They had the same result "failure" (please see previous email). If you >> think this is related to c++ version issue, could you tell me which version >> of c++ you are using on your platform? (including other packages' version >> such as swig/python/zlib/m4 if possible). >> >> Can you give me more comment on this garnet invocation issue? >> Thanks. >> >> >> - Juyoung >> >> >> >> >> >> >> >> On Tue, May 8, 2012 at 12:08 PM, Tushar Krishna <tus...@csail.mit.edu>wrote: >> >>> Hi Juyoung, >>> In future pls send the emails directly on gem5-users so that others who >>> experienced similar problems can help out as well? >>> I am cc:ing gem5-users >>> >>> >>> I just pulled out the latest version of gem5 and ran this exact command >>> and it worked fine. >>> Are you getting this error only with ruby and garnet and this particular >>> protocol? >>> >>> It seems to me that it might be some C++ version issue etc … >>> >>> Can you test it with another protocol too, without garnet. >>> Eg: >>> >>> scons build/ALPHA_MOESI_hammer/gem5.debug >>> >>> ./build/ALPHA_MOESI_hammer/gem5.debug >>> configs/example/ruby_random_test.py --num-cpus=4 --num-dirs=4 >>> --topology=Mesh --mesh-rows=2 -l 1000 >>> >>> [The -l command in ruby_random_test specifies the number of cycles to >>> inject]. >>> >>> - Tushar >>> >>> >>> On May 8, 2012, at 1:31 PM, Juyoung Jung wrote: >>> >>> Hi Tushar, >>> >>> >>> I am trying to run Garnet simulator with gem5 following the >>> documentation found at http://www.gem5.org/Networktest. However, in my >>> case, it failed to running as it stand, even if other setup conditions have >>> been met. I tested both the most recent stable and dev gem5, and the same >>> problem happened. The followings are errors and warnings which I ran into. >>> >>> >>> #> ./build/ALPHA_Network_test/gem5.debug >>> ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 >>> --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 >>> --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed >>> >>> gem5 Simulator System. http://gem5.org >>> gem5 is copyrighted software; use the --copyright option for details. >>> >>> gem5 compiled May 8 2012 12:20:15 >>> gem5 started May 8 2012 13:15:56 >>> gem5 executing on panther >>> command line: ./build/ALPHA_Network_test/gem5.debug >>> ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 >>> --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 >>> --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> warning: add_child('cls'): child 'credit_links0 credit_links1' already >>> has parent >>> Global frequency set at 1000000000 ticks per second >>> Traceback (most recent call last): >>> File "<string>", line 1, in <module> >>> File >>> "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/main.py", >>> line 357, in main >>> exec filecode in scope >>> File "./configs/example/ruby_network_test.py", line 131, in <module> >>> m5.*instantiate()* >>> File >>> "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/simulate.py", >>> line 90, in instantiate >>> for obj in root.descendants(): obj.*createCCObject()* >>> File >>> "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py", >>> line 1035, in createCCObject >>> self.*getCCParams()* >>> File >>> "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py", >>> line 994, in getCCParams >>> *setattr(cc_params, param, value)* >>> SystemError: NULL result without error in PyObject_Call >>> Segmentation fault >>> >>> >>> I am not sure but it seems to have a problem in setting C++ object's >>> attribute. >>> Even if I found some port-related issues posted by Pavan Poluri from old >>> mailing archive, this problem is likely related to more recent changes in >>> either Ruby, Garnet, or both. >>> Could you give me a hint how I can resolve the problem? >>> Thanks. >>> >>> >>> Regards, >>> >>> >>> Juyoung >>> >>> >>> >> >> >> -- >> >> ------------------------------------------------------------------------------------ >> >> >> > > > -- > > ------------------------------------------------------------------------------------ > > > -- ------------------------------------------------------------------------------------
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users