DOI QR코드

DOI QR Code

A History-based Dynamic Thread Pool Method for Reducing Thread Creation and Removal Overheads

스레드 생성 및 삭제 오버헤드를 줄이기 위한 히스토리 기반의 동적 스레드풀 방법

  • Oh, Sam-Kweon (College of NewIT Engineering(Department of Computer Engineering), Hoseo University) ;
  • Kim, Jin-Sub (College of NewIT Engineering(Department of Computer Engineering), Hoseo University)
  • 오삼권 (호서대학교 뉴아이티공과대학 컴퓨터공학전공) ;
  • 김진섭 (호서대학교 뉴아이티공과대학 컴퓨터공학전공)
  • Received : 2013.02.18
  • Accepted : 2013.04.30
  • Published : 2013.04.30

Abstract

In an environment with frequent job requests and short job processing times, thread pool methods are frequently used to increase throughput by reducing overheads due to thread creation and removal. A watermark method normally reduces unnecessary uses of resources by keeping the number of threads less than those needed in the maximum. In the absence of available threads, however, it processes jobs by creating additional threads up to a specified limit so that the system overhead increases due to creation of threads, which results in throughput degradation. This paper presents a history-based dynamic method that alleviates throughput degradation. By estimating and maintaining the number of threads needed for jobs, it reduces overheads due to thread creation and removal. According to experiments, compared to the watermark thread pool method, it shows average 33% increase in the number of threads kept and average 62% reduction in the number of threads created, which results in 6% increase in terms of system throughput.

작업의 실행요청이 빈번하고 실행시간이 짧은 환경에서, 스레드 생성 및 삭제로 인한 오버헤드를 줄여 작업처리효율을 향상시키기 위해 스레드풀 방법이 자주 사용된다. 그중에서 워터마크 스레드풀 방법은 최대로 필요한 스레드 수 이하의 스레드들을 유지함으로써 자원의 불필요한 사용을 줄인다. 그러나 사용가능한 스레드가 없을 경우에는 지정된 한도 내에서 스레드를 추가로 생성하여 작업들을 처리해야 하므로 스레드 생성으로 인한 시스템 오버헤드가 증가하고 결국 성능 저하 현상이 발생할 수 있다. 본 논문은 이런 성능 저하를 줄이기 위한 방법으로써 히스토리 기반의 동적 스레드풀 방법을 제안한다. 이 방법은 작업처리에 필요한 스레드 수를 측정하고 유지함으로써 스레드 생성 및 삭제로 인한 오버헤드를 줄인다. 실험결과에 따르면, 제안방법은 워터마크 스레드 풀 방식과 비교하여 보유 스레드 수는 평균 33% 증가하나 스레드 생성 수는 평균 62% 감소함으로써 평균 6%의 시스템 처리량 증가를 보인다.

Keywords

References

  1. A. Silberschatz, P.B. Galvin, and G. Gagne. Operating System Concepts Essentials, First Edition Binder Ready Version. John Wiley & Sons, 2011.
  2. Brian Goetz. Java theory and practice: Thread pools and work queues. IBM Develop works, http://www.ibm.com/developerworks/library/j-jtp0730, 2002.
  3. D. Xu and B. Bode. "Performance study and dynamic optimization design for thread pool systems," PhD thesis, United States Department of Energy. Office of Science, 2004.
  4. D.C. Schmidt, "Evaluating architectures for multi-threaded object request broker." Communications of the ACM, vol. 41, no. 10, pp. 54-60, 1998.
  5. Dynamic TAO Documentation, http://choices.cs.uiuc.edu/2k/dynamicTAO/doc/
  6. D.H. Kang, S. Han, S.H. Yoo, and S. Park, "Prediction-based dynamic thread pool scheme for efficient resource usage," In Computer and Information Technology Workshops, CIT Workshops 2008, IEEE 8th International Conference, pp. 159-164, 2008.
  7. DongHyun Kang, SeoHee Yoo, Sungyong Park. "A Dynamic Thread Pool Scheme based on the Learning for a Web Server," ITC-CSCC(International Technical Conference on Circuits Systems , Computers and Communications), pp. 268-271, 2009.
  8. AutoRegressive, http://local.wasp.uwa.edu.au/-pbourke/miscellaneous/ar/
  9. Chang-Hwan Lee, "Calculating Attribute Weights in K-Nearest Neighbor Algorithms using Information Theory," KIISE JCSE, vol. 32, no. 9, pp. 920-926, September 2005.
  10. Lee, K.L. and Pham, H.N. and Kim, H. and Youn, H.Y. and Song, O. "A Novel Predictive and Self-Adaptive Dynamic Thread Pool Management," Parallel and Distributed Processing with Applications (ISPA), 2011 IEEE 9th International Symposium, pp. 93-98, 2011.
  11. Jinsub Kim, "A History-based Thread Pool Method for Reducing Overhead of Thread Creation and Deletion," Master's thesis for a degree in Hoseo University, 2012.

Cited by

  1. Survey on the run‐time systems of enterprise application integration platforms focusing on performance vol.49, pp.3, 2019, https://doi.org/10.1002/spe.2670