@string{hotos = "Proceedings of the USENIX Workshop on Hot Topics in Operating Systems (HotOS)"} @string{sosp = "Proceedings of the ACM Symposium on Operating Systems Principles (SOSP)"} @string{nsdi = "Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI)"} @string{osdi = "Proceedings of the USENIX Symposium on Operating Systems Design and Implementation (OSDI)"} @string{usenix_atc = "Proceedings of the USENIX Annual Technical Conference (ATC)"} @string{eurosys = "Proceedings of the European Conference on Computer Systems (Eurosys)"} @string{vee = "Proceedings of the International Conference on Virtual Execution Environments (VEE)"} @string{hot_storage = "Proceedings of the USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage)"} @string{inflow = "Proceedings of the Workshop on Interactions of NVM/Flash with Operating Systems and Workloads (INFLOW)"} @string{socc = "Proceedings of the ACM Symposium on Cloud Computing (SoCC)"} @string{apsys = "Proceedings of the ACM Asia-Pacific Workshop on Systems (APSys)"} @string{papoc = "Proceedings of the ACM Workshop on Principles and Practice of Consistency for Distributed Data (PaPoC)"} @string{asplos = "Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS)"} @string{sigcomm = "Proceedings of the ACM SIGCOMM Conference (SIGCOMM)"} @string{ubicomp = "Proceedings of the ACM International Joint Conference on Pervasive and Ubiquitous Computing (UbiComp)"} @string{mobisys = "Proceedings of the ACM International Conference on Mobile Systems, Applications, and Services (MobiSys)"} @string{chi = "Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI)"} @string{disc = "Proceedings of the International Symposium on Distributed Computing (DISC)"} @string{cvpr = "Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)"} @TechReport{michael16-provid-stabl-storag-diskl-crash, author = {Ellis Michael and Dan R. K. Ports and Naveen Kr. Sharma and Adriana Szekeres}, title = {Providing Stable Storage for the Diskless Crash-Recovery Failure Model}, institution = {University of Washington CSE}, year = 2016, number = {UW-CSE-TR-16-08-02}, address = {Seattle, WA, USA}, month = 8, url = {/papers/diskless-tr16.pdf}, abstract = {Many classic protocols in the fault tolerant distributed computing literature assume a Crash-Fail model in which processes either are up, or have crashed and are permanently down. While this model is useful, it does not fully capture the difficulties many real systems must contend with. In particular, real-world systems are long-lived and must have a recovery mechanism so that crashed processes can rejoin the system and restore its fault-tolerance. When processes are assumed to have access to stable storage that is persistent across failures, the Crash-Recovery model is trivial. However, because disk failures are common and because having a disk on a protocol's critical path is often performance concern, diskless recovery protocols are needed. While such protocols do exist in the state machine replication literature, several well-known protocols have flawed recovery mechanisms. We examine these errors to elucidate the problem of diskless recovery and present our own protocol for providing virtual stable storage, transforming any protocol in the Crash-Recovery with stable storage model into a protocol in the Diskless Crash-Recover model. } } @inproceedings{han16-mobisys, author = {Seungyeop Han and Haichen Shen and Matthai Philipose and Sharad Agarwal and Alec Wolman and Arvind Krishnamurthy}, title = {{MCDNN}: An Approximation-Based Execution Framework for Deep Stream Processing Under Resource Constraints}, booktitle = mobisys, month = 6, Year = 2016, abstract = {We consider applying computer vision to video on cloud-backed mobile devices using Deep Neural Networks (DNNs). The computational demands of DNNs are high enough that, without careful resource management, such applications strain device battery, wireless data, and cloud cost budgets. We pose the corresponding resource management problem, which we call Approximate Model Scheduling, as one of serving a stream of heterogeneous (i.e., solving multiple classification problems) requests under resource constraints. We present the design and implementation of an optimizing compiler and runtime scheduler to address this problem. Going beyond traditional resource allocators, we allow each request to be served approximately, by systematically trading off DNN classification accuracy for resource use, and remotely, by reasoning about on-device/cloud execution trade-offs. To inform the resource allocator, we characterize how several common DNNs, when subjected to state-of-the art optimizations, trade off accuracy for resource use such as memory, computation, and energy. The heterogeneous streaming setting is a novel one for DNN execution, and we introduce two new and powerful DNN optimizations that exploit it. Using the challenging continuous mobile vision domain as a case study, we show that our techniques yield significant reductions in resource usage and perform effectively over a broad range of operating conditions.}, url = {/papers/mcdnn-mobisys16.pdf} } @inproceedings{bornholt16-ferrite, author = {James Bornholt and Antoine Kaufmann and Jialin Li and Arvind Krishnamurthy and Emina Torlak and Xi Wang}, title = {Specifying and Checking File System Crash-Consistency Models}, booktitle = asplos, year = 2016, month = 4, url = {/papers/ferrite-asplos16.pdf} } @InProceedings{kaufmann16-flexnic, author = {Antoine Kaufmann and Simon Peter and Thomas Anderson and Arvind Krishnamurthy}, title = {High Performance Packet Processing with FlexNIC}, booktitle = asplos, year = 2016, month = 4, url = {/papers/flexnic-asplos16.pdf}, abstract = {The recent surge of network I/O performance has put enormous pressure on memory and software I/O processing subsystems. We argue that the primary reason for high memory and processing overheads is the inefficient use of these resources by current commodity network interface cards (NICs). We propose FlexNIC, a flexible network DMA interface that can be used by operating systems and applications alike to reduce packet processing overheads. FlexNIC allows services to install packet processing rules into the NIC, which then executes simple operations on packets while exchanging them with host memory. Thus, our proposal moves some of the packet processing traditionally done in software to the NIC, where it can be done flexibly and at high speed. We quantify the potential benefits of FlexNIC by emulating the proposed FlexNIC functionality with existing hardware or in software. We show that significant gains in application performance are possible, in terms of both latency and throughput, for several widely used applications, including a key-value store, a stream processing system, and an intrusion detection system.} } @InProceedings{wang16-shandian, author = {Xiao Sophia Wang and Arvind Krishnamurthy and David Wetherall}, title = {Speeding up Web Page Loads with Shandian}, booktitle = nsdi, year = 2016, month = 3, url = {/papers/shandian-nsdi16.pdf}, abstract = {Web page loads are slow due to intrinsic inefficiencies in the page load process. Our study shows that the inefficiencies are attributable not only to the contents and structure of the Web pages (e.g., three-fourths of the CSS resources are not used during the initial page load) but also the way that pages are loaded (e.g., 15% of page load times are spent waiting for parsing-blocking resources to be loaded). To address these inefficiencies, this paper presents Shandian (which means lightening in Chinese) that restructures the page load process to speed up page loads. Shandian exercises control over what portions of the page gets communicated and in what order so that the initial page load is optimized. Unlike previous techniques, Shandian works on demand without requiring a training period, is compatible with existing latency-reducing techniques (e.g., caching and CDNs), supports security features that enforce same-origin policies, and does not impose additional privacy risks. Our evaluations show that Shandian reduces page load times by more than half for both mobile phones and desktops while incurring modest overheads to data usage.} } @inproceedings{shen2015enhancing, author = {Haichen Shen and Aruna Balasubramanian and Anthony LaMarca and David Wetherall}, title = {Enhancing mobile apps to use sensor hubs without programmer effort}, booktitle = ubicomp, month = 9, year = 2015, url = {/papers/mobilehub-ubicomp15.pdf}, note = {Best Paper Award}, abstract = {Always-on continuous sensing apps drain the battery quickly because they prevent the main processor from sleeping. Instead, sensor hub hardware, available in many smartphones today, can run continuous sensing at lower power while keeping the main processor idle. However, developers have to divide functionality between the main processor and the sensor hub. We implement MobileHub, a system that automatically rewrites applications to leverage the sensor hub without additional programming effort. MobileHub uses a combination of dynamic taint tracking and machine learning to learn when it is safe to leverage the sensor hub without affecting application semantics. We implement MobileHub in Android and prototype a sensor hub on a 8-bit AVR micro-controller. We experiment with 20 applications from Google Play. Our evaluation shows that MobileHub significantly reduces power consumption for continuous sensing apps.} } @inproceedings{han15-metasync, author = {Seungyeop Han and Haichen Shen and Taesoo Kim and Arvind Krishnamurthy and Thomas Anderson and David Wetherall}, title = {{MetaSync}: File Synchronization Across Multiple Untrusted Storage Services}, booktitle = usenix_atc, month = 7, year = 2015, url = {/papers/metasync-atc15.pdf}, abstract = {Cloud-based file synchronization services, such as Dropbox, are a worldwide resource for many millions of users. However, individual services often have tight resource limits, suffer from temporary outages or even shutdowns, and sometimes silently corrupt or leak user data. We design, implement, and evaluate MetaSync, a secure and reliable file synchronization service that uses multiple cloud synchronization services as untrusted storage providers. To make MetaSync work correctly, we devise a novel variant of Paxos that provides efficient and consistent updates on top of the unmodified APIs exported by existing services. Our system automatically redistributes files upon reconfiguration of providers. Our evaluation shows that MetaSync provides low update latency and high update throughput while being more trustworthy and available. MetaSync outperforms its underlying cloud services by 1.2-10X on three realistic workloads.} } @inproceedings{kwak15-chi, author = {Haewoon Kwak and Jeremy Blackburn and Seungyeop Han}, title = {Exploring Cyberbullying and Other Toxic Behavior in Team Competition Online Games}, booktitle = chi, month = Apr, year = 2015, url = {/papers/lol-chi15.pdf}, abstract = {In this work we explore cyberbullying and other toxic behavior in team competition online games. Using a dataset of over 10 million player reports on 1.46 million toxic players along with corresponding crowdsourced decisions, we test several hypotheses drawn from theories explaining toxic behavior. Besides providing large-scale, empirical based understanding of toxic behavior, our work can be used as a basis for building systems to detect, prevent, and counter-act toxic behavior.} } @InProceedings{holt15-claret, author = {Brandon Holt and Irene Zhang and Dan Ports and Mark Oskin and Luis Ceze}, title = {Claret: Using Data Types for Highly Concurrent Distributed Transactions}, booktitle = papoc, year = 2015, month = 4} @InProceedings{kaufmann15-flexnic, author = {Antoine Kaufmann and Simon Peter and Thomas Anderson and Arvind Krishnamurthy}, title = {{FlexNIC}: Rethinking Network {DMA}}, booktitle = hotos, year = 2015, month = 5, abstract = { We propose FlexNIC, a flexible network DMA interface that can be used by operating systems and applications alike to reduce packet processing overheads. The recent surge of network I/O performance has put enormous pressure on memory and software I/O processing subsystems. Yet even at high speeds, flexibility in packet handling is still important for security, performance isolation. and virtualization. Thus, our proposal moves some of the packet processing traditionally done in software to the NIC DMA controller, where it can be done flexibly and at high speed. We show how FlexNIC can benefit widely used data center server applications, such as key-value stores.} } @InProceedings{ports15-desig_distr_system_using_approx, author = {Dan R. K. Ports and Jialin Li and Vincent Liu and Naveen Kr. Sharma and Arvind Krishnamurthy}, title = {Designing Distributed Systems Using Approximate Synchrony in Data Center Networks}, booktitle = nsdi, year = 2015, month = 5, url={/papers/specpaxos-nsdi15.pdf}, abstract={Distributed systems are traditionally designed independently from the underlying network, making worst-case assumptions (e.g., complete asynchrony) about its behavior. However, many of today's distributed applications are deployed in data centers, where the network is more reliable, predictable, and extensible. In these environments, it is possible to co-design distributed systems with their network layer, and doing so can offer substantial benefits. This paper explores network-level mechanisms for providing Mostly-Ordered Multicast (MOM): a best-effort ordering property for concurrent multicast operations. Using this primitive, we design Speculative Paxos, a state machine replication protocol that relies on the network to order requests in the normal case. This approach leads to substantial performance benefits: under realistic data center conditions, Speculative Paxos can provide 40% lower latency and 2.6x higher throughput than the standard Paxos protocol. It offers lower latency than a latency-optimized protocol (Fast Paxos) with the same throughput as a throughput-optimized protocol (batching).}, note= {Best Paper Award} } @InProceedings{bailey-echo13, author = {Katelin Bailey and Peter Hornyack and Luis Ceze and Steven D. Gribble and Henry M. Levy}, title = {Exploring Storage Class Memory with Key Value Stores}, booktitle = inflow, year = 2013, month = 11, url={/papers/pcm-inflow13.pdf}, abstract = {In the near future, new storage-class memory (SCM) technologies - such as phase-change memory and memristors - will radically change the nature of long-term storage. These devices will be cheap, non-volatile, byte addressable, and near DRAM density and speed. While SCM offers enormous opportunities, profiting from them will require new storage systems specifically designed for SCM's properties. This paper presents Echo, a persistent key-value storage system designed to leverage the advantages and address the challenges of SCM. The goals of Echo include high performance for both small and large data objects, recoverability after failure, and scalability on multicore systems. Echo achieves its goals through the use of a two-level memory design targeted for memory systems containing both DRAM and SCM, exploitation of SCM's byte addressability for fine-grained transactions in non-volatile memory, and the use of snapshot isolation for concurrency, consistency, and versioning. Our evaluation demonstrates that Echo's SCM-centric design achieves the durability guarantees of the best disk-based stores with the performance characteristics approaching the best in-memory key-value stores.}} @InProceedings{wang14-jitk, author = {Xi Wang and David Lazar and Nickolai Zeldovich and Adam Chlipala and Zachary Tatlock}, title = {Jitk: A Trustworthy In-Kernel Interpreter Infrastructure}, booktitle = osdi, year = 2014, month = 10, url = {/papers/jitk-osdi14.pdf}, abstract={ Modern operating systems run multiple interpreters in the kernel, which enable user-space applications to add new functionality or specialize system policies. The correctness of such interpreters is critical to the overall system security: bugs in interpreters could allow adversaries to compromise user-space applications and even the kernel. Jitk is a new infrastructure for building in-kernel interpreters that guarantee functional correctness as they compile user-space policies down to native instructions for execution in the kernel. To demonstrate Jitk, we implement two interpreters in the Linux kernel, BPF and INET-DIAG, which are used for network and system call filtering and socket monitoring, respectively. To help application developers write correct filters, we introduce a high-level rule language, along with a proof that Jitk correctly translates high-level rules all the way to native machine code, and demonstrate that this language can be integrated into OpenSSH with tens of lines of code. We built a prototype of Jitk on top of the CompCert verified compiler and integrated it into the Linux kernel. Experimental results show that Jitk is practical, fast, and trustworthy. } } @InProceedings{zhang14-custom_exten_deploy_mobil_cloud_applic, author = {Irene Zhang and Adriana Szekeres and Dana Van Aken and Isaac Ackerman and Steven D. Gribble and Arvind Krishnamurthy and Henry M. Levy}, title = {Customizable and Extensible Deployment for Mobile/Cloud Applications}, booktitle = osdi, year = 2014, month = 10, url={/papers/sapphire-osdi14.pdf}, abstract={ Modern applications face new challenges in managing today's highly distributed and heterogeneous environment. For example, they must stitch together code that crosses smartphones, tablets, personal devices, and cloud services, connected by variable wide-area networks, such as WiFi and 4G. This paper describes Sapphire, a distributed programming platform that simplifies the programming of today's mobile/cloud applications. Sapphire's key design feature is its distributed runtime system, which supports a flexible and extensible deployment layer for solving complex distributed systems tasks, such as fault-tolerance, code-offloading, and caching. Rather than writing distributed systems code, programmers choose deployment managers that extend Sapphire's kernel to meet their applications' deployment requirements. In this way, each application runs on an underlying platform that is customized for its own distribution needs.} } @InProceedings{peter14-arrak-osdi14, author = {Simon Peter and Jialin Li and Irene Zhang and Dan R. K. Ports and Douglas Woos and Arvind Krishnamurthy and Thomas Anderson and Timothy Roscoe}, title = {Arrakis: The Operating System is the Control Plane}, booktitle = osdi, year = 2014, month = 10, url={/papers/arrakis-osdi14.pdf}, abstract = {Recent device hardware trends enable a new approach to the design of network server operating systems. In a traditional operating system, the kernel mediates access to device hardware by server applications, to enforce process isolation as well as network and disk security. We have designed and implemented a new operating system, Arrakis, that splits the traditional role of the kernel in two. Applications have direct access to virtualized I/O devices, allowing most I/O operations to skip the kernel entirely, while the kernel is re-engineered to provide network and disk protection without kernel mediation of every operation. We describe the hardware and software changes needed to take advantage of this new abstraction, and we illustrate its power by showing 2-5x end-to-end latency and 9x throughput improvements for a popular persistent NoSQL store relative to a well-tuned Linux implementation.}, note= {Best Paper Award} } @InProceedings{bailey11_operat_system_implic_fast_cheap, author = {Katelin Bailey and Luis Ceze and Steven D. Gribble and Henry M. Levy}, title = {Operating Systems Implications of Fast, Cheap, Non-Volatile Memory}, booktitle = hotos, year = 2011, month = 5, url={/papers/pcm-hotos11.pdf}, abstract={The existence of two basic levels of storage (fast/volatile and slow/non-volatile) has been a long-standing premise of most computer systems, influencing the design of OS components, including file systems, virtual memory, scheduling, execution models, and even their APIs. Emerging resistive memory technologies - such as phase-change memory (PCM) and memristors - have the potential to provide large, fast, non-volatile memory systems, changing the assumptions that motivated the design of current operating systems. This paper examines the implications of non-volatile memories on a number of OS mechanisms, functions, and properties. } } @InProceedings{hotstorage14, author = {Simon Peter and Irene Zhang and Dan R. K. Ports and Jialin Li and Doug Woos and Thomas Anderson and Arvind Krishnamurthy and Mark Zbikowski}, title = {Towards High-Performance Application-Level Storage Management}, booktitle = hot_storage, year = 2014, address = {Philadelphia, PA, USA}, url={/papers/arrakis-hotstorage14.pdf}, month = 6, abstract = {We propose a radical re-architecture of the traditional operating system storage stack to move the kernel off the data path. Leveraging virtualized I/O hardware for disk and flash storage, most read and write I/O operations go directly to application code. The kernel dynamically allocates extents, manages the virtual to physical binding, and performs name translation. The benefit is to dramatically reduce the CPU overhead of storage operations while improving application flexibility.}} @InProceedings{li14_tales_tail, address = {Seattle, WA, USA}, author = {Jialin Li and Naveen Kr. Sharma and Dan R. K. Ports and Steven D. Gribble}, booktitle = socc, month = 11, organization = {{ACM}}, title = {Tales of the Tail: Hardware, {OS}, and Application-level Sources of Tail Latency}, year = {2014}, url={/papers/latency-socc14.pdf}, abstract = {Interactive services often have large-scale parallel implementations. To deliver fast responses, the median and tail latencies of a service's components must be low. In this paper, we explore the hardware, OS, and application-level sources of poor tail latency in high throughput servers executing on multi-core machines. We model these network services as a queuing system in order to establish the best-achievable latency distribution. Using fine-grained measurements of three different servers (a null RPC service, Memcached, and Nginx) on Linux, we then explore why these servers exhibit significantly worse tail latencies than queuing models alone predict. The underlying causes include interference from background processes, request re-ordering caused by poor scheduling or constrained concurrency models, suboptimal interrupt routing, CPU power saving mechanisms, and NUMA effects. We systematically eliminate these factors and show that Memcached can achieve a median latency of 11 us and a 99.9th percentile latency of 32 us at 80% utilization on a four-core system. In comparison, a naive deployment of Memcached at the same utilization on a single-core system has a median latency of 100 us and a 99.9th percentile latency of 5 ms. Finally, we demonstrate that tradeoffs exist between throughput, energy, and tail latency.}, monthnum = {11} } @InProceedings{zhuo14_machin_fault_toler_reliab_datac_system, address = {Beijing, China}, author = {Danyang Zhuo and Qiao Zhang and Dan R. K. Ports and Arvind Krishnamurthy and Thomas Anderson}, booktitle = apsys, key = {APSys 2014}, month = 6, title = {Machine Fault Tolerance for Reliable Datacenter Systems}, year = {2014}, url={/papers/mft-apsys14.pdf}, abstract = {Although rare in absolute terms, undetected CPU, memory, and disk errors occur often enough at data center scale to significantly affect overall system reliability and availability. In this paper, we propose a new failure model, called Machine Fault Tolerance, and a new abstraction, a replicated write-once trusted table, to provide improved resilience to these types of failures. Since most machine failures manifest in application server and operating system code, we assume a Byzantine model for those parts of the system. However, by assuming that the hypervisor and network are trustworthy, we are able to reduce the overhead of machine-fault masking to be close to that of non-Byzantine Paxos.}, monthnum = {06} } @inproceedings{zhang15_build_consis_trans_incon_replic, address = {Monterey, CA, USA}, author = {Irene Zhang and Naveen Kr. Sharma and Adriana Szekeres and Arvind Krishnamurthy and Dan R. K. Ports}, booktitle = SOSP, month = oct, title = {Building Consistent Transactions with Inconsistent Replication}, year = {2015}, url={/papers/tapir-sosp15.pdf}, abstract = {Application programmers increasingly prefer distributed storage systems with strong consistency and distributed transactions (e.g., Google's Spanner) for their strong guarantees and ease of use. Unfortunately, existing transactional storage systems are expensive to use -- in part because they require costly replication protocols, like Paxos, for fault tolerance. In this paper, we present a new approach that makes transactional storage systems more affordable: we eliminate consistency from the replication protocol while still providing distributed transactions with strong consistency to applications.

We present TAPIR -- the Transactional Application Protocol for Inconsistent Replication -- the first transaction protocol to use a novel replication protocol, called inconsistent replication, that provides fault tolerance without consistency. By enforcing strong consistency only in the transaction protocol, TAPIR can commit transactions in a single round-trip and order distributed transactions without centralized coordination. We demonstrate the use of TAPIR in a transactional key-value store, TAPIR-KV. Compared to conventional systems, TAPIR-KV provides better latency and throughput.}, } @techreport{zhang15_build_consis_trans_incon_replic_exten_version, author = {Irene Zhang and Naveen Kr. Sharma and Adriana Szekeres and Arvind Krishnamurthy and Dan R. K. Ports}, institution = {University of Washington CSE}, month = oct, number = {UW-CSE-2014-12-01 v2}, title = {Building Consistent Transactions with Inconsistent Replication (Extended Version)}, year = {2015}, url={/papers/tapir-tr-v2.pdf}, abstract = {Application programmers increasingly prefer distributed storage systems with strong consistency and distributed transactions (e.g., Google's Spanner) for their strong guarantees and ease of use. Unfortunately, existing transactional storage systems are expensive to use -- in part because they require costly replication protocols, like Paxos, for fault tolerance. In this paper, we present a new approach that makes transactional storage systems more affordable: we eliminate consistency from the replication protocol while still providing distributed transactions with strong consistency to applications.

We present TAPIR -- the Transactional Application Protocol for Inconsistent Replication -- the first transaction protocol to use a novel replication protocol, called inconsistent replication, that provides fault tolerance without consistency. By enforcing strong consistency only in the transaction protocol, TAPIR can commit transactions in a single round-trip and order distributed transactions without centralized coordination. We demonstrate the use of TAPIR in a transactional key-value store, TAPIR-KV. Compared to conventional systems, TAPIR-KV provides better latency and throughput.}, } @inproceedings{han13-sigcomm, author = "Seungyeop Han and Vincent Liu and Qifan Pu and Simon Peter and Thomas Anderson and Arvind Krishnamurthy and David Wetherall", title = {Expressive Privacy Control with Pseudonyms}, booktitle = sigcomm, year = 2013, month = 8, abstract = {As personal information increases in value, the incentives for remote services to collect as much of it as possible increase as well. In the current Internet, the default assumption is that all behavior can be correlated using a variety of identifying information, not the least of which is a user's IP address. Tools like Tor, Privoxy, and even NATs, are located at the opposite end of the spectrum and prevent any behavior from being linked. Instead, our goal is to provide users with more control over linkability---which activites of the user can be correlated at the remote services---not necessarily more anonymity. We design a cross-layer architecture that provides users with a pseudonym abstraction. To the user, a pseudonym represents a set of activities that the user is fine with linking, and to the outside world, a pseudonym gives the illusion of a single machine. We provide this abstraction by associating each pseudonym with a unique, random address drawn from the IPv6 address space, which is large enough to provide each device with multiple globally-routable addresses. We have implemented and evaluated a prototype that is able to provide unlinkable pseudonyms within the Chrome web browser in order to demonstrate the feasibility, efficacy, and expressiveness of our approach.}, url = {/papers/pseudonym-sigcomm13.pdf} } @inproceedings{han13-ubicomp, author = "Seungyeop Han and Matthai Phlipose and Yun-Cheng Ju", title = "{NLify}: Lightweight Spoken Natural Language Interfaces via Exhaustive Paraphrasing", booktitle = ubicomp, year = 2013, month = 9, note = "Honorable Mention", url = {/papers/nlify-ubicomp13.pdf}, abstract = {This paper presents the design and implementation of a programming system that enables third-party developers to add spoken natural language (SNL) interfaces to standalone mobile applications. The central challenge is to create statistical recognition models that are accurate and resource-efficient in the face of the variety of natural language, while requiring little specialized knowledge from developers. We show that given a few examples from the developer, it is possible to elicit comprehensive sets of paraphrases of the examples using internet crowds. The exhaustive nature of these paraphrases allows us to use relatively simple, automatically derived statistical models for speech and language understanding that perform well without per-application tuning. We have realized our design fully as an extension to the Visual Studio IDE. Based on a new benchmark dataset with 3500 spoken instances of 27 commands from 20 subjects and a small developer study, we establish the promise of our approach and the impact of various design choices.} } @inproceedings{han13-hotos, author = "Seungyeop Han and Matthai Philipose", title = {The Case for Onloading Continuous High-Datarate Perception to the Phone}, booktitle = hotos, year = 2013, month = 5, url = {/papers/onloading-hotos13.pdf}, abstract = { Much has been said recently on off-loading computations from the phone. In particular, workloads such as speech and visual recognition that involve models based on ``big data'' are thought to be prime candidates for cloud processing. We posit that the next few years will see the arrival of mobile usages that require continuous processing of audio and video data from wearable devices. We argue that these usages are unlikely to flourish unless substantial computation is moved back on to the phone. We outline possible solutions to the problems inherent in such a move. We advocate a close partnership between perception and systems researchers to realize these usages. } } @InProceedings{scott16_satel, author = {Will Scott and Thomas Anderson and Tadayoshi Kohno and Arvind Krishnamurthy}, title = {Satellite: Joint Analysis of CDNs and Network-Level Interference}, booktitle = usenix_atc, year = 2016, month = 6, address = {Denver, CO}, url = {/papers/satellite-atc16.pdf}, note= {Best Student Paper Award} } @Article{zhang16_when_is_operat_order_requir, author = {Irene Zhang and Naveen Kr. Sharma and Adriana Szekeres and Arvind Krishnamurthy and Dan R. K. Ports}, title = {When Is Operation Ordering Required in Replicated Transactional Storage?}, journal = {IEEE Data Engineering Bulletin}, year = 2016, month = 3, volume = 39, number = 1, pages = {27--38}, url = {/papers/ordering-debull16.pdf}, abstract = {Today's replicated transactional storage systems typically have a layered architecture, combining protocols for transaction coordination, consistent replication, and concurrency control. These systems generally require costly strongly-consistent replication protocols like Paxos, which assign a total order to all operations. To avoid this cost, we ask whether all replicated operations in these systems need to be strictly ordered. Recent research has yielded replication protocols that can avoid unnecessary ordering, e.g., by exploiting commutative operations, but it is not clear how to apply these to replicated transaction processing systems. We answer this question by analyzing existing transaction processing designs in terms of which replicated operations require ordering and which simply require fault tolerance. We describe how this analysis leads to our recent work on TAPIR, a transaction protocol that efficiently provides strict serializability by using a new replication protocol that provides fault tolerance but not ordering for most operations.}, } @InProceedings{li16_just_say_no_paxos, author = {Jialin Li and Ellis Michael and Adriana Szekeres and Naveen Kr. Sharma and Dan R. K. Ports}, title = {Just Say {NO} to {Paxos} Overhead: Replacing Consensus with Network Ordering}, booktitle = osdi, year = 2016, month = 11, address = {Savannah, GA, USA}, url = {/papers/nopaxos-osdi16.pdf}, slides = {/papers/nopaxos-osdi16-slides.pdf}, abstract = {Distributed applications use replication, implemented by protocols like Paxos, to ensure data availability and transparently mask server failures. This paper presents a new approach to achieving replication in the data center without the performance cost of traditional methods. Our work carefully divides replication responsibility between the network and protocol layers. The network orders requests but does not ensure reliable delivery -- using a new primitive we call ordered unreliable multicast (OUM). Implementing this primitive can be achieved with near-zero-cost in the data center. Our new replication protocol, Network-Ordered Paxos (NOPaxos), exploits network ordering to provide strongly consistent replication without coordination. The resulting system not only outperforms both latency- and throughput-optimized protocols on their respective metrics, but also yields throughput within 2% and latency within 16 us of an unreplicated system -- providing replication without the performance cost.} } @TechReport{li16_just_say_no_paxos_tr, author = {Jialin Li and Ellis Michael and Adriana Szekeres and Naveen Kr. Sharma and Dan R. K. Ports}, title = {Just Say {NO} to {Paxos} Overhead: Replacing Consensus with Network Ordering (Extended Version)}, institution = {University of Washington CSE}, year = {2016}, month = 11, number = {UW-CSE-2016-09-02}, url = {/papers/nopaxos-tr16.pdf}, abstract = {Distributed applications use replication, implemented by protocols like Paxos, to ensure data availability and transparently mask server failures. This paper presents a new approach to achieving replication in the data center without the performance cost of traditional methods. Our work carefully divides replication responsibility between the network and protocol layers. The network orders requests but does not ensure reliable delivery -- using a new primitive we call ordered unreliable multicast (OUM). Implementing this primitive can be achieved with near-zero-cost in the data center. Our new replication protocol, Network-Ordered Paxos (NOPaxos), exploits network ordering to provide strongly consistent replication without coordination. The resulting system not only outperforms both latency- and throughput-optimized protocols on their respective metrics, but also yields throughput within 2% and latency within 16 us of an unreplicated system -- providing replication without the performance cost.} } @InProceedings{sigurbjarnarson16_push_button_verif_file_system_crash_refin, author = {Helgi Sigurbjarnarson and James Bornholt and Emina Torlak and Xi Wang}, title = {Push-Button Verification of File Systems via Crash Refinement}, booktitle = osdi, year = 2016, month = 11, note = {Best Paper Award}, address = {Savannah, GA, USA}, url = {/papers/yggdrasil-osdi16.pdf}, abstract = {The file system is an essential operating system component for persisting data on storage devices. Writing bug-free file systems is non-trivial, as they must correctly implement and maintain complex on-disk data structures even in the presence of system crashes and reorderings of disk operations. This paper presents Yggdrasil, a toolkit for writing file systems with push-button verification: Yggdrasil requires no manual annotations or proofs about the implementation code, and it produces a counterexample if there is a bug. Yggdrasil achieves this automation through a novel definition of file system correctness called crash refinement, which requires the set of possible disk states produced by an implementation (including states produced by crashes) to be a subset of those allowed by the specification. Crash refinement is amenable to fully automated satisfiability modulo theories (SMT) reasoning, and enables developers to implement file systems in a modular way for verification. With Yggdrasil, we have implemented and verified the Yxv6 journaling file system, the Ycp file copy utility, and the Ylog persistent log. Our experience shows that the ease of proof and counterexample-based debugging support make Yggdrasil practical for building reliable storage applications.} } @InProceedings{zhang16_diamon, author = {Irene Zhang and Niel Lebeck and Pedro Fonseca and Brandon Holt and Raymond Cheng and Ariadna Norberg and Arvind Krishnamurthy and Henry M. Levy}, title = {Diamond: Automating Data Management and Storage for Wide-area, Reactive Applications},booktitle = osdi, year = 2016, month = 11, address = {Savannah, GA, USA}, url = {/papers/diamond-osdi16.pdf}, slides = {/papers/diamond-osdi16-slides.pdf}, abstract = {Users of today's popular wide-area apps (e.g., Twitter, Google Docs, and Words with Friends) must no longer save and reload when updating shared data; instead, these applications are reactive, providing the illusion of continuous synchronization across mobile devices and the cloud. Achieving this illusion poses a complex distributed data management problem for programmers. This paper presents the first reactive data management service, called Diamond, which provides persistent cloud storage, reliable synchronization between storage and mobile devices, and automated execution of application code in response to shared data updates. We demonstrate that Diamond greatly simplifies the design of reactive applications, strengthens distributed data sharing guarantees, and supports automated reactivity with low performance overhead.} } @InProceedings{holt16_discip_incon_consis_types, author = {Brandon Holt and James Bornholt and Irene Zhang and Dan R. K. Ports and Mark Oskin and Luis Ceze}, title = {Disciplined Inconsistency with Consistency Types}, booktitle = socc, year = 2016, month = 10, address = {Santa Clara, CA, USA} } @InProceedings{cheng16_radiat, author = {Raymond Cheng and William Scott and Paul Ellenbogen and Jon Howell and Franziska Roesner and Arvind Krishnamurthy and Thomas Anderson}, title = {Radiatus: Strong User Isolation for Scalable Web Applications}, booktitle = socc, year = 2016, month = 10, address = {Santa Clara, CA, USA} } @InProceedings{cano16_charac_privat_cloud, author = {Ignacio Cano and Srinivas Aiyar and Arvind Krishnamurthy}, title = {Characterizing Private Clouds: A Large-Scale Empirical Analysis of Enterprise Clusters}, booktitle = socc, year = 2016, month = 10, address = {Santa Clara, CA, USA} } @InProceedings{haichen17-specialization, author = {Haichen Shen and Seungyeop Han and Matthai Philipose and Arvind Krishnamurthy}, title = {Fast Video Classification via Adaptive Cascading of Deep Models}, booktitle = cvpr, year = 2017, month = 7, address = {Honolulu, HI, USA}, url = {/papers/specialization-cvpr17.pdf}, abstract = {Recent advances have enabled "oracle" classifiers that can classify across many classes and input distributions with high accuracy without retraining. However, these classifiers are relatively heavyweight, so that applying them to classify video is costly. We show that day-to-day video exhibits highly skewed class distributions over the short term, and that these distributions can be classified by much simpler models. We formulate the problem of detecting the short-term skews online and exploiting models based on it as a new sequential decision making problem dubbed the Online Bandit Problem, and present a new algorithm to solve it. When applied to recognizing faces in TV shows and movies, we realize end-toend classification speedups of 2.4-7.8x/2.6-11.2x (on GPU/CPU) relative to a state-of-the-art convolutional neural network, at competitive accuracy.}, note = {Spotlight}, } @TechReport{michael17-recove-shared-object-extended, author = {Ellis Michael and Dan R. K. Ports and Naveen Kr. Sharma and Adriana Szekeres}, title = {Recovering Shared Objects Without Stable Storage (Extended Version)}, institution = {University of Washington CSE}, year = 2017, number = {UW-CSE-TR-17-08-01}, address = {Seattle, WA, USA}, month = 8, url = {/papers/recovering-tr17.pdf}, abstract = {This paper considers the problem of building fault-tolerant shared objects when processes can crash and recover but lose their persistent state on recovery. This Diskless Crash-Recovery (DCR) model matches the way many long-lived systems are built. We show that it presents new challenges, as operations that are recorded at a quorum may not persist after some of the processes in that quorum crash and then recover. To address this problem, we introduce the notion of crash-consistent quorums, where no recoveries happen during the quorum responses. We show that relying on crash-consistent quorums enables a recovery procedure that can recover all operations that successfully finished. Crash-consistent quorums can be easily identified using a mechanism we term the crash vector, which tracks the causal relationship between crashes, recoveries, and other operations. We apply crash-consistent quorums and crash vectors to build two storage primitives. We give a new algorithm for multi-writer, multi-reader atomic registers in the DCR model that guarantees safety under all conditions and termination under a natural condition. It improves on the best prior protocol for this problem by requiring fewer rounds, fewer nodes to participate in the quorum, and a less restrictive liveness condition. We also present a more efficient single-writer, single-reader atomic set---a virtual stable storage abstraction. It can be used to lift any existing algorithm from the traditional Crash-Recovery model to the DCR model. We examine a specific application, state machine replication, and show that existing diskless protocols can violate their correctness guarantees, while ours offers a general and correct solution.} } @InProceedings{nelson17-hyperkernel-push-button, author = {Luke Nelson and Helgi Sigurbjarnarson and Kaiyuan Zhang and Dylan Johnson and James Bornholt and Emina Torlak and Xi Wang}, title = {Hyperkernel: Push-Button Verification of an OS Kernel}, booktitle = sosp, year = 2017, month = 10, address = {Shanghai, China}, url = {/papers/nelson-hyperkernel.pdf}, slides = {/papers/hyperkernel-sosp-slides.pdf}, video = {https://dl.acm.org/ft_gateway.cfm?id=3132748&ftid=1940400&dwn=1}, abstract = { This paper describes an approach to designing, implementing, and formally verifying the functional correctness of an OS kernel, named Hyperkernel, with a high degree of proof automation and low proof burden.We base the design of Hyperkernel's interface on xv6, a Unix-like teaching operating system. Hyperkernel introduces three key ideas to achieve proof automation: it finitizes the kernel interface to avoid unbounded loops or recursion; it separates kernel and user address spaces to simplify reasoning about virtual memory; and it performs verification at the LLVM intermediate representation level to avoid modeling complicated C semantics. We have verified the implementation of Hyperkernel with the Z3 SMT solver, checking a total of 50 system calls and other trap handlers. Experience shows that Hyperkernel can avoid bugs similar to those found in xv6, and that the verification of Hyperkernel can be achieved with a low proof burden. } } @InProceedings{li17-eris-cooord-free-consis-trans, author = {Jialin Li and Ellis Michael and Dan R. K. Ports}, title = {Eris: Coordination-Free Consistent Transactions Using In-Network Concurrency Control}, booktitle = sosp, year = 2017, month = 10, address = {Shanghai, China}, url = {/papers/eris-sosp17.pdf}, slides = {/papers/eris-sosp17-slides.pdf}, video = {https://dl.acm.org/ft_gateway.cfm?id=3132751&ftid=1940567&dwn=1}, abstract = {Distributed storage systems aim to provide strong consistency and isolation guarantees on an architecture that is partitioned across multiple shards for scalability and replicated for fault tolerance. Traditionally, achieving all of these goals has required an expensive combination of atomic commitment and replication protocols -- introducing extensive coordination overhead. Our system, Eris, takes a different approach. It moves a core piece of concurrency control functionality, which we term multi-sequencing, into the datacenter network itself. This network primitive takes on the responsibility for consistently ordering transactions, and a new lightweight transaction protocol ensures atomicity. The end result is that Eris avoids both replication and transaction coordination overhead: we show that it can process a large class of distributed transactions in a single round-trip from the client to the storage system without any explicit coordination between shards or replicas in the normal case. It provides atomicity, consistency, and fault tolerance with less than 10% overhead -- achieving throughput 3.6--35x higher and latency 72--80% lower than a conventional design on standard benchmarks.} } @TechReport{li17-eris-cooord-free-consis-trans-extended, author = {Jialin Li and Ellis Michael and Dan R. K. Ports}, title = {Eris: Coordination-Free Consistent Transactions Using In-Network Concurrency Control (Extended Version)}, institution = {University of Washington CSE}, year = 2017, number = {UW-CSE-TR-17-01-01}, address = {Seattle, WA, USA}, month = 10, url = {/papers/eris-tr17.pdf}, abstract = {Distributed storage systems aim to provide strong consistency and isolation guarantees on an architecture that is partitioned across multiple shards for scalability and replicated for fault tolerance. Traditionally, achieving all of these goals has required an expensive combination of atomic commitment and replication protocols -- introducing extensive coordination overhead. Our system, Eris, takes a different approach. It moves a core piece of concurrency control functionality, which we term multi-sequencing, into the datacenter network itself. This network primitive takes on the responsibility for consistently ordering transactions, and a new lightweight transaction protocol ensures atomicity. The end result is that Eris avoids both replication and transaction coordination overhead: we show that it can process a large class of distributed transactions in a single round-trip from the client to the storage system without any explicit coordination between shards or replicas in the normal case. It provides atomicity, consistency, and fault tolerance with less than 10% overhead -- achieving throughput 3.6--35x higher and latency 72--80% lower than a conventional design on standard benchmarks.} } @InProceedings{michael17-recove-shared-object, author = {Ellis Michael and Dan R. K. Ports and Naveen Kr. Sharma and Adriana Szekeres}, title = {Recovering Shared Objects Without Stable Storage}, booktitle = disc, year = 2017, month = 10, address = {Vienna, Austria}, url = {/papers/recovering-disc17.pdf}, abstract = {This paper considers the problem of building fault-tolerant shared objects when processes can crash and recover but lose their persistent state on recovery. This Diskless Crash-Recovery (DCR) model matches the way many long-lived systems are built. We show that it presents new challenges, as operations that are recorded at a quorum may not persist after some of the processes in that quorum crash and then recover. To address this problem, we introduce the notion of crash-consistent quorums, where no recoveries happen during the quorum responses. We show that relying on crash-consistent quorums enables a recovery procedure that can recover all operations that successfully finished. Crash-consistent quorums can be easily identified using a mechanism we term the crash vector, which tracks the causal relationship between crashes, recoveries, and other operations. We apply crash-consistent quorums and crash vectors to build two storage primitives. We give a new algorithm for multi-writer, multi-reader atomic registers in the DCR model that guarantees safety under all conditions and termination under a natural condition. It improves on the best prior protocol for this problem by requiring fewer rounds, fewer nodes to participate in the quorum, and a less restrictive liveness condition. We also present a more efficient single-writer, single-reader atomic set---a virtual stable storage abstraction. It can be used to lift any existing algorithm from the traditional Crash-Recovery model to the DCR model. We examine a specific application, state machine replication, and show that existing diskless protocols can violate their correctness guarantees, while ours offers a general and correct solution.} } @InProceedings{michael17-toward-causal-object, author = {Ellis Michael and Dan R. K. Ports}, title = {Towards Causal Datacenter Networks}, booktitle = papoc, year = 2018, month = 4, address = {Porto, Portugal}, url = {/papers/tcdn-papoc18.pdf}, abstract = {Traditionally, distributed systems conservatively assume an asynchronous network. However, recent work on the co-design of networks and distributed systems has shown that stronger ordering properties are achievable in datacenter networks and yield performance improvements for the distributed systems they support. We build on that trend and ask whether it is possible for the datacenter network to order all messages in a protocol-agnostic way. This approach, which we call omnisequencing, would ensure causal delivery of all messages, making consistency a network- level guarantee.} } @inproceedings{dslabs-eurosys19, author = {Ellis Michael and Doug Woos and Thomas Anderson and Michael D. Ernst and Zachary Tatlock}, title = {Teaching Rigorous Distributed Systems With Efficient Model Checking}, booktitle = eurosys, year = 2019, month = 3, location = {Dresden, Germany}, url = {https://syslab.cs.washington.edu/papers/dslabs-eurosys19.pdf}, slides = {https://syslab.cs.washington.edu/papers/dslabs-eurosys19-slides.pdf}, abstract = {Writing correct distributed systems code is difficult, especially for novice programmers. The inherent asynchrony and need for fault-tolerance make errors almost inevitable. Industrial-strength testing and model checking have been shown to be effective at uncovering bugs, but they come at a cost -- in both time and effort -- that is far beyond what - in both time and effort - that is far beyond what students can afford. To address this, we have developed an efficient model checking framework and visual debugger for distributed systems, with the goal of helping students find and fix bugs in near real-time. We identify two novel techniques for reducing the search state space to more efficiently find bugs in student implementations. We report our experiences using these tools to help over two hundred students build a correct, linearizable, fault-tolerant, dynamically-sharded key--value store.} } @inproceedings{liu2017incbricks-asplos17, title={IncBricks: Toward In-Network Computation with an In-Network Cache}, author={Liu, Ming and Luo, Liang and Nelson, Jacob and Ceze, Luis and Krishnamurthy, Arvind and Atreya, Kishore}, booktitle=asplos, year=2017, month=4, url = {https://homes.cs.washington.edu/~arvind/papers/incbricks.pdf} } @inproceedings{jin-blameit-sigcomm19, title={Zooming in on Wide-area Latencies to a Global Cloud Provider}, author = {Yuchen Jin and R. Sundararajan and Ganesh Ananthanarayanan and Junchen Jiang and Venkat Padmanabhan and Manuel Schroder and Matt Calder and Arvind Krishnamurthy}, booktitle = sigcomm, year = 2019, month = 8 } @inproceedings{liu-ipipe-sigcomm19, title = {iPipe: A Framework for Building Distributed Applications on Multicore SoC SmartNICs}, author = {Ming Liu and Tianyi Cui and Henrik Schuh and Arvind Krishnamurthy and Simon Peter and Karan Gupta}, booktitle = sigcomm, year = 2019, month = 8 } @inproceedings{kaufmann-taas-eurosys19, title = {TCP Acceleration as an OS Service}, author = {Antoine Kaufmann and Tim Stamler and Simon Peter and Naveen Sharma and Thomas Anderson and Arvind Krishnamurthy}, booktitle = eurosys, year = 2019, month = 4, url = {https://homes.cs.washington.edu/~arvind/papers/flextcp.pdf} } @inproceedings{danyang-slim-nsdi19, title = {Slim: OS Kernel Support for a Low-Overhead Container Overlay Network}, author = {Danyang Zhuo and Kaiyuan Zhang and Yibo Zhu and Harry Liu and Matthew Rockett and Arvind Krishnamurthy and Thomas Anderson}, booktitle = nsdi, year = 2019, month = 2, url = {https://homes.cs.washington.edu/~arvind/papers/slim.pdf} } @inproceedings{yuchen-problink-nsdi19, title = {Stable and Practical AS Relationship Inference with ProbLink}, author = {Yuchen Jin and Colin Scott and Amogh Dhamdhere and Vasilis Giotsas and Arvind Krishnamurthy and S. Shenker}, booktitle = nsdi, year = 2019, month = 2, url = {https://homes.cs.washington.edu/~arvind/papers/probas.pdf} } @inproceedings{tianqi-tvm-osdi18, title = {TVM: An Automated End-to-End Optimizing Compiler for Deep Learning}, author = {Tianqi Chen and Thierry Moreau and Ziheng Jiang and Lianmin Zheng and Eddie Yan and Haichen Shen and Meghan Cowan and Leyuan Wang and Yuwei Hu and Luis Ceze and Carlos Guestrin and Arvind Krishnamurthy}, booktitle = osdi, year = 2018, month = 10, url = {https://homes.cs.washington.edu/~arvind/papers/tvm.pdf} } @inproceedings{radhika-tvm-sigcomm18, title = {Revisiting Network Support for RDMA}, author = {Radhika Mittal and Alexander Shpiner and Aurojit Panda and Eitan Zahavi and Arvind Krishnamurthy and Sylvia Ratnasamy and Scott Shenker}, booktitle = sigcomm, year = 2018, month = 8, url = {https://homes.cs.washington.edu/~arvind/papers/irn.pdf} } @inproceedings{pedro-multinyx-eurosys18, title = {MultiNyx: A Multi-level Abstraction Framework for Systematic Analysis of Hypervisors}, author = {Pedro Fonseca and Xi Wang and Arvind Krishnamurthy}, booktitle = eurosys, year = 2018, month = 4, url = {https://homes.cs.washington.edu/~arvind/papers/multinyx.pdf} } @inproceedings{naveen-afq-nsdi18, title = {Approximating Fair Queueing on Reconfigurable Switches}, author = {Naveen Sharma and Ming Liu and Kishore Atreya and Arvind Krishnamurthy}, booktitle = nsdi, year = 2018, month = 4, url = {https://homes.cs.washington.edu/~arvind/papers/afq.pdf} } @inproceedings{qiao-deepview-nsdi18, title = {Deepview: Virtual Disk Failure Diagnosis and Pattern Detection for Azure}, author = {Qiao Zhang and Guo Yu and Chuanxiong Guo and Yingnong Dang and Nick Swanson and Xinsheng Yang and Randolph Yao and Murali Chintalapati and Arvind Krishnamurthy and Thomas Anderson}, booktitle = nsdi, year = 2018, month = 4, url = {https://homes.cs.washington.edu/~arvind/papers/deepview.pdf} } @inproceedings{pedro-bugs-eurosys17, title = {An Empirical Study on the Correctness of Formally Verified Distributed Systems}, author = {Pedro Fonseca and Kaiyuan Zhang and Xi Wang and Arvind Krishnamurthy}, booktitle = eurosys, year = 2017, month = 4, url = {https://homes.cs.washington.edu/~arvind/papers/dsbugs.pdf} } @inproceedings{danyang-rail-nsdi17, title = {RAIL: A Case for Redundant Arrays of Inexpensive Links in Data Center Networks}, author = {Danyang Zhuo and Monia Ghobadi and Ratul Mahajan and Amar Phanishayee and Xuan Zou and Hang Guan and Arvind Krishnamurthy and Thomas Anderson}, booktitle = nsdi, year = 2017, month = 3, url = {https://homes.cs.washington.edu/~arvind/papers/rail.pdf} } @inproceedings{naveen-flexswitch-nsdi17, title = {Evaluating the Power of Flexible Packet Processing for Network Resource Allocation}, author = {Naveen Sharma and Antoine Kaufmann and Thomas Anderson and Changhoon Kim and Arvind Krishnamurthy and Jacob Nelson and S. Peter}, booktitle = nsdi, year = 2017, month = 3, url = {https://homes.cs.washington.edu/~arvind/papers/flexswitch.pdf} } @inproceedings{panda-scl-nsdi17, title = {SCL: Simplifying Distributed SDN Control Planes}, author = {Aurojit Panda and Wenting Zheng and Xiaohe Hu and Arvind Krishnamurthy and Scott Shenker}, booktitle = nsdi, year = 2017, month = 3, url = {https://homes.cs.washington.edu/~arvind/papers/pilo.pdf} } @inproceedings{nacho-curator-nsdi17, title = {Curator: Self-Managing Storage for Enterprise Clusters}, author = {Ignacio Cano and Srinivas Aiyar and Varun Arora and Manosiz Bhattacharyya and Akhilesh Chaganti and Chern Cheah and Brent Chun and Karan Gupta and Vinayak Khot and A. Krishnamurthy}, booktitle = nsdi, year = 2017, month = 3, url = {https://homes.cs.washington.edu/~arvind/papers/curator.pdf} }