Virtualization is almost as old as commercial computation, dating back over half a century to IBM’s development of virtual machines running on its monolithic mainframe hardware. The motivation then was to extract maximum use of very expensive and scarce computers by allowing each one to run multiple operating systems and thereby emulate other machines with their own workloads via time sharing. Now virtualization has in one sense been turned upside down, because while 50 years ago it was motivated by the high cost of hardware, it is now driven by the fact general purpose CPUs have become so cheap. This has made it increasingly attractive to migrate network functions away from dedicated chips (ASICs and FPGAs) onto COTS hardware based…