Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/CGO51591.2021.9370340acmconferencesArticle/Chapter ViewAbstractPublication PagescgoConference Proceedingsconference-collections
research-article

ELFies: executable region checkpoints for performance analysis and simulation

Published: 17 September 2021 Publication History

Abstract

We address the challenge faced in characterizing long-running workloads, namely how to reliably focus the detailed analysis on interesting execution regions. We present a set of tools that allows users to precisely capture any region of interest in program execution, and create a stand-alone executable, called an ELFie, from it. An ELFie starts with the same program state captured at the beginning of the region of interest and then executes natively. With ELFies, there is no fast-forwarding to the region of interest needed or the uncertainty of reaching the region. ELFies can be fed to dynamic program-analysis tools or simulators that work with regular program binaries. Our tool-chain is based on the PinPlay framework and requires no special hardware, operating system changes, recompilation, or re-linking of test programs. This paper describes the design of our ELFie generation tool-chain and the application of ELFies in performance analysis and simulation of regions of interest in popular long-running single and multi-threaded benchmarks.

References

[1]
C.-K. Luk, R. S. Cohn, R. Muth, H. Patil, A. Klauser, P. G. Lowney, S. Wallace, V. J. Reddi, and K. M. Hazelwood, "Pin: building customized program analysis tools with dynamic instrumentation," in Conference on Programming Language Design and Implementation (PLDI), Jun. 2005. pp. 190--200.
[2]
T. E. Carlson, W. Heirman, S. Eyerman, I. Hur, and L. Eeckhout, "An evaluation of high-level mechanistic core models," Transactions on Architecture and Code Optimization (TACO), pp. 28:1--28:25, Aug. 2014.
[3]
T. E. Carlson, W. Heirman, and L. Eeckhout, "Sniper: Exploring the level of abstraction for scalable and accurate parallel multicore simulation," in International Conference for High Performance Computing, Networking, Storage and Analysis (SC), Nov. 2011. pp. 52:1--52:12.
[4]
N. Binkert, B. Beckmann, G. Black, S. K. Reinhardt, A. Saidi, A. Basu, J. Hestness, D. R. Hower, T. Krishna, S. Sardashti, R. Sen, K. Sewell, M. Shoaib, N. Vaish, M. D. Hill, and D. A. Wood, "The gem5 simulator," SIGARCH Comput. Archit. News, vol. 39, no. 2, pp. 1--7, Aug. 2011.
[5]
T. Sherwood, E. Perelman, G. Hamerly, and B. Calder, "Automatically characterizing large scale program behavior," in International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Oct. 2002. pp. 45--57.
[6]
T. E. Carlson, W. Heirman, and L. Eeckhout, "Sampled simulation of multi-threaded applications," in International Symposium on Performance Analysis of Systems and Software (ISPASS), Apr. 2013. pp. 2--12.
[7]
T. E. Carlson, W. Heirman, K. Van Craeynest, and L. Eeckhout, "Barrierpoint: Sampled simulation of multi-threaded applications," in International Symposium on Performance Analysis of Systems and Software (ISPASS), Jun. 2014. pp. 2--12.
[8]
"Pinpoints from Intel," https://software.intel.com/content/www/us/en/develop/articles/pin-a-binary-instrumentation-tool-pinpoints.html.
[9]
"SPEC CPU2006 and Simulation," https://www.spec.org/cpu2006/research/simpoint.html.
[10]
"SPEC CPU2017 and Simulation," https://www.spec.org/cpu2017/research/simpoint.html.
[11]
"Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2," http://refspecs.linuxbase.org/elf/elf.pdf, May 1995.
[12]
H. Patil, C. Pereira, M. Stallcup, G. Lueck, and J. Cownie, "PinPlay: A framework for deterministic replay and reproducible analysis of parallel programs," in International Symposium on Code Generation and Optimization (CGO), Apr. 2010. pp. 2--11.
[13]
Intel, "Program Record/Replay Toolkit," http://www.pinplay.org.
[14]
"Checkpoint/Restore in Userspace," http://criu.org.
[15]
S. Narayanasamy, C. Pereira, H. Patil, R. Cohn, and B. Calder, "Automatic logging of operating system effects to guide application-level architecture simulation," in Joint International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS), Jun. 2006. pp. 216--227.
[16]
"Pinball2elf (Intel)," http://github.com/intel/pinball2elf, http://pinelfie.org.
[17]
Intel, "Intel® 64 and IA-32 architectures software developer's manual volume 1: Basic architecture," http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html, 2016.
[18]
"Pintool Regions," https://software.intel.com/en-us/articles/pintool-regions.
[19]
D. Aarno and J. Engblom, Software and System Development Using Virtual Platforms: Full-System Simulation with Wind River Simics, 1st ed. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2014. ISBN 978-0-12-800725-9
[20]
"Intel Software Development Emulator," http://www.intel.com/software/sde.
[21]
J. Bucek, K.-D. Lange, and J. v. Kistowski, "SPEC CPU2017: Next-generation compute benchmark," in International Conference on Performance Engineering (ICPE), Apr. 2018. pp. 41--42.
[22]
C. Pereira, H. Patil, and B. Calder, "Reproducible simulation of multithreaded workloads for architecture design exploration," in IEEE International Symposium on Workload Characterization (IISWC), Sep. 2008. pp. 173--182.
[23]
J. Ringenberg and T. N. Mudge, "SuiteSpecks and SuiteSpots: A methodology for the automatic conversion of benchmarking programs into intrinsically checkpointed assembly code," in International Symposium on Performance Analysis of Systems and Software (ISPASS), Apr. 2009. pp. 227--237.
[24]
J. Ansel, K. Arya, and G. Cooperman, "DMTCP: Transparent checkpointing for cluster computations and the desktop," in International Symposium on Parallel Distributed Processing (IPDPS), May 2009. pp. 1--12.

