Abstract:
The factors influencing application performance are various and the extents of influence are different. Analyzing and distinguishing the extents of influence caused by various factors can guide the architects in the architecture design and help programmers in the optimization. However, it is not easy to distinguish the extents of influence because the factors may correlate each other themselves. In this paper, a principal component linear regression model aiming at performance of SPEC CPU2006 integer benchmarks is set up. Cycles per instruction(CPI) is used to represent the application performance and the performance events monitored by performance monitor unit (PMU) are used to represent the influencing factors. Principal component analysis is implemented to eliminate the linear correlation among performance events. Then linear regression model is set up which uses CPI as the dependent variable and principal components as the independent variables. This model can analyze the influence on CPI caused by the performance events i.e. L1 data cache miss, L2 cache miss, DTLB miss, branch mis-prediction, micro-fusion, memory disambiguation events quantitatively. The model is validated by the t test and F test with goodness of fit over 90%. The average relative prediction error of the model is 15%. The results show quantitatively how L1 and L2 cache misses dominate the performance of the applications.