1 BOINC-VM and Volunteer Cloud Computing Ben Segal / CERN and: Predrag Buncic, Jakob Blomer, Pere Mato / CERN Carlos Aguado Sanchez, Artem Harutyunyan.

Slides:



Advertisements
Similar presentations
INFSO-RI An On-Demand Dynamic Virtualization Manager Øyvind Valen-Sendstad CERN – IT/GD, ETICS Virtual Node bootstrapper.
Advertisements

Virtualization for Cloud Computing
1 Bridging Clouds with CernVM: ATLAS/PanDA example Wenjing Wu
Reproducible Environment for Scientific Applications (Lab session) Tak-Lon (Stephen) Wu.
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. 1 Third Edition Chapter 3 Desktop Virtualization McGraw-Hill.
Tanenbaum 8.3 See references
OM. Brad Gall Senior Consultant
CERN IT Department CH-1211 Genève 23 Switzerland t Virtualization with Windows at CERN Juraj Sucik, Emmanuel Ormancey Internet Services Group.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Customized cloud platform for computing on your terms !
1 port BOSS on Wenjing Wu (IHEP-CC)
A Guided Tour of BOINC David P. Anderson Space Sciences Lab University of California, Berkeley TACC November 8, 2013.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
1 LHC Cloud Computing with CernVM Ben Segal / CERN Predrag Buncic / CERN
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Introduction to the BOINC software David P. Anderson Space Sciences Laboratory University of California, Berkeley.
Wenjing Wu Andrej Filipčič David Cameron Eric Lancon Claire Adam Bourdarios & others.
David Cameron Claire Adam Bourdarios Andrej Filipcic Eric Lancon Wenjing Wu ATLAS Computing Jamboree, 3 December 2014 Volunteer Computing.
David Cameron Riccardo Bianchi Claire Adam Bourdarios Andrej Filipcic Eric Lançon Efrat Tal Hod Wenjing Wu on behalf of the ATLAS Collaboration CHEP 15,
Predrag Buncic (CERN/PH-SFT) CernVM - a virtual software appliance for LHC applications C. Aguado-Sanchez 1), P. Buncic 1), L. Franco 1), A. Harutyunyan.
Predrag Buncic (CERN/PH-SFT) CernVM - a virtual software appliance for LHC applications C. Aguado-Sanchez 1), P. Buncic 1), L. Franco 1), S. Klemer 1),
Predrag Buncic (CERN/PH-SFT) WP9 - Workshop Summary
GAAIN Virtual Appliances: Virtual Machine Technology for Scientific Data Analysis Arihant Patawari USC Stevens Neuroimaging and Informatics Institute July.
Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Usage of virtualization in gLite certification Andreas Unterkircher.
1 Volunteer Computing and Virtualization Ben Segal Holger Schulz and: Predrag Buncic, David Garcia, Jakob Blomer, Pere Mato, Carlos Aguado / CERN Artem.
Predrag Buncic (CERN/PH-SFT) Introduction to WP9 Portable Analysis Environment Using Virtualization Technology IBM-VM 360, CERNVM,
BOINC: Progress and Plans David P. Anderson Space Sciences Lab University of California, Berkeley BOINC:FAST August 2013.
DPHEP Workshop CERN, December Predrag Buncic (CERN/PH-SFT) CernVM R&D Project Portable Analysis Environments using Virtualization.
NA61/NA49 virtualisation: status and plans Dag Toppe Larsen CERN
WLCG Overview Board, September 3 rd 2010 P. Mato, P.Buncic Use of multi-core and virtualization technologies.
TEMPLATE DESIGN © BOINC: Middleware for Volunteer Computing David P. Anderson Space Sciences Laboratory University of.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Intro to Datazen.
Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Tools and techniques for managing virtual machine images Andreas.
Full and Para Virtualization
2012 Objectives for CernVM. PH/SFT Technical Group Meeting CernVM/Subprojects The R&D phase of the project has finished and we continue to work as part.
Predrag Buncic (CERN/PH-SFT) Virtualizing LHC Applications.
Dr Jukka Klem CHEP06 1 Public Resource Computing at CERN – Philippe Defert, Markku Degerholm, Francois Grey, Jukka Klem, Juan Antonio.
1 Volunteer Computing at CERN past, present and future Ben Segal / CERN (describing the work of many people at CERN and elsewhere ) White Area lecture.
1 BOINC Case Study: Ben Segal / CERN with: Predrag Buncic / CERN Daniel Lombrana Gonzalez / Univ. Extremadura David Weir / Imperial.
1 BOINC + CernVM Ben Segal / CERN (describing the work of many people at CERN and elsewhere ) Pre-GDB on Volunteer Computing CERN, November 11, 2014.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
NA61/NA49 virtualisation: status and plans Dag Toppe Larsen Budapest
The CernVM Infrastructure Insights of a paradigmatic project Carlos Aguado Sanchez Jakob Blomer Predrag Buncic.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
Predrag Buncic (CERN/PH-SFT) Software Packaging: Can Virtualization help?
– Past, Present, Future Volunteer Computing at CERN Helge Meinhard, Nils Høimyr / CERN for the CERN BOINC service team H. Meinhard et al. - Volunteer.
Predrag Buncic (CERN/PH-SFT) Virtualization – the road ahead.
The CernVM Project A new approach to software distribution Carlos Aguado Jakob Predrag
36 th LHCb Software Week Pere Mato/CERN.  Provide a complete, portable and easy to configure user environment for developing and running LHC data analysis.
NA61 Collaboration Meeting CERN, December Predrag Buncic, Mihajlo Mudrinic CERN/PH-SFT Enabling long term data preservation.
Predrag Buncic (CERN/PH-SFT) CernVM Status. CERN, 24/10/ Virtualization R&D (WP9)  The aim of WP9 is to provide a complete, portable and easy.
EGI-InSPIRE RI EGI Webinar EGI-InSPIRE RI Porting your application to the EGI Federated Cloud 17 Feb
Cloud Computing Application in High Energy Physics Yaodong Cheng IHEP, CAS
Volunteer Clouds and Citizen Cyberscience for LHC Physics Artem Harutyunyan / CERN Carlos Aguado Sanchez / CERN, Jakob Blomer / CERN, Predrag Buncic /
Predrag Buncic (CERN/PH-SFT) Virtualization R&D (WP9) Status Report.
Predrag Buncic, CERN/PH-SFT The Future of CernVM.
CHEP 2010 Taipei, 19 October Predrag Buncic Jakob Blomer, Carlos Aguado Sanchez, Pere Mato, Artem Harutyunyan CERN/PH-SFT.
Andrea Chierici Virtualization tutorial Catania 1-3 dicember 2010
Volunteer Computing for Science Gateways
Virtualisation for NA49/NA61
NA61/NA49 virtualisation:
Dag Toppe Larsen UiB/CERN CERN,
Progress on NA61/NA49 software virtualisation Dag Toppe Larsen Wrocław
Dag Toppe Larsen UiB/CERN CERN,
Virtualisation for NA49/NA61
CernVM Status Report Predrag Buncic (CERN/PH-SFT).
Module 01 ETICS Overview ETICS Online Tutorials
Ivan Reid (Brunel University London/CMS)
Azure Container Service
Presentation transcript:

1 BOINC-VM and Volunteer Cloud Computing Ben Segal / CERN and: Predrag Buncic, Jakob Blomer, Pere Mato / CERN Carlos Aguado Sanchez, Artem Harutyunyan / CERN Jie Wu, Wenjing Wu / CAS-IHEP, Beijing Rohit Yadav / Banares Hindu University David Garcia Quintas, Yushu Yao / Lawrence Berkeley Laboratory Jarno Rantala / Tampere University of Technology David Weir / Imperial College, London 6th BOINC Workshop, London August 31, 2010

2 Calculates stability of proton orbits in CERN’s new LHC accelerator System is nonlinear and unstable so numerically very sensitive. Hard to get identical results on all platforms About users, PC’s… over 1500 CPU years of processing Objectives: extra CPU power and raising public awareness of CERN and the LHC - both successfully achieved. Started as an outreach project for CERN 50 th Anniversary 2004; used for Year of Physics (Einstein Year) 2005

3 SixTrack program SixTrack is a Fortran program by F. Schmidt, based on DESY program SixTrack simulates 60 particles for 100k-1M LHC orbits Can include measured magnet parameters, beam-beam interactions revealed reproducibility issues, solved by E. McIntosh Phase space images of a particle for a stable orbit (left) and unstable chaotic orbit (right).