Cited By

View all
  • (2024)Pac-Sim: Simulation of Multi-threaded Workloads using Intelligent, Live SamplingACM Transactions on Architecture and Code Optimization10.1145/368054821:4(1-26)Online publication date: 20-Nov-2024
  • (2024)Levioso: Efficient Compiler-Informed Secure SpeculationProceedings of the 61st ACM/IEEE Design Automation Conference10.1145/3649329.3655894(1-6)Online publication date: 23-Jun-2024
  • (2023)A Hotspot-Driven Semi-automated Competitive Analysis Framework for Identifying Compiler Key OptimizationsProceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction10.1145/3578360.3580255(216-227)Online publication date: 17-Feb-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CGO '21: Proceedings of the 2021 IEEE/ACM International Symposium on Code Generation and Optimization
February 2021
395 pages
ISBN:9781728186139
  • General Chair:
  • Jae W. Lee

Sponsors

In-Cooperation

  • IEEE CS

Publisher

IEEE Press

Publication History

Published: 17 September 2021

Check for updates

Badges

Author Tags

  1. dynamic program analysis
  2. performance monitoring
  3. record and replay
  4. simulation region selection

Qualifiers

  • Research-article

Conference

CGO '21
CGO '21: 19th ACM/IEEE International Symposium on Code Generation and Optimization
February 27 - March 3, 2021
Virtual Event, Republic of Korea

Acceptance Rates

Overall Acceptance Rate 312 of 1,061 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)0
Reflects downloads up to 19 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Pac-Sim: Simulation of Multi-threaded Workloads using Intelligent, Live SamplingACM Transactions on Architecture and Code Optimization10.1145/368054821:4(1-26)Online publication date: 20-Nov-2024
  • (2024)Levioso: Efficient Compiler-Informed Secure SpeculationProceedings of the 61st ACM/IEEE Design Automation Conference10.1145/3649329.3655894(1-6)Online publication date: 23-Jun-2024
  • (2023)A Hotspot-Driven Semi-automated Competitive Analysis Framework for Identifying Compiler Key OptimizationsProceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction10.1145/3578360.3580255(216-227)Online publication date: 17-Feb-2023
  • (2022)Fast, Robust and Accurate Detection of Cache-Based Spectre Attack PhasesProceedings of the 41st IEEE/ACM International Conference on Computer-Aided Design10.1145/3508352.3549330(1-9)Online publication date: 30-Oct-2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media