I completed my PhD in Computer Science at the University of Washington in February 2014, and am now a principal engineer at Cray, Inc, where I design data analytics platforms that leverage Cray's HPC technologies. Previously I attended Dartmouth College, where I earned a BA in Mathematics (with a Computer Science minor) in 1999, and an MS in Computer Science in 2001.
This page now contains links to papers I've written and information about projects I've worked on.
I also occasionally teach computer science courses at the University of Washington. Links to these courses are also posted below.
mike at ringenburg dot org
- In spring quarter of 2017, I will teach CSEP 590: Topics in Modern Programming System Implementations (as part of the UW CSE Professional Master's Program), covering topics related to the implementation of compilers, interpreters, and runtime systems for modern languages and architectures.
- In spring quarter of 2015, I taught CSEP 524: Parallel Computation (a PMP course).
- In winter quarter of 2013, I taught CSE 401: Introduction to Compiler Construction.
- Neva Cherniavsky, Gidon Shavit, Michael F. Ringenburg, Richard E. Ladner, and Eve A. Riskin. MultiStage: A MINMAX Bit Allocation Algorithm for Video Coders. IEEE Transactions on Circuits and Systems for Video Technology 17, 1 (2007), 59-67.
- Alex Gittens, Aditya Devarakonda, Evan Racah, Michael Ringenburg, Lisa Gerhardt, Jey Kottaalam, Jialin Liu, Kristyn Maschhoff, Shane Canon, Jatin Chhugani, Pramod Sharma, Jiyan Yang, James Demmel, Jim Harrell, Venkat Krishnamurthy, Michael W. Mahoney, Prabhat. Matrix Factorization at Scale: a Comparison of Scientific Data Analytics in Spark and C+MPI Using Three Case Studies. arXiv:1607.01335. July 2016. In Proceedings of IEEE Big Data 2016, December 2016.
- Alex Gittens, Jey Kottalam, Jiyan Yang, Michael F Ringenburg, Jatin Chhugani, Evan Racah, Mohitdeep Singh, Yushu Yao, Curt Fischer, Oliver Ruebel and Benjamin Bowen, Norman Lewis, Michael W Mahoney, Venkat Krishnamurthy, Prabhat. A multi-platform evaluation of the randomized CX low-rank matrix factorization in Spark. In The 5th International Workshop on Parallel and Distributed Computing for Large Scale Machine Learning and Big Data Analytics (Parlearning 2016), at IPDPS 2016, Chicago, IL, May 2016.
- Jialin Liu, Evan Racah, Quincey Koziol, Richard Shane Canon, Alex Gittens, Lisa Gerhardt, Suren Byna, Michael F. Ringenburg, Prabhat. H5Spark: Bridging the I/O Gap between Spark and Scientific Data Formats on HPC Systems. In Cray User Group 2016 Conference Proceedings (CUG 2016), London, UK, May 2016.
- Michael F. Ringenburg, Shuxia Zhang, Kristyn J. Maschhoff, Bill Sparks, Evan Racah, Prabhat. Characterizing the Performance of Analytics Workloads on the Cray XC40. In Cray User Group 2016 Conference Proceedings (CUG 2016), London, UK, May 2016.
- Kristyn Maschhoff and Michael Ringenburg. Experiences Running and Optimizing the Berkeley Data Analytics Stack on Cray Platforms. In Cray User Group 2015 Conference Proceedings (CUG 2015), Chicago, IL, April 2015.
- Michael Ringenburg, Adrian Sampson, Isaac Ackerman, Luis Ceze, and Dan Grossman. Debugging Approximate Programs via Dynamic Analysis. In ASPLOS 2015 (20th International Conference on Architectural Support for Programming Languages and Operating Systems), Istanbul, Turkey, March 2015.
- Michael Ringenburg, Adrian Sampson, Luis Ceze, and Dan Grossman. Profiling and Autotuning for Energy-Aware Approximate Programming. In 2014 Workshop on Approximate Computing Across the System Stack (WACAS 2014) (co-located with ASPLOS 2014), Salt Lake City, Utah, March, 2014.
- Hadi Esmaeilzadeh, Adrian Sampson, Michael Ringenburg, Dan Grossman, Luis Ceze, and Doug Burger. Addressing Dark Silicon Challenges with Disciplined Approximate Computing. At Dark Silicon 2012 (co-located with ISCA 2012), Portland, Oregon, June 2012.
- Michael Ringenburg and Sung-Eun Choi. Optimizing Loop-level Parallelism in Cray XMT™ Applications. Cray User Group 2009 Conference Proceedings (CUG 2009), Atlanta, Georgia, May 2009.
- Michael F. Ringenburg and Dan Grossman. Preventing Format-String Attacks via Automatic and Efficient Dynamic Checking. Proceedings of the 12th ACM Conference on Computer and Communications Security (CCS 2005), Alexandria, Virginia, November 2005, pages 354-363.
- Michael F. Ringenburg and Dan Grossman. AtomCaml: First-Class Atomicity via Rollback. Proceedings of the 10th ACM SIGPLAN International Conference on Functional Programming (ICFP 2005), Tallinn, Estonia, September 2005, pages 92-104.
- Michael F. Ringenburg and Dan Grossman. Types for Describing Coordinated Data Structures. Proceedings of TLDI '05: 2005 ACM SIGPLAN International Workshop on Types in Language Design and Implementation, Long Beach, California, January 2005, pages 25-36.
- Michael F. Ringenburg, Richard E. Ladner, and Eve A. Riskin. Global MINMAX Interframe Bit Allocation for Embedded Video Coding. In Proceedings of the 2004 IEEE Data Compression Conference (DCC '04), Snowbird, Utah, March 2004, pages 222-231.
- Gidon Shavit, Michael F. Ringenburg, Jeff West, Richard E. Ladner, and Eve A. Riskin. Group Testing for Video Compression. In Proceedings of the 2004 IEEE Data Compression Conference (DCC '04), Snowbird, Utah, March 2004, pages 212-221.
- Michael F. Ringenburg. Dynamic Analyses of Result Quality in Energy-Aware Approximate Programs. Doctoral Thesis, Department of Computer Science and Engineering, University of Washington, February 2014.
- Michael F. Ringenburg. Applying the Vector Radix Method to Multidimensional, Multiprocessor, Out-of-Core Fast Fourier Transforms. Master's Thesis, Department of Computer Science, Dartmouth College, March 2001.
- Past projects:
- Approximate Computing, Advisors: Dan Grossman and Luis Ceze This project investigates how we can use approximation in a safe and principled manner in order to save energy. My work focuses on dynamic tools to help programmers investigate the Qualtiy of Result (QoR) impacts of approximation on their code. See my thesis for more details.
WASP: Washington Advanced Systems for Programming. Advisor: Dan Grossman
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
atomicity guarantees in concurrent programs.
- Graphics, image & video compression, Advisors: Richard Ladner and Eve Riskin 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 (my master's thesis). Advisor: Tom Cormen 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.
- Using simulated annealing to approximate crossing numbers of complete graphs. Advisor: John Mackey
- Summer schools:
- Summer School on Software Security: Theory to Practice, June 17-25 2004, University of Oregon, Eugene, OR
mike at ringenburg dot org