> On Feb. 6, 2015, 5:10 p.m., Steve Reinhardt wrote:
> > So would this replace memtest.py?  If so, then factoring out the common 
> > code would not be an issue.  If not, why not?
> 
> Andreas Hansson wrote:
>     The two are complementary:
>     
>     memtest.py uses MemTest and only tests false sharing, with some progress 
> detection built in
>     
>     memcheck.py uses TrafficGen and MemCheck and tests actual sharing and 
> prefetching, and has a mix of random and strided access patterns
>
> 
> Steve Reinhardt wrote:
>     But do you expect that there are errors that memtest.py would find that 
> memcheck.py would not, even allowing for some tweaking of the TrafficGen 
> access patterns?  The overhead of not just maintaining but also running two 
> different memory testers seems pretty high, so even if they have 
> complementary approaches, it seems worthwhile only if they have significant 
> non-overlap in their coverage of the memory system state/protocol transition 
> space.

I do believe that they both fill a purpose at the moment.

memtest.py has very little state, and can work on a much larger scale (100's of 
testers with 10's of cache levels), I have run some 100 trillion cycles with 
this (once the message-dependent deadlocks are fixes)

memcheck.py relies on the MemCheck tracking of what the allowed read values 
are, and the state tracking does not scale very well at this point. I believe 
we can do some more aggressive pruning (and this is planned work), but even 
running a few billion cycles is currently challenging

Long term the memcheck is probably all we need


- Andreas


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2626/#review5855
-----------------------------------------------------------


On Feb. 3, 2015, 7:57 p.m., Andreas Hansson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2626/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2015, 7:57 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 10692:f0a93f672561
> ---------------------------
> config: Add memcheck stress test
> 
> This is a rather unfortunate copy of the memtest.py example script,
> that actually stresses the system with true sharing as opposed to the
> false sharing of the MemTest. To do so it uses TrafficGen instances to
> generate the reads/writes, and MemCheckerMonitor combined with the
> MemChecker to check the validity of the read/written values.
> 
> As a bonus, this script also enables the addition of prefetchers, and
> the traffic is created to have a mix of random addresses and linear
> strides. We use the TaggedPrefetcher since the packets do not have a
> request with a PC.
> 
> At the moment the code is almost identical to the memtest.py script,
> and no effort has been made to factor out the construction of the
> tree. The challenge is that the instantiation and connection of the
> testers and monitors is done as part of the tree building.
> 
> 
> Diffs
> -----
> 
>   configs/example/memcheck.py PRE-CREATION 
> 
> Diff: http://reviews.gem5.org/r/2626/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Andreas Hansson
> 
>

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to