AutoPerf: A Generalized Zero-Positive Learning System to Detect Software Performance Anomalies

2017 
We present AutoPerf, a generalized software performance regression diagnosis system. AutoPerf uses autoencoders, an unsupervised learning technique, and hardware performance counters to learn the performance signatures of a program. It then uses this knowledge to identify when newer versions of the program suffer from performance regressions, while simultaneously providing root cause analysis to help programmers debug the program's performance. AutoPerf is the first zero-positive learning performance regression diagnosis system. It trains entirely in the negative (non-anomalous) space to learn positive (anomalous) behaviors. We demonstrate AutoPerf's generality against three different types of performance regressions: (i) true sharing cache contention, (ii) false sharing cache contention, and (iii) NUMA latencies across 15 real world performance regressions and 7 open source programs. On average, AutoPerf exhibits only 3.7% profiling overhead and diagnoses more regressions than prior state-of-the-art approaches.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    92
    References
    9
    Citations
    NaN
    KQI
    []