Mahesh Balakrishnan 0001

dblp:b/MBalakrishnan · DBLP profile ↗
← Back
44ranked-venue papers
15as first author
4since 2021 · last 2025
0009-0000-8201-2264ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 20 · 3 first-authorComputer networks · 9 · 5 first-authorSoftware engineering, systems software and programming languages · 8 · 3 first-author · 1 since 2021Databases, data management, data science and information retrieval · 7 · 3 since 2021Security and privacy · 2 · 1 first-author
YearPublicationVenuePosition
2025 Marlin: Efficient Coordination for Autoscaling Cloud DBMS
abstract
Modern cloud databases are shifting from converged architectures to storage disaggregation, enabling independent scaling and billing of compute and storage. However, cloud databases still rely on external, converged coordination services (e.g., ZooKeeper) for their control planes. These services are effectively lightweight databases optimized for low-volume metadata. As the control plane scales in the cloud, this approach faces similar limitations as converged databases did before storage disaggregation: scalability bottlenecks, low cost efficiency, and increased operational burden. We propose to disaggregate the cluster coordination to achieve the same benefits that storage disaggregation brought to modern cloud DBMSs. We present Marlin, a cloud-native coordination mechanism that fully embraces storage disaggregation. Marlin eliminates the need for external coordination services by consolidating coordination functionality into the existing cloud-native database it manages. To achieve failover without an external coordination service, Marlin allows cross-node modifications on coordination states. To ensure data consistency, Marlin employs transactions to manage both coordination and application states and introduces MarlinCommit, an optimized commit protocol that ensures strong transactional guarantees even under cross-node modifications. Our evaluations demonstrate that Marlin improves cost efficiency by up to 4.4x and reduces reconfiguration duration by up to 4.9x compared to converged coordination solutions.
Guanzhou Hu, Mahesh Balakrishnan 0001, Xiangyao Yu
Proc. ACM Manag. Data3
2022 TAOBench: An End-to-End Benchmark for Social Networking Workloads
abstract
The continued emergence of large social network applications has introduced a scale of data and query volume that challenges the limits of existing data stores. However, few benchmarks accurately simulate these request patterns, leaving researchers in short supply of tools to evaluate and improve upon these systems. In this paper, we present a new benchmark, TAOBench, that captures the social graph workload at Meta. We open source workload configurations along with a benchmark that leverages these request features to both accurately model production workloads and generate emergent application behavior. We ensure the integrity of TAOBench's workloads by validating them against their production counterparts. We also describe several benchmark use cases at Meta and report results for five popular distributed database systems to demonstrate the benefits of using TAOBench to evaluate system tradeoffs as well as identify and address performance issues. Our benchmark fills a gap in the available tools and data that researchers and developers have to inform system design decisions.
Audrey Cheng, Aaron N. Kabcenell, Shilpa Lawande, Hamza Qadeer, Harrison Tin, Ryan Zhao, Peter Bailis, Mahesh Balakrishnan 0001, Nathan Bronson, Natacha Crooks, Ion Stoica
Proc. VLDB Endow.10
2022 Cornus: Atomic Commit for a Cloud DBMS with Storage Disaggregation
abstract
Two-phase commit (2PC) is widely used in distributed databases to ensure atomicity of distributed transactions. Conventional 2PC was originally designed for the shared-nothing architecture and has two limitations: long latency due to two eager log writes on the critical path, and blocking of progress when a coordinator fails. Modern cloud-native databases are moving to a storage disaggregation architecture where storage is a shared highly-available service. Our key observation is that disaggregated storage enables protocol innovations that can address both the long-latency and blocking problems. We develop Cornus, an optimized 2PC protocol to achieve this goal. The only extra functionality Cornus requires is an atomic compare-and-swap capability in the storage layer, which many existing storage services already support. We present Cornus in detail and show how it addresses the two limitations. We also deploy it on real storage services including Azure Blob Storage and Redis. Empirical evaluations show that Cornus can achieve up to 1.9X latency reduction over conventional 2PC.
Zhihan Guo, Xinyu Zeng, Wuh-Chwen Hwang, Ziwei Ren, Xiangyao Yu, Mahesh Balakrishnan 0001, Philip A. Bernstein
Proc. VLDB Endow.7
2021 Log-structured Protocols in Delos
abstract
Developers have access to a wide range of storage APIs and functionality in large-scale systems, such as relational databases, key-value stores, and namespaces. However, this diversity comes at a cost: each API is implemented by a complex distributed system that is difficult to develop and operate. Delos amortizes this cost by enabling different APIs on a shared codebase and operational platform. The primary innovation in Delos is a log-structured protocol: a fine-grained replicated state machine executing above a shared log that can be layered into reusable protocol stacks under different databases. We built and deployed two production databases using Delos at Facebook, creating nine different log-structured protocols in the process. We show via experiments and production data that log-structured protocols impose low overhead, while allowing optimizations that can improve latency by up to 100X (e.g., via leasing) and throughput by up to 2X (e.g., via batching).
Mahesh Balakrishnan 0001, Ahmed Jafri, Suyog Mapara, David Geraghty, Jason Flinn, Vidhya Venkat, Ivailo Nedelchev, Santosh Ghosh, Mihir Dharamshi, Jingming Liu, Filip Gruszczynski, Rounak Tibrewal, Ali Zaveri, Rajeev Nagar, Ahmed Yossef, Francois Richard, Yee Jiun Song
SOSP1
2020 Check before You Change: Preventing Correlated Failures in Service Updates
Ennan Zhai, Ang Chen 0001, Ruzica Piskac, Mahesh Balakrishnan 0001, Bingchuan Tian, Haoliang Zhang
NSDI4
2020 Virtual Consensus in Delos
Mahesh Balakrishnan 0001, Jason Flinn, Mihir Dharamshi, Ahmed Jafri, Santosh Ghosh, Hazem Hassan, Aaryaman Sagar, Rhed Shi, Jingming Liu, Filip Gruszczynski, Xianan Zhang, Huy Hoang, Ahmed Yossef, Francois Richard, Yee Jiun Song
OSDI1
2019 WormSpace: A Modular Foundation for Simple, Verifiable Distributed Systems
abstract
We propose the Write-Once Register (WOR) as an abstraction for building and verifying distributed systems. A WOR exposes a simple, data-centric API: clients can capture, write, and read it. Applications can use a sequence or a set of WORs to obtain properties such as durability, concurrency control, and failure atomicity. By hiding the logic for distributed coordination underneath a data-centric API, the WOR abstraction enables easy, incremental, and extensible implementation and verification of applications built above it. We present the design, implementation, and verification of a system called WormSpace that provides developers with an address space of WORs, implementing each WOR via a Paxos instance. We describe three applications built over WormSpace: a flexible, efficient Multi-Paxos implementation; a shared log implementation with lower append latency than the state-of-the-art; and a fault-tolerant transaction coordinator that uses an optimal number of round-trips. We show that these applications are simple, easy to verify, and match the performance of unverified monolithic implementations. We use a modular layered verification approach to link the proofs for WormSpace, its applications, and a verified operating system to produce the first verified distributed system stack from the application to the operating system.
Ji-Yong Shin, Jieung Kim, Wolf Honoré, Hernán Vanzetto, Srihari Radhakrishnan, Mahesh Balakrishnan 0001, Zhong Shao 0001
SoCC6
2018 The FuzzyLog: A Partially Ordered Shared Log
Joshua Lockerman, Jose M. Faleiro, Juno Kim, Soham Sankaran, Daniel J. Abadi, James Aspnes, Siddhartha Sen 0001, Mahesh Balakrishnan 0001
OSDI8
2017 Black-box Concurrent Data Structures for NUMA Architectures
abstract
High-performance servers are Non-Uniform Memory Access (NUMA) machines. To fully leverage these machines, programmers need efficient concurrent data structures that are aware of the NUMA performance artifacts. We propose Node Replication (NR), a black-box approach to obtaining such data structures. NR takes an arbitrary sequential data structure and automatically transforms it into a NUMA-aware concurrent data structure satisfying linearizability. Using NR requires no expertise in concurrent data structure design, and the result is free of concurrency bugs. NR draws ideas from two disciplines: shared-memory algorithms and distributed systems. Briefly, NR implements a NUMA-aware shared log, and then uses the log to replicate data structures consistently across NUMA nodes. NR is best suited for contended data structures, where it can outperform lock-free algorithms by 3.1x, and lock-based solutions by 30x. To show the benefits of NR to a real application, we apply NR to the data structures of Redis, an in-memory storage system. The result outperforms other methods by up to 14x. The cost of NR is additional memory for its log and replicas.
Irina Calciu, Siddhartha Sen 0001, Mahesh Balakrishnan 0001, Marcos K. Aguilera
ASPLOS3
2017 Brief Announcement: Black-Box Concurrent Data Structures for NUMA Architectures
abstract
Recent work introduced a method to automatically produce concurrent data structures for NUMA architectures. We present a summary of that work.
Irina Calciu, Siddhartha Sen 0001, Mahesh Balakrishnan 0001, Marcos K. Aguilera
DISC3
2017 Isotope: ACID Transactions for Block Storage
abstract
Existing storage stacks are top heavy and expect little from block storage. As a result, new high-level storage abstractions—and new designs for existing abstractions—are difficult to realize, requiring developers to implement from scratch complex functionality such as failure atomicity and fine-grained concurrency control. In this article, we argue that pushing transactional isolation into the block store (in addition to atomicity and durability) is both viable and broadly useful, resulting in simpler high-level storage systems that provide strong semantics without sacrificing performance. We present Isotope, a new block store that supports ACID transactions over block reads and writes. Internally, Isotope uses a new multiversion concurrency control protocol that exploits fine-grained, subblock parallelism in workloads and offers both strict serializability and snapshot isolation guarantees. We implemented several high-level storage systems over Isotope, including two key-value stores that implement the LevelDB API over a hash table and B-tree, respectively, and a POSIX file system. We show that Isotope’s block-level transactions enable systems that are simple (100s of lines of code), robust (i.e., providing ACID guarantees), and fast (e.g., 415MB/s for random file writes). We also show that these systems can be composed using Isotope, providing applications with transactions across different high-level constructs such as files, directories, and key-value pairs.
Ji-Yong Shin, Mahesh Balakrishnan 0001, Tudor Marian, Hakim Weatherspoon
ACM Trans. Storage2
2016 Towards Weakly Consistent Local Storage Systems
abstract
Heterogeneity is a fact of life for modern storage servers. For example, a server may spread terabytes of data across many different storage media, ranging from magnetic disks, DRAM, NAND-based solid state drives (SSDs), as well as hybrid drives that package various combinations of these technologies. It follows that access latencies to data can vary hugely depending on which media the data resides on. At the same time, modern storage systems naturally retain older versions of data due to the prevalence of log-structured designs and caches in software and hardware layers. In a sense, a contemporary storage system is very similar to a small-scale distributed system, opening the door to consistency/performance trade-offs. In this paper, we propose a class of local storage systems called StaleStores that support relaxed consistency, returning stale data for better performance. We describe several examples of StaleStores, and show via emulations that serving stale data can improve access latency by between 35% and 20X. We describe a particular StaleStore called Yogurt, a weakly consistent local block storage system. Depending on the application's consistency requirements (e.g. bounded staleness, mono-tonic reads, read-my-writes, etc.), Yogurt queries the access costs for different versions of data within tolerable staleness bounds and returns the fastest version. We show that a distributed key-value store running on top of Yogurt obtains a 6X speed-up for access latency by trading off consistency and performance within individual storage servers.
Ji-Yong Shin, Mahesh Balakrishnan 0001, Tudor Marian, Jakub Szefer, Hakim Weatherspoon
SoCC2
2016 Isotope: Transactional Isolation for Block Storage
Ji-Yong Shin, Mahesh Balakrishnan 0001, Tudor Marian, Hakim Weatherspoon
FAST2
2016 Design and implementation of open-source SATA III core for Stratix V FPGAs
abstract
SATA is the de-facto standard computer interface that connects a host, typically a computing device, to a persistent storage device, such as a hard drive or solid-state drive. In order for FPGA-based designs to be able to leverage the variety of persistent storage devices, a SATA core is needed. Over time, the SATA standard has been revised to provide greater bandwidth, with SATA III being the newest version of the standard. In this paper, we are the first to present a SATA III core designed for Altera Stratix V FPGAs. Our implementation is written using Verilog, and tested using an industry-standard SATA protocol analyzer. We evaluate the performance of our SATA core by measuring the throughput of random and sequential read and write operations using various hard drives and solid-state drives. In addition, we compare the complexity of our SATA III core implementation with those of the older SATA I and II open-source implementations, and show that SATA III is still feasible, using only about 11% of Stratix V FPGA resources.
Sumedh Guha, Wen Wang 0007, Shafeeq Ibraheem, Mahesh Balakrishnan 0001, Jakub Szefer
FPT4
2016 Enabling Space Elasticity in Storage Systems
abstract
Storage systems are designed to never lose data. However, modern applications increasingly use local storage to improve performance by storing soft state such as cached, prefetched or precomputed results. Required is elastic storage, where cloud providers can alter the storage footprint of applications by removing and regenerating soft state based on resource availability and access patterns. We propose a new abstraction called a motif that enables storage elasticity by allowing applications to describe how soft state can be regenerated. Carillon is a system that uses motifs to dynamically change the storage space used by applications. Carillon is implemented as a runtime and a collection of shim layers that interpose between applications and specific storage APIs; we describe shims for a filesystem (Carillon-FS) and a key-value store (Carillon-KV). We show that Carillon-FS allows us to dynamically alter the storage footprint of a VM, while Carillon-KV enables a graph database that accelerates performance based on available storage space.
Helgi Sigurbjarnarson, Pétur Orri Ragnarsson, Juncheng Yang, Ymir Vigfusson, Mahesh Balakrishnan 0001
SYSTOR5
2013 Gecko: contention-oblivious disk arrays for cloud storage
Ji-Yong Shin, Mahesh Balakrishnan 0001, Tudor Marian, Hakim Weatherspoon
FAST2
2013 Tango: distributed data structures over a shared log
abstract
Distributed systems are easier to build than ever with the emergence of new, data-centric abstractions for storing and computing over massive datasets. However, similar abstractions do not exist for storing and accessing meta-data. To fill this gap, Tango provides developers with the abstraction of a replicated, in-memory data structure (such as a map or a tree) backed by a shared log. Tango objects are easy to build and use, replicating state via simple append and read operations on the shared log instead of complex distributed protocols; in the process, they obtain properties such as linearizability, persistence and high availability from the shared log. Tango also leverages the shared log to enable fast transactions across different objects, allowing applications to partition state across machines and scale to the limits of the underlying log without sacrificing consistency.
Mahesh Balakrishnan 0001, Dahlia Malkhi, Ted Wobber, Ming Wu 0007, Vijayan Prabhakaran, Michael Wei, John D. Davis, Sriram Rao, Tao Zou 0002, Aviad Zuck
SOSP1
2013 Consistency-based service level agreements for cloud storage
abstract
Choosing a cloud storage system and specific operations for reading and writing data requires developers to make decisions that trade off consistency for availability and performance. Applications may be locked into a choice that is not ideal for all clients and changing conditions. Pileus is a replicated key-value store that allows applications to declare their consistency and latency priorities via consistency-based service level agreements (SLAs). It dynamically selects which servers to access in order to deliver the best service given the current configuration and system conditions. In application-specific SLAs, developers can request both strong and eventual consistency as well as intermediate guarantees such as read-my-writes. Evaluations running on a worldwide test bed with geo-replicated data show that the system adapts to varying client-server latencies to provide service that matches or exceeds the best static consistency choice and server selection scheme.
Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan 0001, Marcos K. Aguilera, Hussam Abu-Libdeh
SOSP4
2013 Beyond block I/O: implementing a distributed shared log in hardware
abstract
The basic block I/O interface used for interacting with storage devices hasn't changed much in 30 years. With the advent of very fast I/O devices based on solid-state memory, it becomes increasingly attractive to make many devices directly and concurrently available to many clients. However, when multiple clients share media at fine grain, retaining data consistency is problematic: SCSI, IDE, and their descendants don't offer much help. We propose an interface to networked storage that reduces an existing software implementation of a distributed shared log to hardware. Our system achieves both scalable throughput and strong consistency, while obtaining significant benefits in cost and power over the software implementation.
Michael Wei, John D. Davis, Ted Wobber, Mahesh Balakrishnan 0001, Dahlia Malkhi
SYSTOR4
2013 CORFU: A distributed shared log
abstract
CORFU is a global log which clients can append-to and read-from over a network. Internally, CORFU is distributed over a cluster of machines in such a way that there is no single I/O bottleneck to either appends or reads. Data is fully replicated for fault tolerance, and a modest cluster of about 16--32 machines with SSD drives can sustain 1 million 4-KByte operations per second. The CORFU log enabled the construction of a variety of distributed applications that require strong consistency at high speeds, such as databases, transactional key-value stores, replicated state machines, and metadata services.
Mahesh Balakrishnan 0001, Dahlia Malkhi, John D. Davis, Vijayan Prabhakaran, Michael Wei, Ted Wobber
ACM Trans. Comput. Syst.1
2012 Gecko: A Contention-Oblivious Design for Cloud Storage
Ji-Yong Shin, Mahesh Balakrishnan 0001, Lakshmi Ganesh, Tudor Marian, Hakim Weatherspoon
HotStorage2
2012 CORFU: A Shared Log Design for Flash Clusters
Mahesh Balakrishnan 0001, Dahlia Malkhi, Vijayan Prabhakaran, Ted Wobber, Michael Wei, John D. Davis
NSDI1
2011 Contrail: Enabling Decentralized Social Networks on Smartphones
Patrick Stuedi, Iqbal Mohomed, Mahesh Balakrishnan 0001, Z. Morley Mao, Venugopalan Ramasubramanian, Douglas B. Terry, Ted Wobber
Middleware3
2011 Online Migration for Geo-distributed Storage Systems
Nguyen Tran, Marcos K. Aguilera, Mahesh Balakrishnan 0001
USENIX ATC3
2011 DISC 2011 Invited Lecture by Dahlia Malkhi: Going beyond Paxos
Mahesh Balakrishnan 0001, Dahlia Malkhi, Vijayan Prabhakaran, Ted Wobber
DISC1
2011 Maelstrom: transparent error correction for communication between data centers
abstract
The global network of data centers is emerging as an important distributed systems paradigm-commodity clusters running high-performance applications, connected by high-speed “lambda” networks across hundreds of milliseconds of network latency. Packet loss on long-haul networks can cripple applications and protocols: A loss rate as low as 0.1% is sufficient to reduce TCP/IP throughput by an order of magnitude on a 1-Gb/s link with 50-ms one-way latency. Maelstrom is an edge appliance that masks packet loss transparently and quickly from intercluster protocols, aggregating traffic for high-speed encoding and using a new forward error correction scheme to handle bursty loss.
Mahesh Balakrishnan 0001, Tudor Marian, Kenneth P. Birman, Hakim Weatherspoon, Lakshmi Ganesh
IEEE/ACM Trans. Netw.1
2010 Differential RAID: rethinking RAID for SSD reliability
abstract
SSDs exhibit very different failure characteristics compared to hard drives. In particular, the Bit Error Rate (BER) of an SSD climbs as it receives more writes. As a result, RAID arrays composed from SSDs are subject to correlated failures. By balancing writes evenly across the array, RAID schemes can wear out devices at similar times. When a device in the array fails towards the end of its lifetime, the high BER of the remaining devices can result in data loss. We propose Diff-RAID, a parity-based redundancy solution that creates an age differential in an array of SSDs. Diff-RAID distributes parity blocks unevenly across the array, leveraging their higher update rate to age devices at different rates. To maintain this age differential when old devices are replaced by new ones, Diff-RAID reshuffles the parity distribution on each drive replacement. We evaluate Diff-RAID's reliability by using real BER data from 12 flash chips on a simulator and show that it is more reliable than RAID-5, in some cases by multiple orders of magnitude. We also evaluate Diff-RAID's performance using a software implementation on a 5-device array of 80 GB Intel X25-M SSDs and show that it offers a trade-off between throughput and reliability.
Mahesh Balakrishnan 0001, Asim Kadav, Vijayan Prabhakaran, Dahlia Malkhi
EuroSys1
2010 Dr. multicast: Rx for data center communication scalability
abstract
IP Multicast (IPMC) in data centers becomes disruptive when the technology is used by a large number of groups, a capability desired by event notification systems. We trace the problem to root causes, and introduce Dr. Multicast (MCMD), a system that eliminates the issue by mapping IPMC operations to a combination of point-to-point unicast and traditional IPMC transmissions guaranteed to be safe. MCMD optimizes the use of IPMC addresses within a data center by merging similar multicast groups in a principled fashion, while simultaneously respecting hardware limits expressed through administrator-controlled policies. The system is fully transparent, making it backward-compatible with commodity hardware and software found in modern data centers. Experimental evaluation shows that MCMD allows a large number of IPMC groups to be used without disruption, restoring a powerful group communication primitive to its traditional role.
Ymir Vigfusson, Hussam Abu-Libdeh, Mahesh Balakrishnan 0001, Kenneth P. Birman, Robert Burgess, Gregory V. Chockler, Haoyuan Li 0001, Yoav Tock
EuroSys3
2010 Extending SSD Lifetimes with Disk-Based Write Caches
Gokul Soundararajan, Vijayan Prabhakaran, Mahesh Balakrishnan 0001, Ted Wobber
FAST3
2010 Location, location, location!: modeling data proximity in the cloud
abstract
Cloud applications have increasingly come to rely on distributed storage systems that hide the complexity of handling network and node failures behind simple, data-centric interfaces (such as PUTs and GETs on key-value pairs). While these interfaces are very easy to use, the application is completely oblivious to the location of its data in the network; as a result, it has no way to optimize the placement of data or computation. In this paper, we propose exposing the network location of data to applications. The primary challenge is that data does not usually exist at a single point in the network; it can be striped, replicated, cached and coded across different locations, in arbitrary ways that vary across storage systems. For example, an item that is synchronously mirrored in both Seattle and London will appear equally far from both locations for writes, but equally close to both locations for reads. Accordingly, we describe Contour, a system that allows applications to query and manipulate the location of data without requiring them to be aware of the physical machines storing the data, the replication protocols used or the underlying network topology.
Birjodh Singh Tiwana, Mahesh Balakrishnan 0001, Marcos K. Aguilera, Hitesh Ballani, Z. Morley Mao
HotNets2
2010 Depletable Storage Systems
Vijayan Prabhakaran, Mahesh Balakrishnan 0001, John D. Davis, Ted Wobber
HotStorage2
2010 Brief Announcement: Flash-Log - A High Throughput Log
Mahesh Balakrishnan 0001, Philip A. Bernstein, Dahlia Malkhi, Vijayan Prabhakaran, Colin W. Reid
DISC1
2010 Differential RAID: Rethinking RAID for SSD reliability
abstract
SSDs exhibit very different failure characteristics compared to hard drives. In particular, the bit error rate (BER) of an SSD climbs as it receives more writes. As a result, RAID arrays composed from SSDs are subject to correlated failures. By balancing writes evenly across the array, RAID schemes can wear out devices at similar times. When a device in the array fails towards the end of its lifetime, the high BER of the remaining devices can result in data loss. We propose Diff-RAID, a parity-based redundancy solution that creates an age differential in an array of SSDs. Diff-RAID distributes parity blocks unevenly across the array, leveraging their higher update rate to age devices at different rates. To maintain this age differential when old devices are replaced by new ones, Diff-RAID reshuffles the parity distribution on each drive replacement. We evaluate Diff-RAID's reliability by using real BER data from 12 flash chips on a simulator and show that it is more reliable than RAID-5, in some cases by multiple orders of magnitude. We also evaluate Diff-RAID's performance using a software implementation on a 5-device array of 80 GB Intel X25-M SSDs and show that it offers a trade-off between throughput and reliability.
Mahesh Balakrishnan 0001, Asim Kadav, Vijayan Prabhakaran, Dahlia Malkhi
ACM Trans. Storage1
2009 Smoke and Mirrors: Reflecting Files at a Geographically Remote Location Without Loss of Performance
Hakim Weatherspoon, Lakshmi Ganesh, Tudor Marian, Mahesh Balakrishnan 0001, Kenneth P. Birman
FAST4
2009 Where's that phone?: geolocating IP addresses on 3G networks
abstract
Cell phones connected to high-speed 3G networks constitute an increasingly important class of clients on the Internet. From the viewpoint of the servers they connect to, such devices are virtually indistinguishable from conventional end-hosts. In this study, we examine the IP addresses seen by Internet servers for cell phone clients and make two observations. First, individual cell phones can expose different IP addresses to servers within time spans of a few minutes, rendering IP-based user identification and blocking inadequate. Second, cell phone IP addresses do not embed geographical information at reasonable fidelity, reducing the effectiveness of commercial geolocation tools used by websites for fraud detection, server selection and content customization. In addition to these two observations, we show that application-level latencies between cell phones and Internet servers can differ greatly depending on the location of the cell phone, but do not vary much at a given location over short time spans; as a result, they provide fine-grained location information that IPs do not.
Mahesh Balakrishnan 0001, Iqbal Mohomed, Venugopalan Ramasubramanian
Internet Measurement Conference1
2008 Tempest: Soft state replication in the service tier
abstract
Soft state in the middle tier is key to enabling scalable and responsive three tier service architectures. While soft-state can be reconstructed upon failure, replicating it across multiple service instances is critical for rapid fail-over and high availability. Current techniques for storing and managing replicated soft state require mapping data structures to different abstractions such as database records, which can be difficult and introduce inefficiencies. Tempest is a system that provides programmers with data structures that look very similar to conventional Java Collections but are automatically replicated. We evaluate Tempest against alternatives such as in-memory databases and we show that Tempest does scale well in real world service architectures.
Tudor Marian, Mahesh Balakrishnan 0001, Kenneth P. Birman, Robbert van Renesse
DSN2
2008 Dr. Multicast: Rx for Datacenter Communication Scalability
Ymir Vigfusson, Hussam Abu-Libdeh, Mahesh Balakrishnan 0001, Kenneth P. Birman, Yoav Tock
HotNets3
2008 Maelstrom: Transparent Error Correction for Lambda Networks
Mahesh Balakrishnan 0001, Tudor Marian, Kenneth P. Birman, Hakim Weatherspoon, Einar Vollset
NSDI1
2007 Optimizing Power Consumption in Large Scale Storage Systems
Lakshmi Ganesh, Hakim Weatherspoon, Mahesh Balakrishnan 0001, Kenneth P. Birman
HotOS3
2007 Ricochet: Lateral Error Correction for Time-Critical Multicast
Mahesh Balakrishnan 0001, Kenneth P. Birman, Amar Phanishayee, Stefan Pleisch
NSDI1
2007 Reconstructing approximate tree metrics
abstract
We introduce a novel measure called ε-four-pointscondition (ε-4PC), which assigns a value ε ∈ [0,1] to every metric space quantifying how close the metric is to a tree metric. Data-sets taken from real Internet measurements indicate remarkable closeness of Internet latencies to tree metrics based on this condition. We study embeddings of ε-4PC metric spaces into trees and prove tight upper and lower bounds. Specifically, we show that there are constants c1 and c2 such that, (1) every metric (X,d) which satisfies the ε-4PC can be embedded into a tree with distortion (1+ε)c1log|X|, and (2) for every ε ∈: [0,1] and any number of nodes, there is a metric space (X,d) satisfying the ε-4PC that does not embed into a tree with distortion less than (1+ε)c2log|X|. In addition, we prove a lower bound on approximate distance labelings of ε-4PC metrics, and give tight bounds for tree embeddings with additive error guarantees.
Ittai Abraham, Mahesh Balakrishnan 0001, Fabian Kuhn, Dahlia Malkhi, Venugopalan Ramasubramanian, Kunal Talwar
PODC2
2006 MISTRAL: : efficient flooding in mobile ad-hoc networks
abstract
Flooding is an important communication primitive in mobile ad-hoc networks and also serves as a building block for more complex protocols such as routing protocols. In this paper, we propose a novel approach to flooding, which relies on proactive compensation packets periodically broadcast by every node. The compensation packets are constructed from dropped data packets, based on techniques borrowed from forward error correction. Since our approach does not rely on proactive neighbor discovery and network overlays it is resilient to mobilit.We evaluate the implementation of Mistral through simulation and compare its performance and overhead to purely probabilistic flooding. Our results show that Mistral achieves a significantly higher node coverage with comparable overhead.
Stefan Pleisch, Mahesh Balakrishnan 0001, Kenneth P. Birman, Robbert van Renesse
MobiHoc2
2006 PLATO: Predictive Latency-Aware Total Ordering
abstract
PLATO is a predictive total ordering protocol designed for low-latency multicast in datacenters. It predicts out-of-order arrival of multicast packets by observing their inter-arrival times, and delays packets before passing them up to the application only if it believes the packets to have arrived in the wrong order. We show through experimentation on real datacenter-style networks that the inter-arrival time of consecutive packet pairs is an excellent predictor of out-of-order delivery. We evaluate an implementation of PLATO on the Emulab testbed, and show that it drives down delivery latencies by more than a factor of 2 compared to the fixed-sequencer protocol
Mahesh Balakrishnan 0001, Kenneth P. Birman, Amar Phanishayee
SRDS1
2005 Slingshot: Time-Critical Multicast for Clustered Applications
abstract
Datacenters are complex environments consisting of thousands of failure-prone commodity components connected by fast, high capacity interconnects. The software running on such datacenters typically uses multicast communication patterns involving multiple senders. We examine the problem of time-critical multicast in such settings, and propose Slingshot, a protocol that uses receiver-based FEC to recover lost packets quickly. Slingshot offers probabilistic guarantees on timeliness by having receivers exchange FEC packets in an initial phase, and optional complete reliability on packets not recovered in this first phase. We evaluate an implementation of Slingshot against SRM, a well-known multicast protocol, and show that it achieves two orders of magnitude faster recovery in datacenter settings
Mahesh Balakrishnan 0001, Stefan Pleisch, Kenneth P. Birman
NCA1