| Previous | [ 1] | [ 2] | [ 3] | [ 4] | [ 5] | [ 6] | [ 7] | [ 8] | [ 9] | [ 10] | [ 11] | [ 12] | [ 13] | [ 14] | [ 15] | [ 16] |
¡@
Tyng-Yeu Liang, Shih-Hsien Wang, Ce-Kuen Shieh, Ching-Min Huang and Liang-I Chang
Department of Electrical Engineering
National Kaohsiung University of Applied Sciences
Kaohsiung, 807 Taiwan
+Department of Electrical Engineering
National Cheng Kung University
Tainan, 701 Taiwan
Recently, cluster computing has successfully provided a cost-effective solution for
data-intensive applications. In order to make the programming on clusters easy, many
programming toolkits such as MPICH, PVM, and DSM have been proposed in past researches.
However, these programming toolkits are not easy enough for common users
to develop parallel applications. To address this problem, we have successfully implemented
the OpenMP programming interface on a software distributed shared memory
system called Teamster. On the other hand, we add a scheduling option called Profiled
Multiprocessor Scheduling (PMS) into the OpenMP directive. When this option is selected
in user programs, a load balance mechanism based on the PMS algorithm will be
performed during the execution of the programs. This mechanism can automatically
balance the workload among the execution nodes even when the CPU speed and the
processor number of each node are not identical. In this paper, we will present the design
and implementation of the OpenMP API on Teamster, and discuss the results of performance
evaluation in the test bed.
Received July 4, 2005; accepted April 11, 2006.
Communicated by Yau-Hwang Kuo.
* This work was supported by the freeware project of the National Science Council of Taiwan, R.O.C., under
project No. 93-2218-E-151-004.