Fine Grained Shadow Workload Generation Preserving Memory Access Patterns
Abstract: Emerging memory architectures often target specific application domains. Guiding the design and optimization process of these architectures relies heavily on finding a representative set of benchmarks. Using real-world applications as benchmarks provides the greatest confidence to architects in making design decisions. Unfortunately, access to real-world applications is limited in many cases, due to the proprietary or confidential nature of the application. Besides, it may prove difficult to port complex applications into architectural simulators. We propose an automated way of creating portable benchmarks from real workloads while preserving the memory access pattern. We refer to the clone as a "shadow workload". Our proposed shadow workload generation framework works in four steps. The first step instruments the application binary for profiling and also acts as a filtering stage. The output of this step are the instructions responsible for the majority of the memory accesses. The second step collects the execution trace for these selected memory instructions and builds a statistical control-flow graph from that trace. The third step performs several transformations on the flow graph to reduce the number of basic blocks. The last step takes in the compressed flow graph, categorizes the memory instructions and outgoing edges, and finally, generates the shadow workload. We evaluated our approach on eleven benchmarks, and found that the shadow can capture various behaviors of the original workloads with high accuracy (e.g., L2 miss rate within 1.85\% of original on average), and can also follow behavior trends across system configuration changes (Pearson correlation coefficient of 0.94-0.99). Our proposed method is fully automated, black-box, and uses only micro-architecture independent profiling metrics, making it applicable to a wide range of scenarios.
- Jack Davidson, Chair, (Computer Science)
- Kevin Skadron, Advisor, (Computer Science)
- Mary Lou Soffa (Computer Science)
- Ashish Venkat (Computer Science)