### TO WRITE - [x] ReCALL [M] - [x] Comparison of graph reordering techniques [M] - [x] Graph partitioning [W] - Related Work - [x] PIM - [x] GPU, FPGA, etc. - Eigenlijk belachelijk kort - [x] Conclusion [M] - [x] Acknowledgments [R] - [x] Add part about scatter gather in background [W] ### TO REVIEW - [ ] Partitioning [I] - [x] Hardware + hybrid prefetchers [I] - [x] Software prefetchers [R] - [x] Compiler Optimizations [R] - [ ] PIM - [ ] FPGA/GPU - [ ] Conclusion ### TO FIX - [ ] British spelling vs American spelling - [ ] Oxford commas ### Conclusion outline - In this work, ... - We discussed graph reordering - heavy vs light - When to use which - state of the art in each - We discussed partitioning - Tries to induce more possible parallelism for graph applications - Partitioning tries to make accesses to DRAM sequential to make use of not only all the available memory bandwidth, but also the existing hardware prefetchers - Make graph processing scalable for workloads that do not fit in memory (out-of-core) - Partitioning implies dividing the source and/or destination vertices into partitions, such that read and/or writes will be hits in the cache. - We discussed prefetching - HW prefetchers: fast but simple or expensive - Hybrid prefetchers: tries to combine the best of HW/SW. Many different techniques.