Curriculum Vitae - Mihai Budiu

Personal Information

Contact
Cellphone(412) 216-8430
E-mailmbudiu (-at-) gmail
E-mailmbudiu (-at-) feldera.com
URLmihaibudiu.github.io/work
Summary

During the years I have participated in the design and construction of several complex software artifacts. I like building systems based on strong theoretical foundations.

My research has spanned several broad areas of computer science:

  • Databases
  • Software-defined networking and P4
  • 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
Projects
  • Incremental view maintenance (2021-today): DBSP (Database stream processing), a formal model and its implementation, and a SQL compiler for a streaming and incremental query engine.
  • Differential Datalog, a fully incremental programming language based on Datalog (2018-2022). DDlog is used in production at VMware in the NSX network controller and as the data analytics engine of VMware Skyline.
  • Nerpa: a system for programming software-defined networks (2017-2019; 2021-2023).
  • Hillview, a spreadsheet for big data (2016-2021).
  • The P4 programming language design and its reference implementation (2014-2023). I have been a co-chair of the P4 language design working group between 2018-2023.
  • Compiling P4 to eBPF (2016-2021).
  • The CosmosDB Azure Cloud database (at the time named DocumentDB) (2012-2014). I have worked on the design and implementation of the JSON-specific NoSQL query engine (language and runtime).
  • The Dryad and DryadLINQ software stack (2005-2014). These are available under an Apache2 license on GitHub.
    • Dryad was the distributed execution engine of the Bing Cosmos analytics engine, deployed on tens of thousands of machines at Microsoft since 2006. The Dryad paper has received the EuroSys 2017 Test of Time award.
    • DryadLINQ is a compiler from .Net LINQ to Dryad. A commercial version of this compiler was shipped in 2011 by Microsoft in beta under the name LINQ to HPC but was afterwards discontinued. The DryadLINQ paper won the 2008 OSDI best paper award, and the ACM SIGOPS 2018 Hall of Fame award.
    • Daphne, DryadLINQ JobBrowser and debugger. Techniques introduced by this tool are used internally in Microsoft in the ScopeStudio debugger (the tool used for programming the Bing analytics engine).
  • Cloud infrastructure monitoring, debugging and optimization (2008-2014)
    • Artemis; tools evolved from Artemis have been used by Hotmail to improve cluster operations.
    • Fay, a distributed cluster monitoring system.
  • Large-scale applications (2008-2014)
  • Programming languages and compiler architecture. I have contributed to several compilers: SQL to DBSP, DBSP, DDlog, SQL to DDlog, P4, CosmosDB SQL, DryadLINQ, the compiler forest, CASH (Compiler for Application-Specific Hardware), and the PipeRench compiler.
  • Computer security (2005-2011):
  • Hardware synthesis, harware optimization, reconfigurable computing, and computer architecture (1997-2007)

Education

Education
Postdoc
Fall 2003-Summer 2004, Carnegie Mellon University, Computer Science Department, professor Seth Goldstein, Phoenix Project.
Graduate Student (Ph.D. program)
Fall 1997-Summer 2003, Carnegie Mellon University, Computer Science Department, Pittsburgh, PA. Thesis defended in December 2003.
Master of Science
Carnegie Mellon University, Computer Science Department.
Graduate Student
Fall 1996-Spring 1997, enrolled in the Ph.D. program of the Computer Science Department, Cornell University, Ithaca, NY.
Master of Science
Politehnica University of Bucharest, Romania; Department of Engineering Sciences.
Summer school
Summer 1993, International Summer Institute for Parallel Computer Architectures, Languages and Algorithms, Prague, Czechoslovakia.
Bachelor of Science
Politehnica University of Bucharest, Romania, major in Computer Science; Department of Engineering Sciences.
Military Service
Romanian Army
High-school diploma
(Baccalaureate), Liceul de Informatica, Bucharest, Romania.

Awards

Awards
2024 ACM SIGMOD Research Highlights award The paper DBSP: Incremental Computation on Streams and Its Applications to Databases is a simplified version of the DBSP VLDB 23 paper.
2023 VLDB Best paper award The paper DBSP: Automatic Incremental View Maintenance for Rich Query Languages.
2023 ISCA@50 25-year Retrospective 1996-2020 Two papers selected: NanoFabrics: spatial computing using molecular electronics, and PipeRench: A Coprocessor for Streaming Multimedia Acceleration
2022 VMWare Office of the CTO Award Transcending Limits in Innovation Differential Datalog programming language
2020P4 Distinguished service award From the Open Networking Foundation
2018 ACM SIGOPS Hall of Fame Award For the 2008 paper: DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language.
2017 EuroSys Test of time Award For the 2007 paper: Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks.
2015 ACM CCS Test of time Award For the 2005 paper: Control-Flow Integrity.
2014 ACM SIGARCH/IEEE-CS TCCA Influential ISCA Paper Award For the 1999 paper: PipeRench: a Coprocessor for Streaming Multimedia Acceleration.
2011 Churchill Club Silicon Valley award Magical Team For collaborative breakthroughs resulting in an irresistible product (Kinect); accepted award on behalf of Microsoft, together with Todd Holmdahl.
2010 Microsoft Technology Transfer Award For Training the Kinect Body Parts Classifier.
2008 ACM OSDI Best paper award For the paper DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language.

Publications

Refereed conferences and workshops
VLDB 23
slides
bibtex
video
DBSP: Automatic Incremental View Maintenance for Rich Query Languages
Mihai Budiu, Tej Chajed, Frank McSherry, Leonid Ryzhyk, and Val Tannen
Proceedings of the VLDB Endowment (VLDB), Vancouver, Canada, August, 2023, pages 1601-1614
Best paper award. ACM SIGMOD Research Highlights Award.
VLDB 23
slides
bibtex
Scaling a Declarative Cluster Manager Architecture with Query Optimization Techniques
Kexin Rong, Mihai Budiu, Athinagoras Skiadopoulos, Lalith Suresh, and Amy Tai
Proceedings of the VLDB Endowment (VLDB), Vancouver, Canada, August, 2023, 2618–2631 pages
HOTNETS 22
bibtex
Full-Stack SDN
Debnil Sur, Ben Pfaff, Leonid Ryzhyk, and Mihai Budiu
ACM Workshop on Hot Topics in Networks (HotNets), Austin, TX, November 14-15, 2022
P 422
bibtex
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
bibtex
P4 in Open vSwitch with OFP4
Ben Pfaff, Debnil Sur, Leonid Ryzhyk, and Mihai Budiu
P4 Workshop, virtual event, May 24-26, 2022
TPDP 20
bibtex
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
VLDB 19
slides
bibtex
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
DATALOG 19
bibtex
Differential Datalog
Leonid Ryzhyk and Mihai Budiu
Datalog 2.0, Philadelphia, PA, June 4-5, 2019
SIGCOMM 16
bibtex
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
EGPGV 16
slides
bibtex
video
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
SOSR 15
bibtex
DC.p4: Programming the Forwarding Plane of a Data-Center Switch
Anirudh Sivaraman, Changhoon Kim, Ramkumar Krishnamoorthy, Advait Dixit, and Mihai Budiu
ACM SIGCOMM Symposium on SDN Research (SOSR), Santa Clara, CA, June 17-18, 2015
ESOP 13
bibtex
The Compiler Forest
Mihai Budiu, Joel Galenson, and Gordon Plotkin
European Symposium on Programming (ESOP), Rome, Italy, March 16-24, 2013, 20 pages
BIGLEARN 11
bibtex
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
SOSP 11
bibtex
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
MAPREDUCE 11
slides
bibtex
Parallelizing large-scale data processing applications with data skew: a case study in product-offer matching
Ekaterina Gonina, Anitha Kannan, John Shafer, and Mihai Budiu
International Workshop on MapReduce and its Applications (MAPREDUCE), San Jose, CA, June 8, 2011
HIPS 11
slides
bibtex
video
Monitoring and Debugging DryadLINQ Applications with Daphne
Vilas Jagannath, Zuoning Yin, and Mihai Budiu
International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS), Anchorage, AK, May 20, 2011
IPDPS 11
slides
bibtex
DryadOpt: Branch-and-Bound on Distributed Data-Parallel Execution Engines
Mihai Budiu, Daniel Delling, and Renato Werneck
IEEE International Parallel and Distributed Processing Symposium (IPDPS), Anchorage, AK, May 16-20, 2011
LADIS 09
slides
bibtex
Towards Automatic Policy Refinement in Repair Services for Large Distributed Systems
Moises Goldszmidt, Mihai Budiu, Yue zhang, and Michael Pechuk
Large Scale Distributed Systems and Middleware (LADIS), Big Sky Resort, Big Sky, Montana, October 10-11, 2009, 5 pages
Also published in ACM SIGOPS Operating Systems Review vol 44 no 2, 2010, pp 47-51.
SOCC 09
slides
bibtex
Tuning SoCs using the Dynamic Critical Path
Hari Kannan, Mihai Budiu, John D. Davis, and Girish Venkataramani
IEEE International SOC Conference, Belfast, Northern Ireland, September 9-11, 2009
Also as Microsoft Research Technical Report MSR-TR-2009-44
HOTCLOUD 09
slides
bibtex
DryadInc: Reusing work in large-scale computations
Lucian Popa, Mihai Budiu, Yuan Yu, and Michael Isard
Workshop on Hot Topics in Cloud Computing (HotCloud), San Diego, CA, June 15, 2009
WASL 08
slides
bibtex
Hunting for problems with Artemis
Gabriela F. Creţu-Ciocârlie, Mihai Budiu, and Moises Goldszmidt
USENIX Workshop on the Analysis of System Logs (WASL), San Diego, CA, December 7, 2008
OSDI 08
bibtex
video
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
slides
bibtex
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
EUROSYS 07
bibtex
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.
OSDI 06
bibtex
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
ASPLOS 06
bibtex
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
ASID 06
slides
bibtex
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
ICFEM 05
bibtex
A Theory of Secure Control-Flow
Martín Abadi, Mihai Budiu, Úlfar Erlingsson, and Jay Ligatti
International Conference on Formal Engineering Methods (ICFEM), Manchester, UK, November 1-4, 2005, pages 111-124
CCS 05
bibtex
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
ODES 05
slides
bibtex
Inter-Iteration Scalar Replacement in the Presence of Conditional Control-Flow
Mihai Budiu and Seth Copen Goldstein
Workshop on Optimizations for DSP and Embedded Systems (ODES), San Jose, CA, March 20, 2005, pages 20-29
ISPASS 05
slides
bibtex
Dataflow: A Complement to Superscalar
Mihai Budiu, Pedro V. Artigas, and Seth Copen Goldstein
IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), Austin, TX, March 20-22, 2005, pages 177-186
ASPLOS 04
slides
bibtex
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
MSP 04
bibtex
Programmer Specified Pointer Independence
David Koes, Mihai Budiu, Girish Venkataramani, and Seth Copen Goldstein
Workshop on Memory System Performance (MSP), June, 2004
Also as technical report CMU-CS-03-123
IWLS 04
bibtex
C to Asynchronous Dataflow Circuits: An End-to-End Toolflow
Girish Venkataramani, Mihai Budiu, and Seth Copen Goldstein
International Workshop on Logic synthesis (IWLS), Temecula, CA, June, 2004, pages 501-508
(full paper)
CGO 03
slides
bibtex
Optimizing Memory Accesses For Spatial Computation
Mihai Budiu and Seth Copen Goldstein
International ACM/IEEE Symposium on Code Generation and Optimization (CGO), San Francisco, CA, March 23-26, 2003, pages 216-227
FPL 02
bibtex
Compiling Application-Specific Hardware
Mihai Budiu and Seth Copen Goldstein
International Conference on Field Programmable Logic and Applications (FPL), Montpellier (La Grande-Motte), France, September 2-4, 2002, pages 853-863
FPL 02
bibtex
Factors Influencing the Performance of a CPU-RFU Hybrid Architecture
Girish Venkataramani, Suraj Sudhir, Mihai Budiu, and Seth Copen Goldstein
International Conference on Field Programmable Logic and Applications (FPL), Montpellier (La Grande-Motte), France, September, 2002, pages 955-965
FCCM 02
slides
bibtex
Peer-to-peer Hardware-Software Interfaces for Reconfigurable Fabrics
Mihai Budiu, Mahim Mishra, Ashwin Bharambe, and Seth Copen Goldstein
IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM), Napa Valley, CA, April, 2002, pages 57-66
SOCS 01 Application-Specific Hardware: Computing Without CPUs
Mihai Budiu
Fourth CMU Symposium on Computer Systems (SOCS), Carnegie Mellon University, October, 2001, pages 1-10
ISCA 01
bibtex
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
Selected for inclusion in ISCA@50 25-year Retrospective 1996-2020.
EUROPAR 00
slides
bibtex
BitValue Inference: Detecting and Exploiting Narrow Bitwidth Computations
Mihai Budiu, Majd Sakr, Kip Walker, and Seth Copen Goldstein
European Conference on Parallel Processing (EUROPAR), Münich, Germany, 2000, pages 969-979
An expanded version is in technical report CMU-CS-00-141
FCCM 00 Interfacing Reconfigurable Logic with a CPU
Kip Walker, Mihai Budiu, and Seth Copen Goldstein
IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM), Napa Valley, CA, 2000, pages 317-318
SOCS 99 Detecting and Exploiting Narrow Bitwidth Computations
Mihai Budiu
Second Annual CMU Symposium on Computer Systems (SOCS), Carnegie Mellon University, September, 1999, pages 55-64
Best paper award.
ISCA 99
bibtex
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. Also Selected for inclusion in ISCA@50 25-year Retrospective 1996-2020.
FPGA 99
slides
bibtex
Fast Compilation for Pipelined Reconfigurable Fabrics
Mihai Budiu and Seth Copen Goldstein
ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA), Monterey, CA, 1999, pages 195-205
ROSE 95 PicOs: A Microkernel Operating System
Mihai Budiu
Romanian Open Systems Event (ROSE), Bucharest, Romania, November, 1995, pages 255-261
My presentation was just before Linus Torvalds'.
Journal publications
JPC 22
bibtex
Overlook: Differentially Private Exploratory Visualization for Big Data
Budiu, Mihai, Thaker, Pratiksha, Gopalan, Parikshit, Wieder, Udi, and Zaharia, Matei
Journal of Privacy and Confidentiality, Vol. 12, no 1, Jul., 2022
An expanded version of the conference paper from TPDP 2020.
TOCS 12
bibtex
Fay: Extensible Distributed Tracing from Kernels to Clusters
Úlfar Erlingsson, Marcus Peinado, Simon Peter, Mihai Budiu, and Gloria Mainar-Ruiz
Transactions on Computer Systems (TOCS), Vol. 30, no 4, November, 2012
An expanded version of the SOSP 2011 paper
TISSEC 09
bibtex
Control-Flow Integrity principles, implementations and applications
Martín Abadi, Mihai Budiu, Úlfar Erlingsson, and Jay Ligatti
ACM Transactions on Information and System Security (TISSEC), Vol. 13, no 1, 2009, pages 1-40
IEEE 00
bibtex
PipeRench: A Reconfigurable Architecture and Compiler
Seth Copen Goldstein, Herman Schmit, Mihai Budiu, Srihari Cadambi, Matt Moe, and Reed Taylor
IEEE Computer, Vol. 33, no 4, April, 2000, pages 70-77
2014 ACM SIGARCH/IEEE-CS TCCA Influential ISCA Paper Award in 2014
TOCS 99
bibtex
Bimodal Multicast
Kenneth P. Birman, Mark Hayden, Oznur Oskasap, Zhen Xiao, Mihai Budiu, and Yaron Minsky
Transactions on Computer Systems (TOCS), Vol. 17, no 2, May, 1999, pages 41-88
Book and book chapter
CHAPTER 11
bibtex
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
CHAPTER 03
bibtex
Chapter in, Molecules, Gates, Circuits, Computers
Seth Copen Goldstein and Mihai Budiu
in Molecular Nanoelectronics, American Scientific Publishers, January, 2003, pages 327-388
BOOK 89 BASIC HC 85
Mihai Budiu
1989, 190 pages
An introductory high-school text on BASIC programming, used between 1997 and 1990 in xerographied form as textbook for computer programming classes taught in the Informatics High School of Bucharest.
Invited Papers
SIGMOD 24
bibtex
DBSP: Incremental Computation on Streams and Its Applications to Databases
Mihai Budiu, Tej Chajed, Frank McSherry, Leonid Ryzhyk, and Val Tannen
SIGMOD Research Highlights, Vol. 53, March, 2024
A shorter and simpler version of the VLDB 2023 DBSP paper.
RETROSPECTIVE 23
bibtex
A retrospective on ``NanoFabrics: spatial computing using molecular electronics''
Seth Copen Goldstein and Mihai Budiu
ISCA@50 25-year Retrospective 1996-2020
Original paper published in ISCA 2001
RETROSPECTIVE 23
bibtex
A retrospective on ``PipeRench: A Coprocessor for Streaming Multimedia Acceleration
Seth Copen Goldstein, Herman Schmit, Matthew Moe, Mihai Budiu, Srihari Cadambi, R. Reed Taylor,, and Ronald Laufer
ISCA@50 25-year Retrospective 1996-2020
Original paper published in ISCA 1999
LPC 18
bibtex
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
bibtex
The P4-16 Programming Language
Mihai Budiu and Chris Dodd
ACM SIGOPS Operating Systems Review, Vol. 51, no 1, August, 2017, pages 5-14
FESTSCHRIFT 14
bibtex
Multilinear Programming with Big Data
Mihai Budiu and Gordon Plotkin
Festschrift for Luca Cardelli, September, 2014
HPDC 12
bibtex
Putting A ``Big-Data'' Platform to Good Use: Training Kinect
Mihai Budiu
June 20, 2012
Keynote to the 21st International Symposium on High-Performance Parallel and Distributed Computing (HPDC)
ASAP 03
bibtex
Reconfigurable Computing and Electronic Nanotechnology
Seth Goldstein, Mihai Budiu, Mahim Mishra, and Girish Venkataramani
IEEE International Conference on Application-specific Systems, Architectures and Processors, Hague, the Netherlands, June 24-26, 2003, pages 132-143
Invited paper
Patents
Software Memory Access Control Abadi; Martin, Erlingsson; Ulfar, Ligatti; Jay, Budiu; Mihai, US Patent 7,337,291, issued February 2008.
Software Security Based On Control Flow Integrity, Abadi; Martin, Budiu; Mihai, Erlingsson; Ulfar, Ligatti; Jay, US Patent 7,577,992, issued August 2008.
Optimizing Systems on a Chip using the Dynamic Critical Path, Davis; John D., Budiu; Mihai, Kannan; Hari, US Patent 8,037,437, issued October 2011.
Architectural Support for Software-Based Protection, Erlingsson; Ulfar, Abadi; Martin, Budiu; Mihai, US Patent 8,136,091, issued March 2012.
Repair-Policy Refinement In Distributed Systems, Goldszmidt; Moises, Budiu; Mihai, Zhang; Yue, Pechuk; Michael, US Patent 8,504,874, issued September 2013.
Distributed Decision Tree Training, Shotton; Jamie, Budiu; Mihai-Dan, Fitzgibbon; Andrew William, Finocchio; Mark, Moore; Richard E., Robertson; Duncan, US Patent 8,543,517, issued October 2013.
General-Purpose Distributed Data Parallel Computing using a High-Level Language, Yu; Yuan, Fetterly; Dennis, Isard; Michael, Erlingsson; Ulfar, Budiu; Mihai, US Patent 9,110,706, issued 2015.
Visualizing Correlations in Multi-Dimensional Data, Budiu; Mihai, US Patent 8,928,663, issued 2015.
Query and Index over Documents, Li Zhang, Mihai Budiu, Yuan Yu, Gordon D. Plotkin, US Patent 9,208,254, issued 2015.
Distributed Data-Parallel Execution Engines for User-Defined Serial Problems using Branch-and-Bound Algorithm, Daniel Delling, Mihai Budiu, Renato F. Werneck, US Patent 9,170,846, Issued 2017.
Scalable, Schemaless Document Query Model, Dharma Shukla, Madhan Gajendran, Quetzalcoatl Bradley, Shireesh Kumar Thota, Li Zhang, Mihai Budiu, Yuan Yu, US Patent 9,230,040, Issued 2018.
Data-plane stateful processing units in packet processing pipelines, Anirudh Sivaraman, Mihai Budiu, Changhoon Kim, US Patent 10,523,764, Issued 2019.
Technical reports and manuals

bibtex
The P4-16 Language Specification, version 1.2.3
The P4.org consortium
July, 2022

bibtex
The P4-16 Language Specification, version 1.2.2
The P4.org consortium
May, 2021

bibtex
The P4-16 Language Specification, version 1.2.1
The P4.org consortium
June, 2020

bibtex
The P4-16 Language Specification, version 1.2.0
The P4.org consortium
October, 2019

bibtex
The P4-16 Language Specification, version 1.1.0
The P4.org consortium
November, 2018

bibtex
The P4-16 Language Specification
The P4.org consortium
December 16, 2016
EBPF 15
bibtex
Compiling P4 to eBPF
Mihai Budiu
September, 2015
TR 15
bibtex
video
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
University of Wisconsin-Madison Technical Report, TR1817, January, 2015
TR 14
bibtex
Unified Query Processing for JSON Documents and Indexes
Mihai Budiu, Gordon Plotkin, Yuan Yu, and Li Zhang
Microsoft Research Technical Report, MSR-TR-2014-129, December, 2014
TR 10
bibtex
User interfaces for exploring multi-dimensional data sets
Mihai Budiu
Microsoft Research Technical Report, MSR-TR-2010-67, June, 2010
TR 09
bibtex
Tuning SoCs using the Dynamic Critical Path
Hari Kannan, Mihai Budiu, John D. Davis, and Girish Venkataramani
Microsoft Research Technical Report, MSR-TR-2009-44, April, 2009
TR 08
bibtex
Some sample programs written in DryadLINQ
Yuan Yu, Michael Isard, Dennis Fetterly, Mihai Budiu, Ulfar Erlingsson, Pradeep Kumar Gunda, Jon Currey, Frank McSherry, and Kannan Achan
Microsoft Research Technical Report, MSR-TR-2008-74, May, 2008, 37 pages
TR 06 Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks
Michael Isard, Mihai Budiu, Yuan Yu, Andrew Birrell, and Dennis Fetterly
Microsoft Research Technical Report, MSR-TR-2006-140, October, 2006, 14 pages
TR 06 Architectural Support for Software-Based Protection
Mihai Budiu, Úlfar Erlingsson, and Martín Abadi
Microsoft Research Technical Report, MSR-TR-2006-115, October (revised), 2006, 15 pages
TR 06
bibtex
Modeling the Global Critical Path in Concurrent Systems
Girish Venkataramani, Tiberiu Chelcea, Mihai Budiu, and Seth C. Goldstein
Carnegie Mellon University, Computer Science Department Technical Report, CMU-CS-06-144, August, 2006, 22 pages
TR 05 A Theory of Secure Control Flow
Martín Abadi, Mihai Budiu, Úlfar Erlingsson, and Jay Ligatti
Microsoft Research Technical Report, MSR-TR-2005-17, February, 2005, 12 pages
TR 05 Control-Flow Integrity
Martín Abadi, Mihai Budiu, Úlfar Erlingsson, and Jay Ligatti
Microsoft Research Technical Report, MSR-TR-2005-18, February, 2005, 12 pages
TR 04 Inter-Iteration Scalar Replacement in the Presence of Conditional Control-Flow
Mihai Budiu and Seth Copen Goldstein
Carnegie Mellon University, Department of Computer Science Technical Report, CMU-CS-04-103, February, 2004, 30 pages
PHD 03
slides
bibtex
Spatial Computation
Mihai Budiu
Ph.D. Thesis, Carnegie Mellon University, Computer Science Department, CMU-CS-03-217, December, 2003, 225 pages
Technical report CMU-CS-03-217
TR 03 Programmer Specified Pointer Independence
David Koes, Mihai Budiu, Girish Venkataramani, and Seth Copen Goldstein
Carnegie Mellon University, Department of Computer Science Technical Report, CMU-CS-03-123, April, 2003
TR 02 Pegasus: An Efficient Intermediate Representation
Mihai Budiu and Seth Copen Goldstein
Carnegie Mellon University Technical Report, CMU-CS-02-107, May, 2002, 20 pages
TR 00 BitValue Inference: Detecting and Exploiting Narrow Bitwidth Computations
Mihai Budiu and Seth Copen Goldstein
Carnegie Mellon University, Computer Science Department Technical Report, CMU-CS-00-141, June, 2000, 28 pages
TR 99 Bimodal Multicast
Kenneth Birman, Mark Hayden, Oznur Ozkasap, Zhen Xiao, Mihai Budiu, and Yaron Minsky
Cornell University Computer Science Department Technical Report, TR99-1745, May 11, 1999, 43 pages
TR 98 User-Level File Service Based on Watchdogs
Mihai Budiu and Raluca Budiu
Computer Science Department, Carnegie Mellon University Technical Report, CMU-CS-98-103, 1998, pages 81-92
Part of a larger technical report.
MS 96 Solving Image Oversegmentation in Parallel
Mihai Budiu
M.S. Thesis, ``Politehnica'' University of Bucharest, August 1996, 35 pages
BS 95 PicOs --- a Microkernel Implementation for a Distributed Operating System
Mihai Budiu
BS Thesis, ``Politehnica'' University of Bucharest, August, 1995
Part of it appeared in the Proceedings of the International Conference, Romanian Open Systems Event 1995. Won first prize at the Student Scientific Conference of the ``Politehnica'' University of Bucharest.
RR 94 Structured Filesystem Implementation
Mihai Budiu
Research Report, ``Politehnica'' University of Bucharest, March, 1994
RR 93 An Implementation of Combinatorial Circuit Simplification using the Transduction Method
Mihai Budiu
Research Report, Eindhoven Technical University, Netherlands, June, 1993
RR 92 Silicon Operating System Primitives
Mihai Budiu
Research Report, Eindhoven Technical University, Netherlands, June, 1992
Presentations

