nikoonia / gem5v

A Modified gem5 for Simulating Virtualized Systems
BSD 3-Clause "New" or "Revised" License
11 stars 5 forks source link

how to simulate several scenarios with multiple VMs where each VM runs a benchmark? #2

Open freexxxyyy opened 7 years ago

freexxxyyy commented 7 years ago

"How to Use" in README is too concise.

nikoonia commented 7 years ago

Dear,

It is assumed that the user (1) already used the original gem5 and knows how to use it and (2) read the gem5v paper. please let me know if with the above assumptions, the "How to Use" needs to be expanded.

Best Seyed Hossein Nikoonia

On Sun, Mar 19, 2017 at 6:14 AM, lxy0816 notifications@github.com wrote:

"How to Use" in README is too concise.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/nikoonia/gem5v/issues/2, or mute the thread https://github.com/notifications/unsubscribe-auth/AKtGHzHPke45dETEET8eH6HPdd1PmXncks5rnJaPgaJpZM4MhnLW .

freexxxyyy commented 7 years ago

Yeah, although two days ago, i wasn't with (1). And here is my another problem: the command is "./build/X86/gem5.opt configs/example/hypervisor.py --vm-scripts=configs/boot/ls1.rcS:configs/boot/ls2.rcS --kernel=x86_64-vmlinux-2.6.22.9.smp --topology=Mesh --vm-cpu-placements=1-0:0-1 --vm-mem-sizes=512MB:512MB --mesh-rows=1 --caches --l1d_size=32kB --l1i_size=32kB --l2cache --l2_size=2MB --num-l2caches=1 --num-dirs=1" ls1.rcS and ls2.rcS are just simple ls and echo, but it only run the first vm successfully, "loading script... bin dev home lib32 lost+found opt root sys usr boot etc lib lib64 mnt proc sbin tmp var hello!!! ", then appears “ Enter runlevel: ", i type a number, wechatimg2, and finally it pause like above

nikoonia commented 7 years ago

How do you find that the second VM is not running? gem5.opt has some options to write its outputs on a directory. It will create and update a file containing terminal output for each VM.

On Tue, Mar 21, 2017 at 3:02 PM, lxy0816 notifications@github.com wrote:

Yeah, although two days ago, i wasn't with (1). And here is my another problem: [image: options] https://cloud.githubusercontent.com/assets/10864295/24145543/8d920c3e-0e6c-11e7-979d-0c4237e66a2a.jpeg when i type like above, only the first vm can run successfully, and then "Enter runlevel: " appears on the console, i type a number, but finally no more hints. [image: wechatimg2] https://cloud.githubusercontent.com/assets/10864295/24145537/83059b3c-0e6c-11e7-931c-08f1f6937531.jpeg

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nikoonia/gem5v/issues/2#issuecomment-288051549, or mute the thread https://github.com/notifications/unsubscribe-auth/AKtGH3edtumEBUtGD_Yxsgq-xp7l01_Zks5rn7VbgaJpZM4MhnLW .

freexxxyyy commented 7 years ago

system.pc.com_1.terminal (the output of the first vm ? ) and system1.pc.com_1.terminal(the output of the second vm? i am curious about the function of system0.pc.com_1.terminal, as it was null) show the second vm running successfully, and the first vm did not run its script. ls1.rcS is "ls echo "hello!!!" /sbin/m5 exit" ls2.rcS is "echo "world!!" /sbin/m5 exit" i doubt "/sbin/m5 exit" cause gem5v exit, not one of vm exit.

Thanks.

freexxxyyy commented 7 years ago

i just test the script which delete "/sbin/m5 exit",and both of vms run successfully. Besides, is the way which gem5v run SPEC CPU 2006 different from the gem5?

Thanks.

nikoonia commented 7 years ago

"m5 exit" terminates the whole simulation. what is inside system.pc.com_1.terminal ?

On Tue, Mar 21, 2017 at 5:19 PM, lxy0816 notifications@github.com wrote:

system.pc.com_1.terminal (the output of the first vm ? ) and system1.pc.com_1.terminal(the output of the second vm? i am curious about the function of system0.pc.com_1.terminal, as it was null) show the second vm running successfully, and the first vm did not run. ls1.rcS is "ls echo "hello!!!" /sbin/m5 exit" ls2.rcS is "echo "world!!" /sbin/m5 exit" i doubt "/sbin/m5 exit" cause gem5v exit, not one of vm exit.

Thanks.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nikoonia/gem5v/issues/2#issuecomment-288083260, or mute the thread https://github.com/notifications/unsubscribe-auth/AKtGHymiTo_LAK6SHZijTmte9DlnGzGfks5rn9VMgaJpZM4MhnLW .

nikoonia commented 7 years ago

Ok. Glad it is running! there should be no difference in running SPEC CPU 2006. If you can run it successfully in gem5, (logically) you should be able to run it in gem5v too.

On Tue, Mar 21, 2017 at 5:53 PM, Hossein Nikoonia nikoonia@gmail.com wrote:

"m5 exit" terminates the whole simulation. what is inside system.pc.com_1.terminal ?

On Tue, Mar 21, 2017 at 5:19 PM, lxy0816 notifications@github.com wrote:

system.pc.com_1.terminal (the output of the first vm ? ) and system1.pc.com_1.terminal(the output of the second vm? i am curious about the function of system0.pc.com_1.terminal, as it was null) show the second vm running successfully, and the first vm did not run. ls1.rcS is "ls echo "hello!!!" /sbin/m5 exit" ls2.rcS is "echo "world!!" /sbin/m5 exit" i doubt "/sbin/m5 exit" cause gem5v exit, not one of vm exit.

Thanks.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nikoonia/gem5v/issues/2#issuecomment-288083260, or mute the thread https://github.com/notifications/unsubscribe-auth/AKtGHymiTo_LAK6SHZijTmte9DlnGzGfks5rn9VMgaJpZM4MhnLW .

freexxxyyy commented 7 years ago

do you mean system.pc.com_1.terminal or system0.pc.com_1.terminal? the former is: "Linux version 2.6.22.9 (gblack@fajita) (gcc version 4.1.2 (Gentoo 4.1.2 p1.1)) #12 SMP Fri Feb 27 22:10:33 PST 2009 Command line: earlyprintk=ttyS0 console=ttyS0 lpj=7999923 root=/dev/hda1 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 0000000020000000 (usable)

(omission)

oprofile: using timer interrupt. TCP cubic registered NET: Registered protocol family 1 NET: Registered protocol family 10 IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended VFS: Mounted root (ext2 filesystem). Freeing unused kernel memory: 248k freed

INIT: version 2.86 booting

mounting filesystems... loading script... bin dev home lib32 lost+found opt root sys usr boot etc lib lib64 mnt proc sbin tmp var hello!!!

Enter runlevel: "

the latter is empty.

freexxxyyy commented 7 years ago

i found a tutorial https://markgottscho.wordpress.com/2014/09/20/tutorial-easily-running-spec-cpu2006-benchmarks-in-the-gem5-simulator/ about how to run spec cpu 2006 in gem5, but it is system call emulation (SE) Mode, gem5v is full system(FS) mode. Also, vm and host os are two system, how should vm run the program(spec) which is in the host os ? Thanks for the answer.

nikoonia commented 7 years ago

Each VM has its own file system and init script so if you run SPEC in FS mode (gem5), you can run it in VMs too (gem5v).

On Wed, Mar 22, 2017 at 10:51 AM, lxy0816 notifications@github.com wrote:

i found a tutorial https://markgottscho.wordpress.com/2014/09/20/ tutorial-easily-running-spec-cpu2006-benchmarks-in-the-gem5-simulator/ http://url about how to run spec cpu 2006 in gem5, but it is system call emulation (SE) Mode, gem5v is full system(FS) mode. Also, vm and host os are two system, how should vm run the program(spec) which is in the host os ? Thanks for the answer.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nikoonia/gem5v/issues/2#issuecomment-288309332, or mute the thread https://github.com/notifications/unsubscribe-auth/AKtGH14Y_REI0K5aT2WImAPe2p3cKj6Gks5roL3lgaJpZM4MhnLW .