Re: [Gems-users] GEMS Simulator Simulation time


Date: Wed, 02 Nov 2005 14:12:30 -0600
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] GEMS Simulator Simulation time
Hrishikesh,

Speeding up memory timing models is difficult. Basically, Simics is a cycle-by-cycle simulator, bu timing models cause the Simics processors to stall. When a Simics processor stalls, it seems to still be doing some work, simply because logical time advances. When memory timing models stall processors, most processors are stalled for most of the time.

Using Simics (again, this is actually a Simics issue), there is no clear way to get around this if you care about interprocessor timing dependencies. However, if you *only* care about cache miss rates and NOT the effect of one processor progressing slower than another due to cache effects, there may be a solution that will speed your simulations: Drop the cache access latencies to near-zero, to minimize the time that Simics is stalled. This will definately cause execution behaviors *not* consistent with real memory timings, but it will also reduce the amount of time the simulation is stalled on memory accesses.

You can change access latencies in ruby/config/rubyconfig.defaults. Then recompile Ruby.

As far as benchmarks, I recommend you write some code of your own and run it using both Simics only and Simics+Ruby configurations, since I don't know what benchmarks you are using.

Good luck.

Regards,
Dan

Hrishikesh Das wrote:

Dan,

Thanks for the prompt reply,

Is there a way I can speed it up? Right now I am not loading/simulating the Opal module. Will loading this result in more slowdown(as I expect) ?

Also as an alternative whats the simplest benchmark that I can test ? I mean a very simple benchmark that executes very fast.

Thanks,
Hrishikesh.


On 11/2/05, *Dan Gibson* <degibson@xxxxxxxx <mailto:degibson@xxxxxxxx>> wrote:

    Hrishikesh,

    The performance impact of using a memory timing model (like Ruby) is
    very significant. The slowdowns you are reporting are not unusual--in
    some cases running Simics with Ruby can slow simulation very
    significantly.

    The reason for the slowdown is quite complex, and it not accounted for
    entirely by execution within the timing model. Specifically, Simics
    itself runs (much) slower when memory timing models are used.

    Regards,
    Dan Gibson

    Hrishikesh Das wrote:

    > Dear Sirs,
    >
    > I am a student using GEMS in a Parallel computing architecture
    course.
    > I am using SIMICS and a SIMICS suse 7.3 image running on a X86 dual
    > processor server.
    >
    > The problem I am facing is that when using Ruby for simulation, the
    > simulation is extremely slow. Ex- a simple simulation of Unixbech,
    > that takes SIMICS about 1 -2 minutes to emulate, takes SIMICS with
    > Ruby about 10+ hours. Is this kind of slowdown natural ? Is there
    > anything I can do to speed things up ? I need to get these results
    > done for my course work,
    >
    > Any help will be greatly appreciated.
    > Thanks,
    > Hrishikesh Das.
    >
    > Graduate Student,
    > Mississippi State University.
    >
    >------------------------------------------------------------------------
    >
    >_______________________________________________
    >Gems-users mailing list
    >Gems-users@xxxxxxxxxxx <mailto:Gems-users@xxxxxxxxxxx>
    >https://lists.cs.wisc.edu/mailman/listinfo/gems-users
    <https://lists.cs.wisc.edu/mailman/listinfo/gems-users>
    >
    >
    _______________________________________________
    Gems-users mailing list
    Gems-users@xxxxxxxxxxx <mailto:Gems-users@xxxxxxxxxxx>
    https://lists.cs.wisc.edu/mailman/listinfo/gems-users


------------------------------------------------------------------------

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
[← Prev in Thread] Current Thread [Next in Thread→]