Viewable online with hyperlinks at http://cs.berkeley.edu/~marmbrus/cv.html
* Citation counts according to Google Citations (http://scholar.google.com/citations)
<Back

Michael Armbrust

Print | View as PDF

Contact Information

address
465 Soda Hall, Room 477, Berkeley, CA 94720
email
marmbrus@cs.berkeley.edu
phone
(510) 473-6473

Education

Aug 2006 - Present

University of California, Berkeley

  • PhD in Computer Science, Expected Summer 2012
  • Advisors: Armando Fox, Michael Franklin, David Patterson
  • Member of the Algorithms, Machines and People Lab (AMP Lab), 2011-Present
  • Member of the Reliable Adaptive Distributed Systems Laboratory (RAD Lab), 2006-2011
Aug 2002 - May 2006

Purdue University - West Lafayette, IN

  • Bachelors of Science in Computer Science (Honors) and Mathematics
  • Minors in Electrical Engineering and Economics
  • Major GPA: 3.97/4.0 (Cumulative)

Publications [Citation Counts]

Journal Articles
  • Michael Armbrust, Kristal Curtis, Tim Kraska, Armando Fox, Michael J. Franklin, David A. Patterson. "PIQL: Success-Tolerant Query Processing in the Cloud." Proceedings of the VLDB Endowment (PVLDB). 5(3), November 2011: 181-192 [pdf]
  • Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy H. Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica and Matei Zaharia. "Above the Clouds: A Berkeley View of Cloud Computing." Communications of the ACM (CACM). 53(4), April 2010: 50-58 [pdf] [410+ Citations]*
Conference Proceedings
  • Michael Armbrust, Nick Lanham, Stephen Tu, Armando Fox, Michael J. Franklin, David A. Patterson. The case for PIQL: a performance insightful query language. Proceedings of the 1st Annual ACM Symposium on Cloud Computing (SOCC'10): 131-136 [pdf]
  • Michael Armbrust, Armando Fox, David A. Patterson, Nick Lanham, Beth Trushkowsky, Jesse Trutna, Haruki Oh: SCADS: Scale-Independent Storage for Social Computing Applications. Proceedings of the 4th Biennial Conference on Innovative Data Systems Research (CIDR'09). [pdf] [35+ Citations]*
Technical Reports
  • Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy H. Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica and Matei Zaharia. "Above the Clouds: A Berkeley View of Cloud Computing." Technical Report No. UCB/EECS-2009-28, EECS Department, University of California, Berkeley. [pdf] [1519+ Citations]*
  • Peter Bodík, Michael Armbrust, Kevin R. Canini, Armando Fox, Michael I. Jordan, and David A. Patterson. "A case for adaptive datacenters to conserve energy and improve reliability." Technical Report UCB/EECS-2008-127, EECS Department, University of California, Berkeley. [pdf] [16+ Citations]*
Technical Demos
  • Michael Armbrust, Stephen Tu, Armando Fox, Michael J. Franklin, David A. Patterson Nick Lanham, Beth Trushkowsky, Jesse Trutna. "PIQL: A Performance Insightful Query Language." 2010 ACM Conference for the Special Interest Group on Management Of Data (SIGMOD). [pdf]

Systems Built

PIQL

Rapidly growing data volumes have led many developers to abandon traditional relational databases in favor of distributed key/values stores and map/reduce programs. While these alternatives often provide trivial scalability, they lack many of the benefits of high-level declarative languages such as optimization and data-independence. Instead, we propose extending the the relational model with scale independence, a new type of data independence, that ensures consistent performance for all queries in an application, independent of the data size. Our implementation, PIQL, provides a scale independent relational system on top of existing distributed key/values stores by changing the objective function for optimization and automatically selecting and maintaining required indexes and materialized views. The PIQL system also integrates with the Scala compiler to provide language integrated schema specification and a LINQ-like query language.

SCADS

SCADS is a research prototype key/value store written in Scala. Built using BDB-JE, its design is focused on modularity and easy deployment for running experiments. The system has served as the storage system for the director (FAST'11), PIQL execution engine, RAD Lab Stack, and the multi-datacenter concurrency control project.

RAD Lab Stack

The RAD lab's moon-shot vision statement was to enable a single person to design, analyze, deploy and operate the next multi-million user website in only a single weekend. I led the effort to integrate the various projects of the lab, including SCADS, PIQL, Mesos, the director, Spark, and deploylib into a single unified demo stack. At the at the end of project celebration on February 24th 2011 we demonstrated three web applications written by undergrads, including one completed the previous weekend. Using the stack we scaled them to 300+ EC2 instances over the course of an afternoon.

Deploylib

Deploylib is a scala DSL for deploying experiments and other software on clusters of machines, including Amazon's EC2. It was used to run the experiments for the PIQL and director papers as well as the RAD Lab Final Demo. It provides developers with the following constructs:

  • Concise syntax for executing ssh commands on remote machines through scripts or from the scala console
  • Automatic handling of transient failures
  • Typed functions for running common commands like ps, ls, jps, etc
  • Intelligent distribution of files using NFS or S3
  • Parallel extensions for common collection operations (pforeach, pmap, pflatMap)
  • A mesos framework for deploying services that run on the JVM
  • Automatic dependency management for projects built with SBT

Invited Talks

2012
  • AMP Lab Retreat, January 2012, Scale Independent Relational Query Processing
2011
  • HPTS, Poster Session, October 2010, Bridging the NoSQL Gap with Scale Independence
2010
  • AMP Lab Retreat, December 2010, SCADS & PIQL Scale-Independent Structured Storage for Interactive Applications
  • GreenPlum, Tech Talk, December 2010, Outlook for tomorrow: Cloudy with a chance of PIQLs
  • Twillio, Tech Talk, November 2010, Scaling Databases
  • RAD Lab Retreat, June 2010, PIQL 2.0
  • RAD Lab Retreat, January 2010, PIQL: Performance Introspective Query Language
2009
  • HPTS, Poster Session , October 2009, SCADS: Performance Safe Queries for Interactive Web Applications
2008
  • RAD Lab Retreat, June 2008, Scaling to 10000 servers without buying hardware
  • NetApp, Tech Talk, July 2008, Scalable Consistency Adjustable Data Storage
  • RAD Lab Retreat, January 2008, SCADS: Scalable, Consistency-Adjustable Document Store
2007
  • FX Palo Alto Laboratory, Inc. (FXPAL). Tech Talk, October 2007, Scalable Consistency Adjustable Data Storage
  • VMWorld, Academic Session, September 2007, Towards a more declarative datacenter
  • RAD Lab Retreat, May 2007, Toward a datacenter operating system

Industry Experience

Summer 2007

Google - Mountain View, CA Platform Engineer - Google Performance Analysis

  • Analyzed the performance of a business critical distributed system, spanning multiple datacenters and developed a benchmark to evaluate new hardware, based on findings from my investigation.
Summer 2006

Microsoft - Redmond, WASoftware Development Engineer - SQL Server Engine

  • Designed and implemented an in-memory message queuing system utilizing the Service Broker infrastructure of the SQL storage engine.
Summer 2005

Microsoft - Redmond, WAProgram Manager - SQL Server Engine

  • Designed and implemented a prototype system which captures and aggregates management data to help administrators find performance problems and make decisions.
  • Managed a week-long customer lab engagement with an important partner ISV.
  • Researched methods for integrating compression written in CLR with customer applications.
Summer & Winter 2004

Motorola - Schaumburg, ILSummer Intern

  • Identified and helped to solve major product defects including a race condition which caused a system crash.
  • Utilized TCL along with the IXIA platform for performance testing leading to the discovery of system limitations.

Honors

Graduate
  • Sevin Rosen Funds Award for Innovation - awarded annually to an EECS graduate student based on outstanding technical achievement in a research area in computer sciences or electrical engineering.
Undergraduate
  • Charles O. McGaughey Leadership Senior Leadership Award
  • Bruce Helfert Memorial Award for The Outstanding Junior in Science and Engineering
  • Outstanding Senior in the College of Science
  • Outstanding Senior in Computer Science
  • Phi Beta Kappa (Junior-year Inductee)
  • Upsilon Pi Epsilon (Junior-year Inductee)
  • National Science Foundation CSEMS Scholarship Recipient
  • GATX Corporation and Lilly Corporation Scholarship Recipient

Teaching

Spring 2011
  • Guest Lecturer CS169 - Software Engineering
Fall 2010
  • Guest Lecturer CS169 - Software Engineering
Fall 2008
  • GSI for CS 186 - Introduction to Database Management Systems

Mentoring

Undergraduates
  • Stephen Tu - (BS 2010, now at MIT in the PhD program)
  • Amber Feng - (BS 2011)
  • Karl He - (BS 2011)
  • Alan Chen - (BS 2012)

Service

2011
  • Reviewer for IEEE Communications Letters
2010
  • Reviewer for IEEE Transactions on Services Computing
  • Reviewer for IEEE Transactions on Parallel and Distributed Systems

Outside Coursework

Graduate
  • INFO205 - Information Law and Policy
  • INFO235 - Cyberlaw
  • INFO237 - Intellectual Property Law for the Information Industries
  • I256 - Applied Natural Language Processing

Activities

Graduate
  • Treasurer for the Computer Science Graduate Student Association
  • Orientation Chair for the Computer Science Graduate Student Association
Undergraduate
  • President of Phi Sigma Pi National Honor Fraternity
  • Vice President and Queer Student Union Representative for Delta Lambda Phi Social Fraternity
  • Chair of Mortar Board Leadership Conference
  • Chair of the Computer Science Undergraduate Student Board
  • Activities Director for the College Mentors for Kids Program