Back to Search
Start Over
Binary-level data dependence analysis of hot execution regions using abstract interpretation at runtime
- Source :
- PLoS ONE, PLoS ONE, 2020, 15 (4), pp.1-20. ⟨10.1371/journal.pone.0230904⟩, PLoS ONE, Public Library of Science, 2020, 15 (4), pp.1-20. ⟨10.1371/journal.pone.0230904⟩, PLoS ONE, Vol 15, Iss 4, p e0230904 (2020)
- Publication Year :
- 2020
- Publisher :
- Public Library of Science (PLoS), 2020.
-
Abstract
- International audience; With the widespread of multicore systems, automatic parallelization becomes more pronounced, particularly for legacy programs, where the source code is not generally available. An essential operation in any parallelization system is detecting data dependence among parallelization candidate instructions. Conducting dependence analysis at the binary-level is more challenging than that at the source-level due to the much lower semantics of the binary code. In this paper, we consider using the elaborate 'static' analysis of abstract interpretation, for the first time, at runtime for data dependence detection. Specifically, our system interprets instructions at a hot region, while at the same time, collect programs semantics for seen program points, thereby conducting abstract interpretation analysis dynamically. The analysis is guaranteed to be correct as long as execution does not exit the region prematurely. Moreover, successive hot region re-entries will resume previous analysis, albeit much faster in case no major change in the program semantics. Such approach provides for more rigorous analysis than other simple dynamic analysis which would typically miss parallelization opportunities. The proposed approach also does not require any hardware support, availability of the source code, as well as any code re-compilation. To study the performance and accuracy of our approach, we have extended the Padrone dynamic code modification framework, and conduct an initial study on a set of PolyBench kernels and selected programs from SPEC CPU. Experimental results show accurate dependence detection with low overhead.
- Subjects :
- Optimization
Data Analysis
Computer and Information Sciences
Time Factors
Source code
Abstracting and Indexing
Computer science
Semantics (computer science)
Science
media_common.quotation_subject
[INFO.INFO-OH]Computer Science [cs]/Other [cs.OH]
02 engineering and technology
Parallel computing
Dependence analysis
Research and Analysis Methods
Computer Software
Kernel Methods
Cognition
Learning and Memory
Memory
0202 electrical engineering, electronic engineering, information engineering
Code (cryptography)
Instrumentation (computer programming)
Instrumentation
media_common
020203 distributed computing
Multidisciplinary
Arithmetic
Applied Mathematics
Simulation and Modeling
Software Engineering
Biology and Life Sciences
Abstract interpretation
Source Code
Semantics
Automatic parallelization
Physical Sciences
Medicine
Engineering and Technology
Cognitive Science
020201 artificial intelligence & image processing
Binary code
Mathematics
Algorithms
Software
Research Article
Neuroscience
Subjects
Details
- ISSN :
- 19326203
- Volume :
- 15
- Database :
- OpenAIRE
- Journal :
- PLOS ONE
- Accession number :
- edsair.doi.dedup.....d514e3d7c155ef3fa97ca1f036076086
- Full Text :
- https://doi.org/10.1371/journal.pone.0230904