I also checked another run with Ruby in FS mode. I attach the option '-s' which will switch from timing cpu to detailed cpu. To my surprise, it end in this case.

$build/ALPHA_MESI_CMP_directory/gem5.opt -d ../exp/2012-12-03-stdsim-mesi-ruby-s configs/example/ruby_fs.py -n 4 --caches --l1d_size=32kB --l1d_assoc=4 --l1i_size=32kB --l1i_assoc=4 --l2cache --l2_size=4MB --l2_assoc=8 --num-l2caches=1 -r 1 --restore-with-cpu=timing --cpu-type=timing *--ruby -s 1 -W 20000000*

I post some outputs here.
.....
**** REAL SIMULATION ****
info: Entering event queue @ 2293289785000.  Starting simulation...
.....
Exiting @ tick 2585108236000 because m5_exit instruction encountered

Obviously, MESI can support Ruby well. But I can not explain why gem5 hangs when run with --ruby only.

Best,
Hanfeng

On 12/04/2012 09:27 AM, hanfeng QIN wrote:
Hi,

I download the PARSEC images with pre-compiled benchmark suite from http://www.cs.utexas.edu/~cart/parsec_m5/ <http://www.cs.utexas.edu/%7Ecart/parsec_m5/>. I extract the pre-compiled benchmarks into my own disk image made from util/gem5img.py. According to the document in the above URL, before entering the ROI, PARSEC will create a checkpoint. So I run the benchmark (e.g., blackscholes) firstly with configs/common/fs.py as well as atomic cpu until the checkpoint is generated. Then in second run, I take configs/common/ruby_fs.py as well as timing cpu and restore from that checkpoint with detailed measurement of the ROI. However, during my experiment, I find that when MESI protocol is equipped, gem5 will hang for many hours after it leaves the ROI. On the other hand, in MOESI_CMP_directory and MOESI_Hammer cases, the simulation will end as expected.

Are there any bugs in current MESI protocol implementation to support Ruby? I am not sure. Wish anyone can give me some suggestions.

Many thanks,
Hanfeng

_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to