Associate Professor at the University of Michigan CSE. Enjoy building and researching computer systems.

Ann Arbor, MI
Joined November 2009
🎉 Excited that our work, OpGuard, was nominated for OSDI26 best paper award! Debugging is notoriously hard. In LLM training, it is even harder: a tiny error may remain invisible for a long time, surfacing only after it has propagated across GPUs, operations, and model state.
3
3
23
1,904
How can we quickly determine when and where things first went wrong? OpGuard introduces bitwise alignment as a precise debugging primitive that pinpoints the first divergence between two training executions. In production, it has reduced debugging time from days to minutes.
1
1
193
My student Ziming will present the work tomorrow, July 14, in the "Training Reliability and Silent Errors" session, 2:00–3:20 PM. Please stop by to hear Ziming present the work! usenix.org/conference/osdi26…
1
158
Ryan Huang retweeted
We’re @UMich researchers looking for 20-minute conversations with people who build, train, fine-tune, evaluate, or operate ML systems. Despite major progress in ML infrastructure reliability, many practitioners still point to the correctness of training and evaluation as a central bottleneck. We’re trying to understand what gaps remain, how teams detect and handle them today, and where better tooling could help. If this touches your work, please reply or DM. Referrals are also appreciated. #MLSys #MachineLearning #AIInfrastructure #MLOps
3
1
16
2,148
Overload control is usually built around a bad assumption. Most systems watch global signals like queue length or tail latency and react at the front door by throttling new arrivals or dropping random requests. This works when CPU or network is the bottleneck. It fails when the real problem sits deeper inside the application. In practice, many overload incidents come from one or two requests that monopolize an internal logical resource like a buffer pool, a lock, or a thread-pool queue. These rogue whales distort the system. One ill-timed dump query can thrash the buffer pool and cut throughput in half. One backup thread plus a heavy table scan can stall writes in MySQL. None of this shows up in CPU metrics. The Atropos paper (SOSP’25) offers a simple fix. Instead of punishing victims at admission time, Atropos watches how tasks actually use these internal resources and cancels the ones causing the collapse. The key observation is that most real systems already have safe cancellation hooks. What’s been missing is a principled way to decide whom to cut. Atropos supplies that missing piece and shows that killing a single rogue whale can unblock the whole system.
2
4
33
3,310
After six wonderful years at UIUC @siebelschool, I’m thrilled to announce that I will join the University of Toronto ECE @eceuoft as an assistant professor in July 2026. I’m actively looking for PhD students in fall 2026. Drop me an email if you are interested in working with me.
30
13
3
225
21,800
🔍 Meet TrainCheck, an open-source tool from #UMich CSE led by Prof. @ryanphuang that catches silent errors in deep learning—bugs that quietly wreck model quality. It found 18/20 real-world errors in 1 iteration + 6 unknown bugs. ▶️cse.engin.umich.edu/stories/… #TrainCheck
3
7
667
Congratulations to the authors of Basilisk: Using Provenance Invariants to Automate Proofs of Undecidable Protocols on receiving a ⭐ Best Paper Award ⭐ at OSDI 2025! 👏 🔗 Read more: cse.engin.umich.edu/stories/… #OSDI2025 #SystemsResearch #BestPaper #CSEMichigan
1
6
457
🚨 New resource for ML systems folks! We release a curated reading list on ML reliability, including silent errors, testing, fault tolerance, and more. If you’re building more robust, debuggable ML systems, this list is for you 👇 🔗 github.com/OrderLab/awesome-… PRs are welcome!
1
1
12
965
🚨 Excited to share that our group will present two papers at OSDI '25 next week! 🎯 TrainCheck: Automatically catches silent errors during deep learning training by inferring and enforcing training invariants. * arxiv.org/abs/2506.14813v1, [Code]( github.com/OrderLab/TrainChe…)
1
16
744
🔍 T2C: Turns system tests into semantic checkers to detect failures in distributed systems. * [Paper](web.eecs.umich.edu/~ryanph/p…), [Code](github.com/OrderLab/T2C) #DistributedSystems
2
189
Come join the Artifact Evaluation Committee for #osdi25 & @usenixtatc25, and help promote reproducibility in our Systems community. Ryan (@ryanphuang) and Tianyin (@tianyin_xu) will make this process fun, smooth, and lightweight (1-2 artifacts per reviewer).
5
15
2,735
EuroSys'23 program is now out! Preview the exciting lineup of talks at 2023.eurosys.org/program.htm…. Early bird registration ends on April 15th. More details - 2023.eurosys.org/registratio…
11
1
17
6,099
Ryan Huang retweeted
Our premiere conference for computer systems technology will now be held every year. sigops.org/2023/sosp-is-goin…
3
29
2
72
12,868
Wow, @UMichCSE's recent faculty hires are on 🔥🔥! They got 7⃣—count 'em, seven!—NSF CAREER awards this cycle. Big congratulations to @mahdi_tcs, @royaensafi, @pag_crypto, Euiwoong Lee, @neurocy, @eig, and @xwangsd. cse.engin.umich.edu/stories/…
8
1
67
13,965
Thank you @SloanFoundation for recognizing my lab research. A heartfelt thanks to my students, mentors, friends in civil society, FOCI and @OpenTechFund communities for their support and inspiration which have allowed me to push the limits without any fear. #SloanFellow
We are delighted to announce the winners of this year’s Sloan Research Fellowship! These outstanding researchers are shining examples of innovation and impact—and we are thrilled to support them. Meet the winners here: sloan.org/fellowships/2023-F… 🎉 #SloanFellow #STEM #ScienceTwitter
13
6
101
18,510
Congratulations to @UCSanDiego @ucsd_cse cybersecurity expert Stefan Savage, who was elected to @theNAEng! His work looks at everything from cars, to spam email, to cryptocurrencies: today.ucsd.edu/story/Stefan_…
4
1
21
3,077
Congratulations to all of the @ACMSIGOPS dissertation award winners!! I enjoyed reading every thesis and it was a very hard choice! sigops.org/2022/dmr-2022/
3
8
1
41