Browse > Article

Design and Implementation of a Web Server Using a Learning-based Dynamic Thread Pool Scheme  

Yoo, Seo-Hee (서강대학교 컴퓨터공학과)
Kang, Dong-Hyun (서강대학교 컴퓨터공학과)
Lee, Kwon-Yong (서강대학교 컴퓨터공학과)
Park, Sung-Yong (서강대학교 컴퓨터공학과)
Abstract
As the number of user increases according to the improvement of the network, the multi-thread schemes are used to process the service requests of several users who are connected simultaneously. The static thread pool scheme has the problem of occupying a static amount of system resources. On the other hand, the dynamic thread pool scheme can control the number of threads according to the users' requests. However, it has disadvantage that this scheme cannot react to the requests which are larger than the maximum value assigned. In this paper, a web server using a learning-based dynamic thread pool scheme is suggested, which will be running on a server programming of a multi-thread environment. The suggested scheme adds the creation of the threads through the prediction of the next number of periodic requests using Auto Regressive scheme with the web server apache worker MPM (Multi-processing Module). Unlike previous schemes, in order to set the exact number of the necessary threads during the unchanged number of work requests in a certain period, K-Nearest Neighbor algorithm is used to learn the number of threads in advance according to the number of requests. The required number of threads is set by comparing with the previously learned objects. Then, the similar objects are selected to decide the number of the threads according to the request, and they create the threads. In this paper, the response time has decreased by modifying the number of threads dynamically, and the system resources can be used more efficiently by managing the number of threads according to the requests.
Keywords
Thread pool; multi-processing module; AR; K-Nearest Neighbor algorithm;
Citations & Related Records
Times Cited By KSCI : 1  (Citation Analysis)
연도 인용수 순위
1 DongHyun Kang, Saeyoung Han, SeoHee Yoo, Sungyong Park, Prediction-based Dynamic Thread Pool Scheme for Efficient Resource Usage, 2008 IEEE 8th International Conference on Computer and Information Technology Workshops, pp.159-164, 2008.
2 A. Silberschatz, P. Galvin, G. Gagne, Operating System Principles, 7th edition, p.136, 2006.
3 Apache 2.2.10, www.apache.org
4 이창환, 정보이론을 이용한 K-최근접 이웃 알고리즘에서의 속성 가중치 계산, 정보과학회 논문지, 소프트웨어 및 응용 제 32권 제9호, pp.920-926, 2005. 9.
5 httperf, http://www.hpl.hp.com/research/linux/httperf/
6 Jian Zhang and Renato J. Figueiredo, Adaptive Predictor Integratin for System Performance Prediction, IPDPS 2007, IEEE, pp.1-10, 2007. 3.
7 D. Schmidt and S. Vinoski, "Object Interconnections: Comparing Alternative Programming Techniques for Multi-threaded CORBA Servers," SIGS C++ Report magazine, vol.8, no.4, April 1996.
8 G. Coulouris, J. Dollimore, T. Kindberg, Distributed Systems Concepts and Design, 4th edition, p.235, 2005.
9 A. Silberschatz, P. Galvin, G. Gagne, Operating System Principles, 7th edition, p.156, 2006.
10 Yibei Ling, Tracy Mullen, and Xiaola Lin, Analysis of Optimal Thread Pool Size, ACM SIGOPS Operating Systems Review, vol.34, Issue 2, pp.42-55, February 14, 2000.
11 AutoRegressive, http://local.wasp.uwa.edu.au/~pbourke/ miscellaneous/ar/
12 웹서버 요청량, http://graphs.eluna.org/