Streaming Queries without Compromise
video Streaming Meetup, LinkedIn, Mountain View, CA, April 24, 2024

DBSP: incremental evaluation for arbitrarily complex queries on data streams
DANI Seminar --- Google, Sunnyvale, CA, November 16, 2023

DBSP: A formal model for streaming computation and its applications to incremental computations and databases
Data Science Lecture Series -- Utah Center for Data Science, University of Utah, Virtual presentation, October 18, 2023

Streaming Incremental View Maintenance with Apache Calcite
Community over Code --- the Apache Software Foundation Conference, Hallifax, Nova Scotia, Canada, October 7, 2023

Scaling a Declarative Cluster Manager Architecture with Query Optimization Techniques
VLDB, Vancouver, Canada, August 30, 2023

DBSP: Automatic Incremental View Maintenance for Rich Query Languages
video VLDB, Vancouver, Canada, August 30, 2023

SQL to DBSP --- compiler architecture
Feldera Inc., Virtual presentation, June, 2023

What's new in P4-16
P4 Workshop, Intel, Santa Clara, CA, April 25, 2023

Building a streaming incremental view maintenance engine with Calcite
video Apache Calcite Meetup, virtual meeting, March 15, 2023

P4
GEANT (collaboration of European National Research and Education Networks), 10th SIG-NGN (Special Interest Group on Next Generation Networks) Meeting, November 29, 2022

