Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Coz: Causal Profiling (github.com/plasma-umass)
31 points by jsnell on Dec 10, 2014 | hide | past | favorite | 3 comments


Thanks for posting. We have a technical report describing how Coz works in detail. The current implementation profiles Linux x86-64 binaries.

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.


Out of curiosity, where did you get the idea for the virtual speedups? The "causal" notion here is fairly unusual to see in systems literature.


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 :).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: