Simulation Modeling of Replicated Clustered Web Services

learningsnortSecurity

Nov 3, 2013 (3 years and 5 months ago)

66 views


1

Simulation Modeling of Replicated Clustered Web
Services


Lazar Kirchev


Faculty of Mathematics and Informatics, Sofia University, 5, James Boucher str., Sofia,
Bulgaria

m21489@fmi.uni
-
sofia.bg


Ab
stract.

For improvement of the most important attributes of QoS different solutions are developed.
Replication of Web Servers and information is one of them. Of the different approaches to replication, in
this paper we consider a local replication of servi
ces in a cluster of servers. We discuss different strategies
for dispatching the incoming request within the cluster and
by
using software simulation analyze which one
has best performance.

1. Introduction

Nowadays, the majority of traffic on the Internet
is web related. Moreover, this traffic
perpetually increases, a result of which can be the degradation in the QoS. Whereas many
Web services are not concerned with the quality of services presented to the user, there
are others for which the high quality i
s crucial. The principal QoS attributes that the users
are concerned with are the service availability and timeliness. Different solutions are
discussed to the improvement of these features. One of them is the repl
ication of
information and Web s
ervers.


The primary goal of replication is to increase data availability and reduce the load
on a server by balancing the se
rvice among the replicated Web s
ervers. Two different
approaches are used for the deployment of a replication of a Web service


servers’
cl
ustering and geographical replication.



With geographical
replication [2], [3], [7], Web s
ervers are replicated at distinct
sites, distributed across the Internet. In fact, geographically distributed clusters are used,
so that behind a Web
s
erve
r there is a cluster, and each cluster is seen as one server. We
will not discuss geographical replication in this paper.


Most web replication architectures use a cluster of servers [1], [4], [5], [6], that
reside on the same site. These architectures im
prove performance by sharing load
between different replicas and increase availability by having more than one server.


We denote with a Web cluster a set of servers that reside on the same location and
represent a single Web site. The work of the differen
t machines in the cluster is

2

μ
=
μ
μ
=
μ
=
μ
=
=
μ
=
=
μ
=
=
n μ
=
=
=
瑲t湳灡牥湴n 景f= 瑨t= c汩en琬t 牥獵汴楮i= 楮i 瑨慴t 瑨t= c汩e湴n 摯d猠湯琠歮潷k 睨楣栠灡牴楣畬慲=
浡m桩湥h睩汬=灲潣e獳s桩猠牥煵q獴⸠周q=c汩e湴ne癥渠摯d猠湯琠歮潷ka扯畴b瑨敩t=ex楳ie湣e⸠=fn=
瑨攠c汵獴e爠瑨敲e=楳ia=晲潮o
-
e湤nc潭灯湥湴o睨楣h
=
w楬氠扥=ca汬e搠a=摩獰慴d桥爮=周q=te戠獩se=
楳i癩獩扬攠瑯t瑨攠湥瑷潲t=潮oy=瑨牯tg栠瑨攠fm=a摤re獳s潦o瑨攠摩獰慴d桥爬r睨楣栠楳i歮潷渠a猠
瑨攠c汵獴e爠a摤牥獳⸠t桥渠a=c汩e湴n浡步猠a=re煵q獴s景f=瑨攠獩seⰠ瑨t猠牥煵e獴s楳i獥湴n瑯t瑨t=
c汵獴e爠a摤牥獳⸠周畳q瑨攠摩d
灡瑣桥爠牥ce楶e猠a汬=牥煵q獴s=a湤na晴f爠瑨慴t楴=d楳i物扵瑥猠瑨敭=
a浯湧⁴桥=c潭灵oe牳⁩渠r桥⁣汵獴e爮r
=
=
周q牥=a牥=浡my=c潭oerc楡氠灲潤pc瑳t扡se搠潮o瑨e=c汵獴e爠a灰牯pc栠潦o牥灬楣i瑩潮o=
䕸a浰me猠潦o獵s栠a牥=C楳捯i ioca汄楲lc瑯爠x

]Ⱐ乯N瑥氠䅃䕤楲Ac瑯爠xㄲ
]Ⱐ
IBM’s Web
Accelerator.


In this paper we address some strategies for dispatching the incoming requests
among the machines of the cluster, and more precisely


strategies for buffering of the
requests. Two main strategies are considered


when the buffering

takes place in a single
buffer at the dispatcher (we will refer to it as Fast Buffer, or FB) and when the buffering
is done locally for each machine (we call this Local Buffers, LB). In the case of FB the
dispatcher buffers all the requests and then sends

a request to the available computers at
the moment. While the buffer is not empty, every time a node has finished processing a
request, another one is transferred to it from the buffer. If the LB is used, then the
dispatcher distributes the requests, usin
g some specific strategy, among the buffers of the
cluster members. We compare the performance of the system in the two cases. We further
compare the two methods to the case when the requests are processed by a single
machine (a Fast Server, or FS), but wi
th greater productivi
ty.
For the analysis of the
problem we use simula
tion model
ing as

