Research Challenges in Virtualization Steven Hand Senior Architect, Citrix R&D Reader in Computer Systems, U. Cambridge
About Citrix Global company with around 5,000 employees Approx 300 R&D folks in Europe (~75 from XenSource) Provider of virtualization solutions at multiple levels XenApp: application virtualization / streaming XenServer: server virtualization XenDesktop: virtual desktop infrastructure [forthcoming] XenClient : client solution Cambridge UK group also hosts developers for open source Xen project, and Xen client initiative (http://www.xen.org)
Virtualization Today Strongest in (private) data center virtualization Divide each server-class x86 box into multiple virtual machines Configure VMs with desired memory, VCPUs, VNICs, etc Use live migration to dynamically load-balance / power-balance servers Many existing commercial products including Citrix XenServer, Microsoft Hyper-V, VMware vsphere (also have FOSS offerings Xen, VirtualBox, kvm, ) And server virtualization is getting stronger, with some predictions for 10x increase by 2011 (Bittman)
Emerging Technologies: Client and Cloud As well as traditional server virtualization, recently seen moves into two new markets One major push involves virtualizing client workloads e.g. Virtual Desktop Infrastructure (VDI) uses servers to host multiple desktop operating-system instances, one for each user Remoting protocol used to ship graphics, audio, etc to thin-client (hw or sw) More recently have Client Virtualization: puts hypervisor technology onto desktops, laptops or mobile devices Particularly suited to dual-use scenarios (Corporate VM versus Personal VM) Emerging products: Citrix XenClient for laptops; OKL4 for mobile devices
Analyst Projections on Client Compute Model Growth IDC Projected VCC Growth Totals by 2012 5% Blade PCs Image Streaming Application Virtualization Server Hosted Virtual Desktops Locally Hosted Virtual Desktops 52% 10% 21% 12% IDC predicts that client- side virtualization will outpace server-hosted desktops by almost 2X by 2012. Source: IDC, Worldwide Forecast; Virtualized Client Computing Seats, 2008
Emerging Technologies: Client and Cloud Other big movement is towards Cloud Computing Not universally well-defined, but a fairly common view is a service providing VMs on-demand to customers for a fee Some consider SaaS and PaaS to be cloud computing also Cloud computing concept not entirely new (XenoServers, Utility Computing, Grid Computing, etc) but has generated large amounts of industry interest (Amazon s EC2, Alatum Singapore s National Cloud)
Research Challenge 1 Green Computing Virtualization is already a green technology In particular, server consolidation can reduce power & cooling needs However data-centers still consume huge amounts of power for example, 61 TW-h AEC in USA data centers in 2006 Some progress in next-gen datacenter construction, but also must locate these near cheap / renewable sources of energy Move to a cloud computing model which incorporates energy costs How can customers choose best locations to run their computations? What are the trade-offs between energy cost, price, and network location? How can we make live migration or fault tolerance work across a continent? The globe?
Research Challenge 2 Personal VMs Convergence of VDI and client virtualization is leading to a world in which your virtual machine is all you care about Your personal VM includes all of your personal data (photos, documents, music, blogs) and can be instantiated anywhere (at a computer at home, on an arbitrary laptop, on your friend s mobile device) How can we manage this VM-as-data? How can we provide global accessibility? preserve privacy? ensure durability? track provenance? handle mandated discovery?
Research Challenge 3 Trustworthy Computing Today s clouds services are mostly used by individuals, universities, and small businesses. Large corporations are adopting private clouds internally, but have major concerns about using public services Mostly due to concerns about data security, e.g. disclosure of information to third parties (or the cloud operator!), or the lack of a sufficiently robust audit logging facility (often a regulatory mandated issue) How can we build a bullet-proof (formally verified?) cloud computing platform? guarantee isolation for multi-tenanted resources? bound information leakage? use differential priv?
Summary & Conclusions Virtualization is here, and becoming ubiquitous Emerging technologies suggest clients, servers, mobiles & clouds will become receptacles for virtual machines I ve presented three (hopefully) interesting research areas green computing, personal VMs, and trustworthy computing but there s plenty more challenges out there Thanks!