I completed my PhD in Computer Science at the University of Washington in February 2014, and am now a Principal Engineering Lead at Microsoft, where I am building a pathfinding team focused on researching new programming models for AI accelerators. Previously, I worked as an ML Solutions Engineer at Cerebras where I helped customers port their deep learning models to Cerebras systems. Prior to that, I was a Distinguished Technologist and Senior Principal Engineer at Cray and Hewlett Packard Enterprise (which acquired Cray), where I designed machine learning and data analytics platforms that leveraged Cray's HPC technologies. I graduated from Dartmouth College with a BA in Mathematics (with a Computer Science minor) in 1999, and an MS in Computer Science in 2001.
This page 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 posted below as well.
mike at ringenburg dot org
- In spring quarter of 2017, I taught CSEP 590: Topics in Programming Systems (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.
- Ananda V. Kommaraju, Kristyn J. Maschhoff, Michael F. Ringenburg, Benjamin Robbins. Scalable Reinforcement Learning on Cray XC. In Concurrency and Computation: Practice and Experience (Cray User Group Special Issue), 2019.
- Alex Gittens, Kai Rothauge, Shusen Wang, Michael W. Mahoney, Jey Kottalam, Lisa Gerhardt, Prabhat, Michael F. Ringenburg, Kristyn Maschhoff. Alchemist: An Apache Spark-MPI Interface. In Concurrency and Computation: Practice and Experience (Cray User Group Special Issue), 2018.
- 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.
- Sam Partee, Michael Ringenburg, Benjamin Robbins, Andrew Shao. Model Parameter Optimization: ML-guided Trans-resolution Tuning of Physical Models. In Machine Learning and the Physical Sciences Workshop (at NeurIPS 2019).
- Amrita Mathuriya, Deborah Bard, Peter Mendygral, Lawrence Meadows, James Arnemann, Lei Shao, Siyu He, Tuomas Karna, Daina Moise, Simon J. Pennycook, Kristyn Maschoff, Jason Sewall, Nalini Kumar, Shirley Ho, Michael F. Ringenburg, Prabhat, Victor Lee. CosmoFlow: Using Deep Learning to Learn the Universe at Scale In SC ’18: 2018 ACM/IEEE Supercomputing Conference, 2018.
- Alex Gittens, Kai Rothauge, Shusen Wang, Michael W. Mahoney, Lisa Gerhardt, Prabhat, Jey Kottalam, Michael F. Ringenburg, Kristyn J. Maschhoff. Accelerating Large-Scale Data Analysis by Offloading to High-Performance Computing Libraries using Alchemist. Accepted for publication in Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, London, UK, 2018.
- 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