maheshkallahalla

Mahesh Kallahalla 

I work at Google in Mountain View, California, working on automating the management of large scale distributed systems. Before joining Google I was a researcher, like many of my co-workers, most recently at NTT DoCoMo Communication Labs, San Jose, California and in the Storage System Department at Hewlett Packard Laboratories, Palo Alto, California. I got my Ph.D. from the ECE Department at Rice University. Prior to that, I was an undergrad at Indian Institute of Technology, Madras.

If you're looking for, my wife, Suman's web page, it is here.

Research and development

My current job involves working towards improving the performance, manageability, and reliability of what is probably the world's largest distributed system. In general, I love to work at the intersection of theory and systems, leaning more on the systems side. I believe in algorithms problems motivated by systems issues, and systems that have some sound footing in theory. In general I like to take on all aspects of developing a system: from algorithm design to system hacking.

My past research has focused on storage systems; it has covered many aspects, including security, automatic configuration, and paging algorithms. Of late I have also been working on the problem of making enterprise data-center more flexible. More on these below.

This page describes some of my research. My publications page lists my papers, which should give you specific details. Or you could send me a mail .

Past work

Mobile storage

This research looked at the implications of having large amounts of storage in small scale devices -- handhelds and cell phones. The storage available in small scale devices has different characteristics than the storage in traditional desktops and servers. The applications' requirements and user's attitude towards these devices is very different from what one would expect from a "storage system". I explored what these mean to the mobile and small scale storage system and how they interact with servers' "fixed" storage.

I started this project and developed the fundamental concepts and technologies.

Flexible enterprise data-centers

In a world of declining IT budgets, utility computing is an attractive paradigm. It promises to decrease IT costs by increasing data-center resource sharing between potentially diverse applications. To realize this vision, we first need a "utilitized" IT infrastructure. The main properties of such an infrastructure are that (a) the resources (server and storage) are partitionable and (b) the partitions are enforceable. This research is developing software technologies to enable such software based utility data-centers.

Ram Swaminathan, Mustafa Uysal, and I started this project. It grew to involve researcher from several departments at HP Labs.

Plutus: Secure storage system

How trusted is your file system or san storage? Are you protected from a person who can plug a machine in the network? How about from the person who has root on the file servers, or the person who can replace hard disks on the disk arrays? It turns out that storage security is much more than just encrypting all SAN or network traffic, or storing only encrypted data. There are several issues in key management to enable easy and secure data sharing.

The first part of this work provided a framework for evaluating different kinds of secure storage systems.

Based on the previous study, we developed, Plutus, a cryptographic storage system that enables secure file sharing without placing much trust on the file servers. The salient features of Plutus are (a) it makes novel uses of cryptographic primitives to protect and share files, (b) it features highly scalable key management while allowing individual users to retain direct control over who gets access to their files, (c) it features novel mechanisms to reduce the number of cryptographic keys exchanged between users by using filegroups, distinguish file read and write access, handle user revocation efficiently, and allow an untrusted server to authorize file writes.

This is joint work with Kevin Fu, Erik Riedel, Ram Swaminathan, and Qian Wang.

Byzantine fault-tolerant bricks: Securing the FAB protocols

The FAB project at HP Labs aims to build a enterprise class disk array using " smart " commodity storage devices linked with a high bandwidth link. The FAB protocols currently assume that the faults in the system are not byzantine. This work augments the FAB procols to support such malicious bricks. The novelty of this work is in the way it brings together concepts from distributed computing and concepts from security and cryptography.

This is joint work with Ram Swaminathan and Svend Frolund.

Buttress: Accurate storage benchmarking

Two commonly used techniques in benchmarking I/O systems are (a) trace replay, and (b) synthetic workloads. In both these cases it is important to accurately generate the I/O access pattern that one is intending to generate. But the sophistication of today's stock operating systems makes it difficult to issue I/Os at the desired time at high I/O rates. Our results indicate that we may be introducing substantial errors in observed system metrics when we benchmark I/O systems with inaccurate trace-replay tools

To address this problem, we developed Buttress, a portable and flexible toolkit that can generate I/O workloads with microsecond accuracy at the I/O throughputs of high-end enterprise storage arrays. In particular, Buttress can issue I/O requests within 100 microseconds of the desired issue time even at rates of 10000 I/Os per second (IOPS).

A paper on these results is to appear in the USENIX Conference on File and Storage Technologies. Please contact me for a draft.

This is joint work with Eric Anderson, Ram Swaminathan, and Mustafa Uysal.

Ergastulum: Automating storage system design

The cost of managing a large storage system is by far the dominant cost of owning such a system. However manual configuration of these systems, which is the current practice, is error-prone and expensive because of the high complexity of the systems and the applications using them. This work addresses the problem of designing an appropriate storage system given simple characteristics of the applications using these systems, business constraints such as cost or existing systems, and headroom.

Ergastulum is a new automatic storage designer, which uses a novel search heuristic to search the vast design space efficiently. Ergastulum can be used to (a) generate an initial design of the system, (b) propose improvements to the existing design that can be executed with minimal disruption to running applications, (c) evaluate " what-if " questions for different configurations as might arise in a storage consolidation. It is very flexible in the constraints and optimization criteria, such as accommodating requests to (a) use existing hardware, (b) have a maximum cost limit, (c) generate a minimum cost design, or (d) generate a design with minimum average device utilization.

This is joint work with Eric Anderson, Susan Spence, Ram Swaminathan, and Qian Wang.

Parallel paging algorithms

The traditional metric for caching algorithms, such as LRU or FIFO, is "the total number of page faults". Though this metric is appropriate when the back-end system is a single disk, it is not when the storage system has multiple disks that can perform multiple I/Os in parallel. A better metric is the "total number of parallel I/Os". The question then is "What is an appropriate parallel paging algorithm?"

The first part of this work showed fundamental limits on the performance achievable by traditional prefetching and caching algorithms. These bounds show that current algorithms have significant limitations in exploiting latent I/O parallelism.

The latter part of this work presents new prefetching and caching algorithms that optimizing buffer usage and concurrency in I/O accesses. These algorithms include

This work was part of my Ph.D. dissertation, and my advisor was Peter J. Varman

For additional information please check my publications, or you could send me an email.

Fun

In 2003 I took a ceramics class in the Palo Alto Arts Center. I really fell in love with it, and since then have taken a couple of ceramics classes in foothill college. I like throwing better than handbuilding, and am quite bad in decorating :-). Here are some things I have made.

In reality, I'm "artistically-challenged" and spend time solving jigsaw puzzles and making models.

I also climb when I can, preferring to boulder, and bike occasionally.

Contacting me

Mahesh Kallahalla

648 Toyon

Sunnyvale CA 94086

Email: <lastname>@<lastname>.com