Before revision: Cache contention is an important type of performance anomaly in this multi-core and many-core era. It can cause a significant slowdown in parallel programs. However, it is hard to detect and often, not visible in the source code. As software changes over time, modifications in code can introduce cache contention anomalies. One way to detect such anomalies, is to use performance regression testing. Prior approaches for cache contention detection are either not suitable for performance regression testing or requires knowledge about specific type of contention behavior. To remedy these shortcomings, we propose AutoCon. It works by finding the modified functions and collecting hardware performance counter profiles for them. It uses an unsupervised learning technique, called Autoencoder, to learn the contention behavior implied by the profiles (collected from the older version of code).
After revision: In this paper, we present AutoPerf, a generalized software performance anomaly detection system. AutoPerf uses autoencoders, an unsupervised learning technique, called Autoencoder, to learn the contention behavior implied by the profiles (collected from the older version of code).