Font Size: a A A

Cache aware load balancing for scaling of Multi-Tier Architectures

Posted on:2012-09-10Degree:M.ScType:Thesis
University:McGill University (Canada)Candidate:Tickoo, Neeraj SantoshFull Text:PDF
GTID:2468390011968423Subject:Computer Science
Abstract/Summary:
To keep pace with the increasing user base and resulting processing requirements, enterprise and e-commerce applications need constant innovation in their application design and system architecture. Scalability and availability are the basic principles that must be adhered to by the businesses if they want to retain and expand their customer base. The most popular design which provides for both availability and scalability is when the application tier is replicated. In it, all the application servers share a single database, and to prevent the database from becoming the bottleneck in a high volume scenario, caching layers are deployed in each application server. By serving requests from the local cache instead of going to the database, response times are reduced and the load at the database is kept low. Thus, caching is a critical component of such architectures. In this thesis, we focus on object caches at the application tier, which cache Java EE entities. Our target applications are e-commerce applications which are database driven and are resource intensive.;In this thesis we design a cache aware load balancing solution which makes effective usage of the caching layer. This results in a more scalable application tier of a multi-tier architecture. Most of the load balancing solutions present in literature are cache agnostic when making the dispatching decision. Example solutions like round-robin cause duplication of the same cache content across all the application servers. In contrast, we present a cache aware load balancing algorithm, which make best possible effort to prevent the duplication of cached entries across the different caches in the cluster, enabling us to make a more efficient usage of cache space available to us. This in turn, results in less cache evictions. We also extend our cache aware load balancing algorithm to take into account the dynamic nature of the application server cluster where the nodes can come up and shutdown as the system is running. The evaluation of our implementation shows improvements in response time and throughput of a well known e-commerce benchmark compared to existing strategies.
Keywords/Search Tags:Cache aware load balancing, Application, E-commerce, Tier
Related items