Co-creator of ZFS and Distinguished Engineer Matt Ahrens shares his 10-year journey at Delphix, his passion for the OpenZFS community, and his incredible talent for woodworking.
I work as a software engineer on the Systems Platform team, and we develop the operating system components of Delphix, including the ZFS filesystem. All of the data that the Delphix platform manages is stored on ZFS, which provides the fundamental capabilities to share space between virtual databases (vDB) and dSources, as well as compression and replication. My role involves a bit of everything: designing new features and performance improvements for ZFS, hands-on implementation, mentoring team members, and leading the OpenZFS open source community.
I joined the company in 2010, when Delphix was in its infancy. I was inspired to be part of a growing company and make a big impact on the product and the company’s engineering culture. I was also excited to work on ZFS in the context of a more specific use case (storage for databases), and to help guide an industry-spanning effort to leverage the open source components that came out of Sun Microsystems, including OpenSolaris/illumos, ZFS, and DTrace.
The ZFS storage system—as I’ve been working on ZFS and OpenZFS basically my entire career. I helped create ZFS at Sun Microsystems back in 2001 and established the OpenZFS open source project in 2013.
When Oracle purchased Sun, it stopped sharing the ZFS source code in 2010 when it shut down the OpenSolaris project. Fun facts: Since then, more than 300 people from over 100 companies have contributed to OpenZFS. More than 60 percent of the code in OpenZFS was written in this multilateral, community-driven process.
I’m still learning a lot about how to lead a community project, and it’s been an amazing experience to bring together a diverse group of highly-motivated individuals to help shape and improve ZFS, as well as host the annual OpenZFS Developer Summits. If you’re interested in learning more, check out some of my conference presentations here or read my blog post on ZFS’ RAIDZ (also proud to say, it’s Delphix’s most popular blog to date).
There’s too many to choose from! I really like the technology behind the “spacemap log” project. Due to the highly random nature of some of our customers’ database workloads, Delphix experiences high fragmentation of the free space in the ZFS storage pool, and we saw that ZFS was spending a lot of time writing out the metadata that describes free space. In this project, we thought from first principles about this performance problem and redesigned the fundamental on-disk data structures that ZFS uses to keep track of free space. The end result was that we improved our most demanding customers’ write performance by 40 percent!
Having said that, it was a huge privilege to visit my alma mater to give a lecture about ZFS at the operating systems class that made me fall in love with systems programming.
The primary consumer of the software we write is other software engineers, not the computer. Yes, we have to write code that’s accepted by the compiler, and that implements the required functionality. But when writing code or giving feedback in code reviews, we should always remember that it’s most important for other people to be able to read our code and understand why it works the way it does.
I have two young children, so my nonessential talents are pretty rusty! But before that, I remodeled my own house, built custom-designed cabinets for my kitchen in my garage wood shop, and performed all the electrical work myself.
Homemade maple island, children, and well-used Delphix swag