Hi Everyone,

We have a handful of patches on review board that add support for forking
gem5 at runtime. These patches can be used for cool things such as running
a KVM CPU in one process and forking off detailed simulations that run in
parallel with the KVM CPU (see for example pFSA[6]). The patches have been
on review board for more than a month now and I intend to push them
sometime next week unless I someone tells me otherwise.

In terms of infrastructure changes, there are two things that need to
change. First, we need to add support for changing the m5out directory at
runtime. If we don¹t do this, all of the forks will end up overwriting
each other¹s output.

[1] base: Add support for changing output directories

When forking, we sometimes need to notify objects that we are have done
something potentially dangerous. To do that, we add the notifyFork()
method to drainable:

[2] sim: Add support for notifying Drainable objects of a fork

Forking is potentially dangerous for disk images (multiple guests could
end up writing to the same image) and KVM (forking a VM is probably a bad
idea). We therefore need to add checks and fix-ups for those objects:

[3] dev: Add post-fork handling for disk images
[4] kvm: Shutdown KVM and disconnect performance counters on fork

Finally, we need the infrastructure support to fork in gem5¹s standard
library:

[5] sim: Add support for forking


Let me know if you need more time to look at this.

Thanks,
Andreas

[1] http://reviews.gem5.org/r/3276/

[2] http://reviews.gem5.org/r/3277/

[3] http://reviews.gem5.org/r/3278/

[4] http://reviews.gem5.org/r/3280/
[5] http://reviews.gem5.org/r/3279/

[6] http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=7314164

IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.

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

Reply via email to