Friday 11th October, 2013
7:45pm to 8:45pm
"System software" does not solve problems on its own. It exists to serve in the solutions of other problems, often unknown to the builder of system software . It is the job of system software to run these mysterious, as-yet-unseen applications well, regardless. Familiar examples of system software include language runtimes, compilers, DBMSes, operating systems, linkers, loaders, debuggers, hypervisors, firmware, filesystems, etc. etc. etc.
The systems community is separated into two distinct camps. The camp I call compiler people are focused on automatically understanding and optimizing the application they aim to run. Their counterpart, kernel people, are pessimistic about the hopes of understanding arbitrary applications, and instead limit their efforts to staying out of the way, and providing legible, predictable performance models. These are problem-solving styles, not technical artifacts; kernel people may or may not work on kernels, and compiler people may or may not work on compilers.
These groups took different courses in school, attend different conferences, were advised by different professors, and overall suffer from a lack of mutual language and understanding. I argue that there are fruitful, unexplored possibilities from integrating these two world views.
Software Engineer, Facebook
Keith Adams co-founded Facebook's HipHop Virtual Machine (HHVM). HHVM is the world's fastest PHP engine, and runs all of Facebook's production PHP workload. He has recently joined Facebook's AI Group. From 2000 to 2009, he worked on VMware's virtual machine monitor, where he helped deliver the first multiprocessor x86 virtual machines, hardware-assistance for virtualization, and the safe program-instrumentation framework VProbes. He holds an Sc.B. in computer science from Brown University.
Sign in to add slides, notes or videos to this session