DOI QR코드

DOI QR Code

Implementation of Multicore-Aware Load Balancing on Clusters through Data Distribution in Chapel

클러스터 상에서 다중 코어 인지 부하 균등화를 위한 Chapel 데이터 분산 구현

  • Gu, Bon-Gen (Dept. of Computer Engineering at Chungju University) ;
  • Carpenter, Patrick (Dept. of Computer and Software Engineering at Auburn University) ;
  • Yu, Weikuan (Dept. of Computer and Software Engineering at Auburn University)
  • Received : 2011.12.09
  • Accepted : 2012.02.27
  • Published : 2012.06.30

Abstract

In distributed memory architectures like clusters, each node stores a portion of data. How data is distributed across nodes influences the performance of such systems. The data distribution scheme is the strategy to distribute data across nodes and realize parallel data processing. Due to various reasons such as maintenance, scale up, upgrade, etc., the performance of nodes in a cluster can often become non-identical. In such clusters, data distribution without considering performance cannot efficiently distribute data on nodes. In this paper, we propose a new data distribution scheme based on the number of cores in nodes. We use the number of cores as the performance factor. In our data distribution scheme, each node is allocated an amount of data proportional to the number of cores in it. We implement our data distribution scheme using the Chapel language. To show our data distribution is effective in reducing the execution time of parallel applications, we implement Mandelbrot Set and ${\pi}$-Calculation programs with our data distribution scheme, and compare the execution times on a cluster. Based on experimental results on clusters of 8-core and 16-core nodes, we demonstrate that data distribution based on the number of cores can contribute to a reduction in the execution times of parallel programs on clusters.

클러스터와 같은 분산 메모리 구조에서 각 노드는 전체 데이터의 일부분을 저장하고 있다. 이러한 구조에서는 데이터를 각 노드에 분산시키는 방법이 성능에 영향을 준다. 데이터 분산 정책은 데이터를 노드들에게 분산시켜 병렬 데이터 처리를 실현하는 정책이다. 클러스터 관리, 확장, 업그레이드 등 다양한 요인으로 인해 클러스터의 각 노드 성능이 동일하지 않을 수 있다. 이러한 클러스터에서 노드의 성능을 고려하지 않은 데이터 분산 정책은 데이터를 각 노드에 효율적으로 분산시키지 못할 수 있다. 본 논문에서는 각 노드의 성능을 나타내는 인자로 노드에 장착되어 있는 프로세서의 코어 수를 이용하고, 이를 고려한 데이터 분산 정책을 제안한다. 본 논문에서 제안하는 데이터 분산 정책에서는 전체 코어 수 대비 노드에 장착된 코어 수에 비례하여 데이터를 노드에 분산 저장하도록 할당을 한다. 또, 본 논문에서 제안하는 데이터 분산 정책을 Chapel 언어를 이용하여 구현하였다. 본 논문에서 제안하는 데이터 분산 정책이 효과적임을 입증하기 위해 이 정책을 이용하여 Mandelbrot 집합과 원주율을 계산하는 병렬 프로그램을 작성하고, 클러스터에서 실행하여 실행 시간을 비교한다. 8-코어와 16-코어로 구성되어 있는 클러스터에서 수행한 결과에 의하면 노드의 코어 수를 기반으로 한 데이터 분산 정책이 병렬 프로그램의 수행 시간 감소에 기여하였다.

Keywords

References

  1. B. Wilkinson and M. Allen, 'Parallel Programming: Technique and Applications Using Networked Workstations and Parallel Computers', Prentice Hall, 1999.
  2. A. Sidelnik, B.L. Chamberlain, M.J. Garzaran and D. Padua, "Using the High Productivity Language Chapel to Target GPGPU Architectures," Technical Report , IDEALS, 2011.
  3. R.E. Diaconescu and H.P. Zima, "An Approach to Data Distributions in Chapel," International Journal of High Performance Computing Applications, Vol.21, No.3, pp.313-335, Aug., 2007. https://doi.org/10.1177/1094342007078451
  4. http://www.mpi-forum.org/
  5. A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek and V. Sunderam, 'PVM: Parallel Virtual Machine, A User's Guide and Tutorial for Networked Parallel Computing. Scientifice and Engineering Computation', MIT Press, 1994.
  6. Cray Inc., Chapel Specification,0.795 ed., Cray Inc., Seattle, 2010.
  7. L. Snyder, A Programmers Guide to ZPL, http://www.cs.washington.edu/research/zpl/, 1999.
  8. S.J. Deitz, B.L. Chamberlain, S.E.Choi and L. Prokowich, "Five Powerful Chapel Idioms," CUG2010, 2010.
  9. B.L. Chamberlain, D. Callahan and H.P. Zima, "Parallel Programmability and the Chapel Language," International Journal of High Performance Computing Applications, Vol.21, No.3, pp.291-312, Aug., 2007. https://doi.org/10.1177/1094342007078442
  10. http://www.intel.com
  11. B.L. Chamberlain, S.J. Deitz, D. Iten and S.E. Choi, "User-defined distributions and layouts in chapel: philosophy and framework," Proc.HotPar10, 2010.
  12. C.D. Krieger, A. Stone and M.M Strout, "Mechanisms that Separate Algorithms from Implementations for Parallel Patterns," Proc. ParaPLoP'10, pp.1-12, 2010.
  13. C.A. Bohn ang G.B. Lamont, "Load balancing for heterogeneous clusters of PCs," Future Generation Computer Systems: The International Journal of Grid Computing and eScience, Vol.18, No.3, pp.389-400, 2002. https://doi.org/10.1016/S0167-739X(01)00058-9
  14. B.G. Gu, "TSCcp Load Sharing Algorithm for the Heterogeneous Cluster," Journal of Korean Institute of Information Technology, Vol.4, No.5, pp.29-36, Oct., 2006.
  15. http://en.wikipedia.org/wiki/Mandelbrot_set
  16. http://en.wikipedia.org/wiki/Monte_Carlo_method