DBSP: Automatic Incremental View Maintenance for Rich Query Languages
RISE/Sky seminar series, Berkeley University, September 2, 2022

Nerpa: Full-stack SDN
FlexNet workshop, Rice University, August 25, 2022

DBSP: Automatic Incremental View Maintenance for Rich Query Languages, Part II: advanced queries
Invited talk, Relational.ai, July 21, 2022

DBSP: Automatic Incremental View Maintenance for Rich Query Languages
Invited talk, Relational.ai, July 7, 2022

DBSP: Automatic Incremental View Maintenance for Rich Query Languages
, Politehnica University, Bucharest, June 15, 2022

DBSP: Automatic Incremental View Maintenance for Rich Query Languages
, Databricks, May 19, 2022

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

DBSP: Databases as Signal Processors --- a model of incremental view maintenance
VMware Research, Palo Alto, CA, October 6, 2021

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

Hillview: A Big Data Spreadsheet
Google Inc., Sunnyvale, CA, October 10, 2018

Hillview: A Big Data Spreadsheet
University Politehnica Bucuresti, Bucharest, Romania, July 31, 2018

Compiling P4 to eBPF targets
Netronome, Santa Clara, CA, July 12, 2018

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

P4C-XDP: programming the Linux kernel forwarding plane using P4
P4 workshop, Stanford, CA, June 5, 2018

Hillview: A Big Data Spreadsheet
Berkeley RISE lab seminar, Berkeley, CA, February 15, 2018

Hillview: A Big Data Spreadsheet
Stanford DAWN Seminar, Stanford, CA, November 17, 2017

The architecture of the P4-16 Compiler
P4 Workshop, Stanford, CA, May 17, 2017

P4: Specifying data planes
VMware Tech Talk, VMWare, Palo Alto, CA, March 30, 2017

P4-16
Barefoot Networks, Palo Alto, CA, March 23, 2017

Compiling P4 to XDP
IOVisor Summit, Computer History Museum, Mountain View, CA, February 27, 2017

P4: Specifying data planes
VMware Research, VMWare, Palo Alto, CA, February 1, 2017

A distributed billion-row spreadsheet
Laboratory for Computer Science seminar, Edinburgh University, Edinburgh, UK, Sept 11, 2016

A distributed billion-row spreadsheet
VMware VSAN reading group, VMware Inc., Palo Alto, CA, June 28, 2016

Interacting with Large Distributed Datasets Using Sketch
Eurographics Symposium on Parallel Graphics and Visualization, Groningen, Netherlands, June 7, 2016

Abstractions for Building Big-Data Systems
VMware Research, Palo Alto, CA, February 8, 2016

Evolving P4
First P4 Workshop, Stanford, CA, June 4, 2015

P4: Specifying data planes
Open Compute Engineering Workshop, San Jose, CA, March 11, 2015

P4: Specifying data planes
Linux netdev01, Ottawa, Canada, February 15, 2015

P4 demo: A basic L2/L3 switch in 170 LOC
Linux netdev01, Ottawa, Canada, February 15, 2015

Abstractions for Building Big-Data Systems
Cloudera, San Francisco, CA, October 21, 2014

Abstractions for Building Big-Data Systems
Samsung Research, Santa Clara, CA, October 15, 2014

Abstractions for Building Big-Data Systems
LinkedIn, Mountain View, CA, October 13, 2014

Big Data Platforms
Huawei, Santa Clara, CA, October 6, 2014

Data-Intensive Cluster Computing
San Jose State University Course on Cloud Computing, San Jose, CA, April 14, 2014

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

Data-Intensive Cluster Computing
San Jose State University Course 297C1 on Cloud Computing, Santa Clara, CA, April 18, 2013

Data-Intensive Cluster Computing
San Jose State University Course 297C1 on Cloud Computing, Santa Clara, CA, November 8, 2012

JPath: Structural Queries for JSON Databases
Social Search Meetup, Microsoft, Santa Clara, CA, November 15, 2012

Data-Intensive Cluster Computing
San Jose State University Course 297C1 on Cloud Computing, Santa Clara, CA, November 8, 2012

The Compiler Forest
Microsoft Research Silicon Valley Lab, Mountain View, CA, October 24, 2012

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

Training Kinect
UCSD Center for Networked Systems 2012 Research Review, San Diego, CA, Feb 8, 2012

Programming Clusters with DryadLINQ
Carnegie Mellon Silicon Valley, Mountain View, CA, Dec 5, 2011

Crunching Big Data
Microsoft Research 20th Anniversary, Mountain View, CA, Sept 27, 2011

Data-Intensive Cluster Computing
San Jose State University, Course CMPE 281: Special Topics in Computer Engineering --- Cloud Technologies, Santa Clara, CA, September 21, 2011

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

Programming Clusters with DryadLINQ
ACCU monthly meeting, Mountain View, CA, April 13, 2011

The Kinect Body Tracking Pipeline
NASA Ames Reseach Center, Mountain View, CA, February 15, 2011

Cluster Computing with DryadLINQ
San Jose State University Course 297C1 on Cloud Computing, Santa Clara, CA, September 13, 2010

Large-Scale Machine Learning using DryadLINQ
Workshop on Ambient Intelligence: From Sensor Networks to Smart Environments and Social Media, Stanford University, June 1, 2010

Large-Scale Machine Learning using DryadLINQ
SIAM Workshop on High Performance Analytics, Columbus, OH, May 1, 2010

Cluster Computing with DryadLINQ
Cloudera, Inc., Burlingame, CA, February 12, 2010

Cluster Computing with DryadLINQ
Guest lecture for the graduate course Cloud Computing: Infrastructure, Services, and Applications, UC Berkeley, Berkeley, CA, March 4, 2009

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

DryadLINQ - a language for data-parallel computation on computer clusters
Cloud Computing-the New Face of Computing-Promises and Challenges, Stanford, CA, July 19, 2008

Cluster Computing with DryadLINQ
Palo Alto Research Center CSL Colloquium, Palo Alto, CA, May 8, 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

On the Critical Path of Computations
Tensilica, Inc., Santa Clara, CA, August 3, 2006

Spatial Computation
Google, Mountain View, CA, May 10, 2005

Dataflow: A Complement to Superscalar
ISPASS 2005, Austin, TX, March 22, 2005

Inter-Iteration Scalar Replacement in the Presence of Conditional Control-Flow
ODES 2005, San Jose, CA, March 20, 2005

Spatial Computation
ASPLOS 2004, Boston, MA, October 11, 2004

Spatial Computation
SDI seminar, July 8, 2004, CMU.

Spatial Computation — Computing without General-Purpose Processors
Invited talk

  • Microsoft Research, Redmond, WA, February 24, 2004.
  • University of Pittsburgh CS, PA, March 31, 2004.
  • Georgia Tech CS, Atlanta, GA, April 6-7, 2004.
  • Purdue University CS, West Lafayette, IN, April 8-9, 2004.
  • Columbia University CS, New York, April 14, 2004.
  • Toyota Technical Institute CS, Chicago, April 26, 2004.
  • University of Illinois at Urbana-Champaign CS+ECE, April 27-29, 2004.
  • University of Chicago CS, April 30, 2004.
  • Microsoft Research, Silicon Valley, CA, May 17-18, 2004.

Compiling C to Asynchronous Hardware
Tutorial at ASYNC 2004, April 19, 2004, Hersonissos, Crete, Grece.

On the Energy Efficiency of Computation
CALCM Seminar, Carnegie Mellon University, February 17, 2004

Spatial Computation
Ph.D. Thesis Defense, December 8, 2003, CMU.
Slides with notes in pdf.

Spatial Computation
CALCM seminar, October 21, 2003, CMU.

Compiling for Application-Specific Hardware
STMicroelectronics, June 2003, San Diego, CA.

Optimizing Memory Accesses for Spatial Computation
CGO 03, San Francisco, CA, March 2003

ASH: A Substrate for Scalable Architectures
CACLM seminar, March 19, 2002, CMU.

Compiling Application-Specific Hardware
12th International Conference on Field Programmable Logic and Applications FPL 02, September 4, 2002, Montpellier (La Grande-Motte), France.

Peer-to-peer Hardware-software Interfaces for Reconfigurable Fabrics
IEEE Symposium on Field Programmable Gate Arrays, FCCM 02, Napa Valley, CA, April 24 2002.

Application-Specific Hardware: Computing Without CPUs
Fourth CMU Symposium on Computer Systems, SOCS-4, October 2001, CMU.

General-Purpose Computation without General-Purpose Processors
Thesis proposal, July 2001, CMU.

NanoFabrics: Spatial Computing using Molecular Electronics
SSS Seminar, April 20, 2001, CMU.

BitValue Inference: Detecting and Exploiting Narrow Bitwidth Computations
6th International Euro-par 00 Conference
Munich, Germany, August 2000.

Detecting and Exploiting Narrow Bitwidth Computations
Second CMU Symposium on Computer Systems, SOCS-2, Sept 1999, CMU.

The CMU Reconfigurable Computing Project
SSS Seminar, Sept 1999, CMU.

The CMU Reconfigurable Computing Project
August 1999, Bell Labs, Lucent Technologies.

Fast Compilation for Pipelined Reconfigurable Fabrics
Seventh ACM/SIGDA International Symposium on Field Programmable Gate Arrays, FPGA 99, Monterey, CA, Feb 23, 1999.

Fast Compilation for Pipelined Reconfigurable Fabrics
SDI Seminar, December 1998, CMU.

PicOs: A Microkernel Operating System
Second Romanian Open Systems Event (ROSE 95), Bucharest, Romania, Nov 2 1995.

Non-refereed publications
ARXIV 22
bibtex
DBSP: Automatic Incremental View Maintenance for Rich Query Languages
Budiu, Mihai, McSherry, Frank, Ryzhyk, Leonid, and Tannen, Val
March, 2022
DDLOG 20 Differential Datalog: A New Programming Language for Computing Changes
Mihai Budiu
January, 2021
PROPOSAL 01 General-Purpose Computation without General-Purpose Processors
Mihai Budiu
Thesis proposal, July, 2001, 25 pages
PROJECT 97 ext4: A Dual-Disk Filesystem
Mihai Budiu
April, 1997
CS614, Advanced Operating Systems course project
SLASHDOT 01 An Interview with Bruce Maggs
Mihai Budiu
Slashdot, March 28, 2001
SLASHDOT 00 An Interview with Brian Kernighan
Mihai Budiu
Slashdot, September 4, 2000
Blog posts
Computing with ChangesJuly 2023
Z-sets - Representing Database ChangesSeptember 2023
Implementing Z-setsSeptember 2023
Calcite Program RepresentationsOctober 2023
Database Computations on Z-setsNovember 2023
Indexed Z-setsJanuary 2024
Incremental Database ComputationsFebruary 2024
Feldera input and output adaptersFebruary 2024
A synchronous streaming modelApril 2024
Interviews
WhoWhatWhen
Brian Kernighan Researcher, Bell LabsJuly 2000
Bruce MaggsVP, Akamai Inc.March 2001
Chuck ThackerTechnical Fellow, MicrosoftOct 2006
Leslie LamportResearcher, MicrosoftMay 2007
Kurt AkeleyResearcher, MicrosoftFebruary 2009
Magazine Articles (Romanian)
ZIGGY 96 e-mail
Mihai Budiu
Ziggy Computer Magazine, May, 1996
BYTE 96 A Brief History of Unix
Mihai Budiu
Byte Romania, August, 1996
Reprinted with updates in ``Gazeta Informatica'' in 1998
GI 98 Data Types
Mihai Budiu
Gazeta Informatica, 1998
AGORA 99 A Guide to Ph.D. Admission in US Universities
Mihai Budiu
``Agora On-Line'' Magazine, 1997-2001, 52 + index pages
Extensively replicated and linked-to on the Web
Monthly Column
in Net Report Romania

