I’m interested in offering a technical session focusing on CPU caches and why they are important for people interested in developing performance-sensitive software.  My idea is to talk about things like the following:

  • Instruction caches vs. data caches vs. TLBs
  • Cache lines, cache line prefetching, and false sharing
  • Cache hierarchies
  • Shared and unshared caches
  • Interactions among caches, multithreading, hyperthreading, and speculative execution.
  • Interactions among C++ language features and instruction caches (e.g., macros, inlining, templates)
  • Cache-friendly algorithms and data structures

Please use the comment feature of this blog to discuss your thoughts on this prospective session topic.