• Title/Summary/Keyword: prediction-based dynamic thread pool system

Search Result 3, Processing Time 0.014 seconds

Prediction-based Dynamic Thread Pool System for Massively Multi-player Online Game Server

  • Ju, Woo-Suk;Im, Choong-Jae
    • Journal of Korea Multimedia Society
    • /
    • v.12 no.6
    • /
    • pp.876-881
    • /
    • 2009
  • Online game servers usually has been using the static thread pool system. But this system is not fit for huge online game server because the overhead is always up-and-down. Therefore, in this paper, we suggest the new algorithm for huge online game server. This algorithm is based on the prediction-based dynamic thread pool system. But it was developed for web servers and every 0.1 seconds the system prediction the needed numbers of threads and determine the thread pool size. Some experimental results show that the check time of 0.4 seconds is the best one for online game server and if the number of worker threads do not excess or lack to the given threshold then we do not predict and keep the current state. Otherwise we apply the prediction algorithm and change the number of threads. Some experimental results shows that this proposed algorithm reduce the overhead massively and make the performance of huge online game server improved in comparison to the static thread pool system.

  • PDF

Prediction-based Dynamic Thread Pool Model for Efficient Resource Usage (효율적인 자원 사용을 위한 예측기반 동적 쓰레드 풀 기법)

  • 정지훈;한세영;박성용
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.31 no.3_4
    • /
    • pp.213-223
    • /
    • 2004
  • A dynamic thread pool model is one of a multi-thread server programming model that handles many requests from users concurrently. In most cases, bounded thread pool model is used for server programming. Because it reduces a thread overhead by creating a pool of threads in advance, it ran response more quickly to users' requests. But this model always occupies system resource when there are small amount of requests, which prevents other applications from using available resources. In this paper, for the utilization of occupied but unused resources, we proposed and implemented a prediction-based dynamic thread pool scheme using customized exponential average. From the experiments, we show that this scheme outperforms hounded thread pool model and uses small resources.

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
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.16 no.1
    • /
    • pp.23-34
    • /
    • 2010
  • 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.