Timothy Roscoe is a Full Professor in the Systems Group of the Computer Science Department at ETH Zurich, where he works on operating systems, networks, and distributed systems, including the Barrelfish research OS and the Strymon high-performance stream processor for datacenter monitoring. He received a PhD in 1995 from the Computer Laboratory of the University of Cambridge, where he was a principal designer and builder of the Nemesis OS. After three years working on web-based collaboration systems at a startup in North Carolina, Mothy joined Sprint's Advanced Technology Lab in Burlingame, California in 1998, working on cloud computing and network monitoring. He joined Intel Research at Berkeley in April 2002 as a principal architect of PlanetLab, an open, shared platform for developing and deploying planetary-scale services. In September 2006 he spent four months as a visiting researcher in the Embedded and Real-Time Operating Systems group at National ICT Australia in Sydney, before joining ETH Zurich in January 2007. His current research interests include monitoring, modelling, and managing complex enterprise datacenters, and system software for modern hardware. He was named Fellow of the ACM in 2013 for contributions to operating systems and networking research.
Computer hardware, from datacenters through rackscale computing down to mobile device systems-on-chip, is increasingly easy to design. A combination of advanced CAD systems, the rise of Moore's law, and now the fall of Moore's law, has resulted in a huge diversity of hardware platforms whose complexity is immense. One downside of this is the monumental software engineering challenge in building and maintaining correct, robust, and portable systems software. This is an open secret in many pockets of industry but receives little attention in research. We ran against this problem full square (and continue to do so) while developing the Barrelfish research OS. In part of my talk I'll discuss about what can be done to address this in the design of systems software, by importing ideas from formal verification, knowledge representation, and program synthesis to the C-dominated world of low-level code. This, however, begs broader questions: given that custom hardware is getting easier to design, what should it look like to system software? How can systems researchers influence such hardware? And in an age where more corporations are building custom hardware but academia is mostly restricted to commodity systems, what can be done to conduct relevant, impactful research in this space outside of industry? I'll try and suggest some answers.
One particularly popular moment associated to the colloquium is the “Master Class” where students have the opportunity to give a short (but well-prepared) presentation of his/her work. Each presentation (10 minutes) is followed by an open discussion with the guest speaker (15 minutes) who gives a detailed feedback. The complete program is provided here.