On Sun, Sep 11, 2011 at 2:58 PM, sparsh1 mittal1 <[email protected]>wrote:

> Hello,
>
> This refers to Avadh's suggestion regarding how to run a deterministic
> simulation.
> I am running multi-core simulation with checkpoint and still it is quite
> non-deterministic.
>
> Here are few questions.
>
> *In case of multicore simulations to get similar results
> make sure of two things,
> 1 - make sure that majority of simulation was running in userspace and
> collect only userspace statistics.
> *
> Q. I will collect only userspace statistics. A longer simulation (higher
> number of instructions) has a larger % of userspace instructions. Isn't it?
> Any other suggestions for running majority of simulation in userspace?
>
> That should work.


> *2 - create checkpoints after all the user threads are created and
> assigned to specific cores.*
>
> Q. Would you explain it a bit. I created the checkpoint as
> ./create_checkpoint 2core_checkpoint; taskset ... parsecmgmt ...b1 &
> taskset ... parsecmgmt ...b2; ./stop_sim
>
> Is this the same you are referring to?
>
> Similar, but not the same. Here you create the checkpoint before you start
the benchmark so when OS will create new processes for your benchmark, it
will rely on some random values for task creation and also it will make disk
access to load the benchmark and its dataset. When heavy IO is involved,
simulation will vary because of asynchronous disk IO of QEMU.  Also, are you
using 'hooks' in parsec? It might change the task-affinity from what you are
setting using taskset.

To run simulations in more deterministic way, first create all the
processes, threads and assign them on your desired CPU. Then create a
checkpoint so when you run your simulation, it will not run any OS level
task scheduling (unless something new comes up..).  I use this method to run
simulations in more deterministic way. To synchronize across multiple
processes, you can use named semaphores to sync them.

- Avadh


> Thanks and Regards
> Sparsh Mittal
>
>
>
> _______________________________________________
> http://www.marss86.org
> Marss86-Devel mailing list
> [email protected]
> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
>
>
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to