Michael Kaminsky

dblp:09/4259 · DBLP profile ↗
← Back
74ranked-venue papers
4as first author
1since 2021 · last 2023
—ORCID · none

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

Computer networks · 28Systems, architecture and hardware · 21 · 1 first-author · 1 since 2021Software engineering, systems software and programming languages · 14 · 1 first-author · 1 since 2021Databases, data management, data science and information retrieval · 7Security and privacy · 3Theory of computation · 2Human-computer interaction and ubiquitous computing · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
35 papers
Storage systems · 56% Distributed systems · 18% Memory systems · 9%
Computer networks
21 papers
Datacenter networks · 30% Wireless networking · 22% Routing and switching · 15%
Databases, data mining, and information retrieval
8 papers
Indexing and storage engines · 77% Transaction processing and concurrency control · 16% Database system architecture and tuning · 4%
Software engineering, system software, and programming languages
3 papers
Operating systems · 34% Concurrent programming · 30% Services computing and microservices · 26%
Network and information security
12 papers
Network security · 65% Systems and software security · 12% Cryptographic protocols and secure computation · 12%

Topics — the 30 heaviest of 130, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Storage systems
key-value storage
1.9112023
Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server Platform · ACM Trans. Comput. Syst. 2016
Be Fast, Cheap and in Control with SwitchKV · NSDI 2016
Architecting to achieve a billion requests per second throughput on a single key-value store server platform · ISCA 2015
Storage systems
flash and SSD
0.822023
RAIZN: Redundant Array of Independent Zoned Namespaces · ASPLOS (2) 2023
SILT: a memory-efficient, high-performance key-value store · SOSP 2011
Indexing and storage engines › membership query
approximate membership query
0.822020
Succinct Range Filters · ACM Trans. Database Syst. 2020
SuRF: Practical Range Query Filtering with Fast Succinct Tries · SIGMOD Conference 2018
Indexing and storage engines › filter data structures
range filter
0.822020
Succinct Range Filters · ACM Trans. Database Syst. 2020
SuRF: Practical Range Query Filtering with Fast Succinct Tries · SIGMOD Conference 2018
Storage systems › storage reliability
RAID
0.712023
RAIZN: Redundant Array of Independent Zoned Namespaces · ASPLOS (2) 2023
Storage systems
storage reliability
0.712023
RAIZN: Redundant Array of Independent Zoned Namespaces · ASPLOS (2) 2023
Storage systems › flash and SSD › solid-state drive › zoned namespace SSD
ZNS RAID
0.712023
RAIZN: Redundant Array of Independent Zoned Namespaces · ASPLOS (2) 2023
Storage systems › flash and SSD › solid-state drive
zoned namespace SSD
0.712023
RAIZN: Redundant Array of Independent Zoned Namespaces · ASPLOS (2) 2023
Storage systems › key-value storage
in-memory key-value store
0.732016
Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server Platform · ACM Trans. Comput. Syst. 2016
Architecting to achieve a billion requests per second throughput on a single key-value store server platform · ISCA 2015
MICA: A Holistic Approach to Fast In-Memory Key-Value Storage · NSDI 2014
Distributed systems
replication
0.642016
FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs · OSDI 2016
There is more consensus in Egalitarian parliaments · SOSP 2013
Don't settle for eventual: scalable causal consistency for wide-area storage with COPS · SOSP 2011
Indexing and storage engines › data compression
dictionary compression
0.412020
Order-Preserving Key Compression for In-Memory Search Trees · SIGMOD Conference 2020
Operating systems › resource management › process management
CPU scheduling
0.412020
Lightweight Preemptible Functions · USENIX ATC 2020
Memory systems
cache design
0.412020
Fast Software Cache Design for Network Appliances · USENIX ATC 2020
Memory systems › cache management
software-managed cache
0.412020
Fast Software Cache Design for Network Appliances · USENIX ATC 2020
Network security › attack resilience › attack mitigation
sybil attack defense
0.452010
SybilLimit: A Near-Optimal Social Network Defense Against Sybil Attacks · IEEE/ACM Trans. Netw. 2010
DSybil: Optimal Sybil-Resistance for Recommendation Systems · SP 2009
SybilGuard: defending against sybil attacks via social networks · IEEE/ACM Trans. Netw. 2008
Distributed systems
consensus
0.422016
FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs · OSDI 2016
There is more consensus in Egalitarian parliaments · SOSP 2013
Datacenter networks
RDMA
0.432016
Design Guidelines for High Performance RDMA Systems · USENIX ATC 2016
FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs · OSDI 2016
Using RDMA efficiently for key-value services · SIGCOMM 2014
Datacenter networks
remote procedure calls
0.412019
Datacenter RPCs can be General and Fast · NSDI 2019
Indexing and storage engines › concurrent index
latch-free index
0.312018
Building a Bw-Tree Takes More Than Just Buzz Words · SIGMOD Conference 2018
Services computing and microservices
microservice architecture
0.312018
Putting the "Micro" Back in Microservice · USENIX ATC 2018
Hardware accelerators and domain-specific architectures
video processing accelerator
0.312018
Mainstream: Dynamic Stem-Sharing for Multi-Tenant Video Processing · USENIX ATC 2018
Transaction processing and concurrency control › OLTP
in-memory transaction processing
0.312017
Cicada: Dependably Fast Multi-Core In-Memory Transactions · SIGMOD Conference 2017
Network security › attack resilience › attack mitigation › sybil attack defense
social network-based sybil defense
0.332010
SybilLimit: A Near-Optimal Social Network Defense Against Sybil Attacks · IEEE/ACM Trans. Netw. 2010
SybilGuard: defending against sybil attacks via social networks · IEEE/ACM Trans. Netw. 2008
Toward an optimal social network defense against Sybil attacks · PODC 2007
Distributed systems
peer-to-peer systems
0.352010
Balancing throughput, robustness, and in-order delivery in P2P VoD · CoNEXT 2010
Exploiting Similarity for Multi-Source Downloads Using File Handprints · NSDI 2007
SybilLimit: A Near-Optimal Social Network Defense Against Sybil Attacks · IEEE/ACM Trans. Netw. 2010
Indexing and storage engines › access methods
hybrid index
0.212016
Reducing the Storage Overhead of Main-Memory OLTP Databases with Hybrid Indexes · SIGMOD Conference 2016
Distributed systems › distributed database
distributed transactions
0.212016
FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs · OSDI 2016
Storage systems › file systems › write-optimized file system
log-structured file system
0.212016
Towards Accurate and Fast Evaluation of Multi-Stage Log-structured Designs · FAST 2016
Performance modeling and evaluation
workload characterization
0.212016
Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server Platform · ACM Trans. Comput. Syst. 2016
Storage systems › key-value storage
flash-based key-value store
0.222011
SILT: a memory-efficient, high-performance key-value store · SOSP 2011
FAWN: a fast array of wimpy nodes · SOSP 2009
Routing and switching › switching
hybrid switching
0.212015
Scheduling techniques for hybrid circuit/packet networks · CoNEXT 2015

Methods — techniques the papers use, named apart from their topics

succinct trie · 0.9bloom filter · 0.9parity · 0.7garbage collection control · 0.7data striping · 0.7datagram RPC · 0.5hashing · 0.4dynamic stem-sharing · 0.3compare-and-swap · 0.3provable guarantees · 0.3heavy-tail distribution analysis · 0.3simulation · 0.2order-preserving index structures · 0.2microbenchmarking · 0.2full-system characterization · 0.2design principles · 0.2RDMA · 0.2protocol design · 0.2
YearPublicationVenuePosition
2023 RAIZN: Redundant Array of Independent Zoned Namespaces
abstract
Zoned Namespace (ZNS) SSDs are the latest evolution of host-managed flash storage, enabling improved performance at a lower cost-per-byte than traditional block interface (conventional) SSDs. To date, there is no support for arranging these new devices in arrays that offer increased throughput and reliability (RAID). We identify key challenges in designing redundant ZNS SSD arrays, such as managing metadata updates and persisting partial stripe writes in the absence of overwrite support from the device. We present RAIZN, a logical volume manager that exposes a ZNS interface and stripes data and parity across ZNS SSDs. RAIZN provides more stable throughput and lower tail latencies than an mdraid array of conventional SSDs based on the same hardware platform. RAIZN achieves superior performance because device-level garbage collection slows down conventional SSDs. We confirm that the benefits of RAIZN translate to higher layers by adapting the F2FS file system, RocksDB key-value store, and MySQL database to work with ZNS and leverage its benefits by closely controlling garbage collection. Compared to arrays of conventional SSDs experiencing on-device garbage collection, RAIZN leverages the ZNS interface to maintain consistent performance with up to 14× higher throughput and lower tail latency.
Thomas Kim, Jekyeom Jeon, Nikhil Arora, Huaicheng Li, Michael Kaminsky, David G. Andersen, Gregory R. Ganger, George Amvrosiadis, Matias Bjørling
ASPLOS (2)5
2020 Challenges and solutions for fast remote persistent memory access
abstract
Non-volatile main memory DIMMs (NVMMs), such as Intel's Optane DC Persistent Memory modules, provide data durability with orders of magnitude higher performance than prior durable technologies. This paper explores the unique challenges that arise when building high-performance networked systems for NVMM. Compared to DRAM, we find that NVMMs have distinctive fundamental properties that pose unique challenges for networked access to NVMM, both from the NIC and the CPU. We show that much of the challenges in efficient access to remote NVMM arises from the fact that CPU caches are not optimized for NVMM. To address these challenges, we propose a menu of solutions for current hardware and evaluate their benefits.
Anuj Kalia, David G. Andersen, Michael Kaminsky
SoCC3
2020 High availability in cheap distributed key value storage
abstract
Memory-based storage currently offers the highest-performance distributed storage, keeping the primary copy of all data in DRAM. Recent advances in non-volatile main memory (NVMM) technologies promise latency similar to DRAM at reduced cost and energy, but will make providing high availability more challenging. Previous approaches to failure recovery involve maintaining multiple identical replicas or relying on fast offline restoration of data from backup replicas stored on SSD. Unfortunately, NVMM's combination of lower write throughput and increased storage density means that offline restoration can no longer provide sufficiently fast recovery, and maintaining multiple identical replicas is generally cost prohibitive.
Thomas Kim, Daniel Lin-Kit Wong, Gregory R. Ganger, Michael Kaminsky, David G. Andersen
SoCC4
2020 Order-Preserving Key Compression for In-Memory Search Trees
abstract
We present the High-speed Order-Preserving Encoder (HOPE) for in-memory search trees. HOPE is a fast dictionary-based compressor that encodes arbitrary keys while preserving their order. HOPE's approach is to identify common key patterns at a fine granularity and exploit the entropy to achieve high compression rates with a small dictionary. we first develop a theoretical model to reason about order-preserving dictionary designs. We then select six representative compression schemes using this model and implement them in HOPE. These schemes make different trade-offs between compression rate and encoding speed. We evaluate HOPE on five data structures used in databases: SuRF, ART, HOT, B+tree, and Prefix B+tree. Our experiments show that using HOPE allows the search trees to achieve lower query latency (up to 40% lower) and better memory efficiency (up to 30% smaller) simultaneously for most string key workloads.
Huanchen Zhang, David G. Andersen, Michael Kaminsky, Kimberly Keeton, Andrew Pavlo
SIGMOD Conference4
2020 Lightweight Preemptible Functions
Sol Boucher, Anuj Kalia, David G. Andersen, Michael Kaminsky
USENIX ATC4
2020 Fast Software Cache Design for Network Appliances
Dong Zhou 0006, Huacheng Yu, Michael Kaminsky, David G. Andersen
USENIX ATC3
2020 Succinct Range Filters
abstract
We present the Succinct Range Filter (SuRF), a fast and compact data structure for approximate membership tests. Unlike traditional Bloom filters, SuRF supports both single-key lookups and common range queries: open-range queries, closed-range queries, and range counts. SuRF is based on a new data structure called the Fast Succinct Trie (FST) that matches the point and range query performance of state-of-the-art order-preserving indexes, while consuming only 10 bits per trie node. The false-positive rates in SuRF for both point and range queries are tunable to satisfy different application needs. We evaluate SuRF in RocksDB as a replacement for its Bloom filters to reduce I/O by filtering requests before they access on-disk data structures. Our experiments on a 100-GB dataset show that replacing RocksDB’s Bloom filters with SuRFs speeds up open-seek (without upper-bound) and closed-seek (with upper-bound) queries by up to 1.5× and 5× with a modest cost on the worst-case (all-missing) point query throughput due to slightly higher false-positive rate.
Huanchen Zhang, Hyeontaek Lim, Viktor Leis, David G. Andersen, Michael Kaminsky, Kimberly Keeton, Andrew Pavlo
ACM Trans. Database Syst.5
2019 Datacenter RPCs can be General and Fast
Anuj Kalia, Michael Kaminsky, David G. Andersen
NSDI2
2018 Building a Bw-Tree Takes More Than Just Buzz Words
abstract
In 2013, Microsoft Research proposed the Bw-Tree (humorously termed the "Buzz Word Tree''), a lock-free index that provides high throughput for transactional database workloads in SQL Server's Hekaton engine. The Buzz Word Tree avoids locks by appending delta record to tree nodes and using an indirection layer that allows it to atomically update physical pointers using compare-and-swap (CaS). Correctly implementing this techniques requires careful attention to detail. Unfortunately, the Bw-Tree papers from Microsoft are missing important details and the source code has not been released.
Ziqi Wang 0007, Andrew Pavlo, Hyeontaek Lim, Viktor Leis, Huanchen Zhang, Michael Kaminsky, David G. Andersen
SIGMOD Conference6
2018 SuRF: Practical Range Query Filtering with Fast Succinct Tries
abstract
We present the Succinct Range Filter (SuRF), a fast and compact data structure for approximate membership tests. Unlike traditional Bloom filters, SuRF supports both single-key lookups and common range queries: open-range queries, closed-range queries, and range counts. SuRF is based on a new data structure called the Fast Succinct Trie (FST) that matches the point and range query performance of state-of-the-art order-preserving indexes, while consuming only 10 bits per trie node. The false positive rates in SuRF for both point and range queries are tunable to satisfy different application needs. We evaluate SuRF in RocksDB as a replacement for its Bloom filters to reduce I/O by filtering requests before they access on-disk data structures. Our experiments on a 100 GB dataset show that replacing RocksDB's Bloom filters with SuRFs speeds up open-seek (without upper-bound) and closed-seek (with upper-bound) queries by up to 1.5× and 5× with a modest cost on the worst-case (all-missing) point query throughput due to slightly higher false positive rate.
Huanchen Zhang, Hyeontaek Lim, Viktor Leis, David G. Andersen, Michael Kaminsky, Kimberly Keeton, Andrew Pavlo
SIGMOD Conference5
2018 Putting the "Micro" Back in Microservice
Sol Boucher, Anuj Kalia, David G. Andersen, Michael Kaminsky
USENIX ATC4
2018 Mainstream: Dynamic Stem-Sharing for Multi-Tenant Video Processing
Angela H. Jiang, Daniel Lin-Kit Wong, Christopher Canel, Lilia Tang, Ishan Misra, Michael Kaminsky, Michael A. Kozuch, Padmanabhan Pillai, David G. Andersen, Gregory R. Ganger
USENIX ATC6
2017 Using Indirect Routing to Recover from Network Traffic Scheduling Estimation Error
abstract
Increasingly, proposals for new datacenter networking fabrics employ some form of traffic scheduling-often to avoid congestion, mitigate queuing delays, or avoid timeouts. Fundamentally, practical implementations require estimating upcoming traffic demand. Unfortunately, as our results show, it is difficult to accurately predict demand in typical datacenter applications more than a few milliseconds ahead of time. We explore the impact of errors in demand estimation on traffic scheduling in circuit-switched networks. We show that even relatively small estimation errors such as shifting the arrival time of at most 30% of traffic by a few milliseconds can lead to suboptimal schedules that dramatically reduce network efficiency. Existing systems cope by provisioning extra capacity-either on each circuit, or through the addition of a separate packet-switched fabric. We show through simulation that indirect traffic routing is a powerful technique for recovering from the inefficiencies of suboptimal scheduling under common datacenter workloads, performing as well as networks with 16% extra circuit bandwidth or a packet switch with 6% of the circuit bandwidth.
Conglong Li, Matthew K. Mukerjee, David G. Andersen, Srinivasan Seshan, Michael Kaminsky, George Porter, Alex C. Snoeren
ANCS5
2017 Cicada: Dependably Fast Multi-Core In-Memory Transactions
abstract
Multi-core in-memory databases promise high-speed online transaction processing. However, the performance of individual designs suffers when the workload characteristics miss their small sweet spot of a desired contention level, read-write ratio, record size, processing rate, and so forth.
Hyeontaek Lim, Michael Kaminsky, David G. Andersen
SIGMOD Conference2
2016 Towards Accurate and Fast Evaluation of Multi-Stage Log-structured Designs
Hyeontaek Lim, David G. Andersen, Michael Kaminsky
FAST3
2016 Be Fast, Cheap and in Control with SwitchKV
Raghav Sethi, Michael Kaminsky, David G. Andersen, Michael J. Freedman
NSDI3
2016 FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs
Anuj Kalia, Michael Kaminsky, David G. Andersen
OSDI2
2016 Reducing the Storage Overhead of Main-Memory OLTP Databases with Hybrid Indexes
abstract
Using indexes for query execution is crucial for achieving high performance in modern on-line transaction processing databases. For a main-memory database, however, these indexes consume a large fraction of the total memory available and are thus a major source of storage overhead of in-memory databases. To reduce this overhead, we propose using a two-stage index: The first stage ingests all incoming entries and is kept small for fast read and write operations. The index periodically migrates entries from the first stage to the second, which uses a more compact, read-optimized data structure. Our first contribution is hybrid index, a dual-stage index architecture that achieves both space efficiency and high performance. Our second contribution is Dual-Stage Transformation (DST), a set of guidelines for converting any order-preserving index structure into a hybrid index. Our third contribution is applying DST to four popular order-preserving index structures and evaluating them in both standalone microbenchmarks and a full in-memory DBMS using several transaction processing workloads. Our results show that hybrid indexes provide comparable throughput to the original ones while reducing the memory overhead by up to 70%.
Huanchen Zhang, David G. Andersen, Andrew Pavlo, Michael Kaminsky, Lin Ma 0006
SIGMOD Conference4
2016 Design Guidelines for High Performance RDMA Systems
Anuj Kalia, Michael Kaminsky, David G. Andersen
USENIX ATC2
2016 Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server Platform
abstract
Distributed in-memory key-value stores (KVSs), such as memcached, have become a critical data serving layer in modern Internet-oriented data center infrastructure. Their performance and efficiency directly affect the QoS of web services and the efficiency of data centers. Traditionally, these systems have had significant overheads from inefficient network processing, OS kernel involvement, and concurrency control. Two recent research thrusts have focused on improving key-value performance. Hardware-centric research has started to explore specialized platforms including FPGAs for KVSs; results demonstrated an order of magnitude increase in throughput and energy efficiency over stock memcached. Software-centric research revisited the KVS application to address fundamental software bottlenecks and to exploit the full potential of modern commodity hardware; these efforts also showed orders of magnitude improvement over stock memcached. We aim at architecting high-performance and efficient KVS platforms, and start with a rigorous architectural characterization across system stacks over a collection of representative KVS implementations. Our detailed full-system characterization not only identifies the critical hardware/software ingredients for high-performance KVS systems but also leads to guided optimizations atop a recent design to achieve a record-setting throughput of 120 million requests per second (MRPS) (167MRPS with client-side batching) on a single commodity server. Our system delivers the best performance and energy efficiency (RPS/watt) demonstrated to date over existing KVSs including the best-published FPGA-based and GPU-based claims. We craft a set of design principles for future platform architectures, and via detailed simulations demonstrate the capability of achieving a billion RPS with a single server constructed following our principles.
Sheng Li 0007, Hyeontaek Lim, Victor W. Lee, Jung Ho Ahn, Anuj Kalia, Michael Kaminsky, David G. Andersen, Seongil O, Sukhan Lee 0002, Pradeep Dubey
ACM Trans. Comput. Syst.6
2015 Scheduling techniques for hybrid circuit/packet networks
abstract
A range of new datacenter switch designs combine wireless or optical circuit technologies with electrical packet switching to deliver higher performance at lower cost than traditional packet-switched networks. These "hybrid" networks schedule large traffic demands via a high-rate circuits and remaining traffic with a lower-rate, traditional packet-switches. Achieving high utilization requires an efficient scheduling algorithm that can compute proper circuit configurations and balance traffic across the switches. Recent proposals, however, provide no such algorithm and rely on an omniscient oracle to compute optimal switch configurations.
Matthew K. Mukerjee, Conglong Li, Nicolas Feltman, George Papen, Stefan Savage, Srinivasan Seshan, Geoffrey M. Voelker, David G. Andersen, Michael Kaminsky, George Porter, Alex C. Snoeren
CoNEXT10
2015 Architecting to achieve a billion requests per second throughput on a single key-value store server platform
abstract
Distributed in-memory key-value stores (KVSs), such as memcached, have become a critical data serving layer in modern Internet-oriented datacenter infrastructure. Their performance and efficiency directly affect the QoS of web services and the efficiency of datacenters. Traditionally, these systems have had significant overheads from inefficient network processing, OS kernel involvement, and concurrency control. Two recent research thrusts have focused upon improving key-value performance. Hardware-centric research has started to explore specialized platforms including FPGAs for KVSs; results demonstrated an order of magnitude increase in throughput and energy efficiency over stock memcached. Software-centric research revisited the KVS application to address fundamental software bottlenecks and to exploit the full potential of modern commodity hardware; these efforts too showed orders of magnitude improvement over stock memcached.
Sheng Li 0007, Hyeontaek Lim, Victor W. Lee, Jung Ho Ahn, Anuj Kalia, Michael Kaminsky, David G. Andersen, Seongil O, Sukhan Lee 0002, Pradeep Dubey
ISCA6
2015 Raising the Bar for Using GPUs in Software Packet Processing
Anuj Kalia, Dong Zhou 0006, Michael Kaminsky, David G. Andersen
NSDI3
2015 Scaling Up Clustered Network Appliances with ScaleBricks
abstract
This paper presents ScaleBricks, a new design for building scalable, clustered network appliances that must "pin" flow state to a specific handling node without being able to choose which node that should be. ScaleBricks applies a new, compact lookup structure to route packets directly to the appropriate handling node, without incurring the cost of multiple hops across the internal interconnect. Its lookup structure is many times smaller than the alternative approach of fully replicating a forwarding table onto all nodes. As a result, ScaleBricks is able to improve throughput and latency while simultaneously increasing the total number of flows that can be handled by such a cluster. This architecture is effective in practice: Used to optimize packet forwarding in an existing commercial LTE-to-Internet gateway, it increases the throughput of a four-node cluster by 23%, reduces latency by up to 10%, saves memory, and stores up to 5.7x more entries in the forwarding table.
Dong Zhou 0006, Hyeontaek Lim, David G. Andersen, Michael Kaminsky, Michael Mitzenmacher, Ren Wang 0001, Ajaypal Singh
SIGCOMM5
2014 Paxos Quorum Leases: Fast Reads Without Sacrificing Writes
abstract
This paper describes quorum leases, a new technique that allows Paxos-based systems to perform reads with high throughput and low latency. Quorum leases do not sacrifice consistency and have only a small impact on system availability and write latency. Quorum leases allow a majority of replicas to perform strongly consistent local reads, which substantially reduces read latency at those replicas (e.g., by two orders of magnitude in wide-area scenarios). Previous techniques for performing local reads in Paxos systems either (a) sacrifice consistency; (b) allow only one replica to read locally; or (c) decrease the availability of the system and increase the latency of all updates by requiring all replicas to be notified synchronously. We describe the design of quorum leases and evaluate their benefits compared to previous approaches through an implementation running in five geo-distributed Amazon EC2 datacenters.
Iulian Moraru, David G. Andersen, Michael Kaminsky
SoCC3
2014 Cuckoo Filter: Practically Better Than Bloom
abstract
In many networking systems, Bloom filters are used for high-speed set membership tests. They permit a small fraction of false positive answers with very good space efficiency. However, they do not permit deletion of items from the set, and previous attempts to extend "standard" Bloom filters to support deletion all degrade either space or performance.
David G. Andersen, Michael Kaminsky, Michael Mitzenmacher
CoNEXT3
2014 Algorithmic improvements for fast concurrent Cuckoo hashing
abstract
Fast concurrent hash tables are an increasingly important building block as we scale systems to greater numbers of cores and threads. This paper presents the design, implementation, and evaluation of a high-throughput and memory-efficient concurrent hash table that supports multiple readers and writers. The design arises from careful attention to systems-level optimizations such as minimizing critical section length and reducing interprocessor coherence traffic through algorithm re-engineering. As part of the architectural basis for this engineering, we include a discussion of our experience and results adopting Intel's recent hardware transactional memory (HTM) support to this critical building block. We find that naively allowing concurrent access using a coarse-grained lock on existing data structures reduces overall performance with more threads. While HTM mitigates this slowdown somewhat, it does not eliminate it. Algorithmic optimizations that benefit both HTM and designs for fine-grained locking are needed to achieve high performance.
David G. Andersen, Michael Kaminsky, Michael J. Freedman
EuroSys3
2014 MICA: A Holistic Approach to Fast In-Memory Key-Value Storage
Hyeontaek Lim, Dongsu Han, David G. Andersen, Michael Kaminsky
NSDI4
2014 Using RDMA efficiently for key-value services
abstract
This paper describes the design and implementation of HERD, a key-value system designed to make the best use of an RDMA network. Unlike prior RDMA-based key-value systems, HERD focuses its design on reducing network round trips while using efficient RDMA primitives; the result is substantially lower latency, and throughput that saturates modern, commodity RDMA hardware.
Anuj Kalia, Michael Kaminsky, David G. Andersen
SIGCOMM2
2013 Practical Batch-Updatable External Hashing with Sorting
abstract
This paper presents a practical external hashing scheme that supports fast lookup (7 microseconds) for large datasets (millions to billions of items) with a small memory footprint (2.5 bits/item) and fast index construction (151 K items/s for 1-KiB key-value pairs). Our scheme combines three key techniques: (1) a new index data structure (Entropy-Coded Tries); (2) the use of sorting as the main data manipulation method; and (3) support for incremental index construction for dynamic datasets. We evaluate our scheme by building an external dictionary on flash-based drives and demonstrate our scheme's high performance, compactness, and practicality.
Hyeontaek Lim, David G. Andersen, Michael Kaminsky
ALENEX3
2013 Memory-efficient groupby-aggregate using compressed buffer trees
abstract
The rapid growth of fast analytics systems, that require data processing in memory, makes memory capacity an increasingly-precious resource. This paper introduces a new compressed data structure called a Compressed Buffer Tree (CBT). Using a combination of techniques including buffering, compression, and serialization, CBTs improve the memory efficiency and performance of the GroupBy-Aggregate abstraction that forms the basis of not only batch-processing models like MapReduce, but recent fast analytics systems too. For streaming workloads, aggregation using the CBT uses 21--42% less memory than using Google SparseHash with up to 16% better throughput. The CBT is also compared to batch-mode aggregators in MapReduce runtimes such as Phoenix++ and Metis and consumes 4x and 5x less memory with 1.5--2x and 3--4x more performance respectively.
Hrishikesh Amur, Wolfgang Richter 0001, David G. Andersen, Michael Kaminsky, Karsten Schwan, Athula Balachandran, Erik Zawadzki
SoCC4
2013 Scalable, high performance ethernet forwarding with CuckooSwitch
abstract
Several emerging network trends and new architectural ideas are placing increasing demand on forwarding table sizes. From massive-scale datacenter networks running millions of virtual machines to flow-based software-defined networking, many intriguing design options require FIBs that can scale well beyond the thousands or tens of thousands possible using today's commodity switching chips.
Dong Zhou 0006, Hyeontaek Lim, Michael Kaminsky, David G. Andersen
CoNEXT4
2013 When Cycles Are Cheap, Some Tables Can Be Huge
Dong Zhou 0006, Hyeontaek Lim, Michael Kaminsky, David G. Andersen
HotOS4
2013 MemC3: Compact and Concurrent MemCache with Dumber Caching and Smarter Hashing
David G. Andersen, Michael Kaminsky
NSDI3
2013 Stronger Semantics for Low-Latency Geo-Replicated Storage
Wyatt Lloyd, Michael J. Freedman, Michael Kaminsky, David G. Andersen
NSDI3
2013 There is more consensus in Egalitarian parliaments
abstract
This paper describes the design and implementation of Egalitarian Paxos (EPaxos), a new distributed consensus algorithm based on Paxos. EPaxos achieves three goals: (1) optimal commit latency in the wide-area when tolerating one and two failures, under realistic conditions; (2) uniform load balancing across all replicas (thus achieving high throughput); and (3) graceful performance degradation when replicas are slow or crash.
Iulian Moraru, David G. Andersen, Michael Kaminsky
SOSP3
2013 Space-Efficient, High-Performance Rank and Select Structures on Uncompressed Bit Sequences
Dong Zhou 0006, David G. Andersen, Michael Kaminsky
SEA3
2012 Relationship Between Continuity of Care Document Size and Patient Age
Michael Kaminsky, Adam Wright, Marilyn D. Paterno, Beatriz H. S. C. Rocha, Howard Goldberg, Ruslana Tsurikova, Blackford Middleton
AMIA1
2012 Using vector interfaces to deliver millions of IOPS from a networked key-value storage server
abstract
The performance of non-volatile memories (NVM) has grown by a factor of 100 during the last several years: Flash devices today are capable of over 1 million I/Os per second. Unfortunately, this incredible growth has put strain on software storage systems looking to extract their full potential.
Vijay Vasudevan, Michael Kaminsky, David G. Andersen
SoCC2
2011 Switching the optical divide: fundamental challenges for hybrid electrical/optical datacenter networks
abstract
Recent proposals to build hybrid electrical (packet-switched) and optical (circuit switched) data center interconnects promise to reduce the cost, complexity, and energy requirements of very large data center networks. Supporting realistic traffic patterns, however, exposes a number of unexpected and difficult challenges to actually deploying these systems "in the wild." In this paper, we explore several of these challenges, uncovered during a year of experience using hybrid interconnects. We discuss both the problems that must be addressed to make these interconnects truly useful, and the implications of these challenges on what solutions are likely to be ultimately feasible.
Hamid Hajabdolali Bazzaz, Malveeka Tewari, George Porter, T. S. Eugene Ng, David G. Andersen, Michael Kaminsky, Michael A. Kozuch, Amin Vahdat
SoCC7
2011 Small cache, big effect: provable load balancing for randomly partitioned cluster services
abstract
Load balancing requests across a cluster of back-end servers is critical for avoiding performance bottlenecks and meeting service-level objectives (SLOs) in large-scale cloud computing services. This paper shows how a small, fast popularity-based front-end cache can ensure load balancing for an important class of such services; furthermore, we prove an O(n log n) lower-bound on the necessary cache size and show that this size depends only on the total number of back-end nodes n, not the number of items stored in the system. We validate our analysis through simulation and empirical results running a key-value storage system on an 85-node cluster.
Hyeontaek Lim, David G. Andersen, Michael Kaminsky
SoCC4
2011 The Case for VOS: The Vector Operating System
Vijay Vasudevan, David G. Andersen, Michael Kaminsky
HotOS3
2011 The hare and the tortoise: taming wireless losses by exploiting wired reliability
abstract
Multiple communication channels are common in today's consumer and enterprise networks. For example, a high bandwidth but unreliable wireless network might co-exist with a reliable wired link (EWLANs and neighborhood networks). In this paper, we present a system that uses this reliable wired communication channel to boost the bandwidth of the lossy wireless link. Specifically, we propose a new, efficient partial packet recovery (PPR) technique and adaptive feedback mechanism specially designed to correct partial packets on an 802.11 wireless network using a wired backhaul. Our initial experiments demonstrate up to a 3x improvement over standalone 802.11 and upto a 30% improvement over existing PPR techniques.
Anirudh Badam, Michael Kaminsky, Dongsu Han, Konstantina Papagiannaki, David G. Andersen, Srinivasan Seshan
MobiHoc2
2011 SILT: a memory-efficient, high-performance key-value store
abstract
SILT (Small Index Large Table) is a memory-efficient, high-performance key-value store system based on flash storage that scales to serve billions of key-value items on a single node. It requires only 0.7 bytes of DRAM per entry and retrieves key/value pairs using on average 1.01 flash reads each. SILT combines new algorithmic and systems techniques to balance the use of memory, storage, and computation. Our contributions include: (1) the design of three basic key-value stores each with a different emphasis on memory-efficiency and write-friendliness; (2) synthesis of the basic key-value stores to build a SILT key-value store system; and (3) an analytical model for tuning system parameters carefully to meet the needs of different workloads. SILT requires one to two orders of magnitude less memory to provide comparable throughput to current high-performance key-value systems on a commodity desktop system with flash storage.
Hyeontaek Lim, David G. Andersen, Michael Kaminsky
SOSP4
2011 Don't settle for eventual: scalable causal consistency for wide-area storage with COPS
abstract
Geo-replicated, distributed data stores that support complex online applications, such as social networks, must provide an "always-on" experience where operations always complete with low latency. Today's systems often sacrifice strong consistency to achieve these goals, exposing inconsistencies to their clients and necessitating complex application logic. In this paper, we identify and define a consistency model---causal consistency with convergent conflict handling, or causal+---that is the strongest achieved under these constraints.
Wyatt Lloyd, Michael J. Freedman, Michael Kaminsky, David G. Andersen
SOSP3
2010 Balancing throughput, robustness, and in-order delivery in P2P VoD
abstract
Peer-to-peer has emerged in recent years as a promising approach to providing Video-on-Demand streaming. The design space, however, is vast and still not well understood---yet choosing the right approach is critical to system performance. This paper takes a fresh look at the p2p VoD design space using a simple analytical model that focuses on the allocation of uplink bandwidth resource for different chunks across peers. We describe a fundamental tradeoff that exists between system throughput, sequentiality of downloaded content and robustness to heterogeneous network conditions and node capacities, and we prove that no system can achieve all three simultaneously. Empirical results from Emulab confirm the analysis and show how one might implement efficient peer-to-peer VoD streaming with an appropriate balance of the tradeoff.
David G. Andersen, Michael Kaminsky, Konstantina Papagiannaki
CoNEXT3
2010 Efficient Similarity Estimation for Systems Exploiting Data Redundancy
abstract
Many modern systems exploit data redundancy to improve efficiency. These systems split data into chunks, generate identifiers for each of them, and compare the identifiers among other data items to identify duplicate chunks. As a result, chunk size becomes a critical parameter for the efficiency of these systems: it trades potentially improved similarity detection (smaller chunks) with increased overhead to represent more chunks. Unfortunately, the similarity between files increases unpredictably with smaller chunk sizes, even for data of the same type. Existing systems often pick one chunk size that is "good enough'' for many cases because they lack efficient techniques to determine the benefits at other chunk sizes. This paper addresses this deficiency via two contributions: (1) we present multi-resolution (MR) handprinting, an application-independent technique that efficiently estimates similarity between data items at different chunk sizes using a compact, multi-size representation of the data; (2) we then evaluate the application of MR handprints to workloads from peer-to-peer, file transfer, and storage systems, demonstrating that the chunk size selection enabled by MR handprints can lead to real improvements over using a fixed chunk size in these systems.
Kanat Tangwongsan, Himabindu Pucha, David G. Andersen, Michael Kaminsky
INFOCOM4
2010 Pushing the envelope of indoor wireless spatial reuse using directional access points and clients
abstract
Recent work demonstrates that directional antennas have significant potential to improve wireless network capacity in indoor environments. This paper provides a broader exploration of the design space of indoor directional antenna systems along two main dimensions: antenna configuration and antenna control. Studying a number of alternative configurations, we find that directionality on APs and clients can significantly improve performance, even over other configurations with stronger directionality. Moreover, it is sufficient to have a small number of narrow beam antennas to achieve such gains, thus making such a solution practical for actual deployment. Designing systems with directional APs and clients for increased spatial reuse comes, however, with a number of challenges in the way the directional antennas are controlled. Antenna control needs to encompass antenna orientation algorithms, an appropriate MAC layer protocol, and novel client-AP association solutions. To overcome these challenges, we propose Speed, a distributed directional antenna control system that is easy to deploy and significantly improves network capacity over existing solutions.
Anmol Sheth, Michael Kaminsky, Konstantina Papagiannaki, Srinivasan Seshan, Peter Steenkiste
MobiCom3
2010 c-Through: part-time optics in data centers
abstract
Data-intensive applications that operate on large volumes of data have motivated a fresh look at the design of data center networks. The first wave of proposals focused on designing pure packet-switched networks that provide full bisection bandwidth. However, these proposals significantly increase network complexity in terms of the number of links and switches required and the restricted rules to wire them up. On the other hand, optical circuit switching technology holds a very large bandwidth advantage over packet switching technology. This fact motivates us to explore how optical circuit switching technology could benefit a data center network. In particular, we propose a hybrid packet and circuit switched data center network architecture (or HyPaC for short) which augments the traditional hierarchy of packet switches with a high speed, low complexity, rack-to-rack optical circuit-switched network to supply high bandwidth to applications. We discuss the fundamental requirements of this hybrid architecture and their design options. To demonstrate the potential benefits of the hybrid architecture, we have built a prototype system called c-Through. c-Through represents a design point where the responsibility for traffic demand estimation and traffic demultiplexing resides in end hosts, making it compatible with existing packet switches. Our emulation experiments show that the hybrid architecture can provide large benefits to unmodified popular data center applications at a modest scale. Furthermore, our experimental experience provides useful insights on the applicability of the hybrid architecture across a range of deployment scenarios.
David G. Andersen, Michael Kaminsky, Konstantina Papagiannaki, T. S. Eugene Ng, Michael A. Kozuch, Michael P. Ryan
SIGCOMM3
2010 Wifi-Reports: Improving Wireless Network Selection with Collaboration
abstract
Wi-Fi clients can obtain much better performance at some commercial hot spots than others. Unfortunately, there is currently no way for users to determine which hot spot access points (APs) will be sufficient to run their applications before purchasing access. To address this problem, this paper presents Wifi-Reports, a collaborative service that provides Wi-Fi clients with historical information about AP performance and application support. The key research challenge in Wifi-Reports is to obtain accurate user-submitted reports. This is challenging because two conflicting goals must be addressed in a practical system: preserving the privacy of users' reports and limiting fraudulent reports. We introduce a practical cryptographic protocol that achieves both goals, and address the important engineering challenges in building Wifi-Reports. Using a measurement study of APs in a busy commercial district, we show that Wifi-Reports would improve the performance over previous AP selection approaches in 30-60 percent of locations.
Jeffrey Pang, Ben Greenstein, Michael Kaminsky, Damon McCoy, Srinivasan Seshan
IEEE Trans. Mob. Comput.3
2010 SybilLimit: A Near-Optimal Social Network Defense Against Sybil Attacks
abstract
Open-access distributed systems such as peer-to-peer systems are particularly vulnerable tosybil attacks, where a malicious user creates multiple fake identities (calledsybil nodes). Without a trusted central authority that can tie identities to real human beings, defending against sybil attacks is quite challenging. Among the small number of decentralized approaches, our recent SybilGuard protocol leverages a key insight on social networks to bound the number of sybil nodes accepted. Despite its promising direction, SybilGuard can allow a large number of sybil nodes to be accepted. Furthermore, SybilGuard assumes that social networks are fast-mixing, which has never been confirmed in the real world. This paper presents the novel SybilLimit protocol that leverages the same insight as SybilGuard, but offers dramatically improved and near-optimal guarantees. The number of sybil nodes accepted is reduced by a factor ofΘ(√n), or around 200 times in our experiments for a million-node system. We further prove that SybilLimit's guarantee is at most alognfactor away from optimal when considering approaches based on fast-mixing social networks. Finally, based on three large-scale real-world social networks, we provide the first evidence that real-world social networks are indeed fast-mixing. This validates the fundamental assumption behind SybilLimit's and SybilGuard's approach.
Phillip B. Gibbons, Michael Kaminsky
IEEE/ACM Trans. Netw.3
2009 Your Data Center Is a Router: The Case for Reconfigurable Optical Circuit Switched Paths
David G. Andersen, Michael Kaminsky, Michael A. Kozuch, T. S. Eugene Ng, Konstantina Papagiannaki, Madeleine Glick, Lily B. Mummert
HotNets3
2009 Migration without Virtualization
Michael A. Kozuch, Michael Kaminsky, Michael P. Ryan
HotOS2
2009 FAWNdamentally Power-efficient Clusters
Vijay Vasudevan, Jason Franklin, David G. Andersen, Amar Phanishayee, Lawrence Tan, Michael Kaminsky, Iulian Moraru
HotOS6
2009 Wifi-reports: improving wireless network selection with collaboration
abstract
Wi-Fi clients can obtain much better performance at some commercial hotspots than at others. Unfortunately, there is currently no way for users to determine which hotspot access points (APs) will be sufficient to run their applications before purchasing access. To address this problem, this paper presents Wifi-Reports, a collaborative service that provides Wi-Fi clients with historical information about AP performance and application support. The key research challenge in Wifi-Reports is to obtain accurate user-submitted reports. This is challenging because two conflicting goals must be addressed in a practical system: preserving the privacy of users' reports and limiting fraudulent reports. We introduce a practical cryptographic protocol that achieves both goals, and we address the important engineering challenges in building Wifi-Reports. Using a measurement study of commercial APs in Seattle, we show that Wifi-Reports would improve performance over previous AP selection approaches in 30%-60% of locations.
Jeffrey Pang, Ben Greenstein, Michael Kaminsky, Damon McCoy, Srinivasan Seshan
MobiSys3
2009 Access Point Localization Using Local Signal Strength Gradient
Dongsu Han, David G. Andersen, Michael Kaminsky, Konstantina Papagiannaki, Srinivasan Seshan
PAM3
2009 DIRC: increasing indoor wireless capacity using directional antennas
abstract
The demand for wireless bandwidth in indoor environments such as homes and offices continues to increase rapidly. Although wireless technologies such as MIMO can reach link throughputs of 100s of Mbps (802.11n) for a single link, the question of how we can deliver high throughput to a large number of densely-packed devices remains an open problem. Directional antennas have been shown to be an effective way to increase spatial reuse, but past work has focused largely on outdoor environments where the interactions between wireless links can usually be ignored. This assumption is not acceptable in dense indoor wireless networks since indoor deployments need to deal with rich scattering and multipath effects. In this paper we introduce DIRC, a wireless network design whose access points use phased array antennas to achieve high throughput in dense, indoor environments. The core of DIRC is an algorithm that increases spatial reuse and maximizes overall network capacity by optimizing the orientations of a network of directional antennas. We implemented DIRC and evaluated it on a nine node network in an enterprise setting. Our results show that DIRC improves overall network capacity in indoor environments, while being flexible enough to adapt to node mobility and changing traffic workloads.
Anmol Sheth, Michael Kaminsky, Konstantina Papagiannaki, Srinivasan Seshan, Peter Steenkiste
SIGCOMM3
2009 FAWN: a fast array of wimpy nodes
abstract
This paper presents a new cluster architecture for low-power data-intensive computing. FAWN couples low-power embedded CPUs to small amounts of local flash storage, and balances computation and I/O capabilities to enable efficient, massively parallel access to data.The key contributions of this paper are the principles of the FAWN architecture and the design and implementation of FAWN-KV--a consistent, replicated, highly available, and high-performance key-value storage system built on a FAWN prototype. Our design centers around purely log-structured datastores that provide the basis for high performance on flash storage, as well as for replication and consistency obtained using chain replication on a consistent hashing ring. Our evaluation demonstrates that FAWN clusters can handle roughly 350 key-value queries per Joule of energy--two orders of magnitude more than a disk-based system.
David G. Andersen, Jason Franklin, Michael Kaminsky, Amar Phanishayee, Lawrence Tan, Vijay Vasudevan
SOSP3
2009 DSybil: Optimal Sybil-Resistance for Recommendation Systems
abstract
Recommendation systems can be attacked in various ways, and the ultimate attack form is reached with a {\em sybil attack}, where the attacker creates a potentially unlimited number of {\em sybil identities} to vote. Defending against sybil attacks is often quite challenging, and the nature of recommendation systems makes it even harder. This paper presents {\em DSybil}, a novel defense for diminishing the influence of sybil identities in recommendation systems. DSybil provides strong provable guarantees that hold even under the worst-case attack and are optimal. DSybil can defend against an unlimited number of sybil identities over time. DSybil achieves its strong guarantees by i) exploiting the heavy-tail distribution of the typical voting behavior of the honest identities, and ii) carefully identifying whether the system is already getting ``enough help'' from the (weighted) voters already taken into account or whether more ``help'' is needed. Our evaluation shows that DSybil would continue to provide high-quality recommendations even when a million-node botnet uses an optimal strategy to launch a sybil attack.
Chenwei Shi, Michael Kaminsky, Phillip B. Gibbons
SP3
2008 Mark-and-sweep: getting the "inside" scoop on neighborhood networks
abstract
Residential Internet connectivity is growing at a phenomenal rate. A number of recent studies have attempted to characterize this connectivity - measuring coverage and performance of last-mile broadband links - from a various vantage points on the Internet, via wireless APs, and even with user cooperation. These studies, however, sacrifice accuracy or require substantial human time. In this work, we present a novel two-pass method to characterize neighborhood networks. We demonstrate that the two pass method dramatically reduces the time spent in active measurement while retaining accuracy. A case study on two neighborhoods in Pittsburgh provide new and accurate insights into broadband connectivity, including throughput, broadband coverage (DSL vs. cable vs. fiber), NAT configurations, DHCP, DNS usage. The results further characterize 802.11 connectivity in the neighborhood.
Dongsu Han, Aditiya Agarwala, David G. Andersen, Michael Kaminsky, Konstantina Papagiannaki, Srinivasan Seshan
Internet Measurement Conference4
2008 SybilLimit: A Near-Optimal Social Network Defense against Sybil Attacks
abstract
Decentralized distributed systems such as peer-to-peer systems are particularly vulnerable to sybil attacks, where a malicious user pretends to have multiple identities (called sybil nodes). Without a trusted central authority, defending against sybil attacks is quite challenging. Among the small number of decentralized approaches, our recent SybilGuard protocol [H. Yu et al., 2006] leverages a key insight on social networks to bound the number of sybil nodes accepted. Although its direction is promising, SybilGuard can allow a large number of sybil nodes to be accepted. Furthermore, SybilGuard assumes that social networks are fast mixing, which has never been confirmed in the real world. This paper presents the novel SybilLimit protocol that leverages the same insight as SybilGuard but offers dramatically improved and near-optimal guarantees. The number of sybil nodes accepted is reduced by a factor of ominus(radicn), or around 200 times in our experiments for a million-node system. We further prove that SybilLimit's guarantee is at most a log n factor away from optimal, when considering approaches based on fast-mixing social networks. Finally, based on three large-scale real-world social networks, we provide the first evidence that real-world social networks are indeed fast mixing. This validates the fundamental assumption behind SybilLimit's and SybilGuard's approach.
Phillip B. Gibbons, Michael Kaminsky
SP3
2008 Adaptive File Transfers for Diverse Environments
Himabindu Pucha, Michael Kaminsky, David G. Andersen, Michael A. Kozuch
USENIX ATC2
2008 SybilGuard: defending against sybil attacks via social networks
Michael Kaminsky, Phillip B. Gibbons, Abraham D. Flaxman
IEEE/ACM Trans. Netw.2
2007 Defragmenting DHT-based Distributed File Systems
abstract
Existing DHT-based file systems use consistent hashing to assign file blocks to random machines. As a result, a user task accessing an entire file or multiple files needs to retrieve blocks from many different machines. This paper demonstrates that significant availability and performance gains can be achieved if instead, users are able to retrieve all the data needed for a given task from only a few DHT nodes. We explore the design and implications of such a "defragmented" DHT-based distributed file system, called D2, that also maintains important DHT properties like storage load balance. We show using real-world file system traces that a simple key encoding scheme is sufficient to maintain good defragmentation for most user tasks. Using both simulation and an actual 1,000 node deployment, we show that D2 increases availability by over an order of magnitude and improves user-perceived latency by 30- 100% compared to a traditional design.
Jeffrey Pang, Phillip B. Gibbons, Michael Kaminsky, Srinivasan Seshan
ICDCS3
2007 Exploiting Similarity for Multi-Source Downloads Using File Handprints
Himabindu Pucha, David G. Andersen, Michael Kaminsky
NSDI3
2007 Toward an optimal social network defense against Sybil attacks
abstract
No abstract available.
Phillip B. Gibbons, Michael Kaminsky
PODC3
2006 RE: Reliable Email
Scott Garriss, Michael Kaminsky, Michael J. Freedman, Brad Karp, David Mazières
NSDI2
2006 An Architecture for Internet Data Transfer
Niraj Tolia, Michael Kaminsky, David G. Andersen, Swapnil Patil 0001
NSDI2
2006 SybilGuard: defending against sybil attacks via social networks
abstract
Peer-to-peer and other decentralized,distributed systems are known to be particularly vulnerable to sybil attacks. In a sybil attack,a malicious user obtains multiple fake identities and pretends to be multiple, distinct nodes in the system. By controlling a large fraction of the nodes in the system,the malicious user is able to "out vote" the honest users in collaborative tasks such as Byzantine failure defenses. This paper presents SybilGuard, a novel protocol for limiting the corruptive influences of sybil attacks.Our protocol is based on the "social network "among user identities, where an edge between two identities indicates a human-established trust relationship. Malicious users can create many identities but few trust relationships. Thus, there is a disproportionately-small "cut" in the graph between the sybil nodes and the honest nodes. SybilGuard exploits this property to bound the number of identities a malicious user can create.We show the effectiveness of SybilGuard both analytically and experimentally.
Michael Kaminsky, Phillip B. Gibbons, Abraham D. Flaxman
SIGCOMM2
2005 What the protocol stack missed: the transfer service
abstract
This WIP proposes a new architecture for applications that perform bulk data transfers. This architecture, called DOT (for data-oriented transfer), cleanly separates out two functions that are comingled in today's applications. Using DOT, applications perform content negotiation to determine what content to send. They then pass that data object to the transfer service to perform the actual data transmission. This separation increases application flexibility, enables the rapid development of innovative transfer mechanisms, reduces developer effort, and allows increased efficiency through cross-application sharing.
Niraj Tolia, David G. Andersen, Michael Kaminsky, Swapnil Patil 0001
SOSP3
2004 REX: Secure, Extensible Remote Execution
Michael Kaminsky, Eric Peterson, Daniel B. Giffin, Kevin Fu, David Mazières, M. Frans Kaashoek
USENIX ATC, General Track1
2003 Decentralized user authentication in a global file system
abstract
The challenge for user authentication in a global file system is allowing people to grant access to specific users and groups in remote administrative domains, without assuming any kind of pre-existing administrative relationship. The traditional approach to user authentication across administrative domains is for users to prove their identities through a chain of certificates. Certificates allow for general forms of delegation, but they often require more infrastructure than is necessary to support a network file system.This paper introduces an approach without certificates. Local authentication servers pre-fetch and cache remote user and group definitions from remote authentication servers. During a file access, an authentication server can establish identities for users based just on local information. This approach is particularly well-suited to file systems, and it provides a simple and intuitive interface that is similar to those found in local access control mechanisms. An implementation of the authentication server and a file server supporting access control lists demonstrate the viability of this design in the context of the Self-certifying File System (SFS). Experiments demonstrate that the authentication server can scale to groups with tens of thousands of members.
Michael Kaminsky, George Savvides, David Mazières, M. Frans Kaashoek
SOSP1
1999 SWEETPEA: Software Tools for Programmable Embodied Agents
abstract
Programmable Embodied Agents are portable, wireless, interactive devices embodying specific, differentiable, interactive characteristics. They take the form of identifiable characters who reside in the physical world and interact directly with users. They can act as an out-of-band communication channel between users, as proxies for system components or other users, or in a variety of other roles. Traditionally, research into such devices has been based on costly custom hardware. In this paper, we report on our explorations of the space of physical character-based interfaces built on recently available stock consumer hardware platforms, structured around an initial framework of applications.
Michael Kaminsky, Paul Dourish, W. Keith Edwards, Anthony LaMarca, Michael Salisbury, Ian E. Smith
CHI1
1999 Separating key management from file system security
abstract
No secure network file system has ever grown to span the Internet. Existing systems all lack adequate key management for security at a global scale. Given the diversity of the Internet, any particular mechanism a file system employs to manage keys will fail to support many types of use. We propose separating key management from file system security, letting the world share a single global file system no matter how individuals manage keys. We present SFS, a secure file system that avoids internal key management. While other file systems need key management to map file names to encryption keys, SFS file names effectively contain public keys, making them self-certifying pathnames. Key management in SFS occurs outside of the file system, in whatever procedure users choose to generate file names. Self-certifying pathnames free SFS clients from any notion of administrative realm, making inter-realm file sharing trivial. They let users authenticate servers through a number of different techniques. The file namespace doubles as a key certification namespace, so that people can realize many key management schemes using only standard file utilities. Finally, with self-certifying pathnames, people can bootstrap one key management mechanism using another. These properties make SFS more versatile than any file system with built-in key management. 1
David Mazières, Michael Kaminsky, M. Frans Kaashoek, Emmett Witchel
SOSP2