Philip Alexander Levis

dblp:91/2665 · DBLP profile ↗
← Back
96ranked-venue papers
9as first author
8since 2021 · last 2025
—ORCID · none

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

Computer networks · 53 · 5 first-author · 1 since 2021Software engineering, systems software and programming languages · 16 · 2 first-author · 4 since 2021Systems, architecture and hardware · 11 · 1 first-author · 2 since 2021Graphics, computer vision, multimedia, augmented reality and games · 7Databases, data management, data science and information retrieval · 4 · 1 first-authorHuman-computer interaction and ubiquitous computing · 2 · 1 first-authorArtificial intelligence and machine learning · 1Security and privacy · 1
YearPublicationVenuePosition
2025 Tock: From Research To Securing 10 Million Computers
Leon Schuermann, Bradford Campbell, Branden Ghena, Philip Alexander Levis, Amit Levy 0001, Pat Pannuto
SOSP4
2023 Cornflakes: Zero-Copy Serialization for Microsecond-Scale Networking
abstract
Data serialization is critical for many datacenter applications, but the memory copies required to move application data into packets are costly. Recent zero-copy APIs expose NIC scatter-gather capabilities, raising the possibility of offloading this data movement to the NIC. However, as the memory coordination required for scatter-gather adds bookkeeping overhead, scatter-gather is not always useful. We describe Cornflakes, a hybrid serialization library stack that uses scatter-gather for serialization when it improves performance and falls back to memory copies otherwise. We have implemented Cornflakes within a UDP and TCP networking stack, across Mellanox and Intel NICs. On a Twitter cache trace, Cornflakes achieves 15.4% higher throughput than prior software approaches on a custom key-value store and 8.8% higher throughput than Redis serialization within Redis.
Deepti Raghavan, Shreya Ravi, Gina Yuan, Pratiksha Thaker, Sanjari Srivastava, Micah Murray, Pedro Henrique de Mello Morado Penna, Amy Ousterhout, Philip Alexander Levis, Matei Zaharia, Irene Zhang
SOSP9
2023 GRIP: A Graph Neural Network Accelerator Architecture
abstract
We present GRIP, a graph neural network accelerator architecture designed for low-latency inference. Accelerating GNNs is challenging because they combine two distinct types of computation: arithmetic-intensivevertex-centricoperations and memory-intensiveedge-centricoperations. GRIP splits GNN inference into a three edge- and vertex-centric execution phases that can be implemented in hardware. GRIP specializes each unit for the unique computational structure found in each phase. For vertex-centric phases, GRIP uses a high performance matrix multiply engine coupled with a dedicated memory subsystem for weights to improve reuse. For edge-centric phases, GRIP use multiple parallel prefetch and reduction engines to alleviate the irregularity in memory accesses. Finally, GRIP supports several GNN optimizations, including an optimization called vertex-tiling that increases the reuse of weight data. We evaluate GRIP by performing synthesis and place and route for a$28 \;\mathrm{n}\mathrm{m}$implementation capable of executing inference for several widely-used GNN models (GCN, GraphSAGE, G-GCN, and GIN). Across several benchmark graphs, it reduces 99th percentile latency by a geometric mean of$17\times$and$23\times$compared to a CPU and GPU baseline, respectively, while drawing only$5 \;\mathrm{W}$.
Kevin Kiningham, Philip Alexander Levis, Christopher Ré
IEEE Trans. Computers2
2022 Tighten rust's belt: shrinking embedded Rust binaries
abstract
Rust is a promising programming language for embedded software, providing low-level primitives and performance similar to C/C++ alongside type safety, memory safety, and modern high-level language features. We find naive use of Rust leads to binaries much larger than their C equivalents. For flash-constrained embedded microcontrollers, this is prohibitive. We find four major causes of this growth: monomorphization, inefficient derivations, implicit data structures, and missing compiler optimizations. We present a set of embedded Rust programming principles which reduce Rust binary sizes. We apply these principles to an industrial Rust firmware application, reducing size by 76kB (19%), and an open source Rust OS kernel binary, reducing size by 23kB (26%). We explore compiler optimizations that could further shrink embedded Rust.
Hudson Ayers, Evan Laufer, Paul Mure, Jaehyeon Park, Eduardo Rodelo, Thea Rossman, Andrey Pronin, Philip Alexander Levis, Johnathan Van Why
LCTES8
2021 Clamor: Extending Functional Cluster Computing Frameworks with Fine-Grained Remote Memory Access
abstract
We propose Clamor, a functional cluster computing framework that adds support for fine-grained, transparent access to global variables for distributed, data-parallel tasks. Clamor targets workloads that perform sparse accesses and updates within the bulk synchronous parallel execution model, a setting where the standard technique of broadcasting global variables is highly inefficient. Clamor implements a novel dynamic replication mechanism in order to enable efficient access to popular data regions on the fly, and tracks finegrained dependencies in order to retain the lineage-based fault tolerance model of systems like Spark. Clamor can integrate with existing Rust and C++ libraries to transparently distribute programs on the cluster. We show that Clamor is competitive with Spark in simple functional workloads and can improve performance significantly compared to custom systems on workloads that sparsely access large global variables: from 5x for sparse logistic regression to over 100x on distributed geospatial queries.
Pratiksha Thaker, Hudson Ayers, Deepti Raghavan, Ning Niu, Philip Alexander Levis, Matei Zaharia
SoCC5
2021 Power Clocks: Dynamic Multi-Clock Management for Embedded Systems
Holly Chiang, Hudson Ayers, Daniel B. Giffin, Amit Levy 0001, Philip Alexander Levis
EWSN5
2021 Receiving Colliding LoRa Packets with Hard Information Iterative Decoding
abstract
This paper presents symbol querying and symbol SIC, two techniques which allow LoRa receivers to recover colliding packets. A symbol querying receiver allows the demodulator and channel decoder to jointly search for the correct set of symbols during a collision. By operating in the frequency domain, both symbol querying and symbol SIC greatly limit the search space of possible packets, allowing for efficient implementations. Experimental results show that these techniques allow LoRa to elevate error detection to correction and outperform a BICM-ID receiver, receiving 3.8x more frames than a traditional LoRa receiver in a low SINR setting.
Raejoon Jung, Philip Alexander Levis
GLOBECOM2
2021 Breakfast of champions: towards zero-copy serialization with NIC scatter-gather
abstract
Microsecond I/O will make data serialization a major bottleneck for datacenter applications. Serialization is fundamentally about data movement: serialization libraries coalesce and flatten in-memory data structures into a single transmittable buffer. CPU-based serialization approaches will hit a performance limit due to data movement overheads and be unable to keep up with modern networks.
Deepti Raghavan, Philip Alexander Levis, Matei Zaharia, Irene Zhang
HotOS2
2020 Design Considerations for Low Power Internet Protocols
abstract
Low-power wireless networks provide IPv6 connectivity through 6LoWPAN, a set of standards to aggressively compress IPv6 packets over small maximum transfer unit (MTU) links such as 802.15.4.The entire purpose of IP was to interconnect different networks, but we find that different 6LoWPAN implementations fail to reliably communicate with one another. These failures are due to stacks implementing different subsets of the standard out of concern for code size. We argue that this failure stems from 6LoWPAN's design, not implementation, and is due to applying traditional Internet protocol design principles to low- power networks.We propose three design principles for Internet protocols on low-power networks, designed to prevent similar failures in the future. These principles are based around the importance of providing flexible tradeoffs between code size and energy efficiency. We apply these principles to 6LoWPAN and show that the modified protocol provides a wide range of implementation strategies while allowing implementations with different strategies to reliably communicate.
Hudson Ayers, Paul Crews, Hubert Hua Kian Teo, Conor McAvity, Amit Levy 0001, Philip Alexander Levis
DCOSS6
2020 Learning in situ: a randomized experiment in video streaming
Francis Y. Yan, Hudson Ayers, Chenzhi Zhu, Sadjad Fouladi, Keyi Zhang, Philip Alexander Levis, Keith Winstein
NSDI7
2020 POSH: A Data-Aware Shell
Deepti Raghavan, Sadjad Fouladi, Philip Alexander Levis, Matei Zaharia
USENIX ATC3
2020 Accelerating Distributed Graphical Fluid Simulations with Micro-partitioning
abstract
Abstract Graphical fluid simulations are CPU‐bound. Parallelizing simulations on hundreds of cores in the computing cloud would make them faster, but requires evenly balancing load across nodes. Good load balancing depends on manual decisions from experts, which are time‐consuming and error prone, or dynamic approaches that estimate and react to future load, which are non‐deterministic and hard to debug. This paper proposes Birdshot scheduling, an automatic and purely static load balancing algorithm whose performance is close to expert decisions and reactive algorithms without their difficulty or complexity. Birdshot scheduling's key insight is to leverage the high‐latency, high‐throughput, full bisection bandwidth of cloud computing nodes. Birdshot scheduling splits the simulation domain into many micro‐partitions and statically assigns them to nodes randomly. Analytical results show that randomly assigned micro‐partitions balance load with high probability. The high‐throughput network easily handles the increased data transfers from micro‐partitions, and full bisection bandwidth allows random placement with no performance penalty. Overlapping the communications and computations of different micro‐partitions masks latency. Experiments with particle‐level set, SPH, FLIP and explicit Eulerian methods show that Birdshot scheduling speeds up simulations by a factor of 2‐3, and can out‐perform reactive scheduling algorithms. Birdshot scheduling performs within 21% of state‐of‐the‐art dynamic methods that require running a second, parallel simulation. Unlike speculative algorithms, Birdshot scheduling is purely static: it requires no controller, runtime data collection, partition migration or support for these operations from the programmer.
Hang Qu, Omid Mashayekhi, Chinmayee Shah, Philip Alexander Levis
Comput. Graph. Forum4
2020 Approximate Partition Selection for Big-Data Workloads using Summary Statistics
Kexin Rong 0001, Yao Lu 0028, Peter Bailis, Srikanth Kandula, Philip Alexander Levis
Proc. VLDB Endow.5
2020 Creating Hardware Component Knowledge Bases with Training Data Generation and Multi-task Learning
abstract
Hardware component databases are vital resources in designing embedded systems. Since creating these databases requires hundreds of thousands of hours of manual data entry, they are proprietary, limited in the data they provide, and have random data entry errors. We present a machine learning based approach for creating hardware component databases directly from datasheets. Extracting data directly from datasheets is challenging because: (1) the data is relational in nature and relies on non-local context, (2) the documents are filled with technical jargon, and (3) the datasheets are PDFs, a format that decouples visual locality from locality in the document. Addressing this complexity has traditionally relied on human input, making it costly to scale. Our approach uses a rich data model, weak supervision, data augmentation, and multi-task learning to create these knowledge bases in a matter of days. We evaluate the approach on datasheets of three types of components and achieve an average quality of 77 F1 points—quality comparable to existing human-curated knowledge bases. We perform application studies that demonstrate the extraction of multiple data modalities including numerical properties and images. We show how different sources of supervision such as heuristics and human labels have distinct advantages that can be utilized together to improve knowledge base quality. Finally, we present a case study to show how this approach changes the way practitioners create hardware component knowledge bases.
Luke Hsiao, Sen Wu 0002, Nicholas Chiang, Christopher Ré, Philip Alexander Levis
ACM Trans. Embed. Comput. Syst.5
2019 Rehashing Kernel Evaluation in High Dimensions
abstract
Kernel methods are effective but do not scale well to large scale data, especially in high dimensions where the geometric data structures used to accelerate kernel evaluation suffer from the curse of dimensionality. Recent theoretical advances have proposed fast kernel evaluation algorithms leveraging hashing techniques with worst-case asymptotic improvements. However, these advances are largely confined to the theoretical realm due to concerns such as super-linear preprocessing time and diminishing gains in non-worst case datasets. In this paper, we close the gap between theory and practice by addressing these challenges via provable and practical procedures for adaptive sample size selection, preprocessing time reduction, and refined variance bounds that quantify the data-dependent performance of random sampling and hashing-based kernel evaluation methods. Our experiments show that these new tools offer up to $10\times$ improvement in evaluation time on a range of synthetic and real-world datasets.
Paris Siminelakis, Kexin Rong 0001, Peter Bailis, Moses Charikar, Philip Alexander Levis
ICML5
2019 Automating the generation of hardware component knowledge bases
abstract
Hardware component databases are critical resources in designing embedded systems. Since generating these databases requires hundreds of thousands of hours of manual data entry, they are proprietary, limited in the data they provide, and have many random data entry errors.
Luke Hsiao, Sen Wu 0002, Nicholas Chiang, Christopher Ré, Philip Alexander Levis
LCTES5
2019 Falcon - A Flexible Architecture For Accelerating Cryptography
abstract
Internet of Things (IoT) devices, once deployed, must remain secure for their entire lifetime, which can be as long as 20 years. Over this lifetime, devices must be able to update which ciphers they use to meet evolving security requirements. However, devices cannot rely on software updates for their cryptography because software implementations consume too much energy. At the same time, fixed function hardware accelerators such as an AES engine cannot support new ciphers. This paper presents Falcon, a hardware architecture for accelerating a broad range of cryptography on energy limited devices. Rather than accelerate a fixed set of current ciphers, Falcon provides a general execution engine that accelerates dominant and emerging ciphers, such as AES, Cha-Cha, SHA-256, RSA, ECC with Curve25519, as well as post-quantum ciphers such as R-LWE. For cryptography, Falcon provides the flexibility of software while reducing the energy consumption of cryptography by 5-60x compared to software. This reduction makes it feasible for IoT applications to upgrade the ciphers they use after deployment, allowing them to keep up to date with security best practices without reducing their deployment lifetime or reducing the application workload. In an application monitoring the temperature of sensitive medical supplies in hospitals, Falcon doubles the deployment lifetime (2.2x).
Kevin Kiningham, Philip Alexander Levis, Dan Boneh, Mark Horowitz, Maurice Shih
MASS2
2019 Challenge: Unlicensed LPWANs Are Not Yet the Path to Ubiquitous Connectivity
abstract
Low-power wide-area networks (LPWANs) are a compelling answer to the networking challenges faced by many Internet of Things devices. Their combination of low power, long range, and deployment ease has motivated a flurry of research, including exciting results on backscatter and interference cancellation that further lower power budgets and increase capacity. But despite the interest, we argue that unlicensed LPWAN technologies can only serve a narrow class of Internet of Things applications due to two principal challenges: capacity and coexistence. We propose a metric, bit flux, to describe networks and applications in terms of throughput over a coverage area. Using bit flux, we find that the combination of low bit rate and long range restricts the use case of LPWANs to sparse sensing applications. Furthermore, this lack of capacity leads networks to use as much available bandwidth as possible, and a lack of coexistence mechanisms causes poor performance in the presence of multiple, independently-administered networks. We discuss a variety of techniques and approaches that could be used to address these two challenges and enable LPWANs to achieve the promise of ubiquitous connectivity.
Branden Ghena, Joshua Adkins, Longfei Shangguan, Kyle Jamieson, Philip Alexander Levis, Prabal Dutta
MobiCom5
2018 Decoupling the control plane from program control flow for flexibility and performance in cloud computing
abstract
Existing cloud computing control planes do not scale to more than a few hundred cores, while frameworks without control planes scale but take seconds to reschedule a job. We propose an asynchronous control plane for cloud computing systems, in which a central controller can dynamically reschedule jobs but worker nodes never block on communication with the controller. By decoupling control plane traffic from program control flow in this way, an asynchronous control plane can scale to run millions of computations per second while being able to reschedule computations within milliseconds.
Hang Qu, Omid Mashayekhi, Chinmayee Shah, Philip Alexander Levis
EuroSys4
2018 Towards a Secure Internet of Things
abstract
Embedded, networked sensors and actuators are everywhere. They are in engines, monitoring combustion and performance. They are in our shoes and on our wrists, helping us exercise enough and measuring our sleep. They are in our phones, our homes, hospitals, offices, ovens, planes, trains, and automobiles. Their streams of data will improve industry, energy consumption, agriculture, business, and our health. Software processes these streams to provide real-time analytics, insights, and notifications, as well as control and actuate the physical world. The emerging Internet of Things has tremendous potential, but also tremendous dangers. Internet threats today steal credit cards. Internet threats tomorrow will disable home security systems, flood fields, and disrupt hospitals.The Secure Internet of Things Project (SITP) is 5-year collaboration between Stanford and UC Berkeley. Its goal is to rethink how we design, implement and test the Internet of Things so that it is secure and dependable. I'll give an overview of the project, its research goals, and its participants. I'll talk about two research efforts in the project: Tock, a secure embedded operating system, and Beetle, a new abstraction layer for Bluetooth networks that is able to support a much wider range of applications.
Philip Alexander Levis
PerCom1
2018 Design Considerations for Low Power Internet Protocols
abstract
Examining implementations of the 6LoWPAN Internet Standard in major embedded operating systems, we observe that they do not fully interoperate. We find this is due to some inherent design flaws in 6LoWPAN. We propose and demonstrate four principles that can be used to structure protocols for low power devices that encourage interoperability between diverse implementations.
Hudson Ayers, Paul Crews, Hubert Hua Kian Teo, Conor McAvity, Amit Levy 0001, Philip Alexander Levis
SenSys6
2018 Dynamic Multi-Clock Management for Embedded Systems
abstract
Modern microcontrollers come with a selection of clock sources that have widely differing frequencies and power consumptions. For applications whose workloads vary over time, dynamically changing the clock can provide significant energy savings. The varying constraints of embedded hardware environments and the complex interactions of multiprogrammed systems makes this approach burdensome to do in application logic. Power Clocks orchestrates energy optimizing clock management in the kernel, obviating the need for application involvement while still achieving acceptable performance for typical workloads. This poster describes Power Clocks's design and presents preliminary results.
Holly Chiang, Daniel B. Giffin, Amit Levy 0001, Philip Alexander Levis
SenSys4
2018 Fonduer: Knowledge Base Construction from Richly Formatted Data
abstract
We focus on knowledge base construction (KBC) from richly formatted data. In contrast to KBC from text or tabular data, KBC from richly formatted data aims to extract relations conveyed jointly via textual, structural, tabular, and visual expressions. We introduce Fonduer, a machine-learning-based KBC system for richly formatted data. Fonduer presents a new data model that accounts for three challenging characteristics of richly formatted data: (1) prevalent document-level relations, (2) multimodality, and (3) data variety. Fonduer uses a new deep-learning model to automatically capture the representation (i.e., features) needed to learn how to extract relations from richly formatted data. Finally, Fonduer provides a new programming model that enables users to convert domain expertise, based on multiple modalities of information, to meaningful signals of supervision for training a KBC system. Fonduer-based KBC systems are in production for a range of use cases, including at a major online retailer. We compare Fonduer against state-of-the-art KBC approaches in four different domains. We show that Fonduer achieves an average improvement of 41 F1 points on the quality of the output knowledge base-and in some cases produces up to 1.87× the number of correct entries-compared to expert-curated public knowledge bases. We also conduct a user study to assess the usability of Fonduer's new programming model. We show that after using Fonduer for only 30 minutes, non-domain experts are able to design KBC systems that achieve on average 23 F1 points higher quality than traditional machine-learning-based KBC approaches.
Sen Wu 0002, Luke Hsiao, Braden Hancock, Theodoros Rekatsinas, Philip Alexander Levis, Christopher Ré
SIGMOD Conference6
2018 Pantheon: the training ground for Internet congestion-control research
Francis Y. Yan, Jestin Ma, Greg D. Hill, Deepti Raghavan, Riad S. Wahby, Philip Alexander Levis, Keith Winstein
USENIX ATC6
2018 Distributing and Load Balancing Sparse Fluid Simulations
abstract
Abstract This paper describes a general algorithm and a system for load balancing sparse fluid simulations. Automatically distributing sparse fluid simulations efficiently is challenging because the computational load varies across the simulation domain and time. A key challenge with load balancing is that optimal decision making requires knowing the fluid distribution across partitions for future time steps, but computing this state for an arbitrary simulation requires running the simulation itself. The key insight of this paper is that it is possible to predict future load by running a speculative low resolution simulation in parallel. We mathematically formulate the problem of load balancing over multiple time steps and present a polynomial time algorithm to compute an approximate solution to it. Our experimental results show that distributing and speculatively load balancing sparse FLIP simulations over 8 nodes speeds them up by 5.3× to 7.9×, and that speculative load balancing generates assignments that perform within 20% of optimal.
Chinmayee Shah, David Hyde 0001, Hang Qu, Philip Alexander Levis
Comput. Graph. Forum4
2018 Locality-Sensitive Hashing for Earthquake Detection: A Case Study Scaling Data-Driven Science
abstract
In this work, we report on a novel application of Locality Sensitive Hashing (LSH) to seismic data at scale. Based on the high waveform similarity between reoccurring earthquakes, our application identifies potential earthquakes by searching for similar time series segments via LSH. However, a straightforward implementation of this LSH-enabled application has difficulty scaling beyond 3 months of continuous time series data measured at a single seismic station. As a case study of a data-driven science workflow, we illustrate how domain knowledge can be incorporated into the workload to improve both the efficiency and result quality. We describe several end-to-end optimizations of the analysis pipeline from pre-processing to post-processing, which allow the application to scale to time series data measured at multiple seismic stations. Our optimizations enable an over 100× speedup in the end-to-end analysis pipeline. This improved scalability enabled seismologists to perform seismic analysis on more than ten years of continuous time series data from over ten seismic stations, and has directly enabled the discovery of 597 new earthquakes near the Diablo Canyon nuclear power plant in California and 6123 new earthquakes in New Zealand.
Kexin Rong 0001, Clara Yoon, Karianne Bergen, Hashem Elezabi, Peter Bailis, Philip Alexander Levis, Gregory C. Beroza
Proc. VLDB Endow.6
2018 Automatically Distributing Eulerian and Hybrid Fluid Simulations in the Cloud
abstract
Distributing a simulation across many machines can drastically speed up computations and increase detail. The computing cloud provides tremendous computing resources, but weak service guarantees force programs to manage significant system complexity: nodes, networks, and storage occasionally perform poorly or fail. We describe Nimbus, a system that automatically distributes grid-based and hybrid simulations across cloud computing nodes. The main simulation loop is sequential code and launches distributed computations across many cores. The simulation on each core runs as if it is stand-alone: Nimbus automatically stitches these simulations into a single, larger one. To do this efficiently, Nimbus introduces a four-layer data model that translates between the contiguous, geometric objects used by simulation libraries and the replicated, fine-grain objects managed by its underlying cloud computing runtime. Using PhysBAM particle-level set fluid simulations, we demonstrate that Nimbus can run higher detail simulations faster, distribute simulations on up to 512 cores, and run enormous simulations (1024 3 cells). Nimbus automatically manages these distributed simulations, balancing load across nodes and recovering from failures. Implementations of PhysBAM water and smoke simulations as well as an open source heat-diffusion simulation show that Nimbus is general and can support complex simulations. Nimbus can be downloaded from https://nimbus.stanford.edu.
Omid Mashayekhi, Chinmayee Shah, Hang Qu, Andrew Lim 0003, Philip Alexander Levis
ACM Trans. Graph.5
2017 Trust but Verify: Auditing the Secure Internet of Things
abstract
Internet-of-Things devices often collect and transmit sensitive information like camera footage, health monitoring data, or whether someone is home. These devices protect data in transit with end-to-end encryption, typically using TLS connections between devices and associated cloud services. But these TLS connections also prevent device owners from observing what their own devices are saying about them. Unlike in traditional Internet applications, where the end user controls one end of a connection (e.g., their web browser) and can observe its communication, Internet-of-Things vendors typically control the software in both the device and the cloud. As a result, owners have no way to audit the behavior of their own devices, leaving them little choice but to hope that these devices are transmitting only what they should.
Judson Wilson, Riad S. Wahby, Henry Corrigan-Gibbs, Dan Boneh, Philip Alexander Levis, Keith Winstein
MobiSys5
2017 The Tock Embedded Operating System
abstract
Low-power microcontrollers lack some of the hardware features and most of the memory resources that usually enable multiprogrammable systems. Accordingly, operating system software for these platforms has not provided important features like memory isolation, dynamic memory allocation, and flexible concurrency. However, an emerging class of embedded applications are software platforms, rather than single purpose devices. Tock, a new operating system for low-power platforms, takes advantage of the limited hardware-protection mechanisms available on recent microcontrollers and the type-safety features of the Rust programming language to provide a multiprogramming environment that offers isolation of software faults, memory protection, and efficient memory management for dynamic application workloads written in any language while retaining the dependability requirements of long-running devices.
Amit Levy 0001, Bradford Campbell, Branden Ghena, Daniel B. Giffin, Shane Leonard, Pat Pannuto, Prabal Dutta, Philip Alexander Levis
SenSys8
2017 Multiprogramming a 64kB Computer Safely and Efficiently
abstract
Low-power microcontrollers lack some of the hardware features and memory resources that enable multiprogrammable systems. Accordingly, microcontroller-based operating systems have not provided important features like fault isolation, dynamic memory allocation, and flexible concurrency. However, an emerging class of embedded applications are software platforms, rather than single purpose devices, and need these multiprogramming features. Tock, a new operating system for low-power platforms, takes advantage of limited hardware-protection mechanisms as well as the type-safety features of the Rust programming language to provide a multiprogramming environment for microcontrollers. Tock isolates software faults, provides memory protection, and efficiently manages memory for dynamic application workloads written in any language. It achieves this while retaining the dependability requirements of long-running applications.
Amit Levy 0001, Bradford Campbell, Branden Ghena, Daniel B. Giffin, Pat Pannuto, Prabal Dutta, Philip Alexander Levis
SOSP7
2017 Execution Templates: Caching Control Plane Decisions for Strong Scaling of Data Analytics
Omid Mashayekhi, Hang Qu, Chinmayee Shah, Philip Alexander Levis
USENIX ATC4
2016 CESEL: Securing a Mote for 20 Years
Kevin Kiningham, Mark Horowitz, Philip Alexander Levis, Dan Boneh
EWSN3
2016 Beetle: Flexible Communication for Bluetooth Low Energy
abstract
The next generation of computing peripherals will be low-power ubiquitous computing devices such as door locks, smart watches, and heart rate monitors. Bluetooth Low Energy is a primary protocol for connecting such peripherals to mobile and gateway devices. Current operating system support for Bluetooth Low Energy forces peripherals into vertical application silos. As a result, simple, intuitive applications such as opening a door with a smart watch or simultaneously logging and viewing heart rate data are impossible. We present Beetle, a new hardware interface that virtualizes peripherals at the application layer, allowing safe access by multiple programs without requiring the operating system to understand hardware functionality, fine-grained access control to peripheral device resources, and transparent access to peripherals connected over the network. We describe a series of novel applications that are impossible with existing abstractions but simple to implement with Beetle.
Amit Levy 0001, Laurynas Riliskis, Philip Alexander Levis, Keith Winstein
MobiSys4
2016 Robust, low-cost, auditable random number generation for embedded system security
abstract
This paper presents an architecture for a discrete, high-entropy hardware random number generator. Because it is constructed out of simple hardware components, its operation is transparent and auditable. Using avalanche noise, a non-deterministic physical phenomenon, the circuit is inherently probabilistic and resists adversarial control. Furthermore, because it compares the outputs from two matched noise sources, it rejects environmental disturbances like RF energy and power supply ripple. The resulting hardware produces more than 0.98 bits of entropy per sample, is inexpensive, has a small footprint, and can be disabled to conserve power when not in use.
Ben Lampert, Riad S. Wahby, Shane Leonard, Philip Alexander Levis
SenSys4
2016 Rebooting the Embedded System: Demo Abstract
abstract
For the last fifteen years, research explored the hardware, software, sensing, communication abstractions, languages, and protocols that could make networks of small, embedded devices---motes---sample and report data for long periods of time while unattended. Today, the application and technological landscapes have shifted, introducing new requirements and new capabilities. Hardware has evolved past 8 and 16 bit microcontrollers: there are now 32 bit processors with lower energy budgets and greater computing capability. New wireless link layers have emerged, creating protocols that support direct interaction with users, but introduce novel limitations that systems must consider. Programming language advances have led to the ability to write system kernels that guarantee safety and reliability while maintaining low overhead. The time has come to look beyond optimizing networks of motes. We look towards new technologies such as Bluetooth Low Energy, Cortex M processors, and capable multi-process operating systems, with new application spaces such as personal area networks, and new capabilities and requirements in security and privacy to inform contemporary hardware and software platforms. It is time for a new, open experimental platform in this post-mote era.
Amit Levy 0001, Bradford Campbell, Branden Ghena, Shane Leonard, Pat Pannuto, Philip Alexander Levis, Prabal Dutta
SenSys6
2016 Ebb: A DSL for Physical Simulation on CPUs and GPUs
abstract
Designing programming environments for physical simulation is challenging because simulations rely on diverse algorithms and geometric domains. These challenges are compounded when we try to run efficiently on heterogeneous parallel architectures. We present Ebb, a Domain-Specific Language (DSL) for simulation, that runs efficiently on both CPUs and GPUs. Unlike previous DSLs, Ebb uses a three-layer architecture to separate (1) simulation code, (2) definition of data structures for geometric domains, and (3) runtimes supporting parallel architectures. Different geometric domains are implemented as libraries that use a common, unified, relational data model. By structuring the simulation framework in this way, programmers implementing simulations can focus on the physics and algorithms for each simulation without worrying about their implementation on parallel computers. Because the geometric domain libraries are all implemented using a common runtime based on relations, new geometric domains can be added as needed, without specifying the details of memory management, mapping to different parallel architectures, or having to expand the runtime’s interface. We evaluate Ebb by comparing it to several widely used simulations, demonstrating comparable performance to handwritten GPU code where available, and surpassing existing CPU performance optimizations by up to 9 × when no GPU code exists.
Gilbert Louis Bernstein, Chinmayee Shah, Crystal Lemire, Zach DeVito, Matthew Fisher, Philip Alexander Levis, Pat Hanrahan
ACM Trans. Graph.6
2015 POSTER: Computations on Encrypted Data in the Internet of Things Applications
abstract
We identify and address two primary challenges for computing on encrypted data in Internet of Things applications: synchronizing encrypted data across devices and selecting an appropriate encryption scheme. We propose a caching mechanism that operates across the three devices, enabling interactive order-preserving encryption schemes on resource-constrained devices. Additionally, the system can use a high-level description of an IoT application to select automatically appropriate encryption for the data on corresponding tiers and their mathematical operations. This assists in fine-tuning and choosing the core parameters for underlying data structures.
Laurynas Riliskis, Hossein Shafagh, Philip Alexander Levis
CCS3
2015 Instance-aware simplification of 3D polygonal meshes
abstract
Virtual worlds and games increasingly deliver 3D meshes over the Internet using instanced file formats, such as COLLADA. However, existing simplification algorithms do not account for instancing in their inputs, operating instead on triangle soups or indexed triangle meshes. This makes them unsuitable for highly instanced meshes, since expanding an instanced mesh to an indexed triangle mesh and then simplifying it can result in a larger output file size. The high cost of delivering these larger files over the Internet results in long network latencies and low performance. This paper presents instance-aware simplification (IAS), an algorithm designed to efficiently simplify instanced 3D meshes. To ensure smaller output file sizes, IAS incorporates the existing compression of mesh instancing into its cost metrics. Unlike existing algorithms, IAS strictly reduces file size as it simplifies, so that IAS-simplified meshes of a given file size have higher visual quality than meshes simplified using existing algorithms. On highly instanced models, IAS results in simplified versions that are orders of magnitude smaller than existing algorithms for a given triangle count.
Tahir Azim, Ewen Cheslack-Postava, Philip Alexander Levis
ICME3
2015 Demo: Tethys - An Energy Harvesting Networked Water Flow Sensor
abstract
We describe Tethys, an energy-harvesting wireless water flow sensor that can monitor water use at a per-fixture level with the intention of associating water use with specific individuals. Tethys was motivated by recent efforts at Stanford University to reduce water use due to the California drought. Understanding how the university population uses water at per-person level can greatly influence policies and conservation approaches. Tethys uses Bluetooth Smart to both identify individuals as well as asynchronously upload data to the cloud for later analysis. We describe two challenges encountered in deploying Tethys: energy harvesting design and the mechanical considerations for high-pressure water at high temperatures.
Holly Chiang, Kevin Kiningham, Laurynas Riliskis, Philip Alexander Levis, Mark Horowitz
SenSys6
2015 Ownership is theft: experiences building an embedded OS in rust
abstract
Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.
Amit Levy 0001, Michael P. Andersen, Bradford Campbell, David E. Culler, Prabal Dutta, Branden Ghena, Philip Alexander Levis, Pat Pannuto
PLOS@SOSP7
2014 A networked embedded system platform for the post-mote era
abstract
For the last fifteen years, research explored the hardware, software, sensing, communication abstractions, languages, and protocols that could make networks of small, embedded devices---motes---sample and report data for long periods of time unattended. Today, the application and technological landscapes have shifted, introducing new requirements and new capabilities. Hardware has evolved past 8 and 16 bit microcontrollers: there are now 32 bit processors with lower energy budgets and greater computing capability. New wireless link layers have emerged, creating protocols that support rapid and efficient setup and teardown but introduce novel limitations that systems must consider. The time has come to look beyond optimizing networks of motes. We look towards new technologies such as Bluetooth Low Energy, Cortex M processors, and capable energy harvesting, with new application spaces such as personal area networks, and new capabilities and requirements in security and privacy to inform contemporary hardware and software platforms. It is time for a new, open experimental platform in this post-mote era.
Pat Pannuto, Michael P. Andersen, Tom Bauer, Bradford Campbell, Amit Levy 0001, David E. Culler, Philip Alexander Levis, Prabal Dutta
SenSys7
2014 Ravel a framework for embedded-gateway-cloud applications
abstract
Ravel is a software framework for developing sensor network applications that follow the eMbedded-Gateway-Cloud architecture. Developers describe a Ravel application as a data processing pipeline in terms of two abstractions: models and transforms between models. This pipeline generates code for controllers that can compile to and run on any element of the architecture, from embedded devices to cloud servers. Developers also specify views, that represent the data set on a particular device. Therefore, each device type is a space where data flows via transform. The framework automatically handles moving data between spaces using appropriate network protocols. Compile-time tools verify that the code, once modified by the developer, still follows application specification as defined by the data pipeline.
Laurynas Riliskis, Philip Alexander Levis
SenSys2
2014 Deflating link buffers in a wireless mesh network
Kamran Jamshaid, Basem Shihada, Ahmad Showail, Philip Alexander Levis
Ad Hoc Networks4
2013 Displaying large user-generated virtual worlds from the cloud
abstract
Unlike most graphics systems, a shared, user-generated virtual world is created on-the-fly by end users rather than professional artists. Objects in the world can come and go, and the world can be composed of so many models and textures that it cannot be stored locally on disk. The content must be stored in a shared, networked resource such as the cloud and delivered to clients dynamically.
Tahir Azim, Ewen Cheslack-Postava, Philip Alexander Levis
I3D3
2013 CTP: An efficient, robust, and reliable collection tree protocol for wireless sensor networks
abstract
We describe CTP, a collection routing protocol for wireless sensor networks. CTP uses three techniques to provide efficient, robust, and reliable routing in highly dynamic network conditions. CTP's link estimator accurately estimates link qualities by using feedback from both the data and control planes, using information from multiple layers through narrow, platform-independent interfaces. Second, CTP uses the Trickle algorithm to time the control traffic, sending few beacons in stable topologies yet quickly adapting to changes. Finally, CTP actively probes the topology with data traffic, quickly discovering and fixing routing failures. Through experiments on 13 different testbeds, encompassing seven platforms, six link layers, and multiple densities and frequencies, and detailed observations of a long-running sensor network application that uses CTP, we study how these three techniques contribute to CTP's overall performance.
Omprakash Gnawali, Rodrigo Fonseca, Kyle Jamieson, Maria A. Kazandjieva, David Moss, Philip Alexander Levis
ACM Trans. Sens. Networks6
2012 Unsupervised Conversion of 3D Models for Interactive Metaverses
abstract
A virtual-world environment becomes a truly engaging platform when users have the ability to insert 3D content into the world. However, arbitrary 3D content is often not optimized for real-time rendering, limiting the ability of clients to display large scenes consisting of hundreds or thousands of objects. We present the design and implementation of an automatic, unsupervised conversion process that transforms 3D content into a format suitable for real-time rendering while minimizing loss of quality. The resulting progressive format includes a base mesh, allowing clients to quickly display the model, and a progressive portion for streaming additional detail as desired. Sirikata, an open virtual world platform, has processed over 700 models using this method.
Jeff Terrace, Ewen Cheslack-Postava, Philip Alexander Levis, Michael J. Freedman
ICME3
2012 Experiences from a Decade of TinyOS Development
Philip Alexander Levis
OSDI1
2012 A Scalable Server for 3D Metaverses
Ewen Cheslack-Postava, Tahir Azim, Behram F. T. Mistree, Daniel Reiter Horn, Jeff Terrace, Philip Alexander Levis, Michael J. Freedman
USENIX ATC6
2011 Energy management in mobile devices with the cinder operating system
abstract
We argue that controlling energy allocation is an increasingly useful and important feature for operating systems, especially on mobile devices. We present two new low-level abstractions in the Cinder operating system, reserves and taps, which store and distribute energy for application use. We identify three key properties of control -- isolation, delegation, and subdivision -- and show how using these abstractions can achieve them. We also show how the architecture of the HiStar information-flow control kernel lends itself well to energy control. We prototype and evaluate Cinder on a popular smartphone, the Android G1.
Stephen M. Rumble, Ryan Stutsman, Philip Alexander Levis, David Mazières, Nickolai Zeldovich
EuroSys4
2011 Buffer Sizing in 802.11 Wireless Mesh Networks
abstract
We analyze the problem of buffer sizing for TCP flows in 802.11-based Wireless Mesh Networks. Our objective is to maintain high network utilization while providing low queueing delays. The problem is complicated by the time-varying capacity of the wireless channel as well as the random access mechanism of 802.11 MAC protocol. While arbitrarily large buffers can maintain high network utilization, this results in large queueing delays. Such delays may affect TCP stability characteristics, and also increase queueing delays for other flows (including real-time flows) sharing the buffer. In this paper we propose sizing link buffers collectively for a set of nodes within mutual interference range called the 'collision domain'. We aim to provide a buffer just large enough to saturate the available capacity of the bottleneck collision domain that limits the carrying capacity of the network. This neighborhood buffer is distributed over multiple nodes that constitute the network bottleneck; a transmission by any of these nodes fully utilizes the available spectral resource for the duration of the transmission. We show that sizing routing buffers collectively for this bottleneck allows us to have small buffers (as low as 2 - 3 packets) at individual nodes without any significant loss in network utilization. We propose heuristics to determine these buffer sizes in WMNs. Our results show that we can reduce the end-to-end delays by 6× to 10× at the cost of losing roughly 5% of the network capacity achievable with large buffers.
Kamran Jamshaid, Basem Shihada, Philip Alexander Levis
MASS4
2011 Practical, real-time, full duplex wireless
abstract
This paper presents a full duplex radio design using signal inversion and adaptive cancellation. Signal inversion uses a simple design based on a balanced/unbalanced (Balun) transformer. This new design, unlike prior work, supports wideband and high power systems. In theory, this new design has no limitation on bandwidth or power. In practice, we find that the signal inversion technique alone can cancel at least 45dB across a 40MHz bandwidth. Further, combining signal inversion cancellation with cancellation in the digital domain can reduce self-interference by up to 73dB for a 10MHz OFDM signal. This paper also presents a full duplex medium access control (MAC) design and evaluates it using a testbed of 5 prototype full duplex nodes. Full duplex reduces packet losses due to hidden terminals by up to 88%. Full duplex also mitigates unfair channel allocation in AP-based networks, increasing fairness from 0.85 to 0.98 while improving downlink throughput by 110% and uplink throughput by 15%. These experimental results show that a re- design of the wireless network stack to exploit full duplex capability can result in significant improvements in network performance.
Dinesh Bharadia, Siddharth Seth, Kannan Srinivasan 0001, Philip Alexander Levis, Sachin Katti, Prasun Sinha
MobiCom7
2011 Single channel, full-duplex wireless
abstract
This poster presents the design of single channel full-duplex wireless radios. The design uses a combination of RF and baseband techniques to achieve full-duplexing with minimal effect on link reliability. The poster shows two designs with different RF cancellation techniques, Antenna Cancellation and Signal Inversion Cancellation. It also discusses potential MAC and network gains with full-duplexing. It suggests ways in which a full-duplex system can solve some important problems with existing wireless systems including hidden terminals, loss of throughput due to congestion, and large end-to-end delays.
Kannan Srinivasan 0001, Siddharth Seth, Philip Alexander Levis, Sachin Katti
SenSys5
2010 Granting silence to avoid wireless collisions
abstract
We describe grant-to-send, a novel collision avoidance algorithm for wireless mesh networks. Rather than announce packets it intends to send, a node using grant-to-send announces packets it expects to hear others send. We present evidence that inverting collision avoidance in this way greatly improves wireless mesh performance. Evaluating four protocols from 802.11 meshes and 802.15.4 sensor networks, we find that grant-to-send matches or outperforms CSMA and RTS/CTS in all cases. For example, in a 4-hop UDP flow, grant to-send can achieve 96% of the theoretical maximum throughput while maintaining a 99.9% packet delivery ratio. Grant-to-send is also general enough to replace protocol-specific collision avoidance mechanisms common to sensor network protocols. Grant-to-send is simple. For example, incorporating it into 802.11 requires only 11 lines of driver code and no hardware changes. Furthermore, as it reuses existing 802.11 mechanisms, grant-to-send inter-operates with current networks and can be incrementally deployed.
Maria A. Kazandjieva, Philip Alexander Levis
ICNP4
2010 Achieving single channel, full duplex wireless communication
abstract
This paper discusses the design of a single channel full-duplex wireless transceiver. The design uses a combination of RF and baseband techniques to achieve full-duplexing with minimal effect on link reliability. Experiments on real nodes show the full-duplex prototype achieves median performance that is within 8% of an ideal full-duplexing system.
Kannan Srinivasan 0001, Philip Alexander Levis, Sachin Katti
MobiCom4
2010 The kappa factor: inferring protocol performance using inter-link reception correlation
abstract
This paper explores metrics that capture to what degree packet reception on different links is correlated. Specifically, it explores metrics that shed light on when and why opportunistic routing and network coding protocols perform well (or badly). It presents a new metric, κ that, unlike existing widely used metrics, has no bias based on the packet reception ratios of links. This lack of bias makes κ a better predictor of performance of opportunistic routing and network coding protocols. Comparing Deluge and Rateless Deluge, Deluge's network coding counterpart, we find that κ can predict which of the two is best suited for a given environment. For example, irrespective of the packet reception ratios of the links, if the average κ of the link pairs is very high (close to 1.0), then using a protocol that does not code works better than using a network coding protocol. Measuring κ on several 802.15.4 and 802.11 testbeds, we find that it varies significantly across network topologies and link layers. κ can be a metric for quantifying what kind of a network is present and help decide which protocols to use for that network.
Kannan Srinivasan 0001, Tahir Azim, Edward S. Kim, Philip Alexander Levis, Bhaskar Krishnamachari
MobiCom6
2010 Whirlpool routing for mobility
abstract
We present the Whirlpool Routing Protocol (WARP), which efficiently routes data to a node moving within a static mesh. The key insight in WARP's design is that data traffic can use an existing routing gradient to efficiently probe the topology, repair the routing gradient, and communicate these repairs to nearby nodes.
Branislav Kusy, Tahir Azim, Basem Shihada, Philip Alexander Levis
MobiHoc5
2010 Visualizing sensor network data with Powertron
abstract
Powertron is a web-based application that visualizes wireless sensor network deployment data. In this particular demo, we use Powertron to show application-level power data collected from more than 250 sensor nodes. In addition, we expose the routing layer of the deployment by providing real-time interactive visual representation of links, routes, and CTP-related statistics. We hope that the community will have feedback on how such a tool can be extended and generalized to fit a variety of wireless sensor network applications.
Maria A. Kazandjieva, Omprakash Gnawali, Philip Alexander Levis
SenSys3
2010 Physically-based models of low-power wireless links using signal power simulation
Tal Rusak, Philip Alexander Levis
Comput. Networks2
2010 An empirical study of low-power wireless
abstract
We present empirical measurements of the packet delivery performance of the latest sensor platforms: Micaz and Telos motes. In this article, we present observations that have implications to a set of common assumptions protocol designers make while designing sensornet protocols—specifically—the MAC and network layer protocols. We first distill these common assumptions in to a conceptual model and show how our observations support or dispute these assumptions. We also present case studies of protocols that do not make these assumptions. Understanding the implications of these observations to the conceptual model can improve future protocol designs.
Kannan Srinivasan 0001, Prabal Dutta, Arsalan Tavakoli, Philip Alexander Levis
ACM Trans. Sens. Networks4
2009 Starburst SSD: An Efficient Protocol for Selective Dissemination
abstract
We present Starburst, a routing-based protocol designed to efficiently disseminate data items to small subsets within a sensor network. Starburst constructs a routing hierarchy to enable fast, efficient and reliable dissemination to nodes in a sensor network that satisfy data-specific predicates. The protocol is based on the idea that when only a few nodes need an update, it is more efficient and much faster to route to those nodes directly. When every node needs an update, algorithms such as Trickle are more efficient. Starburst therefore dynamically determines what portion of nodes need an update and locally adapts its delivery policy accordingly. We also present dynamic beacon selection algorithms which enable scalability and fault tolerance in Starburst. We have implemented and evaluated Starburst on top of both the BVR and S4 routing protocols with promising results. Our simulations show that Starburst reduces both the transmission cost and latency of existing dissemination protocols by at least 50% for small subsets of nodes, and performs no worse than them for larger sets. Finally, tests on the Motelab testbed validate our simulation results.
Tahir Azim, Qasim Mansoor, Philip Alexander Levis
ICC3
2009 Demo abstract: SWAT: Know your network
Kannan Srinivasan 0001, Maria A. Kazandjieva, Edward S. Kim, Philip Alexander Levis
IPSN5
2009 The case for a network protocol isolation layer
abstract
Network protocols are typically designed and tested individually. In practice, however, applications use multiple protocols concurrently. This discrepancy can lead to failures from unanticipated interactions between protocols.
Maria A. Kazandjieva, Philip Alexander Levis
SenSys4
2009 Collection tree protocol
abstract
This paper presents and evaluates two principles for wireless routing protocols. The first is datapath validation: data traffic quickly discovers and fixes routing inconsistencies. The second is adaptive beaconing: extending the Trickle algorithm to routing control traffic reduces route repair latency and sends fewer beacons.
Omprakash Gnawali, Rodrigo Fonseca, Kyle Jamieson, David Moss, Philip Alexander Levis
SenSys5
2009 TOSThreads: thread-safe and non-invasive preemption in TinyOS
abstract
Many threads packages have been proposed for programming wireless sensor platforms. However, many sensor network operating systems still choose to provide an event-driven model, due to efficiency concerns. We present TOS-Threads, a threads package for TinyOS that combines the ease of a threaded programming model with the efficiency of an event-based kernel. TOSThreads is backwards compatible with existing TinyOS code, supports an evolvable, thread-safe kernel API, and enables flexible application development through dynamic linking and loading. In TOS-Threads, TinyOS code runs at a higher priority than application threads and all kernel operations are invoked only via message passing, never directly, ensuring thread-safety while enabling maximal concurrency. The TOSThreads package is non-invasive; it does not require any large-scale changes to existing TinyOS code.
Kevin Klues, Chieh-Jan Mike Liang, Jeongyeup Paek, Razvan Musaloiu-Elefteri, Philip Alexander Levis, Andreas Terzis, Ramesh Govindan
SenSys5
2009 Surviving sensor network software faults
abstract
We describe Neutron, a version of the TinyOS operating system that efficiently recovers from memory safety bugs. Where existing schemes reboot an entire node on an error, Neutron's compiler and runtime extensions divide programs into recovery units and reboot only the faulting unit. The TinyOS kernel itself is a recovery unit: a kernel safety violation appears to applications as the processor being unavailable for 10-20 milliseconds.
Yang Chen 0024, Omprakash Gnawali, Maria A. Kazandjieva, Philip Alexander Levis, John Regehr
SOSP4
2008 Data Discovery and Dissemination with DIP
abstract
We present DIP, a data discovery and dissemination protocol for wireless networks. Prior approaches, such as Trickle or SPIN, have overheads that scale linearly with the number of data items. For T items, DIP can identify new items with O(log(T)) packets while maintaining a O(1) detection latency. To achieve this performance in a wide spectrum of network configurations, DIP uses a hybrid approach of randomized scanning and tree-based directed searches. By dynamically selecting which of the two algorithms to use, DIP outperforms both in terms of transmissions and speed. Simulation and testbed experiments show that DIP sends 20-60% fewer packets than existing protocols and can be 200% faster, while only requiring O(log(log(T))) additional state per data item.
Kaisen Lin, Philip Alexander Levis
IPSN2
2008 Investigating a physically-based signal power model for robust low power wireless link simulation
abstract
We propose deriving wireless simulation models from experimental traces of radio signal strength. Because experimental traces have holes due to packet losses, we explore two algorithms for filling the gaps in lossy experimental traces. Using completed traces, we apply the closest-fit pattern matching (CPM) algorithm, originally designed for modeling external interference, to model signal strength.
Tal Rusak, Philip Alexander Levis
MSWiM2
2008 Quanto: Tracking Energy in Networked Embedded Systems
Rodrigo Fonseca, Prabal Dutta, Philip Alexander Levis, Ion Stoica
OSDI3
2008 On the scaling properties of low power wireless links
abstract
We study the time-scaling characteristics of low-power wireless communication at the physical and link layers. We observe that links are bursty at many time scales: the packet reception rate (PRR) varies regardless of the length of the time scale considered. Using wavelet analysis, we find that RSSI variations in many wireless sensor network (WSN) links are consistent with statistical self-similarity but not with long range dependence, which can explain burstiness at many scales. We relate RSSI variance to the probability that the physical layer is consistent with self-similarity. Current simulation models and protocols do not take these characteristics into account, leading to inaccurate simulation and sub-optimal protocol performance.
Tal Rusak, Philip Alexander Levis
SenSys2
2008 The beta-factor: measuring wireless link burstiness
abstract
Measuring 802.15.4 reception in three testbeds, we find that most intermediate links are bursty: they shift between poor and good delivery. We present a metric to measure this link burstiness and name it β. We find that link burstiness affects protocol performance and that β can predict the effects. We show that measuring β allows us to reason about how long a protocol should pause after encountering a packet failure to reduce its transmission cost. We find that using β as a guide to setting a single constant in a standard sensor network data collection protocol reduces its average transmission cost by 15%. In addition to data from 802.15.4 testbeds, we examine traces from 802.11b networks and find β has a broader relevance in the wireless domain.
Kannan Srinivasan 0001, Maria A. Kazandjieva, Saatvik Agarwal, Philip Alexander Levis
SenSys4
2008 SWAT: enabling wireless network measurements
abstract
Measuring low-level wireless network properties allows researchers to understand how protocols and applications perform in different environments. In this demo, we present SWAT - a software tool that automates gathering and analysis of network measurements. SWAT provides an interface for configuring experimental parameters in a network. It collects raw packet statistics such as the received signal strength and chip error, and provides modules for calculating and visualizing various metrics derived from these statistics.
Kannan Srinivasan 0001, Maria A. Kazandjieva, Edward S. Kim, Philip Alexander Levis
SenSys5
2007 Four-Bit Wireless Link Estimation
Rodrigo Fonseca, Omprakash Gnawali, Kyle Jamieson, Philip Alexander Levis
HotNets4
2007 Interface contracts for TinyOS
abstract
TinyOS applications are built with software components that communicate through narrow interfaces. Since components enable fine-grained code reuse, this approach has been successful in creating applications that make very efficient use of the limited code and data memory on sensor network nodes. However, the other important benefit of components---rapid application development through black-box reuse---remains largely unrealized because in many cases interfaces have implied usage constraints that can be the source of frustrating program errors. Developers are commonly forced to read the source code for components, partially defeating the purpose of using components in the first place. Our research helps solve these problems by allowing developers to explicitly specify and enforce component interface contracts. Due to the extensive reuse of the most common interfaces, implementing contracts for a small number of frequently reused interfaces permitted us to extensively check a number of applications. We uncovered some subtle and previously unknown bugs in applications that have been in common use for years.
Will Archer, Philip Alexander Levis, John Regehr
IPSN2
2007 Improving wireless simulation through noise modeling
abstract
We propose modeling environmental noise in order to efficiently and accurately simulate wireless packet delivery. We measure noise traces in many different environments and propose three algorithms to simulate noise from these traces. We evaluate applying these algorithms to signal-to-noise curves in comparison to existing simulation approaches used in EmStar, TOSSIM, and ns2. We measure simulation accuracy using the Kantorovich-Wasserstein distance on conditional packet delivery functions. We demonstrate that using a closest-fit pattern matching (CPM) noise model can capture complex temporal dynamics which existing approaches do not, increasing packet simulation fidelity by a factor of 2 for good links, a factor of 1.5 for bad links, and a factor of 5 for intermediate links. As our models are derived from real-world traces, they can be generated for many different environments.
HyungJune Lee, Alberto Cerpa, Philip Alexander Levis
IPSN3
2007 Fair waiting protocol: achieving isolation in wireless sensornets
abstract
We present the Fair Waiting Protocol(FWP), which isolates the operations of competing protocols on CSMA networks. Utilizing layer 3 information, the grant-to-send mechanism prevents collisions on data paths. FWP enables the grant-to-send to be shared among protocols, extending the collision avoidance mechanism into protocol isolation.
Philip Alexander Levis
SenSys4
2007 The design and implementation of a declarative sensor network system
abstract
Sensor networks are notoriously difficult to program, given that they encompass the complexities of both distributed and embedded systems. To address this problem, we present the design and implementation of a declarative sensor network platform, DSN: a declarative language, compiler and runtime suitable for programming a broad range of sensornet applications. We demonstrate that our approach is a natural fit for sensor networks by specifying several very different classes of traditional sensor network protocols, services and applications entirely declaratively -- these include tree and geographic routing, link estimation, data collection, event tracking, version coherency, and localization. To our knowledge, this is the first time these disparate sensornet tasks have been addressed by a single high-level programming environment. Moreover, the declarative approach accommodates the desire for architectural flexibility and simple management of limited resources. Our results suggest that the declarative approach is well-suited to sensor networks, and that it can produce concise and flexible code by focusing on what the code is doing, and not on how it is doing it.
David Chu, Lucian Popa 0002, Arsalan Tavakoli, Joseph M. Hellerstein, Philip Alexander Levis, Scott Shenker, Ion Stoica
SenSys5
2007 Flush: a reliable bulk transport protocol for multihop wireless networks
abstract
We present Flush, a reliable, high goodput bulk data transport protocol for wireless sensor networks. Flush provides end-to-end reliability, reduces transfer time, and adapts to time-varying network conditions. It achieves these properties using end-to-end acknowledgments, implicit snooping of control information, and a rate-control algorithm that operates at each hop along a flow. Using several real network topologies, we show that Flush closely tracks or exceeds the maximum goodput achievable by a hand-tuned but fixed rate for each hop over a wide range of path lengths and varying network conditions. Flush is scalable; its effective bandwidth over a 48-hop wireless network is approximately one-third of the rate achievable over one hop. The design of Flush is simplified by assuming that different flows do not interfere with each other, a reasonable restriction for many sensornet applications that collect bulk data in a coordinated fashion, like structural health monitoring, volcanic activity monitoring, or protocol evaluation. We collected all of the performance data presented in this paper using Flush itself.
Sukun Kim, Rodrigo Fonseca, Prabal Dutta, Arsalan Tavakoli, David E. Culler, Philip Alexander Levis, Scott Shenker, Ion Stoica
SenSys6
2007 Visibility: a new metric for protocol design
abstract
This paper proposes a new sensornet protocol design goal: visibility. Visibility into behaviors at the network level will simplify debugging and ease the development process. We argue that increasing visibility is the responsibility of the network protocols themselves, and not solely the responsibility of existing debugging tools. We describe a quantitative visibility metric to evaluate and compare protocols, where visibility is defined as the energy cost of diagnosing the cause of a behavior in a protocol. The design and evaluation of Pull Collection Protocol, a novel multi-hop collection protocol, is an example of how to design for visibility without sacrificing throughput or node-level fairness. We also describe our optimizations for an existing protocol, Deluge, to increase its visibility and efficiency.
Megan Wachs, Kannan Srinivasan 0001, Philip Alexander Levis
SenSys7
2007 Integrating concurrency control and energy management in device drivers
abstract
Energy management is a critical concern in wireless sensornets. Despite its importance, sensor network operating systems today provide minimal energy management support, requiring applications to explicitly manage system power states. To address this problem, we present ICEM, a device driver architecture that enables simple, energy efficient wireless sensornet applications. The key insight behind ICEM is that the most valuable information an application can give the OS for energy management is its concurrency. Using ICEM, a low-rate sensing application requires only a single line of energy management code and has an efficiency within 1.6 % of a hand-tuned implementation. ICEM’s effectiveness questions the assumption that sensornet applications must be responsible for all power management and sensornets cannot have a standardized OS with a simple API.
Kevin Klues, Vlado Handziski, Chenyang Lu 0001, Adam Wolisz, David E. Culler, David Gay, Philip Alexander Levis
SOSP7
2007 Software design patterns for TinyOS
abstract
We present design patterns used by software components in the TinyOS sensor network operating system. They differ significantly from traditional software design patterns because of the constraints of sensor networks and to TinyOS's focus on static allocation and whole-program composition. We describe how nesC has evolved to support these design patterns by including a few simple language primitives and optimizations.
David Gay, Philip Alexander Levis, David E. Culler
ACM Trans. Embed. Comput. Syst.2
2006 Some Implications of Low Power Wireless to IP Networking
Kannan Srinivasan 0001, Prabal Dutta, Arsalan Tavakoli, Philip Alexander Levis
HotNets4
2006 TinyOS: An Open Operating System for Wireless Sensor Networks (Invited Seminar)
abstract
Moore's law has led to a new class of computing device, wireless sensor networks. Made up of many nodes, most of which have very limited energy and resources, sensor networks have the potential to transform a wide range of fields, such as structural health monitoring, resource management, scientific research, and public health. This different application pull, combined with extreme power limitations, leads a sensor node operating system to take very different approaches than traditional computing classes.
Philip Alexander Levis
MDM1
2006 Lowering radio duty cycle through temperature compensated timing
abstract
No abstract available.
Joakim Arfvidsson, Eric Park, Philip Alexander Levis
SenSys3
2006 TINX: a tiny index design for flash memory on wireless sensor devices
abstract
No abstract available.
Ajay Mani, Manjunath Rajashekhar, Philip Alexander Levis
SenSys3
2006 Understanding the causes of packet delivery success and failure in dense wireless sensor networks
abstract
We present empirical measurements of the packet delivery performance of the Telos and MicaZ sensor platforms. At a high level, their behavior is similar to that of earlier platforms. They exhibit a reception "grey region," and temporal variations in packet loss. Looking more deeply, however, there are subtle differences, and looking deeper still, the patterns behind these complexities become clear. Environmental noise (802.11b) has high spatial correlation. Packet loss occurs when a receiver operating near its noise floor experiences a small decrease in received signal strength, rather than an increase in environmental noise. These variations cause the reception "grey region." Packet losses are highly correlated over short time periods, but are independent over longer periods. Based on these findings, current practices could be easily changed that would greatly improve efficiency and performance.
Kannan Srinivasan 0001, Prabal Dutta, Arsalan Tavakoli, Philip Alexander Levis
SenSys4
2005 Towards a Sensor Network Architecture: Lowering the Waistline
David E. Culler, Prabal Dutta, Cheng Tien Ee, Rodrigo Fonseca, Jonathan W. Hui, Philip Alexander Levis, Joseph Polastre, Scott Shenker, Ion Stoica, Gilman Tolle, Jerry Zhao
HotOS6
2005 Software design patterns for TinyOS
abstract
We present design patterns used by software components in the TinyOS operating system. They differ significantly from traditional software design patterns due to TinyOS's focus on static allocation and whole-program composition. We describe how nesC has evolved to support design patterns by including a few simple language primitives
David Gay, Philip Alexander Levis, David E. Culler
LCTES2
2005 Active Sensor Networks
Philip Alexander Levis, David Gay, David E. Culler
NSDI1
2005 Reprogramming sensor networks safely, quickly, and efficiently
abstract
No abstract available.
Philip Alexander Levis, David Gay
SenSys1
2005 A unifying link abstraction for wireless sensor networks
abstract
Recent technological advances and the continuing quest for greater efficiency have led to an explosion of link and network protocols for wireless sensor networks. These protocols embody very different assumptions about network stack composition and, as such, have limited interoperability. It has been suggested [3] that, in principle, wireless sensor networks would benefit from a unifying abstraction (or "narrow waist" in architectural terms), and that this abstraction should be closer to the link level than the network level. This paper takes that vague principle and turns it into practice, by proposing a specific unifying sensornet protocol (SP) that provides shared neighbor management and a message pool.The two goals of a unifying abstraction are generality and efficiency: it should be capable of running over a broad range of link-layer technologies and supporting a wide variety of network protocols, and doing so should not lead to a significant loss of efficiency. To investigate the extent to which SP meets these goals, we implemented SP (in TinyOS) on top of two very different radio technologies: B-MAC on mica2 and IEEE 802.15.4 on Telos. We also built a variety of network protocols on SP, including examples of collection routing [53], dissemination [26], and aggregation [33]. Measurements show that these protocols do not sacrifice performance through the use of our SP abstraction.
Joseph Polastre, Jonathan W. Hui, Philip Alexander Levis, Jerry Zhao, David E. Culler, Scott Shenker, Ion Stoica
SenSys3
2004 The Emergence of Networking Abstractions and Techniques in TinyOS
Philip Alexander Levis, Samuel Madden 0001, David Gay, Joseph Polastre, Robert Szewczyk, Alec Woo, Eric A. Brewer, David E. Culler
NSDI1
2004 Trickle: A Self-Regulating Algorithm for Code Propagation and Maintenance in Wireless Sensor Networks (Awarded Best Paper!)
Philip Alexander Levis, Neil Patel, David E. Culler, Scott Shenker
NSDI1
2003 The nesC language: A holistic approach to networked embedded systems
abstract
We present nesC, a programming language for networked embedded systems that represent a new design space for application developers. An example of a networked embedded system is a sensor network, which consists of (potentially) thousands of tiny, low-power "motes," each of which execute concurrent, reactive programs that must operate with severe memory and power constraints.nesC's contribution is to support the special needs of this domain by exposing a programming model that incorporates event-driven execution, a flexible concurrency model, and component-oriented application design. Restrictions on the programming model allow the nesC compiler to perform whole-program analyses, including data-race detection (which improves reliability) and aggressive function inlining (which reduces resource consumption).nesC has been used to implement TinyOS, a small operating system for sensor networks, as well as several significant sensor applications. nesC and TinyOS have been adopted by a large number of sensor network research groups, and our experience and evaluation of the language shows that it is effective at supporting the complex, concurrent programming style demanded by this new class of deeply networked systems.
David Gay, Philip Alexander Levis, J. Robert von Behren, Matt Welsh, Eric A. Brewer, David E. Culler
PLDI2
2003 TOSSIM: accurate and scalable simulation of entire tinyOS applications
abstract
Accurate and scalable simulation has historically been a key enabling factor for systems research. We present TOSSIM, a simulator for TinyOS wireless sensor networks. By exploiting the sensor network domain and TinyOS's design, TOSSIM can capture network behavior at a high fidelity while scaling to thousands of nodes. By using a probabilistic bit error model for the network, TOSSIM remains simple and efficient, but expressive enough to capture a wide range of network interactions. Using TOSSIM, we have discovered several bugs in TinyOS, ranging from network bit-level MAC interactions to queue overflows in an ad-hoc routing protocol. Through these and other evaluations, we show that detailed, scalable sensor network simulation is possible.
Philip Alexander Levis, Matt Welsh, David E. Culler
SenSys1
2002 Maté: a tiny virtual machine for sensor networks
abstract
Composed of tens of thousands of tiny devices with very limited resources ("motes"), sensor networks are subject to novel systems problems and constraints. The large number of motes in a sensor network means that there will often be some failing nodes; networks must be easy to repopulate. Often there is no feasible method to recharge motes, so energy is a precious resource. Once deployed, a network must be reprogrammable although physically unreachable, and this reprogramming can be a significant energy cost.We present Maté, a tiny communication-centric virtual machine designed for sensor networks. Maté's high-level interface allows complex programs to be very short (under 100 bytes), reducing the energy cost of transmitting new programs. Code is broken up into small capsules of 24 instructions, which can self-replicate through the network. Packet sending and reception capsules enable the deployment of ad-hoc routing and data aggregation algorithms. Maté's concise, high-level program representation simplifies programming and allows large networks to be frequently reprogrammed in an energy-efficient manner; in addition, its safe execution environment suggests a use of virtual machines to provide the user/kernel boundary on motes that have no hardware protection mechanisms.
Philip Alexander Levis, David E. Culler
ASPLOS1
2000 Policies for Dynamic Clock Scheduling
Dirk Grunwald, Philip Alexander Levis, Keith I. Farkas, Charles B. Morrey III, Michael Neufeld
OSDI2