My Reading Summary:

Hi, friends. Welcome to my Reading Summary, and I hope this will help you with your research.
If you have any new ideas, we can disscuss about them.
---------------------------------------------------------------------------------------------------------------------------------------------
Passage1: 

Ebrahimi E, Mutlu O, Patt Y N. Techniques for bandwidth-efficient prefetching of linked data structures in hybrid prefetching systems[C]//2009 IEEE 15th International Symposium on High Performance Computer Architecture. IEEE, 2009: 7-17.
 
Goal: low cost + Hybrid Prefetcher
Key idea1: filtering mechanism  --- Compiler Profiling
Key idea2: throttling mechanism---Run Time feedback
Key Results: 25% performance. 
Detailed mechanisms
1) Comparing the words in cache lines with the address of cache line itself to detect pointers in cache lines.----Content-Directed prefetcher.
2) Compiler profiling mechanism helps to distinguish beneficial Pointer Groups from harmful Pointer Groups, and mark the pointers that will be used through a special load instruction.
3) Prefetch aggressiveness, prefetch accuracy and prefech coverage were defined, and a feedback mechanism was proposed to adjust the prefeching aggressiveness of particular prefetcher to obtain a better overall performance.

Strengths
The paper has demonstrated lots of experiments’ results, not only the comparison between the new scheme and the CDP scheme, but also with other 3 prefetching schemes.
The observation that Not all of the pointers are beneficial is remarkable.
An adaptive method to determine which prefether should be relied on more is also a good idea.

Possible Weaknesses
1) Compiler.
2) Dataset used in profiling period.
3) Layout into mess. If elements in the list is different in size, the offset used to form the Pointer Groups will not be constant.
My ideas building on the work.--online learning
1) Prefetch the pointer that is nearest to the data accessed for lists applications. 
2) Prefetch all the pointers within the scope of node size.
3) Triggering prefetch operation at once, when a pointer is loaded.
4) Predicting which pointer will be loaded, and send prefetch operation as early as possible.
 
5) More benchmarks, for example, page-rank.
6) Larger datasets, such as, facebook, twitter.
--------------------------------------------------------------------------------------------------------------------------------------------