Mihai Budiu's Web Page

Mihai Budiu
Mihai Budiu
Cell: (412) 216 8430
mbudiu (at) gmail
Github: old and new

I am a researcher at VMware Research, in Palo Alto, California. Work address: 3401 Hillview Ave, Palo Alto, CA 94304.

Between 2014 and 2016 I have been a software engineer at Barefoot Networks, a start-up in Palo Alto, California. Between 2004 and 2014 I have been a researcher at the wonderful Microsoft Research Silicon Valley Lab. I have a Ph.D. in computer science from Carnegie Mellon University. I graduated from Politehnica University of Bucharest.

During the years I have participated in the design and construction of several complex software artifacts. My approach is to build end-to-end systems (i.e., spanning from Remote Method Invocation up to graphical user interfaces) based on strong theoretical fundamentals.

My research has spanned several broad areas of computer science:

  • Databases
  • Software-defined networking
  • Cloud computing infrastructure: distributed computation platforms, monitoring, debugging, and performance analysis of large scale clusters
  • Big data analysis and visualization
  • Large scale machine learning
  • Computer security
  • Computer architecture
  • Programming language and compiler design and implementation
  • Reconfigurable hardware and hardware synthesis


Here are some projects that I have worked on:

Some interviews I took: Kurt Akeley, Chuck Thacker (later winner of the 2009 ACM Turing award), and Leslie Lamport (later winner of the 2014 ACM Turing award), Brian Kernighan and Bruce Maggs.

Some recent talks I gave:

Distributed interactive big data visualization with Hillview
Have You Tried Rubbing a Database On It?, Virtual event, April 29, 2022
DBSP: Automatic Incremental View Maintenance for Rich Query Languages
Stanford Systems Seminar, Stanford University, April 12, 2022
Understanding the open-source P4-16 compiler
P4 Developer Days, online meeting, February 15, 2022
Differential Datalog (DDlog): A programming Language for Incremental Computation
VMWorld 2021, Virtual Event, August, 2021
Comparing P4 and EBPF
P4-ebpf task force, Virtual Presentation, January 21, 2021
Hillview: A trillion cell spreadsheet
Facebook, Menlo Park, CA, September 24, 2019
Differential Datalog
Stanford DAWN Retreat, Menlo Park, CA, September 11, 2019
Hillview: A Trillion-cell spreadsheet for big data
VLDB 2019, Los Angeles, CA, August 28, 2019
P4: Specifying data planes
Intel, Hillsboro, OR, July 10, 2018
Packet processing with P4 and EBPF
Intel TC/P4 workshop, Santa Clara, CA, June 8, 2018
The architecture of the P4-16 Compiler
P4 Workshop, Stanford, CA, May 17, 2017
A distributed billion-row spreadsheet
Laboratory for Computer Science seminar, Edinburgh University, Edinburgh, UK, Sept 11, 2016
Interacting with Large Distributed Datasets Using Sketch
Eurographics Symposium on Parallel Graphics and Visualization, Groningen, Netherlands, June 7, 2016
P4: Specifying data planes
Linux netdev01, Ottawa, Canada, February 15, 2015
Systems for Data-Intensive Cluster Computing
ALMADA Summer School, Moscow, Russia, July 30-August 7, 2013
Interactive Parallel Data Visualization and Exploration
Microsoft Research, Silicon Valley, Mountain View, CA, March 23, 2013
The Compiler Forest
Workshop on Exploiting Concurrency Efficiently and Correctly, Berkeley, CA, July 7, 2012
Playing with Big Data
HPDC 2012 Keynote Presentation, Delft, Netherlands, June 20, 2012
Monitoring and Debugging Clusters with Daphne
International Workshop on High-level Parallel Programming Models and Supportive Environments (HIPS), Anchorage, AK, May 20, 2011
DryadOpt: Branch-and-Bound on Distributed Data-Parallel Execution Engines
IEEE International Parallel and Distributed Processing Symposium (IPDPS), Anchorage, AK, May 19, 2011
The Kinect Body Tracking Pipeline
NASA Ames Reseach Center, Mountain View, CA, February 15, 2011
Hunting for Bugs with Artemis
USENIX Workshop on the Analysis of System Logs (WASL), San Diego, CA, December 7, 2008
Cluster Computing for the masses with DryadLINQ
Intel Research/UC Berkeley System Seminar Series, Intel Research, Berkeley, CA, October 9, 2008
Cluster Computing with Dryad
Microsoft Live Labs, Bellevue, WA, March 4, 2008
A Toolkit for Machine-Learning in DryadLINQ
Microsoft Research SVC, Mountain View, CA, January 30, 2008
Critical Path: A Tool for System-Level Timing Analysis
Microsoft Research SVC, Mountain View, CA, May 23, 2007
Architectural Support for Software-Based Protection
ASID 2006, San Jose, CA, October 21, 2006

Some of my papers

A complete publication list is in my my CV. Here's my dblp record. The copyrights of these publications are owned by various organizations, the papers are reproduced here for your convenience.
P 422
Nerpa: Network Programming with Relational and Procedural Abstractions
Debnil Sur, Ben Pfaff, Leonid Ryzhyk, and and Mihai Budiu
P4 Workshop, virtual event, May 24-26, 2022
P 422
P4 in Open vSwitch with OFP4
Ben Pfaff, Debnil Sur, Leonid Ryzhyk, and Mihai Budiu
P4 Workshop, virtual event, May 24-26, 2022
DBSP: Automatic Incremental View Maintenance for Rich Query Languages
Budiu, Mihai, McSherry, Frank, Ryzhyk, Leonid, and Tannen, Val
March, 2022

The P4-16 Language Specification, version 1.2.2
The P4.org consortium
May, 2021
Overlook: Differentially Private Exploratory Visualization for Big Data
Pratiksha Thaker, Mihai Budiu, Parikshit Gopalan, Udi Wieder, and Matei Zaharia
Theory and Practice of Differential Privacy (TPDP 2020), Orlando, FL, November 13, 2020
Hillview: A trillion-cell spreadsheet for big data
Mihai Budiu, Parikshit Gopalan, Lalith Suresh, Udi Wieder, Han Kruiger, and Marcos K. Aguilera
Proceedings of the VLDB Endowment (VLDB), Los Angeles, CA, August, 2019, pages 1442-1457
A longer version available as https://arxiv.org/abs/1907.04827
Differential Datalog
Leonid Ryzhyk and Mihai Budiu
Datalog 2.0, Philadelphia, PA, June 4-5, 2019
LPC 18
P4C-XDP: Programming the Linux Kernel Forwarding Plane Using P4
William Tu, Fabian Ruffy, and Mihai Budiu
Linux Plumber's Conference, Vancouver, Canada, November 13-15, 2018
OSR 17
The P4-16 Programming Language
Mihai Budiu and Chris Dodd
ACM SIGOPS Operating Systems Review, Vol. 51, no 1, August, 2017, pages 5-14
Packet Transactions: High-level Programming for Line-Rate Switches
Anirudh Sivaraman, Alvin Cheung, Mihai Budiu, Changhoon Kim, Mohammad Alizadeh, Hari Balakrishnan, George Varghese, Nick McKeown, and Steve Licking
ACM SIGCOMM, Florianópolis, Brazil, August 22-26, 2016
Interacting with Large Distributed Datasets Using Sketch
Mihai Budiu, Rebecca Isaacs, Derek Murray, Gordon Plotkin, Paul Barham, Samer Al-Kiswany, Yazan Boshmaf, Qingzhou Luo, and Alexandr Andoni
Eurographics Symposium on Parallel Graphics and Visualization, Groningen, Netherlands, June 6-7, 2016, 13 pages
Also as University of Wisconsin-Madison Technical report TR1817
Multilinear Programming with Big Data
Mihai Budiu and Gordon Plotkin
Festschrift for Luca Cardelli, September, 2014
The Compiler Forest
Mihai Budiu, Joel Galenson, and Gordon Plotkin
European Symposium on Programming (ESOP), Rome, Italy, March 16-24, 2013, 20 pages
Parallelizing the Training of the Kinect Body Parts Labeling Algorithm
Mihai Budiu, Jamie Shotton, Derek G. Murray, and Mark Finocchio
Big Learning: Algorithms, Systems and Tools for Learning at Scale, Sierra Nevada, Spain, December 16-17, 2011
Fay: Extensible Distributed Tracing from Kernels to Clusters
Úlfar Erlingsson, Marcus Peinado, Simon Peter, and Mihai Budiu
ACM Symposium on Operating Systems Principles (SOSP), Cascais, Portugal, October 23-26, 2011
Chapter in, Scaling Up Machine Learning
Frank McSherry, Yuan Yu, Mihai Budiu, Michael Isard, and Dennis Fetterly
Large-Scale Machine Learning using DryadLINQ, Cambridge University Press, 2011
DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language
Yuan Yu, Michael Isard, Dennis Fetterly, Mihai Budiu, Úlfar Erlingsson, Pradeep Kumar Gunda, and Jon Currey
Symposium on Operating System Design and Implementation (OSDI), San Diego, CA, December 8-10, 2008, 14 pages
Best paper award. 2018 ACM SIGOPS Hall of Fame award. The video shows DryadLINQ used from Visual Studio.
DAC 07
Critical Path: A Tool for System-Level Timing Analysis
Girish Venkataramani, Tiberiu Chelcea, Mihai Budiu, and Seth C. Goldstein
Design Automation Conference (DAC), San Diego, CA, June 4-8, 2007
An expanded version is in the technical report CMU-CS-06-144
Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks
Michael Isard, Mihai Budiu, Yuan Yu, Andrew Birrell, and Dennis Fetterly
European Conference on Computer Systems (EuroSys), Lisbon, Portugal, March 21-23, 2007, pages 59-72
Also as technical report MSR-TR-2006-140. EuroSys 2017 Test of Time Award.
Architectural Support for Software-Based Protection
Mihai Budiu, Úlfar Erlingsson, and Martín Abadi
Workshop on Architectural and System Support for Improving Software Dependability (ASID), San Jose, CA, October 21, 2006, pages 42-51
Also as technical report MSR-TR-2006-115
XFI: Software Guards for System Address Spaces
Úlfar Erlingsson, Martín Abadi, Michael Vrable, Mihai Budiu, and George C. Necula
Symposium on Operating System Design and Implementation (OSDI), Seattle, WA, November 6-8, 2006, pages 75-88
Tartan: Evaluating Spatial Computation For Whole Program Execution
Mahim Mishra, Timothy J. Callahan, Tiberiu Chelcea, Girish Venkataramani, Mihai Budiu, and Seth C. Goldstein
International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), San Jose, CA, October 21-25, 2006, pages 163-174
CCS 05
Control-Flow Integrity
Martín Abadi, Mihai Budiu, Úlfar Erlingsson, and Jay Ligatti
ACM Conference on Computer and Communication Security (CCS), Alexandria, VA, November 7-11, 2005, pages 340-353
CCS Test of Time Award in 2015
Spatial Computation
Mihai Budiu, Girish Venkataramani, Tiberiu Chelcea, and Seth Copen Goldstein
International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Boston, MA, October 9-13, 2004, pages 14-26
NanoFabrics: Spatial Computing Using Molecular Electronics
Seth Copen Goldstein and Mihai Budiu
International Symposium on Computer Architecture (ISCA), Göteborg, Sweden, 2001, pages 178-189
PipeRench: a Coprocessor for Streaming Multimedia Acceleration
Seth Copen Goldstein, Herman Schmit, Matthew Moe, Mihai Budiu, Srihari Cadambi, R. Reed Taylor, and Ronald Laufer
International Symposium on Computer Architecture (ISCA), Atlanta, GA, 1999, pages 28-39
2014 ACM SIGARCH/IEEE-CS TCCA Influential ISCA Paper Award.