While traditional profilers reveal where a program spends its time, they do not indicate where developers should spend their time. This paper introduces causal profiling, a novel profiling approach that not only indicates exactly where programmers should focus their optimization efforts, but also quantifies their potential impact. Causal profiling works by performing a series of performance experiments at runtime. These experiments quantify the impact of any potential optimization via virtual speedups, which emulate the effect of real speedups by slowing down concurrently-executing tasks. Causal profiling further departs from traditional profilers by identifying optimization opportunities that increase throughput or reduce latency. We present COZ, a prototype causal profiler, and empirically demonstrate its efficiency and effectiveness at guiding optimization efforts.
It's not that unusual these days. Jason Flinn (Michigan) has published quite a few papers that root out causality in various settings. The use of causality via happens-before relationships has been part of distributed and concurrent systems since Lamport's classic paper on time. In any event, virtual speedups were Charlie Curtsinger's idea, so you'd have to ask him :).
Causal Profiling: Finding Optimizations that Count
(https://web.cs.umass.edu/publication/docs/2014/UM-CS-2014-01...)
While traditional profilers reveal where a program spends its time, they do not indicate where developers should spend their time. This paper introduces causal profiling, a novel profiling approach that not only indicates exactly where programmers should focus their optimization efforts, but also quantifies their potential impact. Causal profiling works by performing a series of performance experiments at runtime. These experiments quantify the impact of any potential optimization via virtual speedups, which emulate the effect of real speedups by slowing down concurrently-executing tasks. Causal profiling further departs from traditional profilers by identifying optimization opportunities that increase throughput or reduce latency. We present COZ, a prototype causal profiler, and empirically demonstrate its efficiency and effectiveness at guiding optimization efforts.