Architectural Simulators Considered Harmful

Much as Edgar Dijkstra in 1968 observed the dangers of relying on the "go to" statement, the authors of this article observe the detrimental effect of overreliance on quantitative simulators. Over time, simulator tools have become more complex and sophisticated. While this seems beneficial, new generations of simulators are built with easily abused modeling abstractions, some with poorly modeled first-order phenomenon. Users treat simulators as black boxes, ignoring their potential errors and relying on validation to irrelevant design points. The lack of documentation and specification makes finding or even being aware of errors challenging. Simultaneously, reviewers demand that researchers use simulation in domains where better approaches exist. The authors elucidate the problems by describing three broad pitfalls of simulators and simulator use, considering examples from modern tools, and they discuss how to avoid each problem. Finally, they propose one consideration for recalibrating evaluation standards: the footprint, which is the breadth of architectural layers that a technique affects.

[1]  Luis Ceze,et al.  Neural Acceleration for General-Purpose Approximate Programs , 2012, 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.

[2]  Nam Sung Kim,et al.  GPUWattch: enabling energy optimizations in GPGPUs , 2013, ISCA.

[3]  Somayeh Sardashti,et al.  The gem5 simulator , 2011, CARN.

[4]  Karthikeyan Sankaralingam,et al.  Sampling + DMR: Practical and low-overhead permanent fault detection , 2011, 2011 38th Annual International Symposium on Computer Architecture (ISCA).

[5]  Edsger W. Dijkstra,et al.  Letters to the editor: go to statement considered harmful , 1968, CACM.

[6]  Steven Swanson,et al.  Conservation cores: reducing the energy of mature computations , 2010, ASPLOS XV.

[7]  Thomas F. Wenisch,et al.  Practical off-chip meta-data for temporal memory streaming , 2009, 2009 IEEE 15th International Symposium on High Performance Computer Architecture.

[8]  Christoforos E. Kozyrakis,et al.  ZSim: fast and accurate microarchitectural simulation of thousand-core systems , 2013, ISCA.

[9]  Edsger W. Dijkstra,et al.  Go To Statement Considered Harmful , 2022, Software Pioneers.

[10]  Avi Mendelson,et al.  Threads vs. caches: Modeling the behavior of parallel workloads , 2010, 2010 IEEE International Conference on Computer Design.

[11]  David Black-Schaffer,et al.  Efficient Embedded Computing , 2008, Computer.

[12]  Henry Wong,et al.  Analyzing CUDA workloads using a detailed GPU simulator , 2009, 2009 IEEE International Symposium on Performance Analysis of Systems and Software.

[13]  Doug Burger,et al.  Measuring Experimental Error in Microprocessor Simulation , 2001, ISCA 2001.

[14]  Jung Ho Ahn,et al.  McPAT 1 . 0 : An Integrated Power , Area , and Timing Modeling Framework for Multicore Architectures ∗ , 2010 .

[15]  Avi Mendelson,et al.  Many-Core vs. Many-Thread Machines: Stay Away From the Valley , 2009, IEEE Computer Architecture Letters.