Issue No. 01 - Jan.-June (2017 vol. 16)
Hiroshi Sasaki , Department of Computer Science, Columbia University, New York, NY
Fang-Hsiang Su , Department of Computer Science, Columbia University, New York, NY
Teruo Tanimoto , Graduate School of Information Science and Electrical Engineering, Kyushu University, Fukuoka, Japan
Simha Sethumadhavan , Department of Computer Science, Columbia University, New York, NY
Designing and optimizing computer systems require deep understanding of the underlying system behavior. Historically many important observations that led to the development of essential hardware and software optimizations were driven by empirical observations about program behavior. In this paper, we report an interesting property of program structures by viewing dynamic program execution as a changing network. By analyzing the communication network created as a result of dynamic program execution, we find that communication patterns follow heavy-tailed distributions. In other words, a few instructions have consumers that are orders of magnitude larger than most instructions in a program. Surprisingly, these heavy-tailed distributions follow the iconic power law previously seen in man-made and natural networks. We provide empirical measurements based on the SPEC CPU2006 benchmarks to validate our findings as well as perform semantic analysis of the source code to reveal the causes of such behavior.
Registers, Benchmark testing, Communication networks, Image edge detection, Shape, Computers, Optimization
H. Sasaki, F. Su, T. Tanimoto and S. Sethumadhavan, "Heavy Tails in Program Structure," in IEEE Computer Architecture Letters, vol. 16, no. 1, pp. 34-37, 2017.