P R I M A R Y C A T E G O R Y : B.3.3 Performance Analysis (Formal Models & Simulation). C R O S S R E F E R E N C E S : C.4 Performance of Systems (Modelling Techniques 8z Performance Attributes), B.3.2 Design Styles (Cache Memories), D.4.2 Storage Management (Storage Hierarchies), F.3.1 Specifying and Verifying and Reasoning about Programs (Specification Techniques), F.2.2 Nonnumerical Algorithms and Problems (Geometrical Problems and Computations). G E N E R A L T E R M S : E X P E R I M E N T A T I O N , M E A S U R E M E N T , P E R F O R M A N C E , THEORY. Author(s): Dominique Thiebaut (Smith College, Northampton MA). Title: On the Fractal Dimension of Computer Programs and its Application to the Prediction of the Cache Miss Ratio. Journal: IEEE Transactions on Computers, Vol. 38, No. 7 (July 1989), 1012-1026. Fractals are complex, nonsmooth functions with simple recursive characterizations. Many complex phenomena resemble fractals, and may therefore be analyzable. Intuitively the repetition structures of a computer program should produce patterns of fractal behavior. This paper shows fractal characteristics of cache-miss and memory-reference patterns across four program traces. It should be interesting to those wanting a simple classification of program behavior; cache designers should use more exact methods, such as trace-driven simulation. Expressions f(z) = A z B (i) are considered fractal with dimension B, and are associated with random-walk processes. results: The 1. Chow's empirically supported power law fits (1), relating the cache miss ratio f ( z ) with the cache capacity x, and program parameters A and B. 2. Memory-references, as a random walk between addresses, fit (1) where f ( z ) is the probability of jumping more than z memory locations. The exponent B implies the walk is transient, hence no locality! This extends to code references in isolation; neither data references nor stack references fit the fractal distribution. 3. The number of distinct memory addresses R(n) referenced over time fits (1) where f ( n ) = R(n), consistent with a recurrent random-walk, implying locality. 4. Given # 3 , cache miss rates grow hyperbolically up to a critical point, after which the miss rate is constant. The examples support this. The fractal parameters derived from a trace will estimate the behavior of any size cache. In the examples, absolute estimation error was 30.7% worst case and 5.1% cumulative average. Good, considering only 5 parameters are used. Plots of actual vs. predicted miss ratios show distinct anomalies, suggesting (1) needs lower-order terms. Here a deterministic process (a program) and a random process (a recurrent random walk) behave similarly under a statistic R(n). They behave differently in more specific ways: the random walk and program generate different jump-length distributions; likely the address reference frequencies differ as well. An intuitive connection between these two processes is the basis of the fractal model; the connection is weak, and the overemphasis on fractals obscures the real issue: how R(n) = An B and the assumption of constant cache-miss ratios model actual cache behavior. -- Carl G. Ponder, Livermore CA. Performance Evaluation Review VoL 18 #3, November 1990
/lp/association-for-computing-machinery/on-the-fractal-dimension-of-computer-programs-and-its-application-to-m99TPu78QP