Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Gokul Soundararajan is active.

Publication


Featured researches published by Gokul Soundararajan.


international conference on autonomic computing | 2006

Autonomic Provisioning of Backend Databases in Dynamic Content Web Servers

Jin Chen; Gokul Soundararajan; Cristiana Amza

In autonomic provisioning, a resource manager allocates resources to an application, on-demand, e.g., during load spikes. Modelling-based approaches have proved very successful for provisioning the web and application server tiers in dynamic content servers. On the other hand, accurately modelling the behavior of the back-end database server tier is a daunting task. Hence, automated provisioning of database replicas has received comparatively less attention. This paper introduces a novel pro-active scheme based on the classic K-nearest-neighbors (KNN) machine learning approach for adding database replicas to application allocations in dynamic content web server clusters. Our KNN algorithm uses lightweight monitoring of essential system and application metrics in order to decide how many databases it should allocate to a given workload. Our pro-active algorithm also incorporates awareness of system stabilization periods after adaptation in order to improve prediction accuracy and avoid system oscillations. We compare this pro-active self-configuring scheme for scaling the database tier with a reactive scheme. Our experiments using the industry-standard TPC-W e-commerce benchmark demonstrate that the pro-active scheme is effective in reducing both the frequency and peak level of SLA violations compared to the reactive scheme. Furthermore, by augmenting the pro-active approach with awareness and tracking of system stabilization periods induced by adaptation in our replicated system, we effectively avoid oscillations in resource allocation.


european conference on computer systems | 2006

Database replication policies for dynamic content applications

Gokul Soundararajan; Cristiana Amza; Ashvin Goel

The database tier of dynamic content servers at large Internet sites is typically hosted on centralized and expensive hardware. Recently, research prototypes have proposed using database replication on commodity clusters as a more economical scaling solution. In this paper, we propose using database replication to support multiple applications on a shared cluster. Our system dynamically allocates replicas to applications in order to maintain application-level performance in response to either peak loads or failure conditions. This approach allows unifying load and fault management functionality. The main challenge in the design of our system is the lime taken to add database replicas. We present replica allocation policies that take this time delay into account and also design an efficient replica addition method that has minimal impact on other applications.We evaluate our dynamic replication system on a commodity cluster with two standard benchmarks: the TPC-W e-commerce benchmark and the RUBIS auction benchmark. Our evaluation shows that dynamic replication requires fewer resources than static partitioning or full overlap replication policies and provides over 90% latency compliance to each application under a range of load and failure scenarios.


international conference on autonomic computing | 2007

Adaptive Learning of Metric Correlations for Temperature-Aware Database Provisioning

Saeed Ghanbari; Gokul Soundararajan; Jin Chen; Cristiana Amza

This paper introduces a transparent self-configuring architecture for automatic scaling with temperature awareness in the database tier of a dynamic content Web server. We use a unified approach to achieving the joint objectives of performance, efficient resource usage and avoiding temperature hot-spots in a replicated database cluster. The key novelty in our approach is a lightweight on-line learning method for fast adaptations to bottleneck situations. Our approach is based on deriving a lightweight performance model of the replicated database cluster on the fly. The system trains its own model based on perceived correlations between various system and application metrics and the query latency for the application. The model adjusts itself dynamically to changes in the application workload mix. We use our performance model for query latency pre diction and determining the number of database replicas necessary to meet the incoming load. We adapt by adding the necessary replicas, pro-actively in anticipation of a bottleneck situation and we remove them automatically in underload. Finally, the system adjusts its query scheduling algorithm dynamically in order to avoid temperature hot- spots within the replicated database cluster. We investigate our transparent database provisioning mechanism in the database tier using the TPC-W industry- standard e-commerce benchmark. We demonstrate that our technique provides quality of service in terms of both performance and avoiding hot-spot machines under different load scenarios. We further show that our method is robust to dynamic changes in the workload mix of the application.


international conference on supercomputing | 2005

Transparent caching with strong consistency in dynamic content web sites

Cristiana Amza; Gokul Soundararajan; Emmanuel Cecchet

