Font Size: a A A

Study On Program Performance Optimization In Multi-Core Systems

Posted on:2011-04-20Degree:DoctorType:Dissertation
Country:ChinaCandidate:Q ZhangFull Text:PDF
GTID:1118330332969250Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
The multi-core processor integrates multiple processor cores on a single chip which can run multiple threads simultaneously. Over the years, the number of transistors on a processor chip grows constantly, and the design of processor becomes more and more complex. But for the power and some other aspects, the clock frequency can not increase more. With the processor manufacturers introducing their multi-core processors, multi-core systems become popular in our work and life. And the number of cores in a chip is increasing constantly. The popularity of multi-core processors brings enormous challenges to application program. In a multi-core processor, the computing power of each core is not enhanced. It combines multiple processor cores to provide powerful computing ability. The traditional serial applications can not directly improve performance by the increasing of processor cores. To fully use computing power of multi-core processor, we must run parallel program or multiple programs concurrently on the system.This paper studies program performance optimization on multi-core system by two perspectives, application program performance optimization and overall system performance optimization. The major work and innovation of this paper are as follows:1. For application program performance optimization in multi-core systems, this paper studies serial program performance optimization methods, parallel program design methods and parallel program performance optimization methods. To use computing power of multiple cores, we need design and implemation parallel algorithm for programs. To use computing power of multiple cores more fully, we need optimize prallel program performance. The parallel program performance optimization methods studied in this paper include improving load balance by increasing tasks number and reducing tasks size, choosing the best affinity policy between threads and processor cores, designing lock-free structure to reduce synchronization overhead, eliminating false sharing of cache between threads and so on.2. This paper applies these performance optimization methods to several image future extraction and Markov decision process solving programs. Experiment results show that the performance of these programs is improved much, and this verifies the program performance optimization methods studied in this paper can effectively improve the program performance in multi-core systems.3. For overall system performance optimization, this paper studies the threads contention problem on the shared last level cache of multi-core systems, which may reduce performance of each thread and overall system. We proposes a method based on working set model to analysis and estimate the thread contention problem on the multi-core systems. We find that once total working set size of the threads exceed the shared cache space or the difference of temporal locality is great, the interference thread suffer is severe and the performance degradation is serious.4. This paper proposes a thread scheduling method based on the working set model. In this method, we design a set of monitoring unit on shared cache, which collect the working set size and temporal locality of threads by low overhead. We also propose an operating system thread scheduling policy, which select appropriate threads running simultaneously to ensure the working sets of threads can be kept in the shared cache. The experimental results show that the thread scheduling method based on working set model remits the threads contention on the shared cache, effectively improves the performance of overall system and each program.
Keywords/Search Tags:Program performance optimization, Multi-core system, Thread scheduling, Multi-thread program scalability performance optimization
PDF Full Text Request
Related items