An Efficient Load Balancing Algorithm for Web Server Cluster

웹 서버 클러스터를 위한 효율적인 부하 분배 알고리즘

  • 김성수 (아주대학교 정보통신전문대학원) ;
  • 정지영 (아주대학교 정보통신전문대학원 정보통신공학과)
  • Published : 2001.12.31

Abstract

Although the web is becoming a widely accepted medium, it provides relatively poor performance and low availability. A cluster consists of a collection of interconnected stand-alone computers working together and provides a high-availability solution in application area such as web services or information systems. In this paper, we propose a load balancer architecture under the web server cluster that provides high-availability, high performance and scalability. In addtion, we propose an efficient load balancing algorithm that considers access rate and size of documents. Specially, our algorithm does not require the nodes running under similar configurations and the same operating system. Also, server cache can be utilized more efficiently.

최근 인터넷과 웹은 널리 사용되는 미디어로 인식되고 있으나 상대적으로 빈약한 성능과 낮은 가용도를 제공한다. 클러스터 구조는 고가용도와 고성능 그리고 확장성을 요구하는 웹 서비스나 정보시스템 같은 응용 분야에서 저 비용으로 유용하게 사용 가능하다. 본 논문에서는 고가용도 및 확장성을 제공하는 클러스터링 웹 서버를 대상으로 부하 분배기의 구조를 제안하고 문서 접근 확률과 문서 크기 정보를 이용한 부하 분배 알고리즘을 개발하여 성능을 최대화할 수 있도록 하였다. 특히 제안된 알고리즘은 각 서버 노드가 동일한 운영체제로 구성되지 않아도 되고 처리 용량이 서로 달라도 되며 기존의 알고리즘에 비해 캐쉬 적중률을 향상시킨다.

Keywords

References

  1. R. Friedman and D. Mosse, 'Load Balancing Schemes for High-Throughput Distributed Fault-Tolerant Servers,' Journal of Parallel and Distributed Computing, pp. 475-488, Dec. 1999 https://doi.org/10.1006/jpdc.1999.1582
  2. V. Cardellini, M. Colajanni and P.S. Yu, 'Dynamic Load Balancing on Web-server Systems,' IEEE Internet Computing, pp. 28-39, May 1999 https://doi.org/10.1109/4236.769420
  3. H. Zhu, T. Yang, Q. Zheng, D. Watson, O.H. Ibarra and T. Smith, 'Adaptive Load Sharing for Clustered Digital Library Servers,' Proceedings of the Seventh IEEE International Symposium on High Performance Distributed Computing, pp. 28-31, July 1998 https://doi.org/10.1109/HPDC.1998.709977
  4. R. Buyya, 'High Performance Cluster Computing: Architectures and Systems,' Prentice-Hall, Chapter 14, p. 849, 1999
  5. V. Carellini, M. Colajanni and P. Yu, 'Redirection Algorithms for Load Sharing in Distributed Web-server Systems,' Proceedings of the 19th IEEE International Conference on Distributed Computing Systems, pp. 528-535, May 1999 https://doi.org/10.1109/ICDCS.1999.776555
  6. 유찬수, '리눅스 클러스터링', 정보과학회지, 제18권 제2호, pp.33-39, 2000.2
  7. Beowulf Project, http://www.beowulf.org
  8. A. Wong and T. Dillon, 'Load Balancing to Improve Dependability and Performance for Program Objects in Distributed Real-time Co-operation over the Internet,' The 3rd IEEE International Symposium on Object-Oriented Real-time Distributed Computing, Mar. 2000 https://doi.org/10.1109/ISORC.2000.839520
  9. 김동호, 박권, 김명호, '리눅스 상에서 고가용성 웹 서버 클러스터의 설계 및 구현', 2000 한국정보과학회 춘계학술발표논문지, Vol. 27, No.1, 2000. 4
  10. E. Khalil and T. Carl, 'On Metrics for the Dynamic Load Balancing of Optimistic Simulations,' Proceedings of the 32nd Hawaii International Conference on System Sciences, Jan. 1999 https://doi.org/10.1109/HICSS.1999.773083
  11. Linux Virtual Server Project, http://www.linuxvirtualserver.org
  12. D. Andresen, T. Yang, V. Holmedahl and O. Ibarra, 'Sweb: Towards a Scalable WWW Server on Multicomputers,' Proceedings of International Symposium on Parallel Processing, IEEE, pp. 850-856, Apr. 1996 https://doi.org/10.1109/IPPS.1996.508191
  13. B. S. Siegel and P. Steenkiste, 'Automatic Generation of Parallel Programs with Dynamic Load Balancing,' Proceedings 3rd International Symposium on High- Performance Distributed Computing, pp. 166-175, 1994 https://doi.org/10.1109/HPDC.1994.340247
  14. H. Maeng, H. Lee, T. Han, S. Yang and S. Kim, 'Dynamic Load Balancing of Iterative Data Parallel Problems on a Workstation Clustering,' Proceedings of the High-Performance Computing on the Infor-mation Superhighway, HPC-Asia, Apr. 1997 https://doi.org/10.1109/HPC.1997.592209
  15. M. Colajanni, P. Yu and D. Dias, 'Scheduling Algorithms for Distributed Web Servers,' Proceedings of International Conference on Distributed Computer Systems, IEEE, pp. 169-176, May 1997 https://doi.org/10.1109/ICDCS.1997.598025
  16. B. Narendran, S. Rangarajan and S. Yajnik, 'Data Distribution Algorithms for Load Balanced Fault-Tolerant Web Access,' Proceedings of the 16th Symposium on Reliable Distributed Systems (SRDS), Oct. 1997 https://doi.org/10.1109/RELDIS.1997.632803
  17. 권세오, 김상식, 김동승, '리눅스 클러스터형 웹 서버 설계', 정보과학회지, 제18권 제3호, pp. 48-55, 2000. 3
  18. 최병갑, 이천희, '분산 시스템의 결함시 재분배 알고리즘의 선정기준을 위한 특성 분석', 한국 시뮬레이션 학회 논문지 제3권, 제1호, pp. 89-97, 1994. 7
  19. Linux-HA Project, http://www.linux-ha.org
  20. J. Griffioen and R. Appleton, 'The Design, Implementation, and Evaluation of a Predictive Caching File System,' Technical Report CS-264-96, University of Kentucky, June 1996