We consider a cluster architecture in which dynamic content is generated by a database back-end and a collection of Web and application server front-ends. We study the effect of transparent query caching on the performance of such a cluster. Transparency requires that cached entries be invalidated as a result of writes. We start with a coarse-grain table-level automatic invalidation cache. Based on observed workload characteristics, we enhance the cache with the necessary dependency tracking and invalidations at the finer granularity of columns. Finally we reduce the miss penalty of invalidations through full and partial coverage of query results.In terms of system design, a query cache may be located at the database back-end, on dedicated machines, on the front-ends, or on a combination thereof. This paper evaluates the tradeoffs of the different cache designs and the cache location using the TPC-W benchmark.Our experiments show that our transparent query cache improves performance very substantially by up to a factor of 1.5 in throughput and 4.2 in response time overall compared to the baseline table-based invalidation scheme. An important contributor to this end result, our optimization for reducing the miss penalty through full and partial coverage detection of query results from the cache improves response time by up to a factor of 2.9 compared to a cache with fine-grained column-based invalidations alone. Thus, the benefits of the higher hit ratio in our optimizations outweigh the costs of additional processing. The results are less clear-cut in terms of where to locate the cache. Performance differences when varying the cache location and the number of caches are small.


very large data bases | 2008

Dynamic partitioning of the cache hierarchy in shared data centers

Gokul Soundararajan; Jin Chen; Mohamed A. Sharaf; Cristiana Amza

Due to the imperative need to reduce the management costs of large data centers, operators multiplex several concurrent database applications on a server farm connected to shared network attached storage. Determining and enforcing per-application resource quotas in the resulting cache hierarchy, on the fly, poses a complex resource allocation problem spanning the database server and the storage server tiers. This problem is further complicated by the need to provide strict Quality of Service (QoS) guarantees to hosted applications. In this paper, we design and implement a novel coordinated partitioning technique of the database buffer pool and storage cache between applications for any given cache replacement policy and per-application access pattern. We use statistical regression to dynamically determine the mapping between cache quota settings and the resulting per-application QoS. A resource controller embedded within the database engine actuates the partitioning of the two-level cache, converging towards the configuration with maximum application utility, expressed as the service provider revenue in that configuration, based on a set of latency sample points. Our experimental evaluation, using the MySQL database engine, a server farm with consolidated storage, and two e-commerce benchmarks, shows the effectiveness of our technique in enforcing application QoS, as well as maximizing the revenue of the service provider in shared server farms.


acm ifip usenix international conference on middleware | 2008

Towards end-to-end quality of service: controlling I/O interference in shared storage servers

Gokul Soundararajan; Cristiana Amza

Due to the imperative need to reduce the costs of management, power and cooling in large data centers, operators multiplex several concurrent applications on each physical server of a server farm connected to a shared network attached storage. Determining and enforcing per-application resource quotas on the fly in this context poses a complex resource allocation and control problem spanning many levels including the CPU, memory and storage resources within each physical server and/or across the server farm. This problem is further complicated by the need to provide end-to-end Quality of Service (QoS) guarantees to hosted applications. In this paper, we introduce a novel approach towards controlling application interference for resources in shared server farms. Specifically, we design and implement a minimally intrusive method for passing application-level QoS requirements through the software stack. We leverage high-level per-application requirements for controlling I/O interference between multiple database applications, by QoS-aware dynamic resource partitioning at the storage server. Our experimental evaluation, using the MySQL database engine and OLTP benchmarks, shows the effectiveness of our technique in enforcing high-level application Service Level Objectives (SLOs) in shared server farms.


International Workshop on Data Engineering Issues in E-Commerce | 2005

Using semantic information to improve transparent query caching for dynamic content Web sites

Gokul Soundararajan; Cristiana Amza

In this paper, we study the use of semantic information to improve performance of transparent query caching for dynamic content Web sites. We observe that in dynamic content Web applications, the most recently inserted items are also the ones that register the highest activity. For example, the newest books in a bookstore are also the ones more frequently browsed and bought. Hence, assuming repeatable queries, a particular read-only query response is likely to incrementally change as new rows are added to the queries tables. We avoid the cached query response invalidations that would otherwise occur due to the addition of new items by keeping the newly inserted rows in small temporary tables. This allows us to reuse cached responses for partial coverage of query results. A query result is then obtained from merging an existing cached response with one or more lightweight residual query results that involve the temporary tables. In addition, we enhance our cache with other partial coverage techniques based on per-query semantic information such as sub-range queries for all queries that match a specific template. We implement semantic query caching on top of an existing template-based cache with column-based invalidations. Our evaluation is based on a dynamic content site using the Apache Web server with Tomcat Java servlets and the MySQL relational database. We use the industry-standard TPC-W e-commerce benchmark as our benchmark application. We conclude that augmenting transparent query caching with the ability to retrieve partial results from the cache improves performance substantially in terms of latency and to a lesser extent in terms of hit-rate and throughput.


ACM Transactions on Autonomous and Adaptive Systems | 2006

Reactive provisioning of backend databases in shared dynamic content server clusters

Gokul Soundararajan; Cristiana Amza

This paper introduces a self-configuring architecture for on-demand resource allocation to applications in a shared database cluster. We use a unified approach to load and fault management based on data replication and reactive replica provisioning. While data replication provides scaling and high availability, reactive provisioning dynamically allocates additional replicas to applications in response to peak loads or failure conditions, thus providing per application performance. We design an efficient method for data migration when joining a new replica to a running application that allows for the quick addition of replicas with minimal disruption of transaction processing. Furthermore, by augmenting the adaptation feedback loop with awareness of the delay introduced by the data migration process in our replicated system, we avoid oscillations in resource allocation.We investigate our transparent database provisioning mechanisms in the context of multitier dynamic content Web servers. We dynamically expand/contract the respective allocations within the database tier for two different applications, the TPC-W e-commerce benchmark and the RUBIS online auction benchmark. We demonstrate that our techniques provide quality of service under different load and failure scenarios.


international conference on data engineering | 2007

Outlier Detection for Fine-grained Load Balancing in Database Clusters

Jin Chen; Gokul Soundararajan; Madalin Mihailescu; Cristiana Amza

Recent industry trends towards reducing the costs of ownership in large data centers emphasize the need for database system techniques for both automatic performance tuning and efficient resource usage. The goal is to host several database applications on a shared server farm, including scheduling multiple applications on the same physical server or even within a single database engine, while meeting each applications service level agreement. Automatic provisioning of database servers to applications and virtualization techniques, such as, live virtual machine migration have been proposed as useful tools to address this problem. In this paper we argue that by allocating entire server-boxes and migrating entire application stacks in cases of server overload, these solutions are too coarse-grained for many overload situations. Hence, they may result in resource usage inefficiency, performance penalties, or both. We introduce an outlier detection algorithm which zooms in to the fine-grained query contexts which are most affected by an environment change and/or where a perceived overload problem is likely to originate from. We show that isolating these query contexts through either memory quota enforcements or fine-grained load balancing across different database replicas of their respective applications allows us to alleviate resource interference in many cases of overload.


Operating Systems Review | 2012

Responding rapidly to service level violations using virtual appliances

Lakshmi N. Bairavasundaram; Gokul Soundararajan; Vipul Mathur; Kaladhar Voruganti; Kiran Srinivasan

One of the key goals in the data center today is providing storage services with service-level objectives (SLOs) for performance metrics such as latency and throughput. Meeting such SLOs is challenging due to the dynamism observed in these environments. In this position paper, we propose dynamic instantiation of virtual appliances, that is, virtual machines with storage functionality, as a mechanism to meet storage SLOs efficiently. In order for dynamic instantiation to be realistic for rapidlychanging environments, it should be automated. Therefore, an important goal of this paper is to show that such automation is feasible. We do so through a caching case study. Specifically, we build the automation framework for dynamically instantiating virtual caching appliances. This framework identifies sets of interfering workloads that can benefit from caching, determines the cache-size requirements of workloads, non-disruptively migrates the application to use the cache, and warms the cache to quickly return to acceptable service levels. We show through an experiment that this approach addresses SLO violations while using resources efficiently.

Collaboration


Dive into the Gokul Soundararajan's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jin Chen

University of Toronto

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge