High Performance Web Services System: A Distributed Object Approach Using Replication And Load Balancing Policies
Loading...
Date
2003-02
Authors
Gan, Keng Hoon
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
The web paradigm has evolved from publishing information to providing serviceoriented
applications. Present performance solutions that are used to address bottlenecks when
accessing web sites or web services include web server replication, HTTP requests distribution,
DNS or IP redirectors and so forth. These solutions (duplicating more entry points to a server or
a page) address the overall performance of web server or web page but not emphasizing on the
contents of these entities, thus· only suitable for improving performance when accessing static
web page and simple dynamic script processing. Web contents that consist application
components used for deploying web services (resource consuming in terms of memory and
processing power) need to be addressed according to their resource consumption requirements
as bottlenecks at these services cannot be fully addressed by just creating more entry points for
the entire web server or web page that link to the service.
This thesis adopts the distributed object approach using Common Object Request
Broker Architecture (CORBA), where each web service can have multiple distributed service
replicas on different nodes to enable workload distribution among them. This approach
complements current performance solution by providing solution at the application layer of web
services where replication and load balancing policies are designed based on web services
characteristics. The combination of both policies allows:
\) Dynamic replication based on demand for a service.
2) Distribution of requests to service replicas at the allocated nodes.
Replication policy defines three criteria (i.e. service queue, service response time and
service idleness) to adjust the number of service replicas dynamically. A service replica will be
added if the threshold for service queue or service response time is satisfied and removed if the
threshold for service idleness is satisfied. Selective algorithm is used to choose a node to place a
new replica. Services can have different priorities (i.e. configuration of service priority value)
and nodes allocation (i.e. configuration of minimum and maximum replicas). Load balancing
policy ensures that request for a service will be accomplished in minimum time by assigning it
to the service replica that is located at the node with the most available system capacity by using
load indices such as CPU utilization percentage and CPU threads.
We demonstrate the applicability of our replication and load balancing policies by
incorporating them into the design of our performance architecture for web services, the High
Performance Web Services System (HPWSS). Experiments are carried out to evaluate the
efficacy of implemented HPWSS in i) system's policies and scalability, ii) adaptability for
multiple web services, and ii·i) dynamic replication mechanism. Our result demonstrates
improvement of average response time for serving generated requests ·in the evaluation on
system's policies. The result also shows that dynamic replication mechanism in HPWSS is able
to scale the number of web service replicas to provide a better average response time according
to the number of nodes used. HPWSS is adaptable for multiple services as improvement in
average response time is achieved for each tested service respectively. In the evaluation for
dynamic replication mechanism, we found that replication based on demand (less replica when
less requests) has successfully minimized the overhead of considering all nodes when assigning
a request.
Hence, our proposed distributed object approach using the combination of replication
and load balancing policies is able to improve the performance of web services and thus can be
used to complement existing performance solutions.
Description
Keywords
The web paradigm has evolved from publishing information , to providing serviceoriented applications