A Reconfigurable Load and Performance Balancing Scheme for Parallel Loops in a Clustered Computing Environment

클러스터 컴퓨팅 환경에서 병렬루프 처리를 위한 재구성 가능한 부하 및 성능 균형 방법

  • 김태형 (한양대학교 전자컴퓨터공학부)
  • Published : 2004.02.01

Abstract

Load imbalance is a serious impediment to achieving good performance in parallel processing. Global load balancing schemes cannot adequately manage to balance parallel tasks generated from a single application. Dynamic loop scheduling methods are known to be useful in balancing parallel loops on shared-memory multiprocessor machines. However, their centralized nature causes a bottleneck for the relatively small number of processors in a network of workstations because of order-of-magniture differences in communication overheads. Moreover, improvements of basis loops scheduling methods have not effectively dealt with irregularly distributed workloads in parallel loops, which commonly occur in applications for a network of workstation. In this paper, we present a new reconfigurable and decentralized balancing method for parallel loops on a network of workstations. Since our method supplements performance balancing with those tranditional load balancing methods, it minimizes the overall execution time.

부하 불균형은 병렬처리에 있어서 좋은 성능을 얻기 위한 주요한 방해 요소 중의 하나이다. 전역(全域) 부하균형 기법은 하나의 응용에서 발생된 병렬 태스크를 취급하는데 적절하지 않다. 동적 루프 스케줄링 기법은 공유 메모리 멀티프로세서 병렬구조에서 병렬 루프의 부하균형에 효과적인 것으로 알려져있다. 하지만 이 기법의 중앙집중적 특성은 워크스테이션 클러스터 환경에서 프로세서 수가 상대적으로 많지 않은 경우에도 병목현상을 일으킬 수 있는 요인이 된다. 워크스테이션 클러스터 환경에서의 통신 오버헤드는 공유 메모리 멀티프로세서 병렬 구조와 비교할 때 수십배의 차이가 생기기 때문이다. 더구나 병렬 루프에서 발생하는 단위 태스크가 불규칙적인 작업량을 갖는 경우에는 기본 루프 스케줄링 기법의 단점을 보완한 개선된 방법들을 적용할 수가 없다. 본 논문에서는 이러한 불규칙적인 작업량을 갖는 병렬루프를 서로 다른 성능을 갖는 워크스테이션들의 네트워크 환경에서 효율적으로 부하를 분배하기 위한 재구성 가능한 분산 부하 균형 기법을 제시한다. 이러한 재구성 가능한 기법은 전통적인 부하균형 방법과 함께 성능균형을 가능하게 함으로써 전체수행시간을 최소화할 수 있음을 보였다.

Keywords

References

  1. S. F. Hummel, E. Schonberg, and L. E. Flynn, Factoring: A method for scheduling parallel loops, Communications of the ACM, Vol. 3(8), August, 1992 https://doi.org/10.1145/135226.135232
  2. M. Cierniak, W. Li and M. J. Zaki. Loop scheduling for heterogeneity, In Proceedings of the 4th International Symposium on High Performance Distributed Computings, August 1995 https://doi.org/10.1109/HPDC.1995.518697
  3. C. P. Kruskal and A. Weiss. Allocating independent subtasks on parallel processors, IEEE Transactions on Software Engineering, Vol. 11(10): 1001-1016, October 1985 https://doi.org/10.1109/TSE.1985.231547
  4. C. D. Polychronopoulos and D. J. Kuck. Guided self-scheduling: A practical scheduling scheme for parallel supercomputers, IEEE Transactions on Computer, Vol. C36-(12): 1425-1439, December 1987 https://doi.org/10.1109/TC.1987.5009495
  5. P. Tang and P. C. Yew. Processor self-scheduling for multiple nested parallel loops. In Proceedings of International Conference on Parallel Processing, August 1986
  6. T. H. Tzen and L. M. Ni. Dynamic loop scheduling for shared-memory multiprocessors. In Proceedings of International Conference on Parallel Processing, August 1991
  7. T.-H. Kim and J. M. Purtilo. Configuration-level Optimization of RPC-based Distributed programs. In Proceedings of the 15th International Conference on Distributed Computing Systems, May 1995 https://doi.org/10.1109/ICDCS.1995.500033
  8. B. Martin, C. Bergan, and B. Russ. PARPC: A system for parallel remote procedure calls. In Proceedings of the International Conferences on Parallel Processing, 1987
  9. M. Satyanarayanan and E. H. Siegel. MultiRPC: A parallel remote procedure call mechanism. Technical Report CMU-CS-86-139, Carnegie-Mellon University, 1986
  10. Clemens H. Cap and Volker Strumpen. Efficient parallel computing in distributed workstation environments, Parallel Computing, Vol. 19: 1221-1234, 1993 https://doi.org/10.1016/0167-8191(93)90028-J
  11. A. S. Grimshaw, J. B. Weissman, E. A. West and Jr. E. C. Loyot. 'Metasystems:An approach combining parallel processing and heterogeneous distributed computing systems. Journal of Parallel and Distributed Computing, Vol. 21: 257-270, 1994 https://doi.org/10.1006/jpdc.1994.1058
  12. P. Krueger and N. G. Shivaratri. Adaptive location policies for global scheduling. IEEE Transactions on Software Engineering, Vol. 20(6): 432-444, June 1994 https://doi.org/10.1109/32.295892
  13. Derek L. Eager, Edward D. Lazowska, and John Zarhorjan. Adaptive load sharing in homogeneous distributed systems, IEEE Transactions on Software Engineering, Vol. 12(5): 662-675, May 1986 https://doi.org/10.1109/TSE.1986.6312961
  14. V. S. Sunderam. PVM: A framework for parallel distributed computing. Concurrency: Practice and Experience, Vol. 2(4): 315-339, December 1990 https://doi.org/10.1002/cpe.4330020404