[parsec-users] regarding simulation stopping criterion

Jim Dempsey jim at quickthreadprogramming.com
Tue Jan 31 14:26:16 EST 2012


Sparsh,
 
Are you 
 
a) simulating a multi-core processor that is running multiple programs
and/or parallel programs
or
b) running a simulation program (e.g. those in PARSEC) and measuring the
performance of the simulation program
 
Typically PARSEC users use b), but there are a few testing out there
processor designs using a)
 
Since you reference your interest is in IPC I will assume you mean
Instructions Per Cycle, and therefor you too are also interested in a)
 
Can you clarify this?
 
Often when doing a) you would do something analogous to the PARSEC Region Of
Interest (ROI). In your case you would add a call in your source code to
indicate start of region of interest and a call to indicate end of region of
interest. Your simulation engine may have something designed for this
purpose, if not, and if you have the sources to your simulation code, this
can be easily added, as an example, of writing a value (message) to an
otherwise invalid address, which is interpreted by your simulator as a
control message as opposed to bug in simulated program.
 
Jim Dempsey

  _____  

From: parsec-users-bounces at lists.cs.princeton.edu
[mailto:parsec-users-bounces at lists.cs.princeton.edu] On Behalf Of sparsh
mittal
Sent: Tuesday, January 31, 2012 12:13 PM
To: PARSEC Users
Subject: [parsec-users] regarding simulation stopping criterion


Hello


I wanted to ask this, since this is important issue in parallel/multi-core
simulations.

In multi-core simulation or a parallel simulation, one could use different
possible stopping criterion.
1. Run till each core/program has completed at least X instructions. If some
programs finish early, let it go on, but don't collect its stats.
Disadvantage: some programs finish quickly and some very late.

Since different programs have different IPCs, there is one more method.

2. Find IPC (or progress-rate) of each program individually (through offline
simuation) and then run till each core has completed its X(i) instructions,
where X(i) is proportional to its IPC. For example if PROG1 progresses
slower than PROG2, then X1 = 100M and X2=400M (for example). 

3. etc...

Is someone aware if method 2 is a valid/accepted stopping criterion in the
research-field? If so, can you give some feedback or reference for this. I
will be grateful.


Thanks and Regards
Sparsh Mittal



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/parsec-users/attachments/20120131/f42c4987/attachment.htm>


More information about the parsec-users mailing list