A Systematic Speed-Up Mechanism for Multi-Core Systems
Date Issued
2015
Date
2015
Author(s)
Tu, Tang-Hsun
Abstract
In multi-core environment, parallelizing with multi-hreading is a common approach to speed up application programs. However, we find that the parallelization efforts might not always lead to positive performance gain because of some potential system issues, such as the significant synchronization overhead among threads and the unreasonable dispatching of threads. Researches focusing on the parallelization of specific program components without consideration of the entire system might often overlook these system issues. Therefore, we propose to design a systematic mechanism to speed up application programs effectively on multi-core systems. To make the speed-up effective, the mechanism aims at how to manipulate threads to utilize multiple cores systematically. It includes three phases: parallelizing the program into threads, coordinating these threads with system kernel, and scheduling these threads, to solve the problem with consideration of the system issues. For the flexibility, each phase is developed as an independent module, and can be applied not only all together but also individually with other existing speed-up approaches to achieve higher performance. Furthermore, we also provide related theoretical analysis including feasibility and time complexity, and conduct a series of experiments with two different kinds of applications to verify the mechanism on a 4-core machine. The results show that it can deliver higher performance than traditional approaches because of the reduction of the system overhead.
Subjects
Multi-core
Systematic
Parallelization
Thread
Scheduling
Type
thesis
File(s)![Thumbnail Image]()
Loading...
Name
ntu-104-D98944004-1.pdf
Size
23.32 KB
Format
Adobe PDF
Checksum
(MD5):b53feec746456d37bffa9f0788c96087
