skip to main content
10.1145/3207677.3277982acmotherconferencesArticle/Chapter ViewAbstractPublication PagescsaeConference Proceedingsconference-collections
research-article

Automatic Parallelization for Binary on Multi-core Platforms

Published: 22 October 2018 Publication History

Abstract

While1 multi-core systems are becoming popular, many serial binaries exist. This paper proposed a method to exploit parallelism in serial binaries and automatically parallelize them on multi-core systems. We extended existing compiler optimization techniques to binaries and developed extra approaches to further improve the performance. Preliminary results on Polybench benchmark and our hand gesture recognition program showed an average speedup of 1.8 and 1.4 over serial performance respectively on an armv7 machine with 2 threads.

References

[1]
A. Kotha, K. Anand, M. Smithson, G. Yellareddy, and R. Barua. 2010. Automatic parallelization in a binary rewriter. In Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO '43). IEEE Computer Society, Washington, DC, 547--557.
[2]
J. Parkhurst, J. Darringer, and B. Grundmann. 2006. From single core to multi-core: preparing for a new exponential. In Proceedings of the 2006 IEEE/ACM international conference on Computer-aided design (ICCAD '06). ACM, New York, NY, 66--72.
[3]
J. A. Ross, D. A. Richie, S. J. Park, and D. R. Shires. 2016. Parallel programming model for the Epiphany many-core coprocessor using threaded MPI 43, C (June. 2016), 95--103.
[4]
B. Nichols, D. Buttlar, and J. Farrell. 1996. Pthreads programming: A POSIX standard for better multiprocessing. O'Reilly Media, Inc. Sebastopol, CA.
[5]
B. Chapman, G. Jost, and R. Van Der Pas. 2007. Using OpenMP: portable shared memory parallel programming. The MIT press. Cambridge, MA.
[6]
K. Kennedy and J. R. Allen. 2002. Optimizing compilers for modern architectures: a dependence-based approach. Morgan Kaufmann Publishers Inc. San Francisco, CA.
[7]
E. Yardimci and M. Franz. 2006. Dynamic parallelization and mapping of binary executables on hierarchical platforms. In Proceedings of the 3rd conference on Computing frontiers (CF '06). ACM, New York, NY, 127--138.
[8]
M. Smithson, K. ElWazeer, K. Anand, A. Kotha, and R. Barua. 2013. Static binary rewriting without supplemental information: Overcoming the tradeoff between coverage and correctness. In Proceedings of 2013 20th Working Conference on Reverse Engineering (WCRE). IEEE, 52--61.
[9]
K. Anand, M. Smithson, A. Kotha, K. Elwazeer, and R. Barua. 2010. Decompilation to compiler high IR in a binary rewriter. Technical Report. University of Maryland, College Park, MD.
[10]
N. Vachharajani, R. Rangan, E. Raman, M. J. Bridges, G. Ottoni, and D. I. August. 2007. Speculative decoupled software pipelining. In Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques (PACT '07). IEEE Computer Society, Washington, DC, 49--59.
[11]
C. Zilles and G. Sohi. 2002. Master/slave speculative parallelization. In Proceedings of the 35th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO '35). IEEE Computer Society Press, Los Alamitos, CA, 85--96.
[12]
K. Anand, M. Smithson, K. Elwazeer, A. Kotha, J. Gruen, N. Giles, and R. Barua. 2013. A compiler-level intermediate representation based binary analysis and rewriting system. In Proceedings of the 8th ACM European Conference on Computer Systems (EuroSys '13). ACM, New York, NY, 295--308.
[13]
C. Lattner and V. Adve. 2004. LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In Proceedings of the 2004 International Symposium on Code Generation and Optimization (CGO '04). IEEE.
[14]
T. Grosser, H. Zheng, R. Aloor, A. Simbürger, A. Größlinger, and L.-N. Pouchet. 2011. Polly-Polyhedral optimization in LLVM. In Proceedings of the First International Workshop on Polyhedral Compilation Techniques (IMPACT). Chamonix, France.
[15]
E. Stoltz and M. Wolfe. 1995. Detecting value-based scalar dependence. International Journal of Parallel Programming, 23, 4 (Aug. 1995), 327--358.
[16]
Z. Li, P.-C. Yew, and C.-Q. Zhu. 1990. An efficient data dependence analysis for parallelizing compilers. IEEE transactions on Parallel and Distributed Systems, 1, 1 (Jan. 1990), 26--34.
[17]
G. Go, K. Kennedy, and C.-W. Tseng. 1991. Practical dependence testing. In Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation (PLDI '91). ACM, New York, NY, 15--29.
[18]
G.-K. Ma, J. Zhu, Y. Zhang, and C.-Q. Zhu. 2002. An Integrated Array Dependence Test Method Based on Banerjee-GCD and Banerjee-Bound Method. Chinese Journal of Computers, 25, 2 (Feb. 2002), 181--188.
[19]
U. Banerjee. 1988. An introduction to a formal theory of dependence analysis. The Journal of Supercomputing, 2, 2 (Oct. 1988), 133--149.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
CSAE '18: Proceedings of the 2nd International Conference on Computer Science and Application Engineering
October 2018
1083 pages
ISBN:9781450365123
DOI:10.1145/3207677
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 October 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. ARM
  2. Automatic parallelization
  3. LLVM

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • National High-tech R&D Program

Conference

CSAE '18

Acceptance Rates

CSAE '18 Paper Acceptance Rate 189 of 383 submissions, 49%;
Overall Acceptance Rate 368 of 770 submissions, 48%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 67
    Total Downloads
  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)1
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

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