Design and implementation of load balanced and resource reallocation mechanisms for OMPICUDA applications

碩士 === 國立高雄應用科技大學 === 電機工程系 === 100 === OMPICUDA is a programming framework proposed for the hybrid CPU/GPU computing architecture. In this framework, users can use mixing MPI/OpenMP programs to write their programs and simultaneously make use of CPUs and GPUs to execute the same program. However, O...

Full description

Bibliographic Details
Main Authors: Jun-Yao Chiu, 邱峻堯
Other Authors: Tyng-Yeu Liang
Format: Others
Language:zh-TW
Published: 101
Online Access:http://ndltd.ncl.edu.tw/handle/13547306741373301841
Description
Summary:碩士 === 國立高雄應用科技大學 === 電機工程系 === 100 === OMPICUDA is a programming framework proposed for the hybrid CPU/GPU computing architecture. In this framework, users can use mixing MPI/OpenMP programs to write their programs and simultaneously make use of CPUs and GPUs to execute the same program. However, OMPICUDA faces the two problems of load balance and resource competition. Since the difference of computational capability between CPU and GPU is very big, user programs will not obtain a good performance if it is not proper to distribute the amount of problem data over CPUs and GPUs for parallel computation. On the other hand, GPUs are space-sharing resources. When a program occupies a GPU, other programs have to wait for this GPU until this program is finished. Consequently, the waiting time of these programs will increases to degrade their execution performance. As previously described, this study is aimed at resolving the problems of load balance and resource competition for OMPICUDA. This study develops a set of load-balancing interface for users to easily partition their problems for achieving load balancing, and a mechanism of resource reallocation to minimize the time of waiting resources by integrating VM migration and GridCUDA.