We found a match
Your institution may have access to this item. Find your institution then sign in to continue.
- Title
An Automatic Instruction-Level Parallelization of Machine Code.
- Authors
MARINKOVIC, Vladimir; POPOVIC, Miroslav; DJUKIC, Miodrag
- Abstract
Prevailing multicores and novel manycores have made a great challenge of modern day - parallelization of embedded software that is still written as sequential. In this paper, automatic code parallelization is considered, focusing on developing a parallelization tool at the binary level as well as on the validation of this approach. The novel instruction-level parallelization algorithm for assembly code which uses the register names after SSA to find independent blocks of code and then to schedule independent blocks using METIS to achieve good load balance is developed. The sequential consistency is verified and the validation is done by measuring the program execution time on the target architecture. Great speedup, taken as the performance measure in the validation process, and optimal load balancing are achieved for multicore RISC processors with 2 to 16 cores (e.g. MIPS, MicroBlaze, etc.). In particular, for 16 cores, the average speedup is 7.92x, while in some cases it reaches 14x. An approach to automatic parallelization provided by this paper is useful to researchers and developers in the area of parallelization as the basis for further optimizations, as the back-end of a compiler, or as the code parallelization tool for an embedded system.
- Subjects
RISC microprocessors; EMBEDDED computer systems; LOAD balancing (Computer networks); COMPUTER scheduling; MACHINE learning; COMPUTER software
- Publication
Advances in Electrical & Computer Engineering, 2018, Vol 18, Issue 1, p27
- ISSN
1582-7445
- Publication type
Article
- DOI
10.4316/AECE.2018.01004