Monthly column (3000-8000 words) in NET Report Romanian Computer Magazine (name changed in 2001 from PC Report; now extinct)
August 1996-February 2002.

Article Printed
The C Compiler August 1996
How to Write Programs October 1996
The Unix Filesystem November 1996
OS Kernels December 1996
User-space Multithreading January 1997
Caches March 1997
The ``Back-Door'' April 1997
Who's Afraid of Emacs? May 1997
The Unix Shell June 1997
``Corect'': a spell-checker for Romanian July 1997
New Trends in Algorithms Research August 1997
Why Microkernels are Losing September 1997
Efficient File Systems October 1997
The Functioning of the Unix Filesystem December 1997
The Anatomy of a System Call in Linux January 1998
The Virtual Filesystem Switch February 1998
Watchdogs: A Project in Operating Systems March 1998
Atomic Transactions April 1998
Routing in the Internet May 1998
Open-Source Software June 1998
Reconfigurable Hardware July 1998
Kerberos August 1998
System Measurements I: Tools September 1998
System Measurements II: Measuring the OS October 1998
Cache Coherence in SMP Systems November 1998
CPU Pipelining December 1998
Memory Allocation in OS Kernels January 1999
LAN Bridges February 1999
Internet Tunneling April 1999
Scalability in Computer Networks (with Ion Stoica) May 1999
DDD - a Visual Debugger June 1999
Register Renaming July 1999
Branch Prediction August 1999
Boolean Satisfiability I: Theoretical Issues October 1999
Boolean Satisfiability II: Practical Solutions November 1999
Computational Complexity I: Computability December 1999
Computational Complexity II: The Polynomial Hierarchy February 2000
Cognitive Sciences (with Raluca Budiu) March 2000
The Future of Microprocessors March 2000
Regular Expressions April 2000
Cooperation and Competition in the Internet May 2000
Research in Robotics (with Cristi Dima) June 2000
Computer Vision in Robotics (with Cristi Dima) June 2000
An Interview with Brian Kernighan August 2000
A Music Digital Library (with Cristi Francu) September 2000
LaTeX: a document preparation system for mathematics October 2000
The CMU Ballista project November 2000
Shell programming December 2000
Micro-electro-mechanical systems January 2001
Non-Work-Conserving Scheduling Disciplines in Computer Networks February 2001
An interview with Bruce Maggs (Akamai Technologies) March 2001
Nanotechnology and the Future of Computing May 2001
Spatial Computation June 2001
DDoS Attacks in the Internet July 2001
Speculative Execution September 2001
The CodeRed Internet Worm October 2001
Metacompilation November 2001
Reliability in Computer Architecture: I Hardware January 2002
Reliability in Computer Architecture: II Software February 2002

Employment

Work experience
Chief scientist
Spring 2023-Current, Feldera Inc., Bay Area, CA.
Senior researcher
Spring 2016-Spring 2023, VMware Research, Palo Alto, CA.
Sofware engineer
Fall 2014-Spring 2016, Barefoot Networks, Palo Alto, CA.
Senior Researcher
Fall 2004-Fall 2014, Microsoft Research, Silicon Valley.
Consultant
2006-2008, Rapport, Inc.
Postdoc
Fall 2003-Summer 2004, Carnegie Mellon University, prof. Seth Copen Goldstein, member of the Phoenix project.
Research assistant
Fall 1997-Summer 2003, Carnegie Mellon University, Computer Science Dept., prof. Seth Copen Goldstein. Compilation for reconfigurable hardware devices. I have developed a custom hardware description language called DIL and a CAD tool which optimizes, places and routes DIL programs on the PipeRench reconfigurable hardware chip. I have designed and built a framework for cycle-accurate simulation of systems comprising processors and reconfigurable hardware using the SimpleScalar tool set. I have developed the CASH optimizing compiler which translates ANSI C programs to asynchronous hardware circuits.
Research intern, Summer 2000
Bell Labs, Lucent Technologies, Murray Hill, NJ. Supervisor: Nevin Heintze. I studied compilation issues for a custom massively parallel DSP chip.
Research intern, Summer 1999
Bell Labs, Lucent Technologies, Murray Hill, NJ. Supervisor: Nevin Heintze. I studied the use of reconfigurable hardware devices for the acceleration of Digital Signal Processing applications.
Research assistant
Summer 1997, Carnegie Mellon University, Computer Science Dept., prof. Garth Gibson. During this summer I worked for the Parallel Data Lab, developing a multithreaded filesystem cache based on variable-size extents. This project was used by the Network Attached Secure Disks project.
Assistant editor
January 1998-February 2002, the Romanian Computer Magazine NET Report (PC Report), www.pcreport.ro.
Columnist
August 1996-February 2002 (monthly feature) in the Romanian Computer Magazine NET Report (PC Report).
Network administrator
1995; Politehnica University of Bucharest Communication Center, central hub of the Romanian Education Network, RoEduNet www.roedu.net.
Computer Programmer
1994; VAL Informatique, Bucharest, Romania (databases).
Unix System Administrator
1993; Politehnica University of Bucharest, Digital Signal Processing Laboratory.
Interns supervised
WhoFromWhen
Girish VenkataramaniCarnegie Mellon2005
Lucian PopaUC Berkeley2006
Gabriela Creţu-CiocârlieColumbia2008
Hari KannanStanford2008
Zuoning YinUniversity of Illinois at Urbana-Champaign2009
Vilas JagannathUniversity of Illinois at Urbana-Champaign2010
Joel GalensonUC Berkeley2010
Joel GalensonUC Berkeley2011
Qingzhou LuoUniversity of Illinois at Urbana-Champaign2012
Yan ChenMax Plank Institute for Software Systems, Germany2012
Cosmin AradRoyal Institute of Technology, Sweden2012
Samer Al KiswanyUniversity of British Columbia2013
Deniz AltinbukenCornell University2013
Yazan BoshmafUniversity of British Columbia2014
Danel AhmanUniversity of Edinburgh2014
Han KruigerUniversity of Groningen, Netherlands2017
Fabian RuffyUniversity of British Columbia2018
Hui LyuUniversity of Pennsylvania2019
Pratiksha ThakerStanford University2019
Daniar KurniawanUniversity of Chicago2020
Bin WangUniversity of Massachusets, Amherst2021
Teaching
TA, Spring 2000
(Teaching Assistant) Carnegie Mellon University, for 15-453 Formal Languages, Automata and Computation (senior level). Professor: Frank Pfenning. My (powerpoint) lecture on "Turing Machines and the Real World".
TA, Spring 1999
Carnegie Mellon University, for 15-451 Algorithms (senior level). Professor: Avrim Blum.
TA, Spring 1997
Cornell University, for CS514 Distributed Operating Systems (master level). Professor: Kenneth Birman.
TA, Fall 1996
Cornell University, for CS414 Operating Systems and CS415 Practicum in Operating Systems (senior level). Professor: Kenneth Birman.
TA, Spring 1996
Politehnica University, Bucharest, for Computer Networks (senior level).
TA, Fall 1995
Politehnica University, for Compiler Design (senior level). Professor: Irina Athanasiu.
Teacher, 1992-1995
Informatics High School, Bucharest; taught the classes Programming Languages, Data Structures and Algorithms. Responsible for all aspects of the course: curriculum, lesson plan, test administration, grading, projects.
Teacher, 1989
Informatics High School, Bucharest; taught the freshman class ``BASIC HC 85''. Responsible for devising the curriculum and delivering all lectures.
Instructor, 1987-1988
Informatics High School, Bucharest; ran seminars on computer programming for high school students.
Service
Reviewer
for:
  • Journal of Functional Programming, 2017
  • ACM Transactions on Programming Languages (TOPLAS), 2017
  • IEEE Transactions on Computers, 2004, 2006, 2013
  • IEEE Transactions on Software Engineering, 2006, 2015
  • IEEE Transactions on Dependable and Secure Computing 2005, 2011
  • IEEE Transactions on VLSI, 2005, 2008
  • IEEE Transactions on CAD, 2007 -- 2010
  • IEEE Computer, 2008
  • IEEE Software, 2012
  • ACM Computing Surveys, 2021
  • ACM Transactions on Computer Systems, 2010, 2015
  • ACM Transactions on Parallel and Distributed Systems, 2010
  • ACM Transactions on Database Systems, 2010
  • ACM Transactions on Internet Technologies, 2011
  • ST Journal for Systems Research 2003
  • International Journal of Electronics 2005, 2006
  • Elsevier Journal for Systems and Software 2006, 2007, 2013
  • Elsevier Journal for Embedded Hardware Design (Microprocessors and Microsystems) 2009
  • International Journal of Information Security, 2009, 2010, 2014
  • IPSI Transactions on Internet Research 2007
  • Journal of Reconfigurable Computing, 2010
  • Software: Practice and Experience, 2012, 2013
  • Concurrency and Computation: Practice and Experience, 2013

  • P4 Workshop 2019, 2020, 2022, 2023
  • EuroP4 Workshop 2021, 2023
  • EuroSys 2022
  • EGPGV (Eurographics Workshop on Parallel Graphics and Visualization) 2017, 2018, 2019
  • HPSR (IEEE International Conference on High Performance Switching and Routing) 2018
  • SOSR (ACM Symposium on SDN Research) 2017
  • PLDI (ACM/SIGPLAN Conference on Programming Language Design and Implementation) 2009, 2017, 2023
  • ISCA (ACM/IEEE International Symposium on Computer Architecture): 2002-2005
  • HPCA (IEEE International Symposium on High-Performance Computer Architecture) 2006
  • ASPLOS (ACM International Conference on Architectural Support for Programming Languages and Operating Systems) 2006, 2010, 2013, 2014, 2020, 2024
  • OSDI (Usenix Symposium on Operating Systems Design and Implementation) 2006, 2012, 2013, 2014
  • SPAA (ACM Symposium on Parallelism in Algorithms and Architectures) 2011
  • CGO (IEEE/ACM International Symposium on Code Generation and Optimization) 2007, 2010
  • CCS (ACM Conference on Computer and Communication Security) 2011
  • Usenix security 2006
  • Usenix ATC (Usenix Annual Technical Conference) 2011, 2017, 2019, 2021, 2022
  • ICCAD (IEEE International Conference on Computer-Aided Design): 2001, 2003, 2005
  • DAC (ACM/IEEE Design Automation Conference) 2004
  • PODC (ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing) 2006
  • POPL (ACM Symposium on Principles of Programming Languages) 2013, 2017
  • PACT (ACM/IEEE Parallel Architecture and Compilation Techniques) 2005, 2008
  • CASES (ACM/IEEE International Conference on Compilers, Architecture, and Synthesis for Embedded Systems) 2006
  • ASP-DAC (IEEE Asia and South-Pacific Design Automation Conference) 2005
  • SAC (ACM Symposium on Applied Computing) 2005, 2007
  • RTAS (IEEE Real-Time and Embedded Technology and Applications Symposium) 2005
  • ISVLSI (IEEE Computer Society Annual Symposium on VLSI) 2005, 2006
  • SOCC (ACM Symposium on Cloud Computing) 2016
  • COMPSAC (IEEE Computer Software and Applications) 2005
  • VLSI-SOC (IFIP International Conference on VLSI Systems-on-a-Chip) 2005
  • MASCOTS (IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems) 2005
  • ISOCC (IEEE International System-on-a-Chip Design Conference) 2005, 2016
  • ISCAS (IEEE International Symposium on Circuits and Systems) 2007
  • GLSVLSI (ACM/IEEE Great Lakes Symposium on VLSI) 2006, 2007
  • FPL (IEEE International Conference on Field Programmable Logic and Applications) 2007, 2008, 2009, 2010
  • SASIMI (Workshop on Synthesis And System Integration of Mixed Information technologies) 2006
  • APLAS (Asian Symposium on Programming Languages and Systems) 2006
  • CSR (International Computer Science Symposium in Russia) 2006
  • ARC (International Workshop on Applied Reconfigurable Computing) 2005, 2006, 2007, 2008, 2009, 2010, 2011
  • SOCA (IEEE International Service-Oriented Computing and Applications) 2010
  • MTAGS (IEEE Workshop on Many-Task Computing on Grids and Supercomputers) 2010, 2011, 2012, 2013, 2014
  • SRDS (International Symposium on Reliable Distributed Systems) 2011
  • HotCloud (Usenix Workshop on Topics in Cloud Computing) 2010, 2011
  • CloudCom (IEEE International Conference on Cloud Computing Technology and Science) 2011, 2012, 2013
  • CCGrid (IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing) 2012
  • IEEESOSE (IEEE International Symposium on Service-Oriented System Engineering) 2013
  • BigLearn (Algorithms, Systems, and Tools for Learning at Scale) 2011

  • Morgan Kaufmann 2007
  • Springer 2008
  • Richard Newton Award 2008
  • Microsoft Faculty Fellowship 2010-2011
  • Microsoft Women's Scholarship 2012, 2013
  • Microsoft Research Fellowship 2013-2014
  • NSF Career award 2004
Program committee member