LOAD BALANCING CONTROL OF WEB SERVER CLUSTERS:
N-TANKS MODEL AND A CTCT METHOD
By
MUTHUKUMARAN.K
41208405009
of
Mailam Engineering College
A PROJECT REPORT
Submitted to the
FACULTY OF INFORMATION AND COMMUNICATION ENGINEERING
In partial fulfillment of the requirements
for the award of the degree
of
MASTER OF ENGINEERING
IN
COMPUTER SCIENCE AND ENGINEERING
ANNA UNIVERSITY
CHENNAI 600 025
JUNE 2010
BONAFIDE CERTIFICATE
Certified that this project report titled “LOAD BALANCING CONTORL OF
WEB SERVER CLUSTERS: N-TANKS MODEL AND A CTCT METHOD” is the
bonafide work of Mr.K.MUTHUKUMARAN (Registration Number: 41208405009) who
carried out the research under my supervision. Certified further, that to the best of my
knowledge the work reported here in does not form part of any other project report or
dissertation on the basis of which a degree or award was conferred on an earlier occasion
on this or any other candidate.
Mr.S.PRASANNA, M.E., M.I.S.T.E, Mr.M.RAMALINGAM, M.E., (P.hD),
SUPERVISOR HEAD OF THE DEPARTMENT
LECTURER ASSISTANT PROFESSOR
Department of Computer Science Department of Computer Science
and Engineering. and Engineering.
Mailam Engineering College Mailam engineering College
Mailam-604304. Mailam-604304.
Submitted on the exam held on _______________________
Internal Examiner External Examiner
ABSTRACT
With an increasing of the traffic on Internet, a Web-server usually overloads
during a heavy-request period. Web-server cluster architectures have been widely
employed to provide high-efficiency Internet services. This paper is concerned with load
balancing control of Web-server clusters . A Web- server is modeled as a tank with an
inflow and an outflow, and hence a Web-server cluster i s modeled a s a multiple-
tanks system with certain inflow constraint. A control technique, called continuous token
control technique (CTCT), which adopts conventional PID approach is proposed to
address the issue of the traffic balancing on the Web-server clusters. The principle of the
proposed approach is explained and demonstrated. The results show that the proposed
CTCT technique is effective and scalable
The current demand for high performance computing is pushing the
hardware and software to new limits. As Internet services become more popular and
pervasive. More and more content is added online everyday and users request for
information is growing exponentially. The real problem is scalability of services. Serve a
single user as well as it can serve hundreds or thousands of simultaneous users.
ACKNOWLEDGEMENT
I wish to express my deep gratitude to our honorable Founder and Chairman
SHRI.N.KESAVAN, Managing Director SHRI.M.DHANASEKARAN, and our
Secretary SHRI.S.V.SUGUMARAN for their kind support for doing this project.
I wish to express my sincere thanks to Dr.A.T.RAVICHANDRAN, M.E, P.hD, Principal
of our college for providing the encouragement, valuable support and facilities extended to
carry out this project successfully.
It gives me great pleasure to convey my sincere thanks to Mr.S.SENTHIL, M.E, P.hD,
Vice principal of Mailam Engineering College for his advice and encouragement.
I express unique pleasure and honor in thanking Mr.RAMALINGAM, M.E, (P.hD),
Head of the Department, for his support and guidance for the project.
I am grateful to our Guide, Mr.S.PRASANNA, M.E, M.I.S.T.E, and Mailam Engineering
College for supporting me with the provision of necessary facilities.
My Sincere thanks to or CO-ORDINATOR Mr.R.RAJAPPAN, M.E,P.hD, and all other
staff members of Mailam Engineering College for their guidance and constant
encouragement in proceeding this dissertation work. Support from all my friends and
families have given immense strength and urge in us to make the project a success and they
have been moral support all through.
TABLE OF CONTENTS
CHAPTER No. TITLE PAGE No.
ABSTRACT iii
TABLE OF CONTENTS v
LIST OF TABLES viii
LIST OF FIGURES ix
LIST OF ABBREVATION x
1 INTRODUCTION 1
1.1 PROBLEMS FACED IN CONCURRENT SERVICES 1
1.1.1 Internet Services and Existing OS Designs 1
1.1.2 Existing OS Design Issues 2
1.2 OBJECTIVE 3
1.2.1 Existing system 4
1.3 PROPOSED SYSTEM 5
1.3.1 Thread usage 6
1.3.2 Threaded Server 7
1.4 PROJECT ORGANIZATION 8
2 SYSTEM ANALYSIS AND DESIGN 9
2.1 REQUEST HANDLER 10
2.1.1 User/Kernel Implementation 11
2.1.2 Implementing threads in User Space 11
2.1.3 Pop-Up Threads 13
2.2 THREAD POOLS 14
2.2.1 Risks of Using Thread Pools 14
2.2.2 Deadlock 15
CHAPTER No. TITLE PAGE No.
2.2.3 Resource Thrashing 15
2.2.4 Concurrent Errors 16
2.2.5 Thread Leakage 16
2.2.6 Request Overload 16
2.3 EFFECTIVE THREAD POOLS BY SSA 17
2.4 RESOURCE SCHEDULER 17
2.5 RESPONSE TIME CONTROLLER DESIGN 19
2.6 SERVICE DEGRADATON 20
2.7 THREAD POOL PERFORMANCE MONITOR 21
2.8 LITERATURE SURVEY 27
2.9 PROJECT RELATED WORK 30
2.10 CONTROL FRAMEWORK FOR SEDA-BASED 32
FAIR SERVICE
2.10.1 Global Control Framework 33
2.11 SELF-TUNE STAGE MODEL 35
3 IMPLEMENTATION 37
3.1 A HIGH-PERFORMANCE HTTP SERVER 37
3.2 JAVA THREADS 37
3.3 REQUEST HANDLER 38
3.4 THREAD POOLS 38
3.5 RESOURCE CONTROLLERS 38
3.6 RESOURCE SCHEDULER AND THREAD 38
POOL PERFORMANCE MONITOR
4 TESTING 41
TEST SETUP 41
CHAPTER No. TITLE PAGE No.
4.2 TESTING STRATEGIES 41
4.3 TEST PROCEDURE 42
4.3.1 System Testing 42
4.4 TEST DATA AND OUTPUT 42
4.4.1 Unit Testing 42
4.4.2 Functional Test 42
4.4.3 Performance Test 43
4.4.4 Stress Test 43
4.4.5 Structured Test 43
4.5 SOFTWARE TESTING STRATEGIES 43
4.6 INTEGRATION TESING 44
4.7 VALIDATION TESTING 44
5. CONCLUSION AND FUTURE WORK 45
APPENDICES 47
APPENDIX 1 (SAMPLE CODE) 47
APPENDIX 2 (SCREEN SHOTS) 53
REFERENCES 59
LIST OF TABLES
Table No. INDEX Page No.
1.1 THREAD Vs EVENTS 5
LIST OF FIGURES
Figure No. INDEX Page No.
1.1 Staged Events Driven Architecture 4
1.2 Threaded server 7
2.1 Scalable Service Architecture 10
2.2 User Thread Package 12
2.3 Creation of a new thread 14
2.4 Web-user’s interaction 22
2.5 SAGE over wide area networks 31
2.6 Global Control Framework 33
2.7 Self-Tune Stage Model 35
3.1 Implementation Diagram 40
LIST OF ABBREVIATIONS
S No. ABBREVIATION EXPANSION
1 WWW WORLD WIDE WEB
2 PID PROPORTIONAL INTEGRAL
DERIVATIVE METHOD
3 CTCT CONTINUOUS TOKEN CONTROL
TECHNIQUE
4 CPU CENTRAL PROCESSING UNIT
5 I/O INPUT/OUTPUT
6 SSA SCALABLE SERVICE ARCHITECTURE
7 POP POST OFFICE PROTOCOL
8 HTTP HYPER TEXT TRANSFER PROTOCOL
9 LWP LIGHT WEIGHT PROCESS
10 JVM JAVA VIRTUAL MACHINE
11 FTP FILE TRANSFER PROTOCOL
12 JDBC JAVA DATABASE CONNECTIVITY
13 API APPLICATION PROGRAMMING
INTERFACE
14 RED RANDOM EARLY DETECTION
15 FIFO FIRST IN FIRST OUT
16 TPPM THREAD POOL PERFORMANCE
MONITOR
17 AMI ASYNCHRONOUS METHOD
INVOCATION
18 SMI SYNCHRONOUS METHOD
INVOCATION
19 AMH ASYNCHRONOUS METHOD HANDLING 20
CORBA COMMON OBJECT REQUEST BROKER
ARCHITECTURE
21 DFD DATA FLOW DIAGRAM
22 RMI REMOTE METHOD INVOCATION
23 LAN LOCAL AREA NETWORK
24 SEDA STAGED EVENT DRIVEN
ARCHITETURE
25 HA HIGH AVAILABILITY
26 CSM CLUSTER SERVICE MANAGER
27 DNS DOMAIN NAME SERVER
28 PAWN PRODUCER ARCHIVE WORKFLOW
NETWORK
29 RAM RANDOM ACCESS MEMORY
30 OS OPERATING SYSTEM