From AMD's perspective, we have deprecated our usage of RubyMemoryControl and 
we are using the new Memory Controllers with the port interface.

That being said, I completely agree with Joel that the packet queue finite 
invisible buffer limit of 100 needs to go!  As you know, we tried very hard 
several months ago to essentially make this a infinite buffer, but Andreas 
would not allow us to check it in.  We are going to post that patch again in a 
few weeks when we post our GPU model.  Our GPU model will not work unless we 
increase that limit.

Andreas you keep arguing that if you exceed that limit, that something is 
fundamentally broken.  Please keep in mind that there are many uses of gem5 
beyond what you use it for.  Also this is a research simulator and we should 
not restrict ourselves to what we think is practical in real hardware.  
Finally, the fact that the finite limit is invisible to the producer is just 
bad software engineering.

I beg you to please allow us to remove this finite invisible limit!

Brad



-----Original Message-----
From: gem5-dev [mailto:gem5-dev-boun...@gem5.org] On Behalf Of Andreas Hansson
Sent: Tuesday, September 22, 2015 6:35 AM
To: Andreas Hansson; Default; Joel Hestness
Subject: Re: [gem5-dev] Review Request 3116: ruby: RubyMemoryControl delete 
requests



> On Sept. 21, 2015, 8:42 a.m., Andreas Hansson wrote:
> > Can we just prune the whole RubyMemoryControl rather? Has it not been 
> > deprecated long enough?
> 
> Joel Hestness wrote:
>     Unless I'm overlooking something, for Ruby users, I don't see other 
> memory controllers that are guaranteed to work. Besides RubyMemoryControl, 
> all others use a QueuedSlavePort for their input queues. Given that Ruby 
> hasn't added complete flow control, PacketQueue size restrictions can be 
> exceeded (triggering the panic). This occurs infrequently/irregularly with 
> aggressive GPUs in gem5-gpu, and appears difficult to fix in a systematic way.
>     
>     Regardless of the fact we've deprecated RubyMemoryControl, this is a 
> necessary fix.

No memory controller is using QueuedSlaavePort for any _input_ queues. The 
DRAMCtrl class uses it for the response _output_ queue, that's all. If that is 
really an issue we can move away from it and enfore an upper bound on responses 
by not accepting new requests. That said, if we hit the limit I would argue 
something else is fundamentally broken in the system and should be addressed.

In any case, the discussion whether to remove RubyMemoryControl or not should 
be completely decoupled.


- Andreas


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


On Sept. 16, 2015, 6:07 p.m., Joel Hestness wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/3116/
> -----------------------------------------------------------
> 
> (Updated Sept. 16, 2015, 6:07 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 11093:b3044de6ce9c
> ---------------------------
> ruby: RubyMemoryControl delete requests
> 
> Changes to the RubyMemoryControl removed the dequeue function, which 
> deleted MemoryNode instances. This results in leaked MemoryNode 
> instances. Correctly delete these instances.
> 
> 
> Diffs
> -----
> 
>   src/mem/ruby/structures/RubyMemoryControl.cc 62e1504b9c64
> 
> Diff: http://reviews.gem5.org/r/3116/diff/
> 
> 
> Testing
> -------
> 
> Compiled gem5.debug with --without-tcmalloc. Ran large tests with Valgrind.
> 
> 
> Thanks,
> 
> Joel Hestness
> 
>

_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to