basic block distribution analysis to find periodic
play

Basic Block Distribution Analysis to Find Periodic Behavior and - PowerPoint PPT Presentation

Basic Block Distribution Analysis to Find Periodic Behavior and Simulation Points in Applications Timothy Sherwood Erez Perelman Brad Calder University of California, San Diego Motivation Architecture researchers conduct detailed


  1. Basic Block Distribution Analysis to Find Periodic Behavior and Simulation Points in Applications Timothy Sherwood Erez Perelman Brad Calder University of California, San Diego

  2. Motivation • Architecture researchers conduct detailed pipeline simulations • Length of detailed pipeline simulation – Simple Scalar: 400 million instruction per hour – Spec programs: 300 billion instructions – Complete run: 1 month • Limited simulation time and processing power • Often only a subset of whole program is simulated • Subset should represent the overall behavior of the program

  3. Phases of Execution • Initialization phase – Initialize data structures and set up for the rest of execution – Does not represent overall behavior of program – Current methods: fast forward or check points • Steady state – Programs tend to be written in a nested loop fashion – Correlated with looping behavior of program

  4. Cyclic Behavior of Wave DL164 branch IPC 100 4 Period 90 80 3 Branch Miss Rate/ IPC 70 Data Miss Rate 60 50 2 40 Initialization 30 1 20 10 0 0 0 5 10 15 20 25 30 35 40 45 50 Instructions Executed (billions)

  5. Goals of Research • Automatically generate: – Length of initialization phase – Period length • Cyclic portion of execution – Ideal starting simulation point • For a given number of instructions • Confidence of simulation points – Estimation of accuracy

  6. Outline • Basic Block Distribution Analysis • Initialization Phase • Period • Where to Simulate • Conclusion

  7. Approach • A way to represent snapshots of program • A metric that compares snapshots to whole program • Uniquely identify phases of execution • Signal processing for period computation

  8. Program Fingerprint • Metric independent method to represent program • Basic Blocks uniquely identify the code executed – Directly affects program behavior • Unique representation of program execution interval • BB vector

  9. Basic Block Vector BB Assembly Code of bzip 1 srl a2, 0x8, t4 and a2, 0xff, t12 BB Vector addl zero, t12, s6 BB# # times Normalized subl t7, 0x1, t7 cmpeq s6, 0x25, v0 executed cmpeq s6, 0, t0 1 100 0.250626 bis v0, t0, v0 2 89 0.223057 bne v0, 0x120018c48 3 83 0.208020 2 subl t7, 0x1, t7 cmple t7, 0x3, t2 4 71 0.177944 beq t2, 0x120018b04 5 56 0.140350 3 ble t7, 0x120018bb4 ... ... ... 4 and t4, 0xff, t5 srl t4, 0x8, t4 addl zero, t5, s6 cmpeq s6, 0x25, s0 cmpeq s6, 0, a0 bis s0, a0, s0 bne s0, 0x120018c48 5 subl t7, 0x1, t7 gt t7, 0x120018b90 ... ...

  10. Basic Block Vector Comparison • Target Vector: BB vector of complete run • Interval Vector: BB vector of a continuous interval of execution in program • Vector Difference: how close BB vector is to the target vector BB Target Vector Diff BB Vector BB Interval Vector Normalized BB# Normalized BB# Abs Diff BB# 1 0.341624 1 0.090998 1 0.250626 2 0.159242 2 0.063815 2 0.223057 _ S = 3 0.205486 3 0.002534 3 0.208020 4 0.242058 4 0.064114 4 0.177944 5 0.051590 5 0.088760 5 0.140350 ... ... ... ... ... ... 0.310221

  11. Basic Block Difference Graph Wave BB Diff Hydro BB Diff Instructions Executed (100 millions)

  12. Outline • Basic Block Distribution Analysis • Initialization Phase • Period • Where to Simulate • Conclusion

  13. Initialization Phase • Create a Basic Block Difference Graph of initialization – Target vector is first 100 million instructions • End of Initialization – The max vector diff point in graph • In most cases is 2

  14. Initialization Phase Wave BB Diff End of Initialization Hydro BB Diff End of Initialization End of Initialization Instructions Executed (100 millions)

  15. Outline • Basic Block Distribution Analysis • Initialization Phase • Period • Where to Simulate • Conclusion

  16. Signal Processing Theory • Treat BB Diff Graph as a signal • Signal shift and comparison – Signal shift will go in-and-out of phase – Comparison to evaluate phase • Period deduced from phase cycle

  17. Signal Difference Example Signal Phasing Period Difference Graph

  18. Period • Start signal at end of initialization – Pick portion to shift to be quarter length of signal • Shifting: generate Period Difference Graph – Minimums correlate to period-synchronized shifts – Amplifies the cycle over the BB Diff Graph • Calculate period – Find all minimums – Calculate average distance between adjacent minimums

  19. Period Difference Graphs Wave Phase Diff period = 6.8 billion Hydro Phase Diff Phase shift (100 million instructions) period = 1.7 billion

  20. Initialization and Period Initialization Period 8 104.7 14.4 125.9 7 Instructions in billions 6 5 4 3 2 1 0 bzip hydro tomcat vortex vpr wave

  21. Outline • Basic Block Distribution Analysis • Initialization Phase • Period • Where to Simulate • Conclusion

  22. Where to simulate • Not always possible to simulate full period • Basic Block Distribution Analysis generates best simulation point for desired simulation duration – User inputs desired simulation duration – BB Distribution Analysis generates a BB Difference Graph with BB vector length equal to sim duration – Take min point in BB Difference Graph • Start simulation at that point

  23. Accuracy of Simulation Points Full Period 300 million Sim Point 300 million after init First 300 million 337% 380% 162% 244% 114% 25 20 % diff 15 in IPC 10 5 0 bzip hydro tomcat vortex vpr wave

  24. Simulation Point Tool • Input: – Program BB execution history • BB vector for every execution interval – Desired simulation duration • Output: – End of initialization phase – Length of 1 period – Best simulation point

  25. Key Points • Focused on continuous simulation • Basic Block approach is metric independent and correlates to program behavior • Program behavior varies during execution • Beneficial to find the best simulation point • Not necessary to simulate full cycle for a good sample of overall program behavior

  26. Conclusions • BBDA is an effective method to find the initialization phase, period, and where to simulate programs • BBDA is a time-conserving tool for researchers • BBDA 300 million instructions simulation point produce average IPC error rates < 6%

  27. Current Work • Period with Fourier Analysis – Fast Fourier Transform – Breaks down signal into dominant frequencies – Period derived from dominant frequency • Benefits – Multiple periods throughout execution

  28. Fourier Analysis

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend