Sarah M. Morin

CS PhD student at UC Berkeley advised by Joe Hellerstein and Max Willsey.
Research
How can we bridge the gap between the powerful theoretical potential of distributed systems research and its practical implementation in complex, real-world applications? I believe we can use novel programming languages and techniques to improve the performance, reliability, and security of distributed systems from the ground up.
My current project combines traditional query optimization approaches with e-graphs to build a programmable query optimizer. Typically, query optimizers perform several optimization phases or passes in sequence; however, it is possible that some information lost in an early phase would have “unlocked” a powerful optimization in a later phase. To avoid such pitfalls, why not consider all possible rewrites all the time? The e-graph, a nifty data structure recently popularized by the egg project, allows us to do just that. This project is in the early stages, stay tuned for updates!
Background
I earned my B.S. in Computer Science from The George Washington University. During my time as an undergraduate I worked as a Research Assistant for Professor Poorvi Vora and contributed to several publications on risk-limiting audits to statistically verify election outcomes. I also served as a Teaching Assistant in the Computer Science Department and taught for the Computer Architecture, Systems Programming, and Discrete Structures courses.
After graduating from GW, I joined Oracle as a Software Engineer on the File System Storage team of Oracle Cloud Infrastructure (OCI) where I was later promoted to Member of Technical Staff. As a developer on the data-plane I was given the opportunity to tackle many complex problems in distributed storage such as introducing support for SMB protocol and building a user quota enforcement system.
I live in San Francisco with my partner, Gus, and our cats, Zuko (yes, as in Avatar: The Last Airbender) and Kiwi. In my free time, I enjoy cooking, knitting, playing pool, and watching hockey. Although I have quite a few hobbies, there is nothing I enjoy more than learning and solving problems.