Network


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

Hotspot


Dive into the research topics where Badri Sridharan is active.

Publication


Featured researches published by Badri Sridharan.


international conference on performance engineering | 2015

Capacity Planning and Headroom Analysis for Taming Database Replication Latency: Experiences with LinkedIn Internet Traffic

Zhenyun Zhuang; Haricharan Ramachandra; Cuong Tran; Subbu Subramaniam; Chavdar Botev; Chaoyue Xiong; Badri Sridharan

Internet companies like LinkedIn handle a large amount of incoming web traffic. Events generated in response to user input or actions are stored in a source database. These database events feature the typical characteristics of Big Data: high volume, high velocity and high variability. Database events are replicated to isolate source database and form a consistent view across data centers. Ensuring a low replication latency of database events is critical to business values. Given the inherent characteristics of Big Data, minimizing the replication latency is a challenging task. In this work we study the problem of taming the database replication latency by effective capacity planning. Based on our observations into LinkedIns production traffic and various playing parts, we develop a practical and effective model to answer a set of business-critical questions related to capacity planning. These questions include: future traffic rate forecasting, replication latency prediction, replication capacity determination, replication headroom determination and SLA determination.


international conference on cloud computing | 2014

Ensuring High-Performance of Mission-Critical Java Applications in Multi-tenant Cloud Platforms

Zhenyun Zhuang; Cuong Tran; Haricharan Ramachandra; Badri Sridharan

Cloud Computing promises a cost-effective and administration-effective solution to the traditional needs of computing resources. While bringing efficiency to the users thanks to the shared hardware and software, the multi-tenency characteristics also bring unique challenges to the backend cloud platforms. In particular, the JVM mechanisms used by Java applications, coupled with OS-level features, give rise to a set of problems that are not present in other deployment scenarios. In this work, we consider the problem of ensuring high-performance of mission-critical Java applications in multi-tenant cloud environments. Based on our experiences with Linkedins platforms, we identify and solve a set of problems caused by multi-tenancy. We share the lessons and knowledge we learned during the course.


2017 International Conference on Computing, Networking and Communications (ICNC) | 2017

Taming memory related performance pitfalls in linux Cgroups

Zhenyun Zhuang; Cuong Tran; Jerry Weng; Haricharan Ramachandra; Badri Sridharan

Linux kernel feature of Cgroups (Control Groups) is being increasingly adopted for running applications in multi-tenanted environments. Many projects (e.g., Docker) rely on cgroups to isolate resources such as CPU and memory. It is critical to ensure high performance for such deployments. At LinkedIn, we have been using Cgroups and investigated its performance. This work presents our findings about memory-related performance issues of cgroups during certain scenarios. These issues can significantly affect the performance of the applications running in cgroups. Specifically, (1) memory is not reserved for cgroups (as with virtual machines); (2) both anonymous memory and page cache are part of memory limit and the former can evict the latter; (3) OS can steal page cache from any cgroups; (4) OS can swap any cgroups. We provide a set of recommendations for addressing these issues.


international congress on big data | 2016

Effective Multi-stream Joining in Apache Samza Framework

Zhenyun Zhuang; Tao Feng; Yi Pan; Haricharan Ramachandra; Badri Sridharan

Increasing adoption of Big Data in business environments have driven the needs of stream joining in realtime fashion. Multi-stream joining is an important stream processing type in todays Internet companies, and it has been used to generate higher-quality data in business pipelines. Multi-stream joining can be performed in two models: (1) All-In-One (AIO) Joining and (2) Step-By-Step (SBS) Joining. Both models have advantages and disadvantages with regard to memory footprint, joining latency, deployment complexity, etc. In this work, we analyze the performance tradeoffs associated with these two models using Apache Samza.


international conference on cloud computing | 2016

Eliminating OS-Caused Large JVM Pauses for Latency-Sensitive Java-Based Cloud Platforms

Zhenyun Zhuang; Cuong Tran; Haricharan Ramachandra; Badri Sridharan

For PaaS-deployed (Platform as a Service) customer-facing applications (e.g., online gaming and online chatting), ensuring low latencies is not just a preferred feature, but a must-have feature. Given the popularity and powerfulness of Java platforms, a significant portion of todays PaaS platforms run Java. JVM (Java Virtual Machine) manages a heap space to hold application objects. The heap space can be frequently GC-ed (Garbage Collected), and applications can be occasionally stopped for long time during some GC and JVM activities. In this work, we investigated the JVM pause problem. We found out that there are some (and large) JVM STW pauses cannot be explained by application-level activities and JVM activities during GC, instead, they are caused by OS mechanisms. We successfully reproduced such problems and root-cause-ed the reasons. The findings can be used to enhance JVM implementation. We also proposed a set of solutions to mitigate and eliminate these large STW pauses. We share the knowledge and experiences in this writing.


international conference on big data | 2016

SmartCache: Application layer caching to improve performance of large-scale memory mapping

Zhenyun Zhuang; Haricharan Ramachandra; Badri Sridharan; Brandon Duncan; Kishore Gopalakrishna; Jean-Francois Im

Todays applications are increasingly using memory mapped files for managing large volumes of data in hoping to enjoy the performance benefits of memory mapping compared with traditional file IO. Memory mapped files uses the OS page caching mechanism to save expensive system call and copying. However, as we find out, a naive usage of memory mapped files will cause severe performance problem due to the ineffective usage of physical memory. We propose a solution called SmartCache to address the performance issue. SmartCache maintains an application-layer caching space to more effectively use the physical memory. SmartCache can be implemented inside an application or as an independent library for applications to use.


computer software and applications conference | 2016

Designing SSD-Friendly Applications for Better Application Performance and Higher IO Efficiency

Zhenyun Zhuang; Sergiy Zhuk; Haricharan Ramachandra; Badri Sridharan

SSD (Solid State Drive) is being increasingly adopted to alleviate the IO performance bottlenecks of applications. Numerous measurement results have been published to showcase the performance improvement brought by SSD as compared to HDD (Hard Disk Drive). However, in most deployment scenarios, SSD is simply treated as a “faster HDD”. Hence its potential is not fully utilized. Though applications gain better performance when using SSD as the storage, the gains are mainly attributed to the higher IOPS and bandwidth of SSD. The naive adoption of SSD does not utilize SSD to its full potential. In other words, application performance improvements brought by SSD could be more significant if applications are designed to be SSD-friendly. In this work, we propose a set of 9 SSD-friendly design changes at application layer. Applying the design changes by applications can result in three types of benefits: (1) improved application performance; (2) increased SSD IO efficiency; and (3) longer SSD life.


Journal of Software | 2016

OS-Caused Large JVM Pauses: Investigations and Solutions

Zhenyun Zhuang; Cuong Tran; Haricharan Ramachandra; Badri Sridharan

For customer-facing Java applications (e.g., online gaming and online chatting), ensuring low latencies is not just a preferred feature, but a must-have feature. Given the popularity and powerfulness of Java, a significant portion of todays backend services are implemented in Java. JVM (Java Virtual Machine) manages a heap space to hold application objects. The heap space can be frequently GC-ed (Garbage Collected), and applications can be occasionally stopped by JVM GC pauses. As a result, ensuring low JVM GC pauses is critical for business applications that have latency SLA (Service Level Agreements). In our production system, we found out that there are some (and large) JVM pauses cannot be explained by application-level activities and JVM activities during GC; instead, they are caused by OS mechanisms. In this work, we investigate the large JVM pauses caused by OS. We characterize various such problems into two scenarios. For both scenarios, we successfully root-cause the reasons and propose solutions. The findings can be used to mitigate the long JVM pauses and enhance JVM implementations. We share the knowledge and experiences in this writing.


international conference on advanced cloud and big data | 2016

Justifying SSD Storage in Enterprise Cloud Environments

Zhenyun Zhuang; Sergiy Zhuk; Haricharan Ramachandra; Badri Sridharan


Archive | 2016

Application layer management memory high-speed cache

Cuong Tran; Badri Sridharan; Haricharan Ramachandra; Zhenyun Zhuang

Collaboration


Dive into the Badri Sridharan's collaboration.

Researchain Logo
Decentralizing Knowledge