Hi Daniel, I just ran some tests with the new CPU model. Checkpointing seems to work (at least functionally), which is expected since it doesn't change anything in the atomic CPU that affects checkpointing.
If you can't serialize a variable, that's probably a sign of something really bad happening, like running out of disk space. If the problem is on the restore path, a likely cause would be differences in checkpoint format between two different gem5 versions. We used to maintain checkpoint upgraders to avoid that, but we haven't been as rigorous recently. Cheers, Andreas On 24/09/2018 10:32, Daniel Carvalho wrote:
Hello, I ran fs mode both with NonCachingSimpleCPU and AtomicSimpleCPU, however NCSC failed to restore the first checkpoint, as it couldn't serialize one of the variables. Further exploration led me to the following output from stats.txt (the number of committed instructions is correctly set as 10 for both cpu types): GEM5_OPT --redirect-stdout --redirect-stderr --outdir=OUT_DIR PATH_TO/fs.py --cpu-type=NonCachingSimpleCPU -n 1 --mem-size=8GB --sys-clock=4GHz --cpu-clock=4GHz --kernel=KERNEL_PATH --disk-image=IMG_PATH --checkpoint-dir=CPT_DIR --checkpoint-restore=10 --at-instruction --take-checkpoints=9 --checkpoint-at-end sim_seconds 0.004051 # Number of seconds simulated sim_ticks 4051187500 # Number of ticks simulated final_tick 13226883926750 # Number of ticks from beginning of simulation (restored from checkpoints and never reset) sim_freq 1000000000000 # Frequency of simulated ticks host_inst_rate 87045 # Simulator instruction rate (inst/s) host_op_rate 159212 # Simulator op (including micro ops) rate (op/s) host_tick_rate 46751461 # Simulator tick rate (ticks/s) host_mem_usage 9242984 # Number of bytes of host memory used host_seconds 86.65 # Real time elapsed on the host sim_insts 7542728 # Number of instructions simulated sim_ops 13796291 # Number of ops (including micro ops) simulated GEM5_OPT --redirect-stdout --redirect-stderr --outdir=OUT_DIR PATH_TO/fs.py --cpu-type=AtomicSimpleCPU -n 1 --mem-size=8GB --sys-clock=4GHz --cpu-clock=4GHz --kernel=KERNEL_PATH --disk-image=IMG_PATH --checkpoint-dir=CPT_DIR --checkpoint-restore=10 --at-instruction --take-checkpoints=9 --checkpoint-at-end sim_seconds 0.000000 # Number of seconds simulated sim_ticks 8250 # Number of ticks simulated final_tick 13222832747500 # Number of ticks from beginning of simulation (restored from checkpoints and never reset) sim_freq 1000000000000 # Frequency of simulated ticks host_inst_rate 0 # Simulator instruction rate (inst/s) host_op_rate 0 # Simulator op (including micro ops) rate (op/s) host_tick_rate 55 # Simulator tick rate (ticks/s) host_mem_usage 9006272 # Number of bytes of host memory used host_seconds 149.86 # Real time elapsed on the host sim_insts 10 # Number of instructions simulated sim_ops 30 # Number of ops (including micro ops) simulated Unless the run command should be modified when changing between these cpu types, I believe there is a bug on the code, as there shouldn't be that many simulated instructions on NonCachingSimpleCPU. If I'm not mistaken (I don't have easy access to the dir that compiled this), this Gem5 version dates to 07/13/18. Is anyone working on/familiar with this part of the code able to confirm this? Regards,Daniel _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
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
