> On July 1, 2015, 3:07 p.m., Andreas Hansson wrote:
> > src/mem/DRAMCtrl.py, line 460
> > <http://reviews.gem5.org/r/2932/diff/1/?file=47349#file47349line460>
> >
> >     Really? I was under the impression that the vault controllers were 
> > simple closed page. See for example 
> > http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7095154
> 
> Erfan Azarkhish wrote:
>     In fact, vault controllers are simple closed page policy. But I faced a 
> problem with the simple closed policy in the DRAMCtrl class: If we issue a 
> packet longet than burst_length (for example a burst of 128Bytes or 256Bytes 
> which is supported by HMC), DRAMCtrl will open and close the row for every 
> subtransaction. While the close_adaptive keeps the row open until all 
> subtransactions complete.
>     Another alternative solution would be to set the page policy to simple 
> closed, but increase burst_length to maximum supported by HMC (128 or 256), 
> but then the problem will be that smaller transactions incur a large tBURST 
> latency.
>     I hope that this makes sense.

I see your point. In a real-life scenario I would hardly ever expect to see any 
128 or 256 byte transactions though, so I would prefer to stick to a close page 
policy for now. We can always beef up the policy so that it is less strict in 
the future.


> On July 1, 2015, 3:07 p.m., Andreas Hansson wrote:
> > src/mem/DRAMCtrl.py, line 469
> > <http://reviews.gem5.org/r/2932/diff/1/?file=47349#file47349line469>
> >
> >     I am somewhat surprised that we need values this high. With a 32 vault 
> > cube this would amount to an astonishing number of queued transactions (and 
> > there is probably no system out there that would even get close to even 
> > using 2048 outstanding transactions).
> 
> Erfan Azarkhish wrote:
>     I performed some accuracy comparisons between the gem5 model and our 
> cycle-accurate HMC model, and I realized that the the 'buffer_size' parameter 
> in gem5 does not correspond directly to the number of flip-flops in the 
> system. This is because gem5's standard memory system does not work based on 
> flits, and it only approximates them. This is acceptable, but we should 
> remember that from the 'buffer_size' in gem5 we cannot draw conclusions about 
> the number of hardware flip-flops in that components.
>     Here is how I obtained this value:
>     I injected high pressure (identical) traffic to both models (gem5 and the 
> Cycle-accurate model) and tried to match their 'delivered bandwidth' and 
> 'execution time' with a high accuracy (less than 5% difference).
>     I observed that if 'buffer_size' is not large enough, gem5 does not 
> deliver the intended bandwidth. So I increased this value and gem5's 
> bandwidth matched the CA simulation really well.
>     This issue also stems from the fact that in real hardware, most 
> components interact with request/grant or valid/stall handshaking FIFOs which 
> regulate bandwidth, but in gem5's standard memory system these concepts 
> cannot be directly modeled. For this reason the buffer_size in the bridge and 
> the DRAMCtrl components should be adjusted to achieve the desired bandwidth 
> and execution time.

gem5's buffer size is expressed in DRAM bursts, is that where the problem lies? 
I am still not sure I understand your argument about request/grant and 
valid/stall. I fully appreciate that you changed it to make things aligned, but 
to me it sounds like there is something else we should be adjusting rather.


- Andreas


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


On July 1, 2015, 10:25 a.m., Erfan Azarkhish wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2932/
> -----------------------------------------------------------
> 
> (Updated July 1, 2015, 10:25 a.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Minor fixes in the HMC vault model
> This patch and the subsequent chain of patches aim to model a simple Hybrid 
> Memory Cube device in gem5
> Please apply the complete chain before running the simulation.
> 
> 
> Diffs
> -----
> 
>   src/mem/DRAMCtrl.py 73d4798871a5 
> 
> Diff: http://reviews.gem5.org/r/2932/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Erfan Azarkhish
> 
>

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

Reply via email to