Utah Scalable Computer Systems Lab

Projects

Large-scale Systems Atop Scale-out In-memory Storage (NSF CNS 1566175)

Kernel-bypass and RDMA have resulted in fast, μs-scale key-value stores. Their performance comes from their simplicity, but applications are forced to interact with data through an inefficient get()/put() interface. This project investigates raising the level of functionality that fast key-value stores provide while preserving performance, a new model for programming them using μs-scale user-defined functions, and application of these stores for building larger distributed systems.

Safe and Efficient Extensions for Low-Latency Multitenant Storage (NSF CNS 1750558)

Splinter is a multi-tenant in-memory key-value store that combats data movement between storage and compute nodes with untrusted tenant extensions that are pushed to it at runtime. Splinter's key insight is that storage extensions can use language-level isolation to eliminate hardware isolation overheads. Splinter also eliminates copying data for safety, so extensions benefit from low-level hardware functionality like zero-copy network transmission.

Cache-Coherent Accelerators for Efficient Persistent Memory Programming (NSF CNS 2245999)

Emerging coherent and non-coherent device interfaces are changing how systems software accesses persistent memory, remote memory, and I/O devices. This work develops accelerator and ordering mechanisms that keep the CPU storage and I/O paths fast while preserving correctness across crashes, remote accesses, and device communication.