Skip to content

guramritcse/CS230_Project

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

CS230_Project

Team: IntelLigent Prefetchers

Team Members

  • Ananth Krishna Kidambi : 210051002
  • Josyula Venkata Aditya : 210050075
  • Guramrit Singh : 210050061

IPCP + Page Aware Prefetching (PAP)

This github repository is made as a part of CS230, a spring 2022-23 course project. The code present in this repository is based on ChampSim, a trace based simulator. IPCP is an Instruction Pointer based prefetcher(check this link: https://dpc3.compas.cs.stonybrook.edu/pdfs/Bouquet.pdf). We propose an enhancement to this prefetcher by introducing Page Aware Prefetching i.e. we prefetch data placed in different pages as well. This might also help us in prefetching page mappings into the TLBs that would be used in the future.

link to traces:

link to ChampSim: https://github.com/casperIITB/ChampSim

High level overview of the implementation:

In IPCP, we issue prefetches according to strides when using the constant stride and stream prefetches. Let the physical address used for issuing prefetches be p and the virtual address corresponding to p be v. In IPCP, we increment p by stride and prefetch this address until we hit the prefetch degree. When p+i*(stride) crosses the page boundary, IPCP stops prefetching. PAP tries to not stop prefetching at this stage by issuing a translation request to the DTLB for the virtual address v+i*(stride). After we get the physical address corresponding to this virtual address, we again start prefetching until we prefetch the remnant of prefetch_degree for the given base address.

Note: the PAP enhanced IPCP prefetcher is under the name pap in the prefetchers folder

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.3%
  • Shell 2.1%
  • Makefile 0.6%