CMU-SAFARI / Pythia

A customizable hardware prefetching framework using online reinforcement learning as described in the MICRO 2021 paper by Bera et al. (https://arxiv.org/pdf/2109.12021.pdf).

Home Page:https://arxiv.org/pdf/2109.12021.pdf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot get the same results in each run

PKUZHOU opened this issue · comments

Thank you for providing the useful framework.
I am doing some follow-up research based on your code. However, an annoying thing is that when I run the same simulation command twice, I will get slightly different IPC numbers. This can be observed in each line of IPC log.

I guess there may be some issues about the random seed usage, however I have not found any clues (I have checked that the champsim_seeds are the same in two runs). Do you have any suggestions?

Thank you!

I got it. It is due to the srand() function in the LLC replacement module:

srand(time(NULL));

Hi @PKUZHOU, I have pushed the necessary changes to the DRRIP and SHiP replacement policy initialization. This should fix the run-to-run variations. Please let me know if you have found any other source of randomness in the code. We can reopen this issue again.

Thank you for your reply!
Yes, after changing the two lines Ican get the same results now.