HHVM

Drew Paroski, co-creator of the HipHop Virtual Machine (HHVM) and the Hack programming language at Facebook, is bringing his expertise in compilers and code generation to MemSQL.

While at Facebook, Drew was part of a three-person team appointed to rebuild the software layer of the company’s web-tier to support over one billion new users. Drew and team built HHVM to improve the speed and efficiency of programs written in PHP, the programming language that predominantly powers Facebook’s web-tier. HHVM is an important part of Facebook’s infrastructure optimization efforts which have produced a total of $1.2 billion in savings as of January 2014. Facebook published a paper that tracks the efficiency gains of HHVM since its launch; see the image below. Drew also co-authored several patents in just-in-time compilation, dynamic programming languages, and runtime data structures. Prior to his tenure at Facebook, Drew worked as an engineer at Microsoft and IBM.

hhvm-speed
Source: “The HipHop Virtual Machine”, OOPSLA ‘14, published October 15 2014

We sat down with Drew to get the story, in his own words, about joining MemSQL and becoming a champion of in-memory computing.

Q: Tell us about your time at Facebook and seeking the next big thing.
Drew: I’m a systems engineer by trade and I’m passionate about the technical aspects of solving hard problems close to the boundary where hardware and software meet. But I also have an entrepreneurial streak, and I like to seek out challenges that can have big business impact. When I joined Facebook almost six years ago, they had about 300 million active users and were facing an enormous challenge: how to scale their PHP-based web-tier to handle four times as many users without increasing operating costs. I wanted to be a part of architecting that solution. Over the course of a few years, I designed and built HHVM with several talented engineers to improve the performance of PHP at Facebook. We also built the Hack programming language to address other issues with PHP language that hinder developer productivity when working with large codebases. With HHVM now powering 3 of the top 10 web properties in the world and with Hack well on its way to improving the state of web development, I was ready to seek the next big challenge.

Q: Why did you join MemSQL?
Drew: I knew a few engineers at MemSQL from a previous life. It occurred to me that MemSQL was a small but growing company of exceptional engineers solving problems on the frontiers of computing infrastructure, and I found that very enticing. The company is bringing real utility to customers across fast-paced industries like financial services and advertising technology.

Since its inception in 2011, MemSQL has focused on building a world-class SQL query compiler, which attracted me to the company. For those who aren’t familiar with the term, compilers are these extremely versatile tools that power an incredibly broad range of applications. A computer’s CPU doesn’t read programming languages natively – these languages have to be translated by a compiler into what’s called machine code. What I love about building an efficient compiler is that if you produce machine code that executes twice as fast for a popular programming language, that means tons of programs written in that language will now be able to execute 2x faster than was previously possible, often without having to change a line of code. Now that’s a powerful impact – to be able to speed up all kinds of different applications with this one piece of software.

Q: What opportunities do you see at MemSQL?
Drew: MemSQL brings real-time big data analytics capabilities to companies large and small. We recently launched a free Community Edition so developers can have easy access, no strings attached – that reflects the commitment the company has to making the best technology available to everyone. The company solves challenges for companies in real-time which empowers them to act on what is happening now, not yesterday, and I think that’s really compelling. MemSQL is holding its own with the largest companies in the industry like Oracle and SAP. I think there is an opportunity here for the company to really take off. Plus MemSQL is one of the best places in the San Francisco area for people who want to work on hardcore engineering challenges.

Q:What are you currently working on?
Drew: I want to continue to innovate with the MemSQL query compiler. Making distributed SQL fast is a really juicy problem. Some might say SQL is retro, there is newer, hotter stuff out there. But so many developers and business professionals know SQL, and there is a ton of SQL code already in existence; all different kinds of businesses rely on SQL for their current operations. Making SQL better and faster helps our customers build businesses that run better and faster.

One of the my main professional interests is computer performance. I have been interested in performance since I first started writing code. Performance can, and definitely should, be measured quantitatively, but if you think about it, performance can have qualitative effects as well.

Imagine that it took two minutes after pressing the remote to change the channel on TV. How would that impact the experience? What you think of now as “channel surfing” would not be possible. It’s not just slower, it is qualitatively not the same experience. This is what makes me so excited about working on performance. Of course, I’m also interested in performance for the traditional reason that comes to mind: making it possible to execute applications 2x faster or more can substantially reduce operating costs for companies that have a non-trivial datacenter footprint.

MemSQL Meetup in August to Feature Drew Paroski

Join Drew for a discussion on compilers and C++ at MemSQL headquarters in San Francisco on Wednesday, August 19th. More information: www.meetup.com/memsql/