Hello Everyone,

For quite a while I've been trying to simulate a multi-core X86 full
system with DerivO3CPUs. So can I achieve it by booting up with simple
Atomic CPU and then restore using DerivO3CPU (as suggested in mail
archive)
<https://www.mail-archive.com/[email protected]/msg16679.html>, with
the image and kernel from Jason's Website (ref:
http://www.lowepower.com/jason/setting-up-gem5-full-system.html).

The issue comes *after *switch CPUs: I can only run PARSEC (or any other
binaries) when "/--num-cpus = 1 or 2"/. For more than 2 CPUs, e.g. 3, 4,
or higher, the system always freezes after few seconds of switch. I can
still run some basic command like "/cd/", "/ls/", or "//sbin/m5
dumpresetstats/" in that few seconds right after switch, but I can't run
any serious binaries within that short period.

I think it was /frozen/, because the outputs never change after the
first few seconds, also, its virtual memory and physical RAM usage in
the host machine is unreasonably low, less than 10% of a correctly
running gem5 simulation...

------------------------------------------------------------------------

I boot system with the following command:

build/X86/gem5.opt configs/example/fs.py --disk-image=ubuntu-parsec3.img
--kernel=vmlinux -n 3 --caches --l2cache --l1i_size=32kB --l1d_size=32kB
--num-dirs=3 --l2_size=16MB --num-l2caches=3 --checkpoint-at-end
--script=/home/jx76/c_lang_test.rcS

or just simply:

build/X86/gem5.opt configs/example/fs.py --disk-image=ubuntu-parsec3.img
--kernel=vmlinux -n 3 --caches --l2cache --l2_size=16MB
--checkpoint-at-end --script=/home/jx76/c_lang_test.rcS

Then I restore and switch CPUs with the following command:

build/X86/gem5.opt -d /home/jx76/DerivO3CPU/kernel-4/3cores
configs/example/fs.py --disk-image=ubuntu-parsec3.img --kernel=vmlinux
-n 3 --caches --l2cache --l1i_size=32kB --l1d_size=32kB --num-dirs=3
--l2_size=16MB --num-l2caches=3 --checkpoint-at-end
--script=/home/jx76/c_lang_test.rcS -r 1 --cpu-type=DerivO3CPU

or just:

build/X86/gem5.opt configs/example/fs.py --disk-image=ubuntu-parsec3.img
--kernel=vmlinux -n 3 --caches --l2cache --l2_size='16MB'
--checkpoint-at-end --script=/home/jx76/c_lang_test.rcS -r 1
--cpu-type=DerivO3CPU

Where the runScript is:

/sbin/m5 checkpoint
echo "Finish Checkpoint :D"
echo "Start Stats :D"
/sbin/m5 dumpresetstats
echo "Start a simple testing C Language Binary :D"
/home/me/a.out
echo "Done :D"
/sbin/m5 exit

Well, with the Atomic system the simulation has no problem and can run
smoothly. I have explored lots of related mail archives, but still can't
find a feasible solution. Thus, any comment is sincerely appreciated!

Best,

-- 

Jiali <https://users.cs.duke.edu/~jx76/>
MSEC
Duke University

_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to