FBOS: FREQUENCY BASED OPTIMIZATION STRATEGY FOR THREAD POOL SYSTEM
Abstract
Competitive multithreading models for constructing server side applications are thread-per-request and thread pool. Thread pool architecture is more efficient because of its pre-spawning and recycling a pool of threads. But tuning the thread pool system at the optimal level and dynamically changing its size is still a challenging task. This paper presents a Thread Pool System which is equipped with a dynamic optimization strategy named Frequency Based Optimization Strategy (FBOS) that reacts on the basis of client’s request frequencies. In this paper we also presented a comparison between the two best pool techniques and FBOS strategy with the help of a Request Simulator and the results of simulation have proved that FBOS is more responsive and efficient than other strategies.References
A. Silberschatz, P. Galvin and G. Gane, Operating
System Concepts. 6th Ed. John Wiley & Sons. (New
York, USA) (2003) pp. 180-187. ISBN:
M. Harkema, B. Gijsen, R. Vander and L.
Nieuwenhuis, Performance Comparison of
Middleware Threading Strategies, Proc. of Int.
Symp. Performance Evaluation of Computer and
Communication Systems, Netherland (2004)
pp.727-732.
Y. Ling, T. Mullen and X. Lin, ACM. SIGOPS
Operating System Review 34, No. 2 (2000) 42.
J. Hu, I. Pyarali and D. Schmidt, Measuring the
Impact of Event Dispatching and Concurrency
Models on Web Server Performance Over Highspeed Networks. Global Telecommunications Conf.
IEEE. (Phoenix, AZ., USA) (1997)
pp. 1924–1931.
S. Ramisetti and R. Wanker, Design of Hierarchical
Thread Pool Executor for DSM. Second Int. Conf.
on Intelligent Systems, Modelling and Simulation.
(Kuala Lumpur) (2011) pp.284-288.
G. You and Y. Zhao, Dynamic Requests
Scheduling Model in Multi-core Web Server. Ninth
Int. Conf. on Grid and Cloud Computing. (Nanjing,
China) (2010) pp.201-206.
C. Ning and P. Lin, A Dynamic Adjustment
Mechanism with Heuristic for Thread Pool in
Middleware. 3rd Int. Joint Conf. on Computational
Science and Optimization. IEEE Computer Society.
(Washington, DC., USA) (2010) pp. 324-336.
J. Lorenzon and E. Clua, A Novel Multithreaded
Rendering System based on a Deferred Approach.
Proc. of VIII Brazilian Symp. on Games and
Digital Entertainment (Rio de Janeiro, Brazil)
(2009) pp. 168-174.
T. Kodaka, S. Sasaki, T. Tokuyoshi and
R. Ohyama, Design and Implementation of
Scalable, Transparent Threads for Multi-Core
Media Processor. Proc. of the Conf. on Design,
Automation and Test in Europe. (Belgium) (2009)
pp. 1035-1039.
M. Nasir, S. Hamid and H. Hassan, Thread-Level
Parallelis m & Shared-Memory Pool Techniques for
Authorization of Credit Card System. International
Symp. on Communications and Information
Technologies. (Lao, China) (2008) pp. 447-452.
D. Kang, S. Han, S. Yoo and S. Park, Prediction
based Dynamic Thread Pool Scheme for Efficient
Resource Usage. Proc. of the IEEE 8th Int. Conf. on
Computer and Information Technology Workshop,
IEEE Computer Society. (Washington, DC., USA)
(2008) pp. 159-164.
D. Xu and B. Bode, Performance Study and
Dynamic Optimization Design for Thread Pool
System. Proc. of the Int. Conf. on Computing
Communications and Control Technologies.
(Austin, Texas, USA) (2004) pp.167-174.
D. Schmidt and F. Kuhns, IEEE Computer
Magazine, Special Issue on Object-Oriented Realtime Computing 33, No. 6 (2000): 56-63.
Y. Ling, Y, T. Mullen and X. Lin, Analysis of
Optimal Thread Pool Size. ACM. SIGOPS
Operating System Review. 34, No. 2 (2000)
D. Schmidt, Communication of the ACM. (New
York, USA) 41, No. 10 (1998) 54.
S. Chang, J. Wang, M. Yuan and D. Liang. Design
and Implementation of Multi-Threaded Object
Int. Conf. on Parallel and Distributed Systems.
(Washington, DC., USA) (1998) pp. 740-747.
Dynamic TAO Documentation, http://choices.
cs.uiuc.edu/2k/dynamicTAO/doc/ (May 2013).
Java API Documentation, http://docs.oracle.
com/javase/7/docs/api/ (May 2013).
T. Ogaswara. Dynamic thread Couint
Adoptation for Multiple Services in SMP
Environment, Int. Conf. on web services, IEEE
Computer Society (Tokyo, Japan) (2008) pp.
–592.
JBOSS AZ7.1 Documentation. https://docs.
jboss.org/author/display/AS71/Threads+subsystem+
configuration (May 2013).
Apache Tomcat 6.0. The Executor (thread
pool), http://tomcat.apache.org/tomcat-6.0-
doc/config/executor.html (May 2013).
Sun Java System Application Server 9.1
Administration Guide. Thread pools, http://docs.
oracle.com/cd/E19159-01/819-3671/ (May 2013).
Oracle®Containers for J2EE Configuration and
Administration Guide 10g (10.1.3.1.0). Configuring
OC4J thread pools. http://docs.oracle.com
/html/B32204_05/oc4j.htm (May 2013).
WebLogic Server®Performance and Tuning.
Tune pool sizes, http://docs.oracle.com/cd/
E11035_01/wls100/perform/ (May 2013).
WebSphere®Application Server Network
Deployment, Version 6.1. Thread pool settings.
http://www-01.ibm.com/software/ webservers/
appserv/was/library/ (May 2013.)
Object Management Group, CORBA
Messaging Specification. http://www.omg.
org/spec/ (May 2013).
Object Management Group, Realtime CORBA
Joint Revised Submission http://www.cs.
wustl.edu/~schmidt/PDF/RT-ORB-std-new.pdf
(May 2013).