Review Board 2.0.15

ext: Update DRAMPower

Review Request #3838 - Created Feb. 24, 2017 and updated

Matthias Jung

Changeset 11881:910b9376009a
ext: Update DRAMPower

This patch syncs the DRAMPower library of gem5 to the external
one on github ( of which
I am one of the maintainers.

The version used is the commit:
from 30. Oct. 2016.

The new version features a bank-wise power estimation.
Furthermore, PASR and Per-Bank Refresh is supported.

More Informtation can be found in the following papers:

A Bank-Wise DRAM Power Model for System Simulations
Deepak M. Mathew, Eder F. Zulian, Subash. Kannoth, Matthias Jung, Christian Weis, Norbert Wehn.
International Conference on High-Performance and Embedded Architectures and Compilers 2016 (HiPEAC), Workshop on: Rapid Simulation and Performance Evaluation: Methods and Tools (RAPIDO), Stockholm, 2017.

A New Bank Sensitive DRAMPower Model for Efficient Design Space Exploration
Matthias Jung, Deepak M. Mathew, Eder F. Zulian, Christian Weis, Norbert Wehn.
International Workshop on Power And Timing Modeling, Optimization and Simulation (PATMOS 2016), September, 2016, Bremen, Germany

Ship it!
Posted (Feb. 25, 2017, 6:34 a.m.)

Going forward, I think we should reconsider how we link other projects in the ext folder. Especially since we're moving to git, I wonder if we could use something like sub repos to get a similar effect without having to pull all of this code into the gem5 repo. I guess the downside to this would be an extra step for users to have to recursively clone the repo.

This comment is not on topic for this patch, sorry. This patch is fine as it is :).

  1. Yes, absolutely, we could use git sub modules. I'll look into this for future.

  2. I have good experiences w.r.t. submodules, We use them internally a lot. The only thing that is required is that people have to clone with an recursive flag:

    git clone --recursive

Ship it!
Posted (Feb. 26, 2017, 1:52 a.m.)

Great. Thanks Matthias!

How can we best make sure the functionality is matched by the DRAMCtrl? Is there anyone that already played around with bank-wise refresh?

  1. I've got a patch that matches DRAMCtrl to the new DRAMPower API which I'm working on merging with this ext/* patch to make a single commit. Expect a post in a couple days. Not played around with bank-wise refresh yet. By default it is disabled. The main issue now resloved is that intermediate statsdump in gem5 will now use window energy calculations from DRAMPower to give correct energy deltas over a statsdump period (previously the dumped stats were cumulative).
  2. We have a full bankwise refresh implementation in DRAMSys. It shouldnt be hard to bring that to gem5 too.

  3. Should I bring this to the new git, as it is? or should i add a submodule?