frantgn90 / apa-prefetcher

First of two projects for APA (Advanced Processor Architecture) course of MIRI master at UPC. We are encouraged to develop the best prefetcher that we can taking into account some restrictions and assumptions.
GNU General Public License v3.0
0 stars 1 forks source link

Doubt about prefetching accuracy tracking #5

Open frantgn90 opened 7 years ago

frantgn90 commented 7 years ago

I understood that SPP throttle down or increase the aggressiveness of the lookahead process by mean of its global accuracy scaling factor (alpha). The responsible to track prefetching accuracy is the prefetch filter module. SPP is modulating alpha by mean of two counters, Ctotal and Cuseful, so apha=Cuseful/Ctotal being the useful prefetches and the total number of prefetches done respectively. Tracking the total number of prefetches is trivial but tracking the useful ones is not. They said on the paper that they are using the L2 cache demand request, so since PF knows which prefetchs are done, if there is a match it means that we have prefetched one useful think on the LLC.

My doubt is that they said that they have mechanisms to prefetch blocks on L2 instead of LLC depending on a confidence threshold (Tf) so if the confidence is over the threshold they prefetch on L2. If you look at figure 4, the filter updates are only for L2 request and it implies that we will not see and will not update the Cuseful for the useful prefetches done to L2 because there will be hits and those accesses wont be requested to L3. I think they miss one more arrow at figure 4 from L1 to L2 request that also updates filter. ¿No?

aztinki commented 7 years ago

I am reading on this, I am not sure. will reply when i get it

frantgn90 commented 7 years ago

I am assuming the filter is updated with requests to L2. I've done like that at code.