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.
Splinter is a new cloud in-memory key-value store that combats data movement between disaggregated 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 that cannot be avoided today: not with virtual machines, containers, nor serverless Lambdas. Splinter also eliminates copying data for safety, so extensions benefit from low-level hardware functionality like zero-copy network transmission.