gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Using kvm to create checkpoint and restoring with Ruby

LA
Lluc Alvarez Marti
Fri, Dec 13, 2013 2:54 PM

Hi!

I'm using gem5 in SE mode, x86 OoO detailed cores and Ruby with the
MOESI_CMP_directory coherence protocol. I'm trying to fast-forward the
execution of the non-interesting parts of the benchmarks, so I've been
taking a look at the changesets related to KVM. They look promising but
the whole thing is giving me some problems right now, can anyone explain
me how to use the KVM?

I was planning to the following: 1) Run the benchmark with SE + KVMcpu

  • Ruby with MOESI_hammer and create a checkpoint with the m5op
    m5_checkpoint(), 2) Restore from the checkpoint with SE + OoO cpu + Ruby
    with MOESI_CMP_directory. The first problem I've found is that the
    combination of KVM and Ruby is not supported, so I've tried to create
    the checkpoint without Ruby but it throws an error at startup (see
    below). My question is: is there any way to use kvm to create a
    checkpoint and then restoring with my normal configuration of SE + OoO +
    Ruby MOESI_CMP_directory?

Here is the error I've found with se.py and kvm:

command line: ./build/X86/gem5.debug configs/example/se.py
--cpu-type=kvm --num-cpus=1 -c benchmark
Global frequency set at 1000000000000 ticks per second
Error in unproxying param 'kvmVM' of system.cpu
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/lluc/Desktop/gem5/src/python/m5/main.py", line 388, in
main
exec filecode in scope
File "configs/example/se.py", line 258, in <module>
Simulation.run(options, root, system, FutureClass)
File "/home/lluc/Desktop/gem5/configs/common/Simulation.py", line
415, in run
m5.instantiate(checkpoint_dir)
File "/home/lluc/Desktop/gem5/src/python/m5/simulate.py", line 87, in
instantiate
for obj in root.descendants(): obj.unproxyParams()
File "/home/lluc/Desktop/gem5/src/python/m5/SimObject.py", line 911,
in unproxyParams
value = value.unproxy(self)
File "/home/lluc/Desktop/gem5/src/python/m5/proxy.py", line 94, in
unproxy
(self.path(), self._pdesc.ptype_str, base.path())
AttributeError: Can't resolve proxy 'any' of type 'KvmVM' from
'system.cpu'

Thanks in advance,

Lluc

WARNING / LEGAL TEXT: This message is intended only for the use of the
individual or entity to which it is addressed and may contain
information which is privileged, confidential, proprietary, or exempt
from disclosure under applicable law. If you are not the intended
recipient or the person responsible for delivering the message to the
intended recipient, you are strictly prohibited from disclosing,
distributing, copying, or in any way using this message. If you have
received this communication in error, please notify the sender and
destroy and delete any copies you may have received.

http://www.bsc.es/disclaimer

Hi! I'm using gem5 in SE mode, x86 OoO detailed cores and Ruby with the MOESI_CMP_directory coherence protocol. I'm trying to fast-forward the execution of the non-interesting parts of the benchmarks, so I've been taking a look at the changesets related to KVM. They look promising but the whole thing is giving me some problems right now, can anyone explain me how to use the KVM? I was planning to the following: 1) Run the benchmark with SE + KVMcpu + Ruby with MOESI_hammer and create a checkpoint with the m5op m5_checkpoint(), 2) Restore from the checkpoint with SE + OoO cpu + Ruby with MOESI_CMP_directory. The first problem I've found is that the combination of KVM and Ruby is not supported, so I've tried to create the checkpoint without Ruby but it throws an error at startup (see below). My question is: is there any way to use kvm to create a checkpoint and then restoring with my normal configuration of SE + OoO + Ruby MOESI_CMP_directory? Here is the error I've found with se.py and kvm: command line: ./build/X86/gem5.debug configs/example/se.py --cpu-type=kvm --num-cpus=1 -c benchmark Global frequency set at 1000000000000 ticks per second Error in unproxying param 'kvmVM' of system.cpu Traceback (most recent call last): File "<string>", line 1, in <module> File "/home/lluc/Desktop/gem5/src/python/m5/main.py", line 388, in main exec filecode in scope File "configs/example/se.py", line 258, in <module> Simulation.run(options, root, system, FutureClass) File "/home/lluc/Desktop/gem5/configs/common/Simulation.py", line 415, in run m5.instantiate(checkpoint_dir) File "/home/lluc/Desktop/gem5/src/python/m5/simulate.py", line 87, in instantiate for obj in root.descendants(): obj.unproxyParams() File "/home/lluc/Desktop/gem5/src/python/m5/SimObject.py", line 911, in unproxyParams value = value.unproxy(self) File "/home/lluc/Desktop/gem5/src/python/m5/proxy.py", line 94, in unproxy (self.path(), self._pdesc.ptype_str, base.path()) AttributeError: Can't resolve proxy 'any' of type 'KvmVM' from 'system.cpu' Thanks in advance, Lluc WARNING / LEGAL TEXT: This message is intended only for the use of the individual or entity to which it is addressed and may contain information which is privileged, confidential, proprietary, or exempt from disclosure under applicable law. If you are not the intended recipient or the person responsible for delivering the message to the intended recipient, you are strictly prohibited from disclosing, distributing, copying, or in any way using this message. If you have received this communication in error, please notify the sender and destroy and delete any copies you may have received. http://www.bsc.es/disclaimer