Utah Scalable Computer Systems Lab

People

Projects

Splinter/Sandstorm: Fine-grained Storage-level Functions for In-memory Stores

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.

Flashield: A Hybrid Flash/DRAM Key-value Cache that Controls Flash Write Amplification

Today large scale web-cache operators do not deploy SSD for web caching. SSD access times are sufficient, but web caches items are high churn. Using an SSD as cache (or as a second-level cache for DRAM) still subjects Flash to many small writes that wear out the drive quickly. Flashield combats this. It uses DRAM as both a cache and a filter. Items in DRAM are tracked to determine whether they are worth preserving on Flash when they become colder. Good candidates are not just those that will be accessed in the future but which also will not be modified for a sufficent duration. Beyond determining which cached values are "flashworthy", Flashield also uses a new DRAM-conscious scheme for index objects on Flash, since otherwise DRAM could be dominated purely by location metadata for small items on large Flash SSDs. Experiments show that Flashield can reduce SSD write amplifciation by 5x compared to other approaches, significantly extending the life of devices.

Rocksteady: Fast Data Migration for In-memory Key-value Stores

Kernel-bypass in-memory stores can perform millions of operations per second per machine with tight response times less than 10 μs. Rocksteady is a data migration mechanism for in-memory stores that moves data quickly, retains low tail response times, and doesn't rely on expensive in-memory redundancy.

Memshare: Multi-tenant In-memory Web Cache Sharing

Memshare is a drop-in memcached replacment with first class support for multi-tenancy. Memshare's unique combination of in-memory cleaning and online per-tenant hit rate curve profiling give it better hit rates than exsiting caches even while it allows the cache operator to control QoS, sharing, and isolation between applications.

Publications

2019
PDF Flashield: a Hybrid Key-Value Cache that Controls Flash Write Amplification.
Asaaf Eisenman, Asaf Cidon, Evgenya Pergament, Or Haimovich, Ryan Stutsman, Mohammad Alizadeh, and Sachin Katti.
Proceedings of the Sixteenth USENIX Symposium on Networked Systems Design and Implementation (NSDI '19).
2019
PDF DPI: The Data Processing Interface for Modern Networks.
Gustavo Alonso, Carsten Binnig, Ippokratis Pandis, Kenneth Salem, Jan Skrzypczak, Ryan Stutsman, Lasse Thostrup, Tianzheng Wang, Zeke Wang, and Tobias Ziegler.
Ninth Biennial Conference on Innovative Data Systems Research (CIDR'19).
2019
PDF Cloud Functions for Fast and Robust Resource Auto-Scaling.
Joe Novak, Ryan Stutsman, and Sneha Kumar Kasera.
Tenth International Conference on Communication Systems and Networks (COMSNETS'19).
2018
PDF MobileStream: A Scalable, Programmable and Evolvable Mobile Core Control Plane Platform.
Junguk Cho, Ryan Stutsman, and Jacobus Van Merwe.
Proceedings of the 14th International Conference on Emerging Networking Experiments and Technologies (CoNEXT'18).
2018
PDF Splinter: Bare-Metal Extensions for Multi-Tenant Low-Latency Storage.
Chinmay Kulkarni, Sara Moore, Mazhar Naqvi, Tian Zhang, Robert Ricci, and Ryan Stutsman.
Proceedings of the Thirteenth USENIX Symposium on Operating Systems Design and Implementation (OSDI '18).
2018
PDF Taming Performance Variability.
Aleksander Maricq, Dmitry Duplyakin, Ivo Jimenez, Carlos Maltzahn, Ryan Stutsman, and Robert Ricci.
Proceedings of the Thirteenth USENIX Symposium on Operating Systems Design and Implementation (OSDI '18).
2018
PDF ECHO: A Reliable Distributed Cellular Core Network for Hyper-scale Public Clouds.
Binh Nguyen, Tian Zhang, Bozidar Radunovic, Ryan Stutsman, Thomas Karagiannis, Jakub Kocur, and Jacobus Van Merwe.
Proceedings of the 24th Annual International Conference on Mobile Computing and Networking (Mobicom'18).
2018
PDF Tailwind: Fast and Atomic RDMA-based Replication.
Yacine Taleb, Ryan Stutsman, Gabriel Antoniu, and Toni Cortes.
Proceedings of the 2018 USENIX Annual Technical Conference (USENIX ATC '18).
2018
PDF Towards a Shared-Everything Database on Distributed Log-Structured Storage.
Tao Zhu, Zhuoyue Zhao, Feifei Li, Weining Qian, Aoying Zhou, Dong Xie, Ryan Stutsman, Haining Li, and Huiqi Hu.
Proceedings of the 2018 USENIX Annual Technical Conference (USENIX ATC '18).
2017
PDF Rocksteady: Fast Data Migration for Low-latency In-memory Storage.
Chinmay Kulkarni, Aniraj Kesavan, Tian Zhang, Robert Ricci, and Ryan Stutsman.
Proceedings of the Twenty-Sixth ACM Symposium on Operating Systems Principles (SOSP '17).
2017
PDF Memshare: Memory Resource Sharing in Multi-tenant Web Caches.
Asaf Cidon, Daniel Rushton, Stephen M. Rumble, and Ryan Stutsman.
Proceedings of the 2017 USENIX Conference on Annual Technical Conference (USENIX ATC'17).
2017
PDF JavaScript for Extending Low-latency In-memory Key-value Stores.
Tian Zhang and Ryan Stutsman.
Proceedings of the 9th USENIX Conference on Hot Topics in Cloud Computing (HotCloud'17).
2017
PDF Beyond Simple Request Processing with RAMCloud.
Chinmay Kulkarni, Aniraj Kesavan, Robert Ricci, and Ryan Stutsman.
IEEE Data Engineering Bulletin 40(1).
2016
PDF To Copy or Not to Copy: Making In-Memory Databases Fast on Modern NICs.
Aniraj Kesavan, Robert Ricci, and Ryan Stutsman.
4th Workshop on In-memory Data Management.
2016
PDF Toward Rigorous Design of Domain-Specific Distributed Systems.
Mohammed Al-Mahfoudh, Ganesh Gopalakrishnan, and Ryan Stutsman.
4th IEEE/ACM FME Workshop on Formal Methods in Software Engineering, FormaliSE 2016, Austin, Texas, May 15, 2016.
2016
PDF Toward Bringing Distributed Systems Design Upon Rigorous Footing.
Mohammed Al-Mahfoudh, Ganesh Gopalakrishnan, and Ryan Stutsman.
IEEE Workshop on Formal Methods and Integration (FMi).
2015
PDF Experience with Rules-Based Programming for Distributed, Concurrent, Fault-Tolerant Code.
Ryan Stutsman, Collin Lee, and John Ousterhout.
Proceedings of the 2015 USENIX Conference on Annual Technical Conference (USENIX ATC'15).