Skip to Content.
Sympa Menu

charm - Re: [charm] Question about BigNetSim

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] Question about BigNetSim


Chronological Thread 
  • From: Ryan Mokos <ryan.mokos AT gmail.com>
  • To: Xuehan Xu <xxhdx1985126 AT gmail.com>
  • Cc: charm AT cs.uiuc.edu
  • Subject: Re: [charm] Question about BigNetSim
  • Date: Sat, 13 Aug 2011 01:28:53 -0500
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/charm>
  • List-id: CHARM parallel programming system <charm.cs.uiuc.edu>

Hi Xuehan,

"Inactive" means that quiescence has been reached, which means there are no more events to be executed/simulated.  BigNetSim begins a simulation by executing event 0 of time line 0, which spawns more events, either through forward dependencies or by sending messages.  Those events then spawn other events and so on--following a dependency tree--until there are no more events left to be executed, at which point the simulation becomes inactive and ends.  If the dependency tree is broken anywhere in the middle because a message isn't received, a forward dependency isn't specified or executed properly, or the trace files are corrupted, the simulation will terminate prematurely.

For example, if your bgTrace file looked like this:

0->1->2->3->4

and then was broken:

0->1->2   3->4

the simulation will end after event 2 is executed.

If your trace files work when you simulate them with another model, like the Simple Latency model, then there's most likely a problem with your network model.  Typically, I've seen this error when some part of the model has a bug that keeps one or more messages from being delivered.  I would do the following:

1. Use the output from -check to look for one of the first events that wasn't executed.  For example, if the output for a time line is "45-50 53-1000", pick event 45.

2. Use the LogAnalyzer tool in BigNetSim/trunk/tools/LogAnalyzer to dump all time lines to ASCII format so you can view them.

3. Look at the event you chose in #1 and see where it came from: follow backward dependencies if they exist; or follow messages backward by looking at srcPE and msgID in the first line to see where the message came from, and then look at the time line of the srcPE and search for the message ID.  See if the backward dependency event was executed.  If not, trace that one back another step.  If so, then you've found the break.

4. Add debug statements to your model's code to trace that particular message that wasn't received and see where it's lost.  That should point you to your bug.

I hope that helps (I know it's kind of complicated).

Ryan


On Sat, Aug 13, 2011 at 12:39 AM, Xuehan Xu <xxhdx1985126 AT gmail.com> wrote:
Dear sir:
         I implemented my own simulating model based on the source code of BigNetSim, but when I run it, it always end up with the following output:

Simulation inactive at time: 626783097550194488
Final GVT = 626783097550194488
1 PE Simulation finished at 3817.190426.

          But the simulation is not completed, because when I run it with "-check", I can see that there are still a lot of events had not been executed.
          What kind of problem can lead to this error? What does "inactive" really mean, and what kind of error can it imply?

         Please help me:-) Thank you.




Archive powered by MHonArc 2.6.16.

Top of Page