Architectural view for Parallel programming world
As a PhD student, I read a lot of interesting papers and summarizing them here helps me re-visit some of them from time-to-time.
I have been working with cache memories for a while now exploring the coherence models, transactional memories and lately persistent memories. My posts have focus on multi-core environment more from architecture perspective- so caches, memory consistency and synchronization. My advisor introduced me to a framework of reading papers which helps in understanding the crux in a way you can reproduce it anytime later without actually going back to the original paper and it has stuck around with me for a while. Its a method adapted from W. Griswold “How to Read an Engineering Research Paper”. In addition to the usual “why, what and how”, this insists on noting your impression of the paper as you answer these main questions listed above. My blogs will have the following 6 questions answered on each paper (most of the time):
- Purpose of the paper
- Proposed solution
- Author’s evaluation
- Your evaluation of solution and approach
- Questions unanswered you are left with
- Key take-away for you
Additionally, I will try to group most of the blogs into related topics based on what each one tries to solve wherever possible. For now these are the broad categories of interest:
- gem5
- Coherence protocols
- Transactional memories
- Value prediction in memories
- NVMs
- beyond research