Thiết kế các phương án tự lập lịch vòng song song sử dụng mô hình lập trình MPI và OpenMP hỗn hợp cho các hệ thống lưới đa lõi

Springer Science and Business Media LLC - Tập 59 - Trang 42-60 - 2010
Chao-Chin Wu1, Chao-Tung Yang2, Kuan-Chou Lai3, Po-Hsun Chiu1
1Department of Computer Science and Information Engineering, National Changhua University of Education, Changhua City, Taiwan
2High-Performance Computing Laboratory, Department of Computer Science and Information Engineering, Tunghai University, Taichung, Taiwan
3Department of Computer and Information Science, National Taichung University, Taichung City, Taiwan

Tóm tắt

Lập lịch vòng trong các hệ thống song song và phân tán đã được nghiên cứu kỹ lưỡng trong quá khứ. Tuy nhiên, không có nghiên cứu nào trong số đó xem xét đặc điểm kiến trúc đa lõi cho các hệ thống lưới mới nổi. Mặc dù đã có nhiều nghiên cứu đề xuất việc sử dụng mô hình lập trình hỗn hợp MPI và OpenMP để khai thác các mức độ song song khác nhau cho một hệ thống phân tán với máy tính đa lõi, nhưng không có nghiên cứu nào tập trung vào việc tự lập lịch vòng song song. Do đó, bài báo này nghiên cứu cách sử dụng mô hình hỗn hợp MPI và OpenMP để thiết kế một phương án tự lập lịch vòng song song được điều chỉnh cho kiến trúc đa lõi của các hệ thống lưới mới nổi. Ba ứng dụng có đặc điểm khác nhau được thực hiện và đánh giá để chứng minh hiệu quả của phương pháp lập lịch được đề xuất. Kết quả thực nghiệm cho thấy phương pháp được đề xuất vượt trội hơn so với các công trình trước đây cho ba ứng dụng và tốc độ tăng hiệu suất dao động từ 1,13 đến 1,75.

Từ khóa

#lập lịch vòng #hệ thống song song #hệ thống phân tán #kiến trúc đa lõi #mô hình lập trình hỗn hợp MPI #OpenMP

Tài liệu tham khảo

Banicescu I, Carino RL, Pabico JP, Balasubramaniam M (2005) Overhead analysis of a dynamic load balancing library for cluster computing In: Proceedings of the 19th IEEE international parallel and distributed processing symposium, pp 122.2 Boeres C, Nascimento AP, Rebello VEF Sena AC (2005) Efficient hierarchical self-scheduling for MPI applications executing in computational Grids. In: Proceedings of the 3rd international workshop on middleware for grid computing, pp 1–6 Chronopoulos AT, Penmatsa S, Yu N (2002) Scalable loop self-scheduling schemes for heterogeneous clusters. In: Proceedings of the 2002 IEEE international conference on cluster computing, pp 353–359 Chronopoulos AT, Penmatsa S, Xu J, Ali S (2006) Distributed loop-self-scheduling schemes for heterogeneous computer systems. Concurr Comput Pract Experience 18(7):771–785 Foster I (2002) The Grid: a new infrastructure for 21st century science. Phys Today 55(2):42–47 Foster I, Kesselman C (1997) Globus: a metacomputing infrastructure toolkit. Int J Supercomput Appl High Perform Comput 11(2):115–128 Foster I, Kesselman C (2003) The Grid 2: blueprint for a new computing infrastructure. Morgan Kaufmann, San Mateo Foster I, Kesselman C, Tuecke S (2001) The anatomy of the grid: enabling scalable virtual organizations. Int J Supercomput Appl High Perform Comput 15(3):200–222 Herrera J, Huedo E, Montero RS, Llorente IM (2006) Loosely-coupled loop scheduling in computational grids. In: Proceedings of the 20th IEEE international parallel and distributed processing symposium, 6 pp HINT performance analyzer. http://hint.byu.edu/ Hummel SF, Schonberg E, Flynn LE (1992) Factoring: a method scheme for scheduling parallel loops. Commun ACM 35(8):90–101 Li H, Tandri S, Stumm M, Sevcik KC (1993) Locality and loop scheduling on NUMA multiprocessors. In: Proceedings of the 1993 international conference on parallel processing, vol. II, pp 140–147 Mandelbrot BB (1988) Fractal geometry of nature. Freeman, New York MPI. http://www.mcs.anl.gov/research/projects/mpi/ MPICH-G2. http://www.hpclab.niu.edu/mpi/ OpenMP. http://en.wikipedia.org/wiki/OpenMP/ Polychronopoulos CD, Kuck D (1987) Guided self-scheduling: a practical scheduling scheme for parallel supercomputers. IEEE Trans Comput 36(12):1425–1439 Shih W-C, Yang C-T, Tseng S-S (2007) A performance-based parallel loop scheduling on grid environments. J Supercomput 41(3):247–267 Spooner DP, Jarvis SA, Cao J, Saini S, Nudd GR (2003) Local grid scheduling techniques using performance prediction. IEE Proc-Comput Digit Tech 150(2):87–96 Tabirca S, Tabirca T, Yang LT (2006) A convergence study of the discrete FGDLS algorithm. IEICE Trans Inf Syst E89-D 2:673–678 Tang P, Yew PC (1986) Processor self-scheduling for multiple-nested parallel loops. In: Proceedings of the 1986 international conference on parallel processing, 1986, pp 528–535 Tzen TH, Ni LM (1993) Trapezoid self-scheduling: a practical scheduling scheme for parallel compilers. IEEE Trans Parallel Distrib Syst 4:87–98 Wu C-C, Lai L-F, Chiu P-H (2008) Parallel loop self-scheduling for heterogeneous cluster systems with multi-core computers. In: Proceedings of Asia-pacific services computing conference, vol 1, pp 251–256 Wu C-C, Lai L-F, Yang C-T, Chiu P-H (2009) Using hybrid MPI and OpenMP programming to optimize communications in parallel loop self-scheduling schemes for multicore PC clusters. J Supercomput. doi:10.1007/s11227-009-0271-z Yang C-T, Chang S-C (2004) A parallel loop self-scheduling on extremely heterogeneous PC clusters. J Inf Sci Eng 20(2):263–273 Yang C-T, Cheng K-W, Li K-C (2005) An enhanced parallel loop self-scheduling scheme for cluster environments. J Supercomput 34(3):315–335 Yang C-T, Cheng K-W, Shih W-C (2007) On development of an efficient parallel loop self-scheduling for grid computing environments. Parallel Comput 33(7–8):467–487 Yang C-T, Shih W-C, Tseng S-S (2008) Dynamic partitioning of loop iterations on heterogeneous PC clusters. J Supercomput 44(1):1–23 Yang C-T, Chang J-H, Wu C-C (2009) Performance-based parallel loop self-scheduling on heterogeneous multi-core PC clusters. In: Proceedings of the second international conference on high performance computing and applications