4 BOINC & LHC physics code Problems with “normal” BOINC used for LHC physics: 1)A project’s application(s) must be ported to each volunteer platform: most clients run Windows, but CERN runs Scientific Linux and porting to Windows is impractical. Each experiment has its own environment. 1)The physics code changes frequently so apps must be updated often. 2)The projects’ work must be fed into the BOINC server for distribution, and results recovered. Job submission scripts must be developed for this, but CERN physics experiments won’t change their current setups. 1)Job management is primitive in BOINC, whereas physicists want to know where their jobs are and be able to manage them.

5 BOINC & Virtualization Summary of the basic approach Solve client application porting problems using VM’s Use “VMwrapper” to link VM’s to BOINC core client & server Provide a host guest-VM communication/control layer.. and in addition.. Solve the image size problem and physics job production interfaces using the CernVM project together with the Co- Pilot adapter system.

6 CernVM Motivation LHC Experiment(s) – Millions of lines of code – Complicated software installation/update/configuration procedure, different from experiment to experiment – Only a tiny portion of it is really used at runtime in most cases – Often incompatible or lagging behind OS versions 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, 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

7 How does CernVM work? It is a “thin” Virtual Software Appliance that is auto-configured and auto- updated while in use by each LHC experiment This appliance – provides a complete, portable and easy to configure user environment for developing and running LHC data analysis locally and on Grids – is independent of physical software and hardware platforms (Linux, Windows, MacOSX and variants all supported) This minimizes the number of platforms (compiler-OS combinations) on which experiment software needs to be supported and tested, thus reducing the overall cost of LHC software maintenance All this is being done – in collaboration with the LHC experiments and OpenLab – reusing existing solutions where possible

8 “Thin” Software Appliance JeOS (based on rPath Linux) rAArAA KERNEL fuse module FILESYSTEMFILESYSTEM rAA plugin Extra Libs & Apps Cache HTTPDHTTPD Software Repository 10 GB1 GB0.1 GB LAN/WAN (HTTP)

9 Key Building Blocks rBuilder from rPath ( – A tool to build VM images for various virtualization platforms rPath Linux 1 – Slim Linux OS binary compatible with Red Hat / SLC4 rAA - rPath Linux Appliance Agent – Web user interface – XMLRPC API Can be fully customized and extended by means of plugins (  401) CVMFS - CernVM file system – Read-only file system optimized for software distribution Aggressive caching – Operational in offline mode For as long as you stay within the cache Build types – Installable CD/DVD – Stub Image – Raw File System Image – Netboot Image – Compressed Tar File – Demo CD/DVD (Live CD/DVD) – Raw Hard Disk Image – VMware ® Virtual Appliance – VMware ® ESX Server Virtual Appliance – Microsoft ® VHD Virtual Appliance – Xen Enterprise Virtual Appliance – Virtual Iron Virtual Appliance – Parallels Virtual Appliance – Amazon Machine Image – Update CD/DVD – Appliance Installable ISO – Sun Virtual Box Image

10 CernVM File System App On same host: /opt/lcg -> /chirp/localhost/opt/lcg open(“/opt/lcg”) On File Server /opt/lcg -> /grow/host/opt/lcg Cache Kernel NFSLFSFUSE CernVM Fuse !Cache

11 CernVM File System

12 Co-Pilot: CernVM’s Cloud Interface CernVM cloud worker nodes are sets of VM’s created on clusters or Grids or Amazon EC2, etc. They may be “untrusted”. They each run a CernVM image with a Co-Pilot Agent inside. ( In our case nodes are simply … BOINC Volunteer PC’s ) The Co-Pilot Agents get and return jobs from an experiment’s own job management system (e.g. ATLAS/PanDA, ALICE/AlieN, etc.) BOINC work-unit scheduling is not used at all. The BOINC volunteer just sees a (very long-running) task which returns credit regularly, in proportion to CPU resources used.

13 CernVM Co-Pilot architecture LHC experiments’ Grid Job Production Management System Co-Pilot Agents Co-Pilot Adapters PanDA Grid AliEn Storage Adapter PanDA Storage Adapter AliEn Job Adapter PanDA Job Adapter Jabber/XMPP Messaging Network Key Manager The use of Jabber/XMPP allows to scale the system in case of high load by just adding new Adapter instances

14 Job Adapter – Receives job execution requests from an Agent – Contacts Grid services (e.g. AliEn/PanDA/Dirac) and gets a job for execution – Gets the necessary input files from the Grid file catalogue – Makes input files available for the Agent via Chirp – Instructs Agent to download the input – Instructs Agent to execute job command (e.g. ‘root myMacro.C’) Storage Adapter – Receives job completion request – Provides Agent with the Chirp directory to upload job output – Puts the job output to the Grid file catalogue – Contacts Grid services and sets the final status of the job NOTE: Grid credentials are handled by Adapters, not sent to Agents The work of CernVM Co-Pilot Adapters

15 Job Adapter CernVM Co-Pilot job execution (ALICE) 0. Send host JDL (e.g. memory and disk info) 1. Append framework- specific information and request a job 5. Register output files, mark job as DONE 4. When the job is done send back the output files (and, optionally, validation of result) 2. Send user job JDL from Task Queue AliEn for ALICE Storage Adapter 3. Send input files and commands for execution Key Manager service may be used to secure the communication For the detailed description of the communication protocol please see:

16 CernVM Co-Pilot job execution (ATLAS) For the detailed description of the communication protocol please see:

17 BOINC & Virtualization So CernVM and Co-Pilot allow us to solve our three problems (porting, job preparation, and job management) but to run guest VM’s within a BOINC host we need a cross-platform solution for (at least): control of (multiple) VM’s on a host, including: Start | Stop |pause|resume|reset|poweroff|savestate as well as (for the general case): command execution on guest VM’s file transfers from guests to host (and reverse)

18 BOINC & Virtualization Details of the “VM controller” package : (developed by David Garcia Quintas / LBL, ex-CERN) Cross-platform support - based on Python (Windows, MacOSX, Linux… ). Uses Python packages: Netifaces, Stomper, Twisted, Zope, simplejson, Chirp… Does asynchronous message passing between host and guest entities via a broker (e.g. ActiveMQ). Messages are XML/RPC based. Supports: control of multiple VM’s on a host, including: Start | Stop |pause|resume|reset|poweroff|savestate command execution on guest VM’s file transfers from guests to host (and reverse) using Chirp

19 Host to VM Guest communication

20 BOINC & Virtualization Details of the new BOINC “VMwrapper”: (developed by Jarno Rantala / CERN openlab student, 2009) Written in Python, therefore multi-platform Uses “VM controller” infrastructure described above Fully back-compatible with original BOINC Wrapper Supports standard BOINC job.xml files For VM case, supports extra tags in the job.xml file Able to measure the VM guest resources and issue credit requests Uses BOINC “trickle message” facility for very long-running work units

21 BOINC VMwrapper architecture

22 BOINC & Virtualization The above BOINC-VM “General Solution” is being finished and packaged as part of a Bachelor Thesis project by: Rohit Yadav / CERN summer student, 2010 with help from: David Garcia Quintas / LBL and ex-CERN Has general host guest-VM functionality (not restricted to BOINC) Will support VMware as well as VirtualBox hypervisors Supports multiple VM’s per host Supports Linux, Windows and Mac OSX platforms Etc, etc.

23 BOINC & Virtualization Details of the new BOINC “CernVMwrapper”: (developed by Jie Wu / CERN openlab student, 2010) Written in C++, easy to port to Linux, Windows and Mac OSX Based on original BOINC Wrapper, with enough BOINC support to run our LHC Cloud application using CernVM and Co-Pilot Minimal VM functionality, enough to launch and control a VirtualBox VM Uses the VirtualBox COM programming interface Able to measure the VM guest resources and issue credit requests Uses BOINC “trickle message” facility for very long-running work units

24 BOINC Virtual Cloud Summary of the method: New BOINC wrapper (VMwrapper) used to start a guest VM in a BOINC client PC, and execute a CernVM image. The CernVM image has all LHC software and CoPilot code. Host-to-VM communication/control provided for BOINC client. The new VMwrapper gives BOINC client and server all the functions they need - they are unaware of VM’s. The CoPilot connection allows LHC job production to proceed without changes, using experiments’ own job control systems.

25 Building a Volunteer Cloud Final Summary: Solved porting problem to all client platforms Solved image size problem Solved job production interface problem All done without changing existing BOINC infrastructure (client or server side) All done without changing physicists’ code or procedures We have built a “Volunteer Cloud” … demo follows