Font Size: a A A

Analyzing Method And Scheduling Scheme Research Of OpenMP Multi-Thread Load Balance

Posted on:2011-06-18Degree:MasterType:Thesis
Country:ChinaCandidate:L TangFull Text:PDF
GTID:2178360308468860Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Multi-core can improve the performance of processors as a effective and feasible way. With promoting the development of Science and Technology, it can also make the life of people more convenient. Looking at the current market including PC, Service, notebook and so on, Multi-core processor has become a trend gradually. However, while Multi-core brings the enormous processing potential, it makes a great challenge for the side of software. It means that the original serial programming mode should be changed into the parallel programming mode. At this time, OpenMP can provide portable and scalable programming interfaces for the parallel system which has the unified address space, but it should face more problems about performance impact when paralleling the serial programs with OpenMP, for example, load balance is one of the most important factors which impact the performance of parallel programs. In order to analyze the load balance problem accurately and alleviate the load imbalance reflected in the parallel programs and then improve the running performance of parallel programs, this thesis mainly discusses the analyzing method and scheduling scheme of OpenMP multi-thread load balance.Firstly, this thesis analyzes the development of multi-core as well as the effect brought by it for the software industry. It gives a deep discussion on researches over performance analysis, thread synchronization and competition, load balance about multi-core programming and model extension for OpenMP. The OMPi which is a open-source compiler with supporting OpenMP API is also introduced as well as the loop which is one of the most important structures that can be parallelized effectively with OpenMP.Secondly, in order to accurately analyze the load imbalance reflected in the parallel programs and optimize the performance analysis process, this thesis defines the unit of load balance analysis and measures the degree of load imbalance and the adjusted efficiency of latency parallel, then proposes a method for monitoring, analyzing and adjusting OpenMP multi-thread load imbalance. The experimental results show that the method is feasible and effective.Finally, in view of the fact that parallel tasks achieve the load distribution based on the scheduling scheme, the scheduling scheme plays an important role in the issue of load balance. In order to get better performance and reach a better trade-off between scheduling overhead and load balance, this thesis implements the trapezoid scheduling scheme using OMPi, a open-source compiler that supports OpenMP API. The evaluation results show that the trapezoid self-scheduling will yield better performance than guided self-scheduling in case of the decreasing- and irregular-loop structure with normal threads number.
Keywords/Search Tags:multi-core, OpenMP, load balance, scheduling scheme, OMPi
PDF Full Text Request
Related items