Abstract
Thread-Level speculation (TLS) is an automatic parallel technique, which partitions sequential programs with data dependencies into multithreads to be executed in parallel on the multi-core platform, and it is used to aggressively exploit the parallelism of sequential programs at runtime. However, the existing implementations of the software TLS models always incur extra and high overhead, even could be revoking performance benefits from TLS when frequent data dependencies are violated. Based on the POSIX thread library, which has a high portability, this paper proposes an improved TLS programming model to exploit potential parallelism of the sequential programs. Firstly, the execution model of the proposed programming model adopts the optimized main-assistance-work thread mechanism to improve overall operational efficiency. And then a new data structure is proposed and designed to implement a thread-level speculation mechanism for solving the thread version copy. Using the benchmarks, experimental results show that the proposed TLS programming model can acquire a significant increase in speedup on a multi-core platform and the proposed TLS programming model has excellent performance benefits. Compared with the traditional TLS programming model, the improved TLS model can achieve a speedup of 2.87 to 12.22 which delivers a 9.70% performance improvement on average.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.