I'm a Ph.D. candidate in
Computer Science at the University of
Washington. I expect to graduate in 2013.
I grew up in Seattle, then spent five years at
Dartmouth College in Hanover, New
I was on leave from the UW from March 2006 to December 2011. During my leave, I worked as a software engineer at Cray, where I was the technical lead for the XMT compiler.
I returned to UW in January 2012. I am part of the SAMPA (SAfe MultiProcessing Architectures) research group, advised by Dan Grossman and Luis Ceze. I am part of a team that is investigating methods to save energy by using disciplined approximate computing. My current focus is on the quality of service impacts of approximation.
This project investigates how we can use approximation in a safe and principled manner in order to save energy. My work focuses on studying the quality of service (QOS) impacts of approximation, and on tools to help programmers investigate the QOS impacts of changing how their code is approximated. We recently submitted a paper about one such tool for measuring and tuning QOS tradeoffs in a functional setting. This project is part of the research of the SAMPA group (SAfe MultiProcessor Architectures) at the University of Washington.
As software systems become simultaneously more complex and more integrated into our daily lives, the need to eliminate errors and security vulnerabilities becomes more pronounced. My work on this project aimed to use programming language-based techniques to improve software quality. Some topics we investigated include coordinated data structures, security white-listing, and enforcing strong
This project involved developing a new embedded video coder, and designing a global bit-allocation algorithm that achieves nearly constant quality across the entire video. We also looked briefly at image compression, animation compression, and 3D mesh compression. See the two DCC 2004 papers listed above for more details.
Out-of-core algorithms are algorithms designed to be efficient even when the size of the problem is greater than the size of the computer's main memory. We developed an out-of-core, parallel, high-dimensional vector radix FFT algorithm. We also analyzed our algorithm's complexity, as well as the communication complexity of a previously developed BMMC permutation algorithm that we used as a subroutine of the FFT algorithm. See my master's thesis for details.