in [9].


2. The model

For the study and comparison of the relative performance of the above mentioned
methods, the following models are constructed:





λ

λ λ














Fig.
1
a.

Fig. 1b.

Fig. 1c.




3

In figures 1a, 1b and 1c the following

symbols are used:



-

dispatcher
-

server






-

buffer
λ
-

incoming rate of requests


μ

-

processing rate of the servers






Fig. 1a represents the case of Fast Buffer. The overall incoming rate of requests is
designated with λ.
This flow of requests is distributed among the processing servers,
which have processing rate μ each. Their

number is n. In this case the strategy of
distribution is simple


the request at the front end of the buffer is sent to the first
available server for processing. Thus there is no buffering at the machines.


Fig. 1b addresses the second strategy mentio
ned in the previous section


the
Local Buffers. In this case the dispat
cher sends the request to one of the servers as soon
as it comes, without buffering it


the buffering takes place at each server locally. We
consider three different methods for dispa
tching the requests to the servers’ local buffers.
The requests may be distributed randomly among the servers’ buffers (we call that
strategy RND). Or, the incoming request may be sent to the server whose buffer has the
smallest number of waiting requests
for processing (we refer to it as Join Shortest Queue,
or JSQ). Finally, it may be transferred to the buffer of the server which has experienced
the least load at average (Least Load, LLD). These three methods give different resulting
performance of the ov
erall system.


The last figure, 1c, designates the usage of one machine instead of a cluster of n
machines, but with n times greater productivity than the cluster members. We consider
this case only for performance comparison with the others. It is not of
interest here, since
it does not utilize replication and does not improve availability


the only server presents
a single point of failure.


The presented model is to some extent abstract and simplified. We make some
assumptions about the system, and do n
ot take into consideration all the details and
complexity of such a cluster of Web
s
ervers. Time for transferring the requests between
the dispatcher and the servers is not considered in the model. Also, it is assumed that the
processing nodes are with equ
al performance.

Moreover, an assumption concerning the
distr
ibution of the incoming requests is made


we
consider it a Poisson process, since it
is su
pposed that
Poisson process is a good approximation of hu
man generated events in
networks
[
8
].


We do not

take into consideration details such as the protocol used for
transferring requests in the cluster or communication between the servers for maintaining
consistency of the replicas. The content of the request is not considered, as is in [6], when
making th
e distribution. Also, a discretion between long jobs and short jobs is not made,
unlike in [4].


The model investigates the total time for processing a request. This is the time
from the moment the request enters the cluster to the moment when a Web
s
erve
r finishes
processing it. The different strateg
ies are compared upon this average total time. In order

4

to be compared, a simulation of the model is made with the GPSS World software. The
dependence of the average total time on the system load is analyzed a
nd charts are made
to represent it. The system load is called ρ and is represented by the ratio of the incoming
rate to the processing rate, i.e. ρ = λ/μ. In the simulation specific values are chosen for the
variable n from the model. Experiments are condu
cted for n = 2, 4 and 8. This produces a
family of curves for each strategy. Values for λ and μ are acquired from recent statistics
of the d
ebian.fmi.uni
-
sofia.bg server [10
].


3. Simulation results

Figures two through six present the results of the simula
tion. On every chart graphs are
shown for differ
ent values of n for a single strategy for dispatching requests. Also, for
the LB strategy the three different methods
-

RND, JSQ and LLD
-

are shown (Fig. 3a, 3b
and 3c). There are two comparative charts, on
e that compares the three strategies
discussed


FB, LB and FS (fig. 6), and one for comparison of RND, JSQ and LLD (fig.
4). Both of them compares the graphs for the strategies for n = 4. In the comparison of
FB, LB and FS the results for the LLD method o
f LB is considered (fig. 6).


The analysis of th
e results shows that for every strategy is valid that with the
increase of ρ the average total time for processing a request decreases. Another result is
that for any case the increase of the number of proces
sing servers in the cluster yields a
decrease of

the time for processing a single request.


The comparison of the three strategies (fig. 6) leads to the conclusion that smallest
request times are achieved by the single, but with higher performance, server
.
Nevertheless, this method is not of interest for replicating Web services, since no
replication takes place in this case. Of the two strategies that can be actually applied, FB
proves to be a better solution. Although for small values of
ρ and small numb
er of servers
LB performs a little better (only when using JSQ), the difference is very small, and with

higher values of ρ and more servers FB outperforms the other. The other two methods
that can be used by LB


LLD and RND
-

definitely ha
ve worse perform
ance than FB.



Fast Buffer
0
0,05
0,1
0,15
0,2
0,25
0,55
0,68
0,79
0,92
ro (%)
time (min)
2 servers
4 servers
8 servers
Local Buffers, JSQ
0
0,05
0,1
0,15
0,2
0,55
0,68
0,79
0,92
ro (%)
time (min)
2 servers
4 servers
8 servers


Fig.
2
.

Fig.
3
a.




5

Local Buffers, RND
0
0,05
0,1
0,15
0,2
0,25
0,3
0,35
0,55
0,68
0,79
0,92
ro (%)
time (min)
2 servers
4 servers
8 servers
Local Buffers, LLD
0
0,1
0,2
0,3
0,4
0,5
0,55
0,68
0,79
0,92
ro (%)
time (min)
2 servers
4 servers
8 servers


Fig. 3b.


Fig. 3c.


Comparison of LB strategies
0
0,05
0,1
0,15
0,2
0,25
0,3
0,35
0,34
0,45
0,55
0,68
0,79
0,92
ro (%)
time (min)
LB, JSQ
LB, RND
LB, LLDr
Fast Server
0
0,02
0,04
0,06
0,08
0,1
0,12
0,14
0,55
0,68
0,79
0,92
ro (%)
time (min)
x2
x4
x8


Fig.
4
.

Fig.
5
.


Comparison table
0
0,05
0,1
0,15
0,2
0,25
0,3
0,35
0,34
0,45
0,55
0,68
0,79
0,92
ro (%)
time (min)
FB
FS
LB


Fig.
6
.



The experiments for the Fast Server are conducted using performance of the server 2, 4
and 8 times greater than that of a single server from the other strategies (fig. 5). These
cases c
orrespond to having 2, 4 or 8 members in the cluster.


The comparison between JSQ, RND and LLD (fig. 4) gives the interesting resu
lt
that for greater ρ the RND method is faster than the other two. Anyway, the difference
from JSQ is not great, and both exh
ibit a better performance than LLD.



6

4. Conclusion

The presented model has some limitations due to the fact that it does not take into
consideration some details of a real system of that kind. Nevertheless, it gives some
general idea of the possible approa
ches and their relative performance. The analysis of
the different strategies for dispatching the incoming requests in a cluster of Web
S
ervers
shows that in most cases best performance is achieved when Fast Buffer strategy is used.
Anyway, as is evident f
rom the results, there are situations (for example low values for ρ
or small number of cluster members) when it is slightly outperformed by LB. Therefore,
it is possible a more flexible approach that combines different strategies to be used. The
strategies

may be dynamically changed in order to respond to changes in the
environment.


References


1.

G. Ciardo, A. Riska, E. Smirmi, EQUILOAD: a Load Balancing Policy for
Clustered Web Servers, Performance Evaluation, October 2001

2.

M. Conti, E. Gregori, W. Lapenna,
Quality of Service in Internet Web Services:
Issues and Solutions, HP Open View University Association 8
th

Annual
Workshop, June 24


27, 2001, Berlin, Germany

3.

M. Conti, E, Gregori, F. Panzieri, QoS


based Architectures for Geographically
Replicated Web S
ervers, Cluster Computing, April 2001, Vol 4, no. 2, pp. 109
-
120

4.

V. Ungureana, B. Melamed, P. Bradford, M. Katehakis, Class
-
Dependent
Assignment in Cluster
-
Based Servers, Proceedings of the 2004 ACM Symposium
on Applied computing, Nicosia, Cypress

5.

V. Carde
llini, E. Casalicchio, M. Colaganni, P. Yu, The State of the Art in
Locally Distributed Web
-
server Systems, June 2002, ACM Computing Surveys
(CSUR), Volume 34, Issue 2

6.

V. Pai, M. Aron, G. Banga, M. Svendsen, P. Druschel, W. Zwaenepoel, E.
Nahum, Locality
-
a
ware Request Distribution in Cluster


based Network Servers,
Proceedings of the 8
th

International Conference on Architectural support for
programming languages and operating systems, 1998

7.

Y. Amir, A. Peterson, D. Shaw, Seamlessly Selecting the Best Copy f
rom
Internet
-
Wide Replicated Web Servers, International Symposium on Distributed
Computing, 1998

8.

Paxson, V., and Floyd, S. Wide area tra
-
c: The Failure of Poisson

modelling.
IEEE/ACM Transactions on Networking 3, (June, 1995), pp.
226,

244

9.

Georgiev, V., Ge
tov, V. Simulation of Replicated Services in

Jini
,

In Proceedings
of Advanced Simulation Technol
ogies Conference 2002, San
Diego, USA.

10.

debian.fmi.uni
-
sofia.bg/webalizer

11.

www.cisco
.com/warp/public/cc/pd/cxsr/400/index.shtml

12.

www.nortelnetworks.com/products/01/alteon/webswitch/collateral/12002_020_ps
s5updated1202.pdf