Characterizing Dominant Program Behavior Using the Execution-Time Variance of the Call Structure

Traditional profiling techniques typically identify performance hot-spots. Other specialized techniques such as WCET analysis cater to safety critical real-time systems with hard constraints and thus make conservative assumptions. However, several domains motivate the need to systematically characterize and represent differential timing properties such as the variance in execution time of application artifacts such as the functions. Such domains include, vulnerability analysis of applications with regard to differential timing attacks, and the optimization of soft-real-time applications to reduce frame-rate fluctuations. In this paper, we motivate the need for execution variance as a performance measure and propose a variance-based analysis scheme. We introduce a new program representation called Variance Characterization Graph (VCG) that is used both as the intermediate representation for the variance-based analysis, and as the final representation that provides concise actionable information to programmers and optimization frameworks. We develop a methodology based on statistical pattern matching to summarize the dominant patterns of application behavior into a very compact VCG representation useful for tuning application behavior such as the soft-real-time properties.

[1]  Santosh Pande,et al.  Dynamic tuning of feature set in highly variant interactive applications , 2010, EMSOFT '10.

[2]  Matthew Arnold,et al.  Online feedback-directed optimization of Java , 2002, OOPSLA '02.

[3]  Yunheung Paek,et al.  Mantis: Automatic Performance Prediction for Smartphone Applications , 2013, USENIX Annual Technical Conference.

[4]  Jong-Deok Choi,et al.  Accurate, efficient, and adaptive calling context profiling , 2006, PLDI '06.

[5]  Paul C. Kocher,et al.  Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems , 1996, CRYPTO.

[6]  Gerhard Fohler,et al.  Timing constraints of MPEG-2 decoding for high quality video: misconceptions and realistic assumptions , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[7]  Wei-Chung Hsu,et al.  Dynamic Profile Driven Code Version Selection , 2007 .

[8]  Santosh Pande,et al.  Statistically Analyzing Execution Variance for Soft Real-Time Applications , 2008, LCPC.

[9]  Wei Tsang Ooi,et al.  Approximate VCCs: a new characterization of multimedia workloads for system-level MpSoC design , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[10]  Serge J. Belongie,et al.  SD-VBS: The San Diego Vision Benchmark Suite , 2009, 2009 IEEE International Symposium on Workload Characterization (IISWC).

[11]  David Brumley,et al.  Remote timing attacks are practical , 2003, Comput. Networks.

[12]  E. Duesterwald,et al.  Software profiling for hot path prediction: less is more , 2000, SIGP.

[13]  Tao Zhang,et al.  HIDE: an infrastructure for efficiently protecting information leakage on the address bus , 2004, ASPLOS XI.

[14]  Bernd Girod,et al.  Performance of the H.263 Video Compression Standard , 1997, J. VLSI Signal Process..

[15]  James R. Larus,et al.  Exploiting hardware performance counters with flow and context sensitive profiling , 1997, PLDI '97.

[16]  Reinder J. Bril,et al.  QoS Control Strategies for High-Quality Video Processing , 2004, ECRTS.

[17]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[18]  Michael Roitzsch,et al.  Principles for the Prediction of Video Decoding Times Applied to MPEG-1/2 and MPEG-4 Part 2 Video , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[19]  H. Edelsbrunner,et al.  Efficient algorithms for agglomerative hierarchical clustering methods , 1984 .

[20]  Rohit Jain,et al.  Variability in the execution of multimedia applications and implications for architecture , 2001, Proceedings 28th Annual International Symposium on Computer Architecture.

[21]  Jason E. Fritts,et al.  MediaBench II video: expediting the next generation of video systems research , 2005, IS&T/SPIE Electronic Imaging.

[22]  Robert J. Hall,et al.  Call path profiling , 1992, International Conference on Software Engineering.

[23]  Feller William,et al.  An Introduction To Probability Theory And Its Applications , 1950 .

[24]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[25]  Vincent Lepetit,et al.  Fast Keypoint Recognition Using Random Ferns , 2010, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[26]  Tushar Kumar,et al.  Characterizing and controlling program behavior using execution-time variance , 2016 .

[27]  Joseph Kee-Yin Ng,et al.  A QoS-Enabled Transmission Scheme for MPEG Video Streaming , 2005, Real-Time Systems.

[28]  David G. Stork,et al.  Pattern classification, 2nd Edition , 2000 .