Network


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

Hotspot


Dive into the research topics where Vijay Chidambaram is active.

Publication


Featured researches published by Vijay Chidambaram.


symposium on operating systems principles | 2013

Optimistic crash consistency

Vijay Chidambaram; Thanumalayan Sankaranarayana Pillai; Andrea C. Arpaci-Dusseau; Remzi H. Arpaci-Dusseau

We introduce optimistic crash consistency, a new approach to crash consistency in journaling file systems. Using an array of novel techniques, we demonstrate how to build an optimistic commit protocol that correctly recovers from crashes and delivers high performance. We implement this optimistic approach within a Linux ext4 variant which we call OptFS. We introduce two new file-system primitives, osync() and dsync(), that decouple ordering of writes from their durability. We show through experiments that OptFS improves performance for many workloads, sometimes by an order of magnitude; we confirm its correctness through a series of robustness tests, showing it recovers to a consistent state after crashes. Finally, we show that osync() and dsync() are useful in atomic file system and database update scenarios, both improving performance and meeting application-level consistency demands.


dependable systems and networks | 2011

Coerced Cache Eviction and discreet mode journaling: Dealing with misbehaving disks

Abhishek Rajimwale; Vijay Chidambaram; Deepak Ramamurthi; Andrea C. Arpaci-Dusseau; Remzi H. Arpaci-Dusseau

We present Coerced Cache Eviction (CCE), a new method to force writes to disk in the presence of a disk cache that does not properly obey write-cache configuration or flush requests. We demonstrate the utility of CCE by building a new journaling mode within the Linux ext3 file system. When mounted in this discreet mode, ext3 uses CCEs to ensure that writes are properly ordered and thus maintains file system integrity despite the presence of an improperly behaving disk. We show that discreet mode journaling operates with acceptable overheads for most workloads.


ACM Transactions on Storage | 2017

Application Crash Consistency and Performance with CCFS

Thanumalayan Sankaranarayana Pillai; Ramnatthan Alagappan; Lanyue Lu; Vijay Chidambaram; Andrea C. Arpaci-Dusseau; Remzi H. Arpaci-Dusseau

Recent research has shown that applications often incorrectly implement crash consistency. We present the Crash-Consistent File System (ccfs), a file system that improves the correctness of application-level crash consistency protocols while maintaining high performance. A key idea in ccfs is the abstraction of a stream. Within a stream, updates are committed in program order, improving correctness; across streams, there are no ordering restrictions, enabling scheduling flexibility and high performance. We empirically demonstrate that applications running atop ccfs achieve high levels of crash consistency. Further, we show that ccfs performance under standard file-system benchmarks is excellent, in the worst case on par with the highest performing modes of Linux ext4, and in some cases notably better. Overall, we demonstrate that both application correctness and high performance can be realized in a modern file system.


ACM Queue | 2015

Crash consistency

Thanumalayan Sankaranarayana Pillai; Vijay Chidambaram; Ramnatthan Alagappan; Samer Al-Kiswany; Andrea C. Arpaci-Dusseau; Remzi H. Arpaci-Dusseau

The reading and writing of data, one of the most fundamental aspects of any Von Neumann computer, is surprisingly subtle and full of nuance. For example, consider access to a shared memory in a system with multiple processors. While a simple and intuitive approach known as strong consistency is easiest for programmers to understand, many weaker models are in widespread use (e.g., x86 total store ordering); such approaches improve system performance, but at the cost of making reasoning about system behavior more complex and error-prone. Fortunately, a great deal of time and effort has gone into thinking about such memory models, and, as a result, most multiprocessor applications are not caught unaware.


symposium on operating systems principles | 2017

PebblesDB: Building Key-Value Stores using Fragmented Log-Structured Merge Trees

Pandian Raju; Rohan Kadekodi; Vijay Chidambaram; Ittai Abraham

Key-value stores such as LevelDB and RocksDB offer excellent write throughput, but suffer high write amplification. The write amplification problem is due to the Log-Structured Merge Trees data structure that underlies these key-value stores. To remedy this problem, this paper presents a novel data structure that is inspired by Skip Lists, termed Fragmented Log-Structured Merge Trees (FLSM). FLSM introduces the notion of guards to organize logs, and avoids rewriting data in the same level. We build PebblesDB, a high-performance key-value store, by modifying HyperLevelDB to use the FLSM data structure. We evaluate PebblesDB using micro-benchmarks and show that for write-intensive workloads, PebblesDB reduces write amplification by 2.4-3x compared to RocksDB, while increasing write throughput by 6.7x. We modify two widely-used NoSQL stores, MongoDB and HyperDex, to use PebblesDB as their underlying storage engine. Evaluating these applications using the YCSB benchmark shows that throughput is increased by 18-105% when using PebblesDB (compared to their default storage engines) while write IO is decreased by 35-55%.


asia pacific workshop on systems | 2017

The Dangers and Complexities of SQLite Benchmarking

Dhathri Purohith; Jayashree Mohan; Vijay Chidambaram

Benchmarking systems in a repeatable fashion is complex and error-prone. The systems community has repeatedly discussed the complexities of benchmarking and how to properly report benchmarking results. Using the example of SQLite, we examine the current state of benchmarking in industry and academia. We show that changing just one parameter in SQLite can change the performance by 11.8X, and that changing multiple parameters can lead up to a 28X difference in performance. We find that these configuration parameters are often not set or reported in academic research, leading to incomplete and misleading evaluations. Running different off-the-shelf SQLite benchmarking tools such as Mobibench and Androbench in their default configuration shows upto 50% difference in performance. We hope this paper incites discussion in the systems community and among SQLite developers. We hope that our detailed analysis will help application developers to choose optimal SQLite parameters to achieve better performance.


ACM Transactions on Storage | 2018

Protocol-Aware Recovery for Consensus-Based Distributed Storage

Ramnatthan Alagappan; Aishwarya Ganesan; Eric Lee; Aws Albarghouthi; Vijay Chidambaram; Andrea C. Arpaci-Dusseau; Remzi H. Arpaci-Dusseau

We introduce protocol-aware recovery (Par), a new approach that exploits protocol-specific knowledge to correctly recover from storage faults in distributed systems. We demonstrate the efficacy of Par through the design and implementation of <underline>c</underline>orruption-<underline>t</underline>olerant <underline>r</underline>ep<underline>l</underline>ication (Ctrl), a Par mechanism specific to replicated state machine (RSM) systems. We experimentally show that the Ctrl versions of two systems, LogCabin and ZooKeeper, safely recover from storage faults and provide high availability, while the unmodified versions can lose data or become unavailable. We also show that the Ctrl versions achieve this reliability with little performance overheads.


Proceedings of the 16th Workshop on Hot Topics in Operating Systems | 2017

From Crash Consistency to Transactions

Yige Hu; Youngjin Kwon; Vijay Chidambaram; Emmett Witchel

Modern applications use multiple storage abstractions such as the file system, key-value stores, and embedded databases such as SQLite. Maintaining consistency of data spread across multiple abstractions is complex and error-prone. Applications are forced to copy data unnecessarily and use long sequences of system calls to update state in a consistent manner. Not only does this create implementation complexity, it also introduces potential performance problems from redundant IO and fsync() calls, which fragment disk writes into small, random IOs. In this paper, we propose that the operating system should provide transactions across multiple storage abstractions; we can build such transactions with low development cost by taking advantage of a well-tested piece of software: the file-system journal. We present the design of our cross-abstraction transactions and some preliminary results, showing such transactions can increase performance by 31% in certain cases.


file and storage technologies | 2012

Consistency without ordering

Vijay Chidambaram; Tushar Sharma; Andrea C. Arpaci-Dusseau; Remzi H. Arpaci-Dusseau


human-robot interaction | 2012

Designing persuasive robots: how robots might persuade people using vocal and nonverbal cues

Vijay Chidambaram; Yueh-Hsuan Chiang; Bilge Mutlu

Collaboration


Dive into the Vijay Chidambaram's collaboration.

Top Co-Authors

Avatar

Remzi H. Arpaci-Dusseau

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar

Andrea C. Arpaci-Dusseau

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar

Ramnatthan Alagappan

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Aws Albarghouthi

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar

Pandian Raju

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Aishwarya Ganesan

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar

Dhathri Purohith

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Emmett Witchel

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Eric Lee

University of Texas at Austin

View shared research outputs
Researchain Logo
Decentralizing Knowledge