Date: | Tue, 23 Feb 2010 11:08:34 -0600 |
---|---|
From: | Dan Gibson <degibson@xxxxxxxx> |
Subject: | Re: [Gems-users] GEMS on simics 4 - Parallelize gems - Un-stall simics for multiple cycles |
Andrea, I'm afraid you will find most of my response disappointing. Please take note of it in sections, below, in response to your individual questions. On Tue, Feb 23, 2010 at 7:59 AM, Andrea Bartolini <a.bartolini@xxxxxxxx> wrote: Dear experts, GEMS will run on Simics 4. We have managed to mate GEMS to Simics 4 internally using a setup process identical to that of Simics 3. We have not yet fully convinced ourselves that the results of delivered by a Simics4+GEMS configuration are sufficiently identical to those of a Simics3+GEMS configuration -- that is, we have not fully evaluated how much the Simics version affects results, and we do not use Simics 4 internally. We therefore suggest users continue to use Simics3, in which we have more confidence.
You will find that the performance claims of Simics 4 will evaporate when you use Ruby. All of the optimizations that make *emulation* faster tend to actually slow detailed *simulation* down, quite substantially. Native x86 execution is essentially useless in this context, as every memory reference, including instruction fetch, needs to stall via Ruby anyway. The performance advantage of native execution is totally lost when single-stepping instructions.
Essentially, no. There are substantial problems. As I recall, the accelerator is parallel and not deterministic, which would make repeatability of results a substantial problem. does anyone thought about parallelize gems and the eventqueue ? We've talked about this for a long time. Profiling reveals that not a lot of time in a Simics+Ruby configuration actually goes to running the event queue. Most of the apparent slowdown seems to be due to the fact that stalling in Simics isn't optimized. Admittedly, the data to which I refer is quite old (4+ years), and may not reflect the behavior of Simics3/4. Ore someone of you already did it. I see no reason why what you propose cannot be done. Indeed, I have tried it myself on older Simics versions. My experience was that there was no significant difference in performance, but things may have changed in the four years since my last attempt. Best of luck. Regards, Dan
-- http://www.cs.wisc.edu/~gibson [esc]:wq! |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | [Gems-users] GEMS on simics 4 - Parallelize gems - Un-stall simics for multiple cycles, Andrea Bartolini |
---|---|
Next by Date: | Re: [Gems-users] GEMS on simics 4 - Parallelize gems - Un-stall simics for multiple cycles, Andrea Bartolini |
Previous by Thread: | [Gems-users] GEMS on simics 4 - Parallelize gems - Un-stall simics for multiple cycles, Andrea Bartolini |
Next by Thread: | Re: [Gems-users] GEMS on simics 4 - Parallelize gems - Un-stall simics for multiple cycles, Andrea Bartolini |
Indexes: | [Date] [Thread] |