Logo

Header

Header

Timothy Roscoe

ETH Zurich

What Do FPGAs Mean for Operating System Design?

Hybrid computing systems, consisting of a CPU server coupled with a Field-Programmable Gate Array (FPGA) for application acceleration, are today a common facility in datacenters and clouds. FPGAs can deliver tremendous improvements in performance and energy efficiency for a range or workloads, but development and deployment of FPGA-based applications remains cumbersome, leading to recent work which replicates subsets of the traditional OS execution environment (virtual memory, processes, etc.) on the FPGA.

In this talk I ask a different question: to what extent do traditional OS abstractions make sense in the context of an FPGA as part of a hybrid system, particularly when taken as a complete package, as they would be in an OS?

I will answer this by presenting two symbiotic projects in my group at ETH Zurich. The first is Coyote, an open source, portable, configurable shell for FPGAs which provides a full suite of OS abstractions, working with the host OS. Coyote supports secure spatial and temporal multiplexing of the FPGA between tenants, virtual memory, communication, and memory management inside a uniform execution environment. The overhead of Coyote is small and the performance benefit is significant, but more importantly it allows us to reflect on whether importing OS abstractions wholesale to FPGAs is the best way forward.

The second is Enzian, a research computer which couples a server-class CPU with a large FPGA using the processor's native cache coherence protocol. Enzian is optimized for flexibility and power, with ample memory and I/O bandwidth on both sides of the system, and the close integration of processor and reconfigurable logic provides among other things an excellent evaluation platform for OS research like Coyote.
 

Photo
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 high-performance stream processors, system software for modern hardware, and building Enzian, a research computer for systems software. He was named Fellow of the ACM in 2013 for contributions to operating systems and networking research.
 
Homepage: https://people.inf.ethz.ch/troscoe/