Predrag Buncic, CERN/PH-SFT The Future of CernVM
R&D Project in PH Department (WP9), started in 2007, 4 years Aims to provide a complete, portable and easy to configure user environment for developing and running LHC data analysis locally and on the Grid independent of physical software and hardware platform (Linux, Windows, MacOS) Code check-out, edition, compilation, local small test, debugging, … Grid submission, data access… Event displays, interactive data analysis, … Suspend, resume… Decouple application lifecycle from evolution of system infrastructure Reduce effort to install, maintain and keep up to date the experiment software Web site: CernVM Project: Initial goals
1. Minimal Linux OS (SL5) 2. CernVM-FS - HTTP network file system optimized for jus in time delivery of experiment software 3. Flexible configuration and contextualization mechanism based on public Cloud API Virtualization: CernVM Way
What’s next?
CernVM-FS is the success story… Scope extended beyond CernVM environment to (all) grid nodes By now most of the service infrastructure migrated to CERN IT and repositories replicated to 3 off-site locations Before end of the year all services should move to CERN IT Shared Filesystem Installer Boxes 0 Web Server CERN Strat’ 1 RAL Strat’ 1 BNL Strat’ 1 Stratum 0Stratum 1 Site Squid Site X WN 1 WN 2 NFS Text Locations: CERN IT, CERN PH-SFT, Other
Requests for new features. In pipeline: ATLAS: support for diskless servers, sharing local cache between repositories, exporting CVMFS via NFS LHCb : faster turn-over for publishing updates (<1hour) CMS : Mac OS X support Small projects: simplified tool set to create repositories Grid Sites : monitoring, security, encrypted repositories (Nordic Tier 1), extended documentation (RAL), archival of old software releases (CERN) Timescale for this developments: 6 months Natural for SFT to continue providing software maintenance in immediate future (next 2 years) Main goal will be to ensure stability and performance Foreseen developments
User Server side improvements Shadow Directory Release Manager CernVM-FS Repository read only volume Union Filesystem Overlay Union Filesystem Overlay Redir-FS Kernel module with no support in the futuee Client Server
An Extensible Toolkit for Building Scalable Cloud Computing Infrastructure Message (XMPP/Jabber) driven system of agents and adapters Using CernVM as job execution environment An example – 2.0 Volunteer computing cloud based on BOINC, ~1500 active clients at any time CernVM CoPilot
Flexible contextualization is essential if we want to avoid proliferation on VM images At present CernVM supports Web/XMLRPC based appliance User Interface (for CernVM Basic and Desktop) HEPIX compliant CDROM contextualization (for CernVM Batch and Head Node) EC2 API for deployment on public (EC2) and private (OpenNebula, OpenStack, Eucalyptus..) clouds Still work in progress CDROM contextualization not always obvious and easy to use EC2 API not completely implemented Contextualization
Based on SL5 distribution with binary RPM packages repackaged into Conary packages New repository label => Entirely hosted at CERN, faster updates Kept in sync with upstream SL5 repository The images for all hypervisors are now built using our own tool (iBuilder) Fully replacing a commercial product that we used so far for that purpose (rBuilder) For SL6 compatible CernVM, the intention is to use Conary “capsules” Allow full encapsulation of foreign package manager It will be possible to install additional packages side by side using native rpm tool Minimal OS
Long term data preservation NA49/NA61 Goal: Develop prototype of virtual cluster environment suitable to run legacy software in order to support long term data preservation use case Common services hosted by front-end node Batch master, NAT gateway, storage and HTTP proxy, monitoring Each physical node Contributes to common storage pool Runs hypervisor, batch worker Exports storage local storage to common pool Virtual Machines Managed by some Cloud middleware (OpenNebula) Require only limited outgoing network connectivity Access to data files via POSIX (file system) layer Built from strongly versioned system components End user API to start VMs and submit jobs HTTP Proxy Storage Proxy NAT Gateway Batch Master 1 CernVM Storage Server Batch Worker Hypervisor 1..n MSS 1..n S/WTCP/IPAPI
Roadmap (in testing)2.6.0 (end of 2011)3.0.0 (mid 2012) New repository label kept in sync with SL5 repository Final SLC5 release Updated desktop, latest Xfce EOS/xrootd for data access CernVM based on SL6 Using encapsulated RPM packages
Define/Update Platform Build Additional Software Test Builds Build Virtual Machine Images Deploy/Manage Publish INTRODUCTION Putting it all together… Virtual Machine Lifecycle
An Extensible Toolkit for Building Scalable Cloud Computing Infrastructure Message (XMPP/Jabber) driven system of agents and adapters Using CernVM as job execution environment An example – 2.0 Volunteer computing cloud based on BOINC, ~1500 active clients at any time ARCHIPEL
Features Virtual Machine and Hypervisor manager written in python and Objective-J Uses a distributed agent/client architecture Provides a powerful browser-based front-end Requires no server-side scripting Modular design – Can be extended It uses open-source components It is based on the XMPP (Jabber) protocol Widely used, and tested (Google Chat, iChat, Facebook Chat) Can be clustered ARCHIPEL
Archipel Arhitecture Hypervisor A Hypervisor B XMPP Virtual Machine Hypervisor A Virtual Machine Hypervisor A Virtual Machine Hypervisor B Virtual Machine Hypervisor B Virtual Machine Hypervisor B Virtual Machine Hypervisor B XMPP Archipel GUI Repository Image Builder XMPP XMPP Server ejabberd Agents Agent Client Image Tester Agent PicoClient GUI Client BOSH PROGRESS
iBuilder Module PROGRESS
iBuilder Module PROGRESS
iBuilder Module PROGRESS
CernVM PicoClient (iPhone) PROGRESS
CernVM PicoClient (iPhone) PROGRESS
… and iPad CERN, Oct 20,
Conclusions CernVM 4 year R&D is coming to an end… But the project is still very much alive and is going to continue in some form Hundreds of physicists use CernVM on their laptops and desktops CernVM is being used for cloud/performance tests by ATLAS, CMS and LHCb Development of tools to facilitate full virtual machine lifecycle management is in progress CernVM Spinoffs CernVM-FS It has definitely found its users and assure support CernVM CoPilot Used by 2.0 Many thanks to our users (majority of them are from ATLAS) ARCHIPEL