Strata: A Coho paper at FAST
This week, we presented a paper at the conference on File and Storage Technologies (FAST), which is the top research conference on storage systems. It happens once a year, and features papers from both industrial and academic labs. Our paper was one of about 130 submitted papers, of which only 24 were selected for publication at the conference — quite a competitive field!
It was really fun to be in Santa Clara at FAST this week. The conference sold out with over 500 attendees and so there were plenty of great people to talk to. Brendan Cully, one of the initial engineers at Coho, presented the paper at the beginning of the first day. Brendan’s presentation was great, and there were a lot of excellent questions afterwards, both in the halls and at the poster session. Dutch Meyer, one of the other authors on the paper, joined us at the conference and spent a lot of time answering questions and trying to find promising candidates to join our engineering team. Trisha McCanna and Aditya Vempaty also joined us to staff a Coho booth, and handed out limited edition “Don’t fsck with the fish!” t-shirts.
Many of the people on Coho’s engineering team come from a research background. As a result, we place a lot of value not just in building great systems, but in evaluating them and communicating how they work to the broader technical community. This paper is a description of some of the problems that we had to solve in building our initial product: how we took performance-dense PCIe flash hardware, and made it available as a scalable and high-performance storage system for VMware ESX environments. The paper talks about how we borrowed ideas from CPU virtualization and applied them in order to share flash hardware between multiple clients. It discusses how we compose flash devices into flexible object-style containers that allow properties like replication and striping using the idea of reconfigurable, delegated data paths. Finally, it details one aspect of our incorporation of software-defined networking in order to allow an NFS controller and its IP stack to scale horizontally across a large number of independent Coho microarrays.
I’ve written a lot of technical papers in the past, but this one was a different sort of challenge: Writing this was a team effort, and spanned several internal product release deadlines. Running evaluation at the scale that we measured in the paper involved carving off large portions of our regression and performance test environment for days at a time so that we could configure, run, and re-run measurements. Writing and describing the system was a tough balance in a startup environment where everyone is focussed on fixing bugs and shipping product.
Taking the time to write this paper resulted in two really immediate benefits. First, it forced the team to sit back and describe aspects of the architecture in a way that we can share with both our customers, and the storage systems community. Our use of flash and SDN is different than the way that many other storage systems have been designed, and papers like this help educate people about how changes in datacenter hardware demand new approaches to infrastructure software. Second, it gave the team a chance to revisit and discuss many of our design decisions, and to make sure that we agree on how we are moving the system forward as we grow. With the speed of design and development that happens in a startup environment, this paper gave us the opportunity to take a (quick!) breath, to revisit our design, and to make sure we were preserving the architectural integrity of a system that we want to continue to innovate on over the coming years. It was a really rewarding effort.
This paper isn’t a technical roadmap. Instead, it’s a detailed description of some of the great work that the technical team at Coho has already done. I’m very proud of this work, and the fact that we’ve been able to present it publicly. There’s a whole lot of really exciting new stuff that we’ve been working on in the almost six months that have passed since we submitted the paper to FAST, and I look forward to sharing some of the new things that we’ve been working on soon.
5,595 total views, 2 views today