Replies: 1 comment
-
|
The following parameters added can be checked as follows: |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
This discussion is to validate my suggestions in configuring the cache-replacement policies, and making it easy to add more replacement policies to Olympia. Building on Issue#61.
Problem Statement:
Currently, Olympia's CacheFuncModel is hardcoded to
TreePLRUfrom Sparta. TheSimpleCache2model from Sparta uses theReplacementIFInterface, and also consists of implementations ofLRUandMRUimplemented in the sameLRUReplacement.hppProposed Solution:
I have added parameters to L1-D, L1-I and L2 Cache to select the cache replacement algorithm in their header files. To preserve backward compatibility, I have set the default configuration to
TreePLRU.Modified
CacheFuncModelwhich takes the defined replacement configuration and associativity, Created a newReplacementFactory(in Olympia) where we can configure the required policy.I would like to make new policies local to Olympia:
Randomreplacement, andFIFOandLIFOas sugggested by @h0lyalg0rithm, in his documentation for the LSU. I am guessing thatMRUandLRUcan be borrowed from Sparta as-is.Doubt
Since for any new replacement policy I add need to use
ReplacementIFforSimpleCache2, I am currently stuck at wondering how to modify the newReplacementFactoryto make my local policies use the SparcianReplacementIF. Any suggestions/directions from the experts would be highly appreciated!My current code (work in progress) can be viewed at PR#230.
Beta Was this translation helpful? Give feedback.
All reactions