Hi Brad
Does it make sense that TraceRecord makes use of RubyPort instead of the
Sequencer? I think you mentioned previously that cache warmup would make
use of functional accesses through RubyPort.
--
Nilay
On Wed, 24 Aug 2011, Beckmann, Brad wrote:
Hi Nilay,
The TraceRecord object is used by the cache warmup mechanism. We need to keep
it, but we probably can modify it to work with packet.
Can you post your patch? I would be interested to see the details.
Brad
-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of Nilay Vaish
Sent: Wednesday, August 24, 2011 7:45 PM
To: [email protected]
Subject: [gem5-dev] Ruby: Improving Simulation Speed
I have a patch that makes changes to RubyPort and Sequencer.
Essentially,
it pushes the packet in to the Sequencer, instead of a RubyRequest as
of
now. I tested the patch with streamcluster kernel from PARSEC. On a run
of
3,000,000,000,000 ticks, I see an improvement of about 5.89% in total
simulation time.
There is a catch. I have removed the TraceRecord facility from Ruby for
this. The facility currently relies on the fact that Sequencer's
makeRequest() function takes RubyRequest as argument. But since the
patch
changes this argument to a Packet, TraceRecord will require some
changes.
I think the facility is not in use right now. It can be removed, or
else
it can be changed to take Packet as argument. Any suggestions?
Thanks
Nilay
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev