Current Projects

Read More

Fresh Thinking on Programmable Storage

(article from Next Platform related to ZLog and Mantle projects


On-going projects

Open Source Multi-Language Synthesis and Simulation Infrastructure

There is a resurgence in hardware accelerators due to power and performance constraints. At the same time, there is a resurgence in new Hardware Description Languages (HDLs). Many researchers see Verilog as the equivalent to assembly in-ha rdware specification, and they are creating new Hardware Description Languages to increase the abstraction.The goal of this proposal is to build a Multi-Language Synthesis and Simulation Infrastructure (MLSSI). MLSSI is the equivalent of a compiler infrastructure but for synthesizable languages like CHISEL, synthesizableVerilog, and Pyrope.

Started: Summer 2018

CAvSAT: A System for Query Answering over Inconsistent Databases

Managing inconsistencies in databases is an old, but recurring, problem. An inconsistent database is a database that violates one or more integrity constraints, such as key constraints or inclusion dependencies. Inconsistent databases arise in several different contexts, including information integration, where dealing with inconsistency is regarded as a key challenge

Started: Summer 2018

Eusocial Storage Devices

As storage devices get faster, data management tasks rob the host of CPU cycles and main memory
bandwidth. In this article, we examine a new interface to storage devices that can leverage existing and
new CPU and main memory resources to take over data management tasks like availability, recovery,
and migrations. This new interface provides a roadmap for device-to-device interactions and more
powerful storage devices capable of providing in-store compute services that can dramatically improve
performance. We call such storage devices “eusocial” because we are inspired by eusocial insects like
ants, termites, and bees, which as individuals are primitive but collectively accomplish amazing things.

Started: Fall 2018

Recently Completed Projects

Zlog & CruzDB: Distributed Shared-log for Software-Defined Storage

CORFU is a fast shared log approach that leverages flash devices. In this project we implement CORFU on Ceph and investigate the benefits of including this log abstraction into software-defined storage, including the management of shared logs across multiple storage tiers. This project is part of the Programmable Ceph effort (

Started: Fall’15

Mantle: A Programmable Metadata Load Balancer for the Ceph File System

Mantle is a programmable metadata balancer, implemented on CephFS, that separates the metadata migration policies from their mechanisms. The implementation adds hooks into the metadata servers in CephFS so that administrators can inject code to change how the metadata servers balance load across the cluster and to pull these extensions into the CephFS mainline so it can be used in production environments. This will allow the investigation and comparison of many load balancing strategies with real workloads. This project is part of the Programmable Ceph effort (

Started: Winter’16

Strong Consistency in Dynamic Wireless Networks to Enable Safe and Efficient Navigation of Autonomous Vehicles.

Unmanned-traffic management will depend upon strong consistency for safe operation. These services will often need to be provided over lossy wireless networks with limited bandwidth, where partitions may be frequent. This project is studying the consistency requirements of distributed systems with smart storage devices over realistic networks. In particular, the distributed systems will implement algorithms that require large amounts of (dynamically changing) data that is available to all systems via a shared log. The problem of navigation of autonomous systems will serve as the prototype application of this research.

Started: Summer ’16

Popper: Practical Falsifiable Research (transitioning to incubator)

Popper is a convention for conducting scientific explorations and writing academic articles following a DevOps approach. Popper allows researchers to automate the re-execution and validation of experimentation (computational and analysis) pipelines. The project team works with researchers in many domains to extend the number of popperized repositories. Popper is supported in part by the National Science Foundation, the Center for Research in Open Source Software (CROSS), Sandia National Laboratories, and Lawrence Livermore National Laboratory. (