<<

Introduction to WP9

IBM-VM 360, CERNVM, 1988 Portable Analysis Environment Using Technology http://cern.ch/cernvm

Predrag Buncic (CERN/PH-SFT) Motivation

• Software @ LHC Experiment(s) ƒ Millions of lines of code ƒ Complicated software installation/update/configuration procedure, different from experiment to experiment ƒ Only tiny portion of it is really used at runtime in most of the cases ƒ Often incompatible or lagging behind OS version on desktop/laptop • Multi core CPUs with hardware support for virtualization ƒ Making laptop/desktop ever more powerful and underutilised

• Using virtualization and extra cores to get extra comfort ƒ Zero effort to install,,ppp maintain and keep up to date the experiment software ƒ Reduce the cost of software development by reducing the number of compiler-platform combinations ƒ Decouple application lifecycle from evolution of system infrastructure

CERN, 15/04 2008 - 2 How do we want to do that?

• Build a “thin” Virtual Software Appliance for use by LHC experiments • This appliance should ƒ provide a complete, portable and easy to confffigure user environment for developing and running LHC data analysis locally and on the Grid ƒ be independent of physical software and hardware platform (Linux, Windows,,) MacOS)

• This should minimize the number of platforms (compiler-OS combinations) on which experiment software needs to be supported and tested thus reducing the overall cost ofCff LHC software maintenance.

• All this to be done ƒ in collaboration with LHC experiments, OpenLab ƒ reusing existing solutions where possible • Resources ƒ 7. 5 FTE ( st aff) + 7 .5 FTE (f ell ow) over 4 years

CERN, 15/04 2008 - 3 Initial Project Goals

1. Evaluation of the available virtualization technologies • Understand and validate technologies by checking their performance in HEP env ironment 2. Evaluation of the tools to build and manage Virtual Appliances 3. Collect User Requirements from experiments • Confront them with available technologies • Suggest an optimal choice for a given use case 4. Developppyment and deployment of a read-only distributed Network File System for software distribution • Essential to keep the basic appliance small in size (<100MB) • Validate performance, scalability and usability of such approach 5. Provide prototypes for at least two LHC experiments • Assist experiments in adapting their software practices to this platform 6. Setup a service and support infrastructure

CERN, 15/04 2008 - 4 About virtualization,,pp appliances and some recent trends in industry

CERN, 15/04 2008 - 5 Trends…

• The industry is gradually redefining meaning of the grid computing ƒ Shift from glorious ideas of a large public infrastructure and common middleware towar ds an en d-to-endlidid custom solutions and private corporate grids • Grid & Grow (IBM) • Emerging new platforms: ƒ Amazon Elastic Computing Cloud • Everything is for rent (CPU, Storage, Network, Accounting) ƒ Blue Cloud (IBM) is coming ƒ Software as a Service (SaaS) • Google App Engine • Key enabling technology: Virtualization ƒ CPU, OS, network, file virtualization and storage virtualization ƒ Rich tools built on top of virtualization environments

CERN, 15/04 2008 - 6 Google trends

virtualization vs grid computing

CERN, 15/04 2008 - 7 Virtual Appliances

• Virtual Software Appliance is a lightweight image that provides easy configuration and maintenance and combines ƒ minimal, “just enough” operating environment (JeOS) ƒ specialized application functionality

• These appliances are designed to run under one or more of the various virtualization technologies, such as ƒ VMware , , Parallels , Microsoft Virtual PC, QEMU, User mode Linux, CoLinux, Virtual Iron…

)For evaluation of some of these technologies in HEP environment, see talk of J. Blomer

CERN, 15/04 2008 - 8 Evaluation of the tools to build and manage Virtual Appliances

CERN, 15/04 2008 - 9 AliEn Appliance (2006)

QuickTime™ and a decompressor are needed to see this picture.

CERN, 15/04 2008 - 10 Easy packaging: rBuilder

class Root(CPackageRecipe):Recipe name='root' version='5.19.02'

buildRequires = [ ' libpng:devel', 'libpng:devellib','krb5:devel', 'libstdc++:devel’,'libxml2:devel', 'openssl:devel','python:devel', 'xorg-x11:devel', 'zlib:devel', 'perl:devel', 'perl:runtime']

def setup(r): r.addArchive('ftp://root.cern.ch/root/%(name)s v%(version)s.source.tar.gz') r.Environment((,())'ROOTSYS',%(builddir)s') r.ManualConfigure('--prefix=/opt/root ') r.Make() r.MakeInstall()

CERN, 15/04 2008 - 11 Ready for Amazon EC2…

CERN, 15/04 2008 - 12 Groups & Builds

Build types ƒ Installabel CD/DVD ƒ Stub Image ƒ Raw Filesystem Image ƒ Netboot Image ƒ Compressed Tar File ƒ Demo CD/DVD (()Live CD/DVD) ƒ Raw Hard Disk Image ƒ Vmware ® Virtual Appliance QuickTime™ and a decompressor are needed to see this picture. ƒ Vmware ® ESX Server Virtual Appliance ƒ Microsoft ® VHD Virtual Apliance ƒ Xen Enterprise Virtual Appliance ƒ Virtual Iron Virtual Appliance ƒ Parallels Virtual Appliance ƒ Amazon Machine Image ƒ Update CD/DVD ƒ Appliance Installable ISO

CERN, 15/04 2008 - 13 rbuilder.cern.ch

• Decision to use rPath’s rBuilder was easy one ƒ There is no other comparable product offering so much flexibility • It is possible to use rBuilder Online to setup test project and exercise the tools ƒ Fully functional ƒ Free ƒ Occasionally overloaded • We bought a license for one instance of rBuilder ƒ http://rbuilder.cern.ch ƒ Now hosts development of CernVM Appliance

)If you are interested to learn more about rBuilder, please come to tutorial on Wednesday

CERN, 15/04 2008 - 14 Tools to Manage VMs

• There are many prototypes and a few really working ones • We tried in house solution (Vgrid) and Open QRM • Finally settled for Enomalism 2.0 ƒ Simple easy to use web based user interface ƒ VM Agnostic, migrate to and from various virtual environments including KVM/Qemu, Amazon EC2 and Xen. (OpenVZ, VirtualBox and VMware coming soon) ƒ Fine grained user permissions and access privileges ƒ One click deployment ƒ Can start/stoppp/pause/save VM instances ƒ Free Open source License )More about Enomalism later today in talk of Carlos AdShAguado Sanchez

CERN, 15/04 2008 - 15 URiUser Requiremen ts

CERN, 15/04 2008 - 16 User Requirements

• This should normally happen before any work starts • The initial screeninggp of opinions ha ppened in direct discussion with people from experiments who got interested in Virtualization project (end of 2007, beginning of 2008) ƒ This feedback was taken into account when initial plan was created • Expecting more feedback during discussion session on Wednesday ƒ No enthusiastic response to calls for help in writing URD ƒ http://cernvm.web.cern.ch/cernvm/index.cgi?page=UserRequiremen ts • We have to decide if User Requirements document is needed and if yes, we will need at least one person from participating experiment who will feel responsible for specific requirements

CERN, 15/04 2008 - 17 Development and deployment of a read-only dist rib u ted Ne twor k File Sys tem for software distribution

CERN, 15/04 2008 - 18 “Thin” Software Appliance

rAA Extra Liibs & Apps F plugin I L H E r T S LAN/WAN A T Y (HTTP) JeOS P A S (based on rPath Linux) D T E M

fuse KERNEL module Software Cache Repository

0.1 GB 1 GB 10 GB

CERN, 15/04 2008 - 19 Network File System Techniques Kernel File System Debugger Trap (NFS) (Parrot)

App App Agent Kernel Callout Kernel (Fuse) Kernel NFS LFS … App Agent NFS LFS …

agent Kernel

NFS LFS FUSE

CERN, 15/04 2008 - 20 Experience with AliEn

• Based CODA, distributed file system with its or ig in in AFS2 • disconnected operation for mobile computing • client side persistent caching and server replication • security model for authentication, encryption and access control • continued operation d uring partial network failures in server network • network bandwidth adaptation

• Problems • Latency on WAN is killing the response time • We d o not reall y nee d its wr ite an d synchronization capability

CERN, 15/04 2008 - 21 Scalability: Cache Hierarchy

H LAN/WAN T (HTTP) T P D

Software Repository

CERN, 15/04 2008 - 22 Scalability: P2P

F I L E LAN/WAN P2P S protocol E R V E R

Software Repository

CERN, 15/04 2008 - 23 Current CernVM setup

On same host: On File Server

/oppgt/lcg /opt/lcg -> /chirp/localhost/opt/lcg -> /grow/host/opt/lcg

App Chirp Chirp Fuse server

open(“/opt/lcg”) opp(pen(“/opt/lc g)g”) !Cach e Parrot Kernel

NFS LFS FUSE

Parrot is part of Cooperative Computing Tools Cache http://www.cse.nd.edu/~ccl/software/

CERN, 15/04 2008 - 24 Foreseen development

On same host: On File Server

/oppgt/lcg /opt/lcg -> /chirp/localhost/opt/lcg -> /grow/host/opt/lcg

App CernVM Fuse

open(“/opt/lcg”) !Cache

Kernel

NFS LFS FUSE Cache

CERN, 15/04 2008 - 25 Provide prototypes for at least two LHC experiments

CERN, 15/04 2008 - 26 Alpha release 0.3

• Available for download from ƒ http://rbuilder.cern.ch/project/cer nvm-devel/releases • Can be run on ƒ Linux (Xen,VMware Player) ƒ Windows(WMware Player) ƒ Mac (Fusion, Parallels)

QuickTime™ and a • Minimal HowTO at decompressor are needed to see this picture. • http://cernvm.web.cern.ch/cernv m/?page=HowTo

• Limited testinggy to verify that appliance can be configured and used with Alice and LHCb software frameworks • ATLAS i s next i n li ne • Waiting for input from CMS

CERN, 15/04 2008 - 27 Demo time…

CERN, 15/04 2008 - 28 Conclusions

• The work on the project has started according to initial planning and is progressing well ƒ Initial discu ssions w ith ex periment try ing to identify interest for collaboration ƒ Contacts have been established with goal to carry out further research and look into alternative solutions ƒ We have evaluated performance of several virtualization technologies in HEP context ƒ We purchased and installed rBilder instance at CERN ƒ Work on setti ng up scal abl e serv ice in fras truc ture is in progress ƒ Prototype of file system for s/w distribution is implemented ƒ Alpha release is available and is ready for 2 experiments • Work on Atlas will start next • Waiting for expression of interest from CMS ƒ We are expecting input from experiments • User Requirements document • Plan of work

CERN, 15/04 2008 - 29