Patterns for cache optimizations on multi-processor machines
Nicholas Chen, Ralph E. Johnson · 2010
Writing parallel programs that run optimally on multi-processor machines is hard. Programmers not only have to reason about existing cache issues that affect single-threaded programs but also new cache issues that impact multi-threaded programs. Such cache issues are surprisingly common; neglecting them leads to poorly performing programs that do not scale well. We illustrate these common cache issues and show how current tools aid programmers in reliably diagnosing these issues.The goal of our work is to promote discussions on whether such cache issues should be included in the Berkeley Our Pattern Language --- either by incorporating such performance issues directly into each pattern as forces or by creating a supplementary pattern language for general performance optimizations.