Sorry, probably I was wrong. This time, I lower the value to 500000 and
issue the follows:

/sbin/m5 checkpoint
/sbin/m5 checkpoint 500000
./my_alpha_program
/sbin/m5 checkpoint

Now I got three checkpoints as:
cpt.1830187114500
cpt.1831068302000
cpt.1833296533000

However, I am still confused about the tick numbers: why are there so big
gaps between them? Please comment... In particular, is there anything wrong
with my entire approach?

Finally, by using the above approach, I have a question regarding how to
determine the ROI of a multi-threaded program. For such a workload (e.g.
PARSEC, SPLASH2), we are usually interested in the parallel section. So if I
need to create a checkpoint after the sequential initialization, how can I
determine the # of instructions needs to be skipped (i.e. what value should
be set after "m5 checkpoint", as the above)? I know Simics inserts magic
instructions into the source code to pause the simulation to make
checkpoints, etc. Is there any similar mechanism in M5, or should I roughly
estimate this number as in above?

Thank you very much!
Lide

On Thu, Oct 7, 2010 at 10:46 AM, Lide Duan <[email protected]> wrote:

> Hi there,
>
> I am using M5 FS mode to run Alpha programs. My approach is the following:
> boot up the Linux using AtomicSimpleCPU, and make a checkpoint before my
> region of interest (ROI) of the program; Next time, restore the checkpoint
> initially with AtomicSimpleCPU, and then switch to TimingSimpleCPU (for
> warmup) and then DerivO3CPU (for actual measurement). Suppose my ROI begins
> after 10K instructions of my_alpha_program and the CPU frequency is 2GHz
> (which makes 1 cycle be 500 ticks), then my rcS file (to create checkpoint)
> is like the following:
>
> #!/bin/sh
> cd /benchmarks
> /sbin/m5 resetstats
> /sbin/m5 checkpoint 5000000
> ./my_alpha_program
> /sbin/m5 exit
>
> In this way, the program runs correctly and the system exits normally, but
> the checkpoint is not created. I suspected that 10K instructions already
> exceeded the program length, but the checkpoint won't be created no matter
> what value the parameter is set to. Finally, I tried to dump a checkpoint
> before my_alpha_program starts and another one after it finishes:
>
> /sbin/m5 checkpoint
> ./my_alpha_program
> /sbin/m5 checkpoint
>
> now the two checkpoints are created as cpt.1830187131000 and
> cpt.1832925222000. We can see that the tick difference between them is much
> larger than 5000000, so I am confused why my ROI checkpoint cannot be
> created. Am I missing anything here (regarding the entire approach and the
> specific rcS script)??
>
> Thanks,
> Lide
>
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to