VLDB 2026 Research / reviewers in the wild / expert
David G. Andersen
dblp:a/DavidGAndersen · also Dave G. Andersen
· DBLP profile ↗
94ranked-venue papers
9as first author
2since 2021 · last 2025
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Computer networks · 35 · 5 first-authorSystems, architecture and hardware · 24 · 1 since 2021Software engineering, systems software and programming languages · 17 · 4 first-author · 1 since 2021Databases, data management, data science and information retrieval · 15 · 1 since 2021Security and privacy · 5Artificial intelligence and machine learning · 4Theory of computation · 3Applied, interdisciplinary, general and emerging computing · 1
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
36 papers |
Storage systems · 53% Distributed systems · 18% Memory systems · 12% | |
| Databases, data mining, and information retrieval
10 papers |
Indexing and storage engines · 54% Information retrieval · 17% Database system architecture and tuning · 14% | |
| Computer networks
34 papers |
Datacenter networks · 24% Routing and switching · 18% Network measurement and analytics · 13% | |
| Software engineering, system software, and programming languages
7 papers |
Operating systems · 26% Software maintenance and evolution · 26% Software testing · 23% | |
| Artificial intelligence
3 papers |
Efficient and distributed learning · 71% Trustworthy machine learning · 29% | |
| Theoretical computer science
2 papers |
Algorithms and data structures · 58% Information theory · 21% Mathematical optimization · 21% |
Topics — the 30 heaviest of 167, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Storage systems
key-value storage |
1.9 | 11 | 2023 | 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 |
Database system architecture and tuning
extensibility |
0.9 | 1 | 2025 | Anarchy in the Database: A Survey and Evaluation of Database Management System Extensibility · Proc. VLDB Endow. 2025 |
Software maintenance and evolution
software ecosystems |
0.9 | 1 | 2025 | Anarchy in the Database: A Survey and Evaluation of Database Management System Extensibility · Proc. VLDB Endow. 2025 |
Storage systems
flash and SSD |
0.8 | 2 | 2023 | 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.8 | 2 | 2020 | 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.8 | 2 | 2020 | 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.7 | 1 | 2023 | RAIZN: Redundant Array of Independent Zoned Namespaces · ASPLOS (2) 2023 |
Storage systems
storage reliability |
0.7 | 1 | 2023 | RAIZN: Redundant Array of Independent Zoned Namespaces · ASPLOS (2) 2023 |
Storage systems › flash and SSD › solid-state drive › zoned namespace SSD
ZNS RAID |
0.7 | 1 | 2023 | RAIZN: Redundant Array of Independent Zoned Namespaces · ASPLOS (2) 2023 |
Storage systems › flash and SSD › solid-state drive
zoned namespace SSD |
0.7 | 1 | 2023 | RAIZN: Redundant Array of Independent Zoned Namespaces · ASPLOS (2) 2023 |
Storage systems › key-value storage
in-memory key-value store |
0.7 | 3 | 2016 | 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.6 | 4 | 2016 | 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 |
Information retrieval › similarity search › nearest neighbor search
approximate nearest neighbor search |
0.4 | 1 | 2020 | Improving Approximate Nearest Neighbor Search through Learned Adaptive Early Termination · SIGMOD Conference 2020 |
Query processing and optimization › runtime optimization
data skipping |
0.4 | 1 | 2020 | Cuckoo Index: A Lightweight Secondary Index Structure · Proc. VLDB Endow. 2020 |
Indexing and storage engines › data compression
dictionary compression |
0.4 | 1 | 2020 | Order-Preserving Key Compression for In-Memory Search Trees · SIGMOD Conference 2020 |
Indexing and storage engines › probabilistic data structures
probabilistic index |
0.4 | 1 | 2020 | Cuckoo Index: A Lightweight Secondary Index Structure · Proc. VLDB Endow. 2020 |
Indexing and storage engines
secondary index |
0.4 | 1 | 2020 | Cuckoo Index: A Lightweight Secondary Index Structure · Proc. VLDB Endow. 2020 |
Information retrieval
similarity search |
0.4 | 1 | 2020 | Improving Approximate Nearest Neighbor Search through Learned Adaptive Early Termination · SIGMOD Conference 2020 |
Operating systems › resource management › process management
CPU scheduling |
0.4 | 1 | 2020 | Lightweight Preemptible Functions · USENIX ATC 2020 |
Operating systems › resource management
memory management |
0.4 | 1 | 2020 | Learning-based Memory Allocation for C++ Server Workloads · ASPLOS 2020 |
Memory systems
cache design |
0.4 | 1 | 2020 | Fast Software Cache Design for Network Appliances · USENIX ATC 2020 |
Memory systems › memory management
memory allocation |
0.4 | 1 | 2020 | Learning-based Memory Allocation for C++ Server Workloads · ASPLOS 2020 |
Memory systems › cache management
software-managed cache |
0.4 | 1 | 2020 | Fast Software Cache Design for Network Appliances · USENIX ATC 2020 |
Distributed systems
consensus |
0.4 | 2 | 2016 | 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.4 | 3 | 2016 | 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 |
Machine learning › Efficient and distributed learning
distributed training |
0.4 | 2 | 2014 | Scaling Distributed Machine Learning with the Parameter Server · OSDI 2014 Communication Efficient Distributed Machine Learning with the Parameter Server · NIPS 2014 |
Machine learning › Efficient and distributed learning › distributed training › distributed training systems
parameter server |
0.4 | 2 | 2014 | Scaling Distributed Machine Learning with the Parameter Server · OSDI 2014 Communication Efficient Distributed Machine Learning with the Parameter Server · NIPS 2014 |
Machine learning › Trustworthy machine learning
robustness |
0.4 | 1 | 2019 | TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing · ICML 2019 |
Datacenter networks
remote procedure calls |
0.4 | 1 | 2019 | Datacenter RPCs can be General and Fast · NSDI 2019 |
Software testing › fuzzing
coverage-guided fuzzing |
0.4 | 1 | 2019 | TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing · ICML 2019 |
Methods — techniques the papers use, named apart from their topics
static analysis · 1.7dynamic analysis · 1.7succinct trie · 0.9learning-based allocation · 0.9huge pages · 0.9bloom filter · 0.9property-based testing · 0.8coverage-guided fuzzing · 0.8approximate nearest neighbor · 0.8parity · 0.7garbage collection control · 0.7data striping · 0.7gradient boosting decision tree · 0.4cuckoo filter · 0.4bitmap · 0.4hashing · 0.4machine learning · 0.3gradient boosting regression trees · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Anarchy in the Database: A Survey and Evaluation of Database Management System ExtensibilityabstractExtensions allow applications to expand the capabilities of database management systems (DBMSs) with custom logic. However, the extensibility environment for some DBMSs is fraught with perils, causing developers to resort to unorthodox methods to achieve their goals. This paper studies and evaluates the design of DBMS extensibility. First, we provide a comprehensive taxonomy of the types of DBMS extensibility. We then examine the extensibility of six DBMSs: PostgreSQL, MySQL, MariaDB, SQLite, Redis, and DuckDB. We present an automated extension analysis toolkit that collects static and dynamic information on how an extension integrates into the DBMS. Our evaluation of over 400 PostgreSQL extensions shows that 16.8% of them are incompatible with at least one other extension and can cause system failures. These results also show the correlation between these failures and factors related to extension complexity and implementation. Abigale Kim, Marco Slot, David G. Andersen, Andrew Pavlo |
Proc. VLDB Endow. | 3 |
| 2023 | RAIZN: Redundant Array of Independent Zoned NamespacesabstractZoned 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) | 6 |
| 2020 | Learning-based Memory Allocation for C++ Server WorkloadsabstractModern C++ servers have memory footprints that vary widely over time, causing persistent heap fragmentation of up to 2x from long-lived objects allocated during peak memory usage. This fragmentation is exacerbated by the use of huge (2MB) pages, a requirement for high performance on large heap sizes. Reducing fragmentation automatically is challenging because C++ memory managers cannot move objects. Martin Maas 0001, David G. Andersen, Michael Isard, Mohammad Mahdi Javanmard, Kathryn S. McKinley, Colin Raffel |
ASPLOS | 2 |
| 2020 | Challenges and solutions for fast remote persistent memory accessabstractNon-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 |
SoCC | 2 |
| 2020 | High availability in cheap distributed key value storageabstractMemory-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 |
SoCC | 5 |
| 2020 | Improving Approximate Nearest Neighbor Search through Learned Adaptive Early TerminationabstractIn applications ranging from image search to recommendation systems, the problem of identifying a set of "similar" real-valued vectors to a query vector plays a critical role. However, retrieving these vectors and computing the corresponding similarity scores from a large database is computationally challenging. Approximate nearest neighbor (ANN) search relaxes the guarantee of exactness for efficiency by vector compression and/or by only searching a subset of database vectors for each query. Searching a larger subset increases both accuracy and latency. State-of-the-art ANN approaches use fixed configurations that apply the same termination condition (the size of subset to search) for all queries, which leads to undesirably high latency when trying to achieve the last few percents of accuracy. We find that due to the index structures and the vector distributions, the number of database vectors that must be searched to find the ground-truth nearest neighbor varies widely among queries. Critically, we further identify that the intermediate search result after a certain amount of search is an important runtime feature that indicates how much more search should be performed. To achieve a better tradeoff between latency and accuracy, we propose a novel approach that adaptively determines search termination conditions for individual queries. To do so, we build and train gradient boosting decision tree models to learn and predict when to stop searching for a certain query. These models enable us to achieve the same accuracy with less total amount of search compared to the fixed configurations. We apply the learned adaptive early termination to state-of-the-art ANN approaches, and evaluate the end-to-end performance on three million to billion-scale datasets. Compared with fixed configurations, our approach consistently improves the average end-to-end latency by up to 7.1 times faster under the same high accuracy targets. Our approach is open source at github.com/efficient/faiss-learned-termination. Conglong Li, Minjia Zhang, David G. Andersen, Yuxiong He |
SIGMOD Conference | 3 |
| 2020 | Order-Preserving Key Compression for In-Memory Search TreesabstractWe 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 Conference | 3 |
| 2020 | Lightweight Preemptible Functions
Sol Boucher, Anuj Kalia, David G. Andersen, Michael Kaminsky |
USENIX ATC | 3 |
| 2020 | Fast Software Cache Design for Network Appliances
Dong Zhou 0006, Huacheng Yu, Michael Kaminsky, David G. Andersen |
USENIX ATC | 4 |
| 2020 | Cuckoo Index: A Lightweight Secondary Index StructureabstractIn modern data warehousing, data skipping is essential for high query performance. While index structures such as B-trees or hash tables allow for precise pruning, their large storage requirements make them impractical for indexing secondary columns. Therefore, many systems rely on approximate indexes such as min/max sketches (ZoneMaps) or Bloom filters for cost-effective data pruning. For example, Google PowerDrill skips more than 90% of data on average using such indexes. In this paper, we introduce Cuckoo Index (CI), an approximate secondary index structure that represents the many-to-many relationship between keys and data partitions in a highly space-efficient way. At its core, CI associates variable-sized fingerprints in a Cuckoo filter with compressed bitmaps indicating qualifying partitions. With our approach, we target equality predicates in a read-only (immutable) setting and optimize for space efficiency under the premise of practical build and lookup performance. In contrast to per-partition (Bloom) filters, CI produces correct results for lookups with keys that occur in the data. CI allows to control the ratio of false positive partitions for lookups with non-occurring keys. Our experiments with real-world and synthetic data show that CI consumes significantly less space than per-partition filters for the same pruning power for low-to-medium cardinality columns. For high cardinality columns, CI is on par with its baselines. Andreas Kipf, Damian Chromejko, Alexander Hall, Peter Boncz, David G. Andersen |
Proc. VLDB Endow. | 5 |
| 2020 | Succinct Range FiltersabstractWe 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. | 4 |
| 2019 | TensorFuzz: Debugging Neural Networks with Coverage-Guided FuzzingabstractNeural networks are difficult to interpret and debug. We introduce testing techniques for neural networks that can discover errors occurring only for rare inputs. Specifically, we develop coverage-guided fuzzing (CGF) methods for neural networks. In CGF, random mutations of inputs are guided by a coverage metric toward the goal of satisfying user-specified constraints. We describe how approximate nearest neighbor (ANN) algorithms can provide this coverage metric for neural networks. We then combine these methods with techniques for property-based testing (PBT). In PBT, one asserts properties that a function should satisfy and the system automatically generates tests exercising those properties. We then apply this system to practical goals including (but not limited to) surfacing broken loss functions in popular GitHub repositories and making performance improvements to TensorFlow. Finally, we release an open source library called TensorFuzz that implements the described techniques. Augustus Odena, Catherine Olsson, David G. Andersen, Ian J. Goodfellow |
ICML | 3 |
| 2019 | Datacenter RPCs can be General and Fast
Anuj Kalia, Michael Kaminsky, David G. Andersen |
NSDI | 3 |
| 2018 | Building a Bw-Tree Takes More Than Just Buzz WordsabstractIn 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 Conference | 7 |
| 2018 | SuRF: Practical Range Query Filtering with Fast Succinct TriesabstractWe 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 Conference | 4 |
| 2018 | Putting the "Micro" Back in Microservice
Sol Boucher, Anuj Kalia, David G. Andersen, Michael Kaminsky |
USENIX ATC | 3 |
| 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 ATC | 9 |
| 2018 | Better Caching in Search Advertising Systems with Rapid Refresh PredictionsabstractTo maximize profit and connect users to relevant products and services, search advertising systems use sophisticated machine learning algorithms to estimate the revenue expectations of thousands of matching ad listings per query. These machine learning computations constitute a substantial part of the operating cost, e.g., 10% to 30% of the total gross revenues. It is desirable to cache and reuse previous computation results to reduce this cost, but caching introduces approximation which comes with potential revenue loss. To maximize cost savings while minimizing the overall revenue impact, an intelligent refresh policy is required to decide when to refresh the cached computation results. The state-of-the-art manually-tuned refresh heuristic uses revenue history to assign different refresh frequencies. Using the gradient boosting regression tree algorithm with well selected features, we introduce a rapid prediction framework that provides refresh decisions at higher accuracy compared to the heuristic. This enables us to build a prediction-based refresh policy and a cache achieving higher profit without manual parameter tuning. Simulations conducted on the logs from a major commercial search advertising system show that our proposed cache design reduces the negative revenue impact (0.07x), and improves the cost savings (1.41x) and the net profit (1.50~1.70x) compared to the state-of-the-art manually-tuned heuristic-based cache design. Conglong Li, David G. Andersen, Qiang Fu 0015, Sameh Elnikety, Yuxiong He |
WWW | 2 |
| 2017 | Using Indirect Routing to Recover from Network Traffic Scheduling Estimation ErrorabstractIncreasingly, 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 |
ANCS | 3 |
| 2017 | Workload analysis and caching strategies for search advertising systemsabstractSearch advertising depends on accurate predictions of user behavior and interest, accomplished today using complex and computationally expensive machine learning algorithms that estimate the potential revenue gain of thousands of candidate advertisements per search query. The accuracy of this estimation is important for revenue, but the cost of these computations represents a substantial expense, e.g., 10% to 30% of the total gross revenue. Caching the results of previous computations is a potential path to reducing this expense, but traditional domain-agnostic and revenue-agnostic approaches to do so result in substantial revenue loss. This paper presents three domain-specific caching mechanisms that successfully optimize for both factors. Simulations on a trace from the Bing advertising system show that a traditional cache can reduce cost by up to 27.7% but has negative revenue impact as bad as -14.1%. On the other hand, the proposed mechanisms can reduce cost by up to 20.6% while capping revenue impact between -1.3% and 0%. Based on Microsoft's earnings release for FY16 Q4, the traditional cache would reduce the net profit of Bing Ads by $84.9 to $166.1 million in the quarter, while our proposed cache could increase the net profit by $11.1 to $71.5 million. Conglong Li, David G. Andersen, Qiang Fu 0015, Sameh Elnikety, Yuxiong He |
SoCC | 2 |
| 2017 | Cicada: Dependably Fast Multi-Core In-Memory TransactionsabstractMulti-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 Conference | 3 |
| 2016 | Towards Accurate and Fast Evaluation of Multi-Stage Log-structured Designs
Hyeontaek Lim, David G. Andersen, Michael Kaminsky |
FAST | 2 |
| 2016 | Be Fast, Cheap and in Control with SwitchKV
Raghav Sethi, Michael Kaminsky, David G. Andersen, Michael J. Freedman |
NSDI | 4 |
| 2016 | FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs
Anuj Kalia, Michael Kaminsky, David G. Andersen |
OSDI | 3 |
| 2016 | Reducing the Storage Overhead of Main-Memory OLTP Databases with Hybrid IndexesabstractUsing 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 Conference | 2 |
| 2016 | Design Guidelines for High Performance RDMA Systems
Anuj Kalia, Michael Kaminsky, David G. Andersen |
USENIX ATC | 3 |
| 2016 | Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server PlatformabstractDistributed 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. | 7 |
| 2015 | Scheduling techniques for hybrid circuit/packet networksabstractA 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 |
CoNEXT | 9 |
| 2015 | Architecting to achieve a billion requests per second throughput on a single key-value store server platformabstractDistributed 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 |
ISCA | 7 |
| 2015 | Cuckoo Linear AlgebraabstractIn this paper we present a novel data structure for sparse vectors based on Cuckoo hashing. It is highly memory efficient and allows for random access at near dense vector level rates. This allows us to solve sparse l1 programming problems exactly and without preprocessing at a cost that is identical to dense linear algebra both in terms of memory and speed. Our approach provides a feasible alternative to the hash kernel and it excels whenever exact solutions are required, such as for feature selection. Li Zhou 0006, David G. Andersen, Mu Li 0003, Alexander J. Smola |
KDD | 2 |
| 2015 | Raising the Bar for Using GPUs in Software Packet Processing
Anuj Kalia, Dong Zhou 0006, Michael Kaminsky, David G. Andersen |
NSDI | 4 |
| 2015 | Scaling Up Clustered Network Appliances with ScaleBricksabstractThis 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 |
SIGCOMM | 4 |
| 2014 | Paxos Quorum Leases: Fast Reads Without Sacrificing WritesabstractThis 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 |
SoCC | 2 |
| 2014 | Cuckoo Filter: Practically Better Than BloomabstractIn 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 |
CoNEXT | 2 |
| 2014 | Algorithmic improvements for fast concurrent Cuckoo hashingabstractFast 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 |
EuroSys | 2 |
| 2014 | Communication Efficient Distributed Machine Learning with the Parameter Server
Mu Li 0003, David G. Andersen, Alexander J. Smola |
NIPS | 2 |
| 2014 | MICA: A Holistic Approach to Fast In-Memory Key-Value Storage
Hyeontaek Lim, Dongsu Han, David G. Andersen, Michael Kaminsky |
NSDI | 3 |
| 2014 | Scaling Distributed Machine Learning with the Parameter Server
Mu Li 0003, David G. Andersen, Jun Woo Park, Alexander J. Smola, Amr Ahmed 0001, Vanja Josifovski, Eugene J. Shekita, Bor-Yiing Su |
OSDI | 2 |
| 2014 | Using RDMA efficiently for key-value servicesabstractThis 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 |
SIGCOMM | 3 |
| 2013 | Practical Batch-Updatable External Hashing with SortingabstractThis 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 |
ALENEX | 2 |
| 2013 | Memory-efficient groupby-aggregate using compressed buffer treesabstractThe 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 |
SoCC | 3 |
| 2013 | Scalable, high performance ethernet forwarding with CuckooSwitchabstractSeveral 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 |
CoNEXT | 5 |
| 2013 | When Cycles Are Cheap, Some Tables Can Be Huge
Dong Zhou 0006, Hyeontaek Lim, Michael Kaminsky, David G. Andersen |
HotOS | 5 |
| 2013 | MemC3: Compact and Concurrent MemCache with Dumber Caching and Smarter Hashing
David G. Andersen, Michael Kaminsky |
NSDI | 2 |
| 2013 | Stronger Semantics for Low-Latency Geo-Replicated Storage
Wyatt Lloyd, Michael J. Freedman, Michael Kaminsky, David G. Andersen |
NSDI | 4 |
| 2013 | There is more consensus in Egalitarian parliamentsabstractThis 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 |
SOSP | 2 |
| 2013 | Space-Efficient, High-Performance Rank and Select Structures on Uncompressed Bit Sequences
Dong Zhou 0006, David G. Andersen, Michael Kaminsky |
SEA | 2 |
| 2012 | Using vector interfaces to deliver millions of IOPS from a networked key-value storage serverabstractThe 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 |
SoCC | 3 |
| 2012 | XIA: Efficient Support for Evolvable Internetworking
Dongsu Han, Ashok Anand, Fahad R. Dogar, Hyeontaek Lim, Michel Machado, Arvind Mukundan, Wenfei Wu, Aditya Akella, David G. Andersen, John W. Byers, Srinivasan Seshan, Peter Steenkiste |
NSDI | 10 |
| 2011 | Exact Pattern Matching with Feed-Forward Bloom FiltersabstractThis paper presents a new, memory efficient and cache-optimized algorithm for simultaneously searching for a large number of patterns in a very large corpus. This algorithm builds upon the Rabin-Karp string search algorithm and incorporates a new type of Bloom filter that we call a feed-forward Bloom filter. While it retains the asymptotic time complexity of previous multiple pattern matching algorithms, we show that this technique, along with a CPU architecture aware design of the Bloom filter, can provide speedups between 2x and 30x, and memory consumption reductions as large as 50x when compared with grep. Iulian Moraru, David G. Andersen |
ALENEX | 2 |
| 2011 | Switching the optical divide: fundamental challenges for hybrid electrical/optical datacenter networksabstractRecent 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 |
SoCC | 6 |
| 2011 | Small cache, big effect: provable load balancing for randomly partitioned cluster servicesabstractLoad 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 |
SoCC | 3 |
| 2011 | XIA: an architecture for an evolvable and trustworthy internetabstractMotivated by limitations in today's host-based IP network architecture, recent studies have proposed clean-slate network architectures centered around alternative first-class principals, such as content, services, or users. However, much like the host-centric IP design, elevating one principal type above others hinders communication between other principals and inhibits the network's capability to evolve. Our work presents the eXpressive Internet Architecture (XIA), an architecture with native support for multiple principals and the ability to evolve its functionality to accommodate new, as yet unforeseen, principals over time. XIA also provides intrinsic security: communicating entities validate that their underlying intent was satisfied correctly without relying on external databases or configuration. Ashok Anand, Fahad R. Dogar, Dongsu Han, Hyeontaek Lim, Michel Machado, Wenfei Wu, Aditya Akella, David G. Andersen, John W. Byers, Srinivasan Seshan, Peter Steenkiste |
HotNets | 9 |
| 2011 | The Case for VOS: The Vector Operating System
Vijay Vasudevan, David G. Andersen, Michael Kaminsky |
HotOS | 2 |
| 2011 | The hare and the tortoise: taming wireless losses by exploiting wired reliabilityabstractMultiple 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 |
MobiHoc | 5 |
| 2011 | SILT: a memory-efficient, high-performance key-value storeabstractSILT (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 |
SOSP | 3 |
| 2011 | Don't settle for eventual: scalable causal consistency for wide-area storage with COPSabstractGeo-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 |
SOSP | 4 |
| 2011 | SCION: Scalability, Control, and Isolation on Next-Generation NetworksabstractWe present the first Internet architecture designed to provide route control, failure isolation, and explicit trust information for end-to-end communications. SCION separates ASes into groups of independent routing sub-planes, called trust domains, which then interconnect to form complete routes. Trust domains provide natural isolation of routing failures and human misconfiguration, give endpoints strong control for both inbound and outbound traffic, provide meaningful and enforceable trust, and enable scalable routing updates with high path freshness. As a result, our architecture provides strong resilience and security properties as an intrinsic consequence of good design principles, avoiding piecemeal add-on protocols as security patches. Meanwhile, SCION only assumes that a few top-tier ISPs in the trust domain are trusted for providing reliable end-to-end communications, thus achieving a small Trusted Computing Base. Both our security analysis and evaluation results show that SCION naturally prevents numerous attacks and provides a high level of resilience, scalability, control, and isolation. Xin Zhang 0003, Hsu-Chun Hsiao, Geoffrey Hasker, Haowen Chan, Adrian Perrig, David G. Andersen |
IEEE Symposium on Security and Privacy | 6 |
| 2010 | Balancing throughput, robustness, and in-order delivery in P2P VoDabstractPeer-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 |
CoNEXT | 2 |
| 2010 | Efficient Similarity Estimation for Systems Exploiting Data RedundancyabstractMany 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 |
INFOCOM | 3 |
| 2010 | SplitScreen: Enabling Efficient, Distributed Malware Detection
Sang Kil Cha, Iulian Moraru, Jiyong Jang, John Truelove, David Brumley, David G. Andersen |
NSDI | 6 |
| 2010 | c-Through: part-time optics in data centersabstractData-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 |
SIGCOMM | 2 |
| 2009 | Scaling all-pairs overlay routingabstractThis paper presents and experimentally evaluates a new algorithm for efficient one-hop link-state routing in full-mesh networks. Prior techniques for this setting scale poorly, as each node incurs quadratic (n2) communication overhead to broadcast its link state to all other nodes. In contrast, in our algorithm each node exchanges routing state with only a small subset of overlay nodes determined by using a quorum system. Using a two round protocol, each node can find an optimal one-hop path to any other node using only n1.5 per-node communication. Our algorithm can also be used to find the optimal shortest path of arbitrary length using only n1.5 logn per-node communication. The algorithm is designed to be resilient to both node and link failures. We apply this algorithm to a Resilient Overlay Network (RON) system, and evaluate the results using a large-scale, globally dis-tributed set of Internet hosts. The reduced communication overhead from using our improved full-mesh algorithm allows the creation of all-pairs routing overlays that scale to hundreds of nodes, without reducing the system’s ability to rapidly find optimal routes. David A. Sontag, Amar Phanishayee, David G. Andersen, David R. Karger |
CoNEXT | 4 |
| 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 |
HotNets | 2 |
| 2009 | FAWNdamentally Power-efficient Clusters
Vijay Vasudevan, Jason Franklin, David G. Andersen, Amar Phanishayee, Lawrence Tan, Michael Kaminsky, Iulian Moraru |
HotOS | 3 |
| 2009 | BGP-lens: patterns and anomalies in internet routing updatesabstractThe Border Gateway Protocol (BGP) is one of the fundamental computer communication protocols. Monitoring and mining BGP update messages can directly reveal the health and stability of Internet routing. Here we make two contributions: firstly we find patterns in BGP updates, like self-similarity, power-law and lognormal marginals; secondly using these patterns, we find anomalies. Specifically, we develop BGP-lens, an automated BGP updates analysis tool, that has three desirable properties: (a) It is effective, able to identify phenomena that would otherwise go unnoticed, such as a peculiar 'clothesline' behavior or prolonged 'spikes' that last as long as 8 hours; (b) It is scalable, using algorithms are all linear on the number of time-ticks; and (c) It is admin-friendly, giving useful leads for phenomenon of interest. B. Aditya Prakash, Nicholas Valler, David G. Andersen, Michalis Faloutsos, Christos Faloutsos |
KDD | 3 |
| 2009 | Access Point Localization Using Local Signal Strength Gradient
Dongsu Han, David G. Andersen, Michael Kaminsky, Konstantina Papagiannaki, Srinivasan Seshan |
PAM | 2 |
| 2009 | Safe and effective fine-grained TCP retransmissions for datacenter communicationabstractThis paper presents a practical solution to a problem facing high-fan-in, high-bandwidth synchronized TCP workloads in datacenter Ethernets---the TCP incast problem. In these networks, receivers can experience a drastic reduction in application throughput when simultaneously requesting data from many servers using TCP. Inbound data overfills small switch buffers, leading to TCP timeouts lasting hundreds of milliseconds. For many datacenter workloads that have a barrier synchronization requirement (e.g., filesystem reads and parallel data-intensive queries), throughput is reduced by up to 90%. For latency-sensitive applications, TCP timeouts in the datacenter impose delays of hundreds of milliseconds in networks with round-trip-times in microseconds. Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat, David G. Andersen, Gregory R. Ganger, Garth A. Gibson, Brian Mueller |
SIGCOMM | 5 |
| 2009 | FAWN: a fast array of wimpy nodesabstractThis 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 |
SOSP | 1 |
| 2009 | CLAMP: Practical Prevention of Large-Scale Data LeaksabstractProviding online access to sensitive data makes web servers lucrative targets for attackers. A compromise of any of the web server's scripts, applications, or operating system can leak the sensitive data of millions of customers. Unfortunately, many systems for stopping data leaks require considerable effort from application developers, hindering their adoption.In this work, we investigate how such leaks can be prevented with minimal developer effort. We propose CLAMP, an architecture for preventing data leaks even in the presence of web server compromises or SQL injection attacks. CLAMP protects sensitive data by enforcing strong access control on user data and by isolating code running on behalf of different users. By focusing on minimizing developer effort, we arrive at an architecture that allows developers to use familiar operating systems, servers, and scripting languages, while making relatively few changes to application code -- less than 50 lines in our applications. Bryan Parno, Jonathan M. McCune, Dan Wendlandt, David G. Andersen, Adrian Perrig |
SP | 4 |
| 2008 | SNAPP: stateless network-authenticated path pinningabstractThis paper examines a new building block for next-generation networks: SNAPP, or Stateless Network-Authenticated Path Pinning. SNAPP-enabled routers securely embed their routing decisions in the packet headers of a stream of traffic, effectively pinning a flow's path between sender and receiver. A sender can use the pinned path (even if routes subsequently change) by including the path embedding in later packet headers. This architectural building block decouples routing from forwarding, which greatly enhances the availability of a path in the face of routing misconfigurations or malicious attacks. To demonstrate the extreme flexibility of SNAPP, we show how it can support a wide range of applications, including sender-controlled paths, expensive route lookups, sender anonymity, and sender accountability. Our analysis shows that SNAPP's overhead is low, and the system is easily implemented in hardware. We believe that SNAPP is a worthy addition to the network architect's toolbox, enabling a variety of new designs and trade-offs. Bryan Parno, Adrian Perrig, David G. Andersen |
AsiaCCS | 3 |
| 2008 | Measurement and Analysis of TCP Throughput Collapse in Cluster-based Storage Systems
Amar Phanishayee, Elie Krevat, Vijay Vasudevan, David G. Andersen, Gregory R. Ganger, Garth A. Gibson, Srinivasan Seshan |
FAST | 4 |
| 2008 | Mark-and-sweep: getting the "inside" scoop on neighborhood networksabstractResidential 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 Conference | 3 |
| 2008 | An empirical evaluation of entropy-based traffic anomaly detectionabstractEntropy-based approaches for anomaly detection are appealing since they provide more fine-grained insights than traditional traffic volume analysis. While previous work has demonstrated the benefits of entropy-based anomaly detection, there has been little effort to comprehensively understand the detection power of using entropy-based analysis of multiple traffic distributions in conjunction with each other. We consider two classes of distributions: flow-header features (IP addresses, ports, and flow-sizes), and behavioral features (degree distributions measuring the number of distinct destination/source IPs that each host communicates with). We observe that the timeseries of entropy values of the address and port distributions are strongly correlated with each other and provide very similar anomaly detection capabilities. The behavioral and flow size distributions are less correlated and detect incidents that do not show up as anomalies in the port and address distributions. Further analysis using synthetically generated anomalies also suggests that the port and address distributions have limited utility in detecting scan and bandwidth flood anomalies. Based on our analysis, we discuss important implications for entropy-based anomaly detection. George Nychis, Vyas Sekar, David G. Andersen, Hyong S. Kim 0001, Hui Zhang 0001 |
Internet Measurement Conference | 3 |
| 2008 | Ditto: a system for opportunistic caching in multi-hop wireless networksabstractThis paper presents the design, implementation, and evaluation of Ditto, a system that opportunistically caches overheard data to improve subsequent transfer throughput in wireless mesh networks. While mesh networks have been proposed as a way to provide cheap, easily deployable Internet access, they must maintain high transfer throughput to be able to compete with other last-mile technologies. Unfortunately, doing so is difficult because multi-hop wireless transmissions interfere with each other, reducing the available capacity on the network. This problem is particularly severe in common gateway-based scenarios in which nearly all transmissions go through one or a few gateways from the mesh network to the Internet.Ditto exploits on-path as well as opportunistic caching based on overhearing to improve the throughput of data transfers and to reduce load on the gateways. It uses content-based naming to provide application independent caching at the granularity of small chunks, a feature that is key to being able to cache partially overheard data transfers. Our evaluation of Ditto shows that it can achieve significant performance gains for cached data, increasing throughput by up to 7x over simpler on-path caching schemes, and by up to an order of magnitude over no caching. Fahad R. Dogar, Amar Phanishayee, Himabindu Pucha, Olatunji Ruwase, David G. Andersen |
MobiCom | 5 |
| 2008 | Efficiency Through Eavesdropping: Link-layer Packet Caching
Mikhail Afanasyev, David G. Andersen, Alex C. Snoeren |
NSDI | 2 |
| 2008 | cSamp: A System for Network-Wide Flow Monitoring
Vyas Sekar, Michael K. Reiter, Walter Willinger, Hui Zhang 0001, Ramana Rao Kompella, David G. Andersen |
NSDI | 6 |
| 2008 | Accountable internet protocol (aip)abstractThis paper presents AIP (Accountable Internet Protocol), a network architecture that provides accountability as a first-order property. AIP uses a hierarchy of self-certifying addresses, in which each component is derived from the public key of the corresponding entity. We discuss how AIP enables simple solutions to source spoofing, denial-of-service, route hijacking, and route forgery. We also discuss how AIP's design meets the challenges of scaling, key management, and traffic engineering. David G. Andersen, Hari Balakrishnan, Nick Feamster, Teemu Koponen, Daekyeong Moon, Scott Shenker |
SIGCOMM | 1 |
| 2008 | Adaptive File Transfers for Diverse Environments
Himabindu Pucha, Michael Kaminsky, David G. Andersen, Michael A. Kozuch |
USENIX ATC | 3 |
| 2008 | Perspectives: Improving SSH-style Host Authentication with Multi-Path Probing
Dan Wendlandt, David G. Andersen, Adrian Perrig |
USENIX ATC | 2 |
| 2007 | Holding the Internet Accountable
David G. Andersen, Hari Balakrishnan, Nick Feamster, Teemu Koponen, Daekyeong Moon, Scott Shenker |
HotNets | 1 |
| 2007 | Exploiting Similarity for Multi-Source Downloads Using File Handprints
Himabindu Pucha, David G. Andersen, Michael Kaminsky |
NSDI | 2 |
| 2006 | Don't Secure Routing Protocols, Secure Data Delivery
Dan Wendlandt, Ioannis C. Avramopoulos, David G. Andersen, Jennifer Rexford |
HotNets | 3 |
| 2006 | An Architecture for Internet Data Transfer
Niraj Tolia, Michael Kaminsky, David G. Andersen, Swapnil Patil 0001 |
NSDI | 3 |
| 2005 | Improving Web Availability for Clients with MONET
David G. Andersen, Hari Balakrishnan, M. Frans Kaashoek, Rohit N. Rao |
NSDI | 1 |
| 2005 | What the protocol stack missed: the transfer serviceabstractThis 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 |
SOSP | 2 |
| 2003 | Block-Level Security for Network-Attached Disks
Marcos K. Aguilera, Minwen Ji, Mark Lillibridge, John MacCormick, Erwin Oertli, David G. Andersen, Michael Burrows, Timothy P. Mann, Chandramohan A. Thekkath |
FAST | 6 |
| 2003 | Best-path vs. multi-path overlay routingabstractTime-varying congestion on Internet paths and failures due to software, hardware, and configuration errors often disrupt packet delivery on the Internet.Many aproaches to avoiding these problems use multiple paths between two network locations. These approaches rely on a path-independence assumption in order to work well; i.e., they work best when the problems on different paths between two locations are uncorrelated in time.This paper examines the extent to which this assumption holds on the Internet by analyzing 14 days of data collected from 30 nodes in the RON testbed. We examine two problems that manifest themselves---congestion-triggered loss and path failures---and find that the chances of losing two packets between the same hosts is nearly as high when those packets are sent through an intermediate node (60%) as when they are sent back-to-back on the same path (70%). In so doing, we also compare two different ways of taking advantage of path redundancy proposed in the literature: mesh routing based on packet replication, and reactive routing based on adaptive path selection. David G. Andersen, Alex C. Snoeren, Hari Balakrishnan |
Internet Measurement Conference | 1 |
| 2003 | Measuring the effects of internet path faults on reactive routingabstractEmpirical evidence suggests that reactive routing systems improve resilience to Internet path failures. They detect and route around faulty paths based on measurements of path performance. This paper seeks to understand why and under what circumstances these techniques are effective.To do so, this paper correlates end-to-end active probing experiments, loss-triggered traceroutes of Internet paths, and BGP routing messages. These correlations shed light on three questions about Internet path failures: (1) Where do failures appear? (2) How long do they last? (3) How do they correlate with BGP routing instability?Data collected over 13 months from an Internet testbed of 31 topologically diverse hosts suggests that most path failures last less than fifteen minutes. Failures that appear in the network core correlate better with BGP instability than failures that appear close to end hosts. On average, most failures precede BGP messages by about four minutes, but there is often increased BGP traffic both before and after failures. Our findings suggest that reactive routing is most effective between hosts that have multiple connections to the Internet. The data set also suggests that passive observations of BGP routing messages could be used to predict about 20% of impending failures, allowing re-routing systems to react more quickly to failures. Nick Feamster, David G. Andersen, Hari Balakrishnan, M. Frans Kaashoek |
SIGMETRICS | 2 |
| 2002 | Topology inference from BGP routing dynamicsabstractThis paper describes a method of inferring logical relationships between network prefixes within an Autonomous System (AS) using only passive monitoring of BGP messages. By clustering these prefixes based upon similarities between their update times, we create a hierarchy linking the prefixes within the larger AS. We can frequently identify groups of prefixes routed to the same ISP Point of Presence (POP), despite the lack of identifying information in the BGP messages. Similarly, we observe disparate prefixes under common organizational control, or with long shared network paths. In addition to discovering interesting network characteristics, our passive method facilitates topology discovery by potentially reducing the number of active probes required in traditional traceroute-based Internet mapping mechanisms. David G. Andersen, Nick Feamster, Steven J. Bauer, Hari Balakrishnan |
Internet Measurement Workshop | 1 |
| 2001 | The Case for Resilient Overlay NetworksabstractThis paper makes the case for Resilient Overlay Networks (RONs), an application-level routing and packet forwarding service that gives end-hosts and applications the ability to take advantage of network paths that traditional Internet routing cannot make use of, thereby improving their end-to-end reliability and performance. Using RON, nodes participating in a distributed Internet application configure themselves into an overlay network and cooperatively forward packets for each other. Each RON node monitors the quality of the links in the underlying Internet and propagates this information to the other nodes; this enables a RON to detect and react to path failures within several seconds rather than several minutes, and allows it to select application-specific paths based on performance. We argue that RON has the potential to substantially improve the resilience of distributed Internet applications to path outages and sustained overload. David G. Andersen, Hari Balakrishnan, M. Frans Kaashoek, Robert Morris 0005 |
HotOS | 1 |
| 2001 | Resilient Overlay NetworksabstractA Resilient Overlay Network (RON) is an architecture that allows distributed Internet applications to detect and recover from path outages and periods of degraded performance within several seconds, improving over today's wide-area routing protocols that take at least several minutes to recover. A RON is an application-layer overlay on top of the existing Internet routing substrate. The RON nodes monitor the functioning and quality of the Internet paths among themselves, and use this information to decide whether to route packets directly over the Internet or by way of other RON nodes, optimizing application-specific routing metrics.Results from two sets of measurements of a working RON deployed at sites scattered across the Internet demonstrate the benefits of our architecture. For instance, over a 64-hour sampling period in March 2001 across a twelve-node RON, there were 32 significant outages, each lasting over thirty minutes, over the 132 measured paths. RON's routing mechanism was able to detect, recover, and route around all of them, in less than twenty seconds on average, showing that its methods for fault detection and recovery work well at discovering alternate paths in the Internet. Furthermore, RON was able to improve the loss rate, latency, or throughput perceived by data transfers; for example, about 5% of the transfers doubled their TCP throughput and 5% of our transfers saw their loss probability reduced by 0.05. We found that forwarding packets via at most one intermediate RON node is sufficient to overcome faults and improve performance in most cases. These improvements, particularly in the area of fault detection and recovery, demonstrate the benefits of moving some of the control over routing into the hands of end-systems. David G. Andersen, Hari Balakrishnan, M. Frans Kaashoek, Robert Morris 0005 |
SOSP | 1 |
| 2000 | System Support for Bandwidth Management and Content Adaptation in Internet Applications
David G. Andersen, Deepak Bansal, Dorothy Curtis, Srinivasan Seshan, Hari Balakrishnan |
OSDI | 1 |
| 1999 | The Flask Security Architecture: System Support for Diverse Security Policies
Ray Spencer, Stephen Smalley, Peter A. Loscocco, Mike Hibler, David G. Andersen, Jay Lepreau |
USENIX Security Symposium | 5 |