三个命令行结果的对比,三个不同的结果,证明了kvmcpu的不准确性。
命令行如下:
#ruby-1
./build/X86/gem5.opt -d m5out/onlyoneCPUkvmCheckPointDifferRCS20231218restore configs/deprecated/example/fs.py --script=configs/yz2023Nov/small_n2/yzfs_canneal.script --kernel=/home/yz/.cache/gem5/x86-linux-kernel-4.19.83 --disk=/home/yz/.cache/gem5/x86-parsec --checkpoint-dir=m5out/onlyoneCPUkvmCheckPointDifferRCS20231218 -r 1 --restore-with-cpu=X86KvmCPU --cpu-type=X86KvmCPU --num-cpus=1 --ruby --network=garnet --topology=Mesh_XY --mesh-rows=1 --num-dirs=1 --num-l2caches=1 --script=configs/yz2023Nov/small_n2/yzfs_canneal.script
#non-ruby-1
./build/X86/gem5.opt -d m5out/onlyoneCPUkvmCheckPointDifferRCS20231218restore configs/deprecated/example/fs.py --script=configs/yz2023Nov/small_n2/yzfs_canneal.script --kernel=/home/yz/.cache/gem5/x86-linux-kernel-4.19.83 --disk=/home/yz/.cache/gem5/x86-parsec --checkpoint-dir=m5out/onlyoneCPUkvmCheckPointDifferRCS20231218 -r 1 --restore-with-cpu=X86KvmCPU --cpu-type=X86KvmCPU --num-cpus=1 --script=configs/yz2023Nov/small_n2/yzfs_canneal.script
#non-ruby-2
./build/X86/gem5.opt -d m5out/onlyoneCPUkvmCheckPointDifferRCS20231218restore configs/deprecated/example/fs.py --script=configs/yz2023Nov/small_n2/yzfs_canneal.script --kernel=/home/yz/.cache/gem5/x86-linux-kernel-4.19.83 --disk=/home/yz/.cache/gem5/x86-parsec --checkpoint-dir=m5out/onlyoneCPUkvmCheckPointDifferRCS20231218 -r 1 --restore-with-cpu=X86KvmCPU --cpu-type=X86KvmCPU --num-cpus=1 --script=configs/yz2023Nov/small_n2/yzfs_canneal.script
这证明了kvm虽然很快只需要几秒种但是可重复性很差。