David G. Andersen
YOU?
Author Swipe
View article: Combining Machine Learning and Lifetime-Based Resource Management for Memory Allocation and Beyond
Combining Machine Learning and Lifetime-Based Resource Management for Memory Allocation and Beyond Open
Memory management is fundamental to the performance of all applications. On modern server architectures, an application's memory allocator needs to balance memory utilization against the ability to use 2MB huge pages, which are crucial for…
View article: Combining Machine Learning and Lifetime-Based Resource Management for Memory Allocation and Beyond
Combining Machine Learning and Lifetime-Based Resource Management for Memory Allocation and Beyond Open
Memory management is fundamental to the performance of all applications. On modern server architectures, an application's memory allocator needs to balance memory utilization against the ability to use 2MB huge pages, which are crucial for…
View article: RAIZN: Redundant Array of Independent Zoned Namespaces
RAIZN: Redundant Array of Independent Zoned Namespaces Open
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 thes…
View article: Lightweight Preemptible Functions
Lightweight Preemptible Functions Open
We introduce novel programming abstractions for isolation of both time and memory. They operate at finer granularity than traditional primitives, supporting preemption at sub-millisecond timescales and tasks defined at the level of a funct…
View article: Succinct range filters
Succinct range filters Open
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, such as range counts. SuRF i…
View article: High availability in cheap distributed key value storage
High availability in cheap distributed key value storage Open
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 cos…
View article: Cuckoo index
Cuckoo index Open
In 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 seconda…
View article: Succinct Range Filters
Succinct Range Filters Open
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-r…
View article: Order-Preserving Key Compression for In-Memory Search Trees
Order-Preserving Key Compression for In-Memory Search Trees Open
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 a…
View article: Improving Approximate Nearest Neighbor Search through Learned Adaptive Early Termination
Improving Approximate Nearest Neighbor Search through Learned Adaptive Early Termination Open
In 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 correspondi…
View article: Learning-based Memory Allocation for C++ Server Workloads
Learning-based Memory Allocation for C++ Server Workloads Open
Modern 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) …
View article: Order-Preserving Key Compression for In-Memory Search Trees
Order-Preserving Key Compression for In-Memory Search Trees Open
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 a…
View article: Accelerating Deep Learning by Focusing on the Biggest Losers
Accelerating Deep Learning by Focusing on the Biggest Losers Open
This paper introduces Selective-Backprop, a technique that accelerates the training of deep neural networks (DNNs) by prioritizing examples with high loss at each iteration. Selective-Backprop uses the output of a training example's forwar…
View article: Scaling Video Analytics on Constrained Edge Nodes
Scaling Video Analytics on Constrained Edge Nodes Open
As video camera deployments continue to grow, the need to process large volumes of real-time data strains wide area network infrastructure. When per-camera bandwidth is limited, it is infeasible for applications such as traffic monitoring …
View article: MLSys: The New Frontier of Machine Learning Systems
MLSys: The New Frontier of Machine Learning Systems Open
Machine learning (ML) techniques are enjoying rapidly increasing adoption. However, designing and implementing the systems that support ML models in real-world deployments remains a significant obstacle, in large part due to the radically …
View article: EDF: Ensemble, Distill, and Fuse for Easy Video Labeling
EDF: Ensemble, Distill, and Fuse for Easy Video Labeling Open
We present a way to rapidly bootstrap object detection on unseen videos using minimal human annotations. We accomplish this by combining two complementary sources of knowledge (one generic and the other specific) using bounding box merging…
View article: Motivating the Rules of the Game for Adversarial Example Research
Motivating the Rules of the Game for Adversarial Example Research Open
Advances in machine learning have led to broad deployment of systems with impressive performance on important problems. Nonetheless, these systems can be induced to make errors on data that are surprisingly similar to examples the learned …
View article: Datacenter RPCs can be General and Fast
Datacenter RPCs can be General and Fast Open
It is commonly believed that datacenter networking software must sacrifice generality to attain high performance. The popularity of specialized distributed systems designed specifically for niche technologies such as RDMA, lossless network…
View article: SuRF
SuRF Open
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-r…
View article: 3LC: Lightweight and Effective Traffic Compression for Distributed Machine Learning
3LC: Lightweight and Effective Traffic Compression for Distributed Machine Learning Open
The performance and efficiency of distributed machine learning (ML) depends significantly on how long it takes for nodes to exchange state changes. Overly-aggressive attempts to reduce communication often sacrifice final model accuracy and…
View article: FastPass: Providing First-Packet Delivery
FastPass: Providing First-Packet Delivery Open
This paper introduces FastPass, an architecture that thwarts flooding attacks by providing destinations with total control over their upstream network capacity. FastPass explores an extreme design point, providing complete resistance to di…
View article: An Architecture for Internet Data Transfer
An Architecture for Internet Data Transfer Open
This paper presents the design and implementation of DOT, a flexible architecture for data transfer. This architecture separates content negotiation from the data transfer itself. Applications determine what data they need to send and then…
View article: Learning to Protect Communications with Adversarial Neural Cryptography
Learning to Protect Communications with Adversarial Neural Cryptography Open
We ask whether neural networks can learn to use secret keys to protect information from other neural networks. Specifically, we focus on ensuring confidentiality properties in a multiagent system, and we specify those properties in terms o…
View article: Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server Platform
Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server Platform Open
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 an…
View article: NetMemex: Providing Full-Fidelity Traffic Archival
NetMemex: Providing Full-Fidelity Traffic Archival Open
NetMemex explores efficient network traffic archival without any loss of information. Unlike NetFlow-like aggregation, NetMemex allows retrieving the entire packet data including full payload, which makes it useful in forensic analysis, ne…
View article: Scheduling techniques for hybrid circuit/packet networks
Scheduling techniques for hybrid circuit/packet networks Open
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 sched…
View article: Scaling Up Clustered Network Appliances with ScaleBricks
Scaling Up Clustered Network Appliances with ScaleBricks Open
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, com…