---
# System prepended metadata

title: Untitled

---

 ### 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.