HewlettPackard / quartz

Quartz: A DRAM-based performance emulator for NVM
https://github.com/HewlettPackard/quartz
Other
159 stars 66 forks source link

Setting read throttling register? #2

Closed sudarsunkannan closed 7 years ago

sudarsunkannan commented 7 years ago

Hello,

The BW throttling worked for me only after setting the THROTTLE_DDR_READ registers in the __set_read_bw function specifically for runs after the training phase when the bandwidth model file is already present. Is this correct?

__set_read_bw() { ... node->cpu_model->set_throttle_register(regs, THROTTLE_DDR_ACT,
read_bw_model.throttle_reg_val[point]); //Added statement node->cpu_model->set_throttle_register(regs, THROTTLE_DDR_READ,
read_bw_model.throttle_reg_val[point]); ... }

hvolos commented 7 years ago

That's interesting. When we tried setting the read/write throttling registers (i.e, THROTTLE_DDR_READ, THROTTLE_DDR_WRITE), those didn't have any effect.

I think this might depend on the processor/chipset. What processor are using?

sudarsunkannan commented 7 years ago

Here is the processor type. "Intel(R) Xeon(R) CPU E5-2660 v3 @ 2.60GHz".

I agree that it might depend on the processor type. For pre-Sandybridge platforms, I was using a simple custom script [https://github.com/SudarsunKannan/Thermalthrottling] and did not have to set the read and write registers.

But if you think adding these registers to the code might do no harm when not required, then could be useful.