Feasibility of Dynamic Binary Parallelization
This paper proposes DBP, an automatic technique that transparently parallelizes a sequential binary executable while it is running. A prototype implementation in simulation was able to increase sequential execution speeds by up to 1.96x, averaged over three benchmarks suites. Fundamental issues in microprocessor technologies have led designers to increase the number of cores on a chip instead of increasing its single-threaded performance. Multi-core designs with 4 to 8 cores are ubiquitous, and trends suggest that core counts will continue to grow for the foreseeable future. Unfortunately, most existing software is designed for single-core processors, and is therefore unable to fully exploit the increased processing power offered by many-core processors.