1 port BOSS on Wenjing Wu (IHEP-CC) 2011-5-10.

Slides:



Advertisements
Similar presentations
University of Southampton Electronics and Computer Science M-grid: Using Ubiquitous Web Technologies to create a Computational Grid Robert John Walters.
Advertisements

Volunteer Computing Laurence Field IT/SDC 21 November 2014.
Setting up of condor scheduler on computing cluster Raman Sehgal NPD-BARC.
P-GRADE and WS-PGRADE portals supporting desktop grids and clouds Peter Kacsuk MTA SZTAKI
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Presented by Sujit Tilak. Evolution of Client/Server Architecture Clients & Server on different computer systems Local Area Network for Server and Client.
1 Bridging Clouds with CernVM: ATLAS/PanDA example Wenjing Wu
To run the program: To run the program: You need the OS: You need the OS:
Space Science and Engineering Center University of Wisconsin-Madison Virtual Machines: A method for distributing DB processing software Liam Gumley.
Pilots 2.0: DIRAC pilots for all the skies Federico Stagni, A.McNab, C.Luzzi, A.Tsaregorodtsev On behalf of the DIRAC consortium and the LHCb collaboration.
Volunteer Computing and Hubs David P. Anderson Space Sciences Lab University of California, Berkeley HUBbub September 26, 2013.
Public-resource computing for CEPC Simulation Wenxiao Kan Computing Center/Institute of High Physics Energy Chinese Academic of Science CEPC2014 Scientific.
HTCondor and BOINC. › Berkeley Open Infrastructure for Network Computing › Grew out of began in 2002 › Middleware system for volunteer computing.
A Distributed Computing System Based on BOINC September - CHEP 2004 Pedro Andrade António Amorim Jaime Villate.
The Data Bridge Laurence Field IT/SDC 6 March 2015.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
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.
Wenjing Wu Computer Center, Institute of High Energy Physics Chinese Academy of Sciences, Beijing BOINC workshop 2013.
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,
Cloud Status Laurence Field IT/SDC 09/09/2014. Cloud Date Title 2 SaaS PaaS IaaS VMs on demand.
CernVM WebAPI CernVM Users Workshop 2015 Ioannis Charalampidis, PH/SFT CERN, 5 March 2015.
The EDGeS project receives Community research funding 1 Porting Applications to the EDGeS Infrastructure A comparison of the available methods, APIs, and.
1 BOINC-VM and Volunteer Cloud Computing Ben Segal / CERN and: Predrag Buncic, Jakob Blomer, Pere Mato / CERN Carlos Aguado Sanchez, Artem Harutyunyan.
BOINC: Progress and Plans David P. Anderson Space Sciences Lab University of California, Berkeley BOINC:FAST August 2013.
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.
David Kim Product Manager CLI306 Industry Trends Windows Vista Enterprise Flexible Desktop Computing Options Windows Vista Enterprise Centralized Desktop.
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.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
Predrag Buncic (CERN/PH-SFT) Virtualizing LHC Applications.
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 + CernVM Ben Segal / CERN (describing the work of many people at CERN and elsewhere ) Pre-GDB on Volunteer Computing CERN, November 11, 2014.
NA61/NA49 virtualisation: status and plans Dag Toppe Larsen Budapest
Virtual Machines. A virtual machine takes the layered approach to its logical conclusion. It treats hardware and the operating system kernel as though.
David P. Anderson Space Sciences Laboratory University of California – Berkeley Public Distributed Computing with BOINC.
Predrag Buncic (CERN/PH-SFT) Software Packaging: Can Virtualization help?
COSC 2328 – Web Programming.  PHP is a server scripting language  It’s widely-used and free  It’s an alternative to Microsoft’s ASP and Ruby  PHP.
– Past, Present, Future Volunteer Computing at CERN Helge Meinhard, Nils Høimyr / CERN for the CERN BOINC service team H. Meinhard et al. - Volunteer.
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.
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
COMP1321 Digital Infrastructure Richard Henson March 2016.
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.
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 /
SCI-BUS project Pre-kick-off meeting University of Westminster Centre for Parallel Computing Tamas Kiss, Stephen Winter, Gabor.
Predrag Buncic, CERN/PH-SFT The Future of CernVM.
CernVM and Volunteer Computing Ivan D Reid Brunel University London Laurence Field CERN.
Volunteer Computing and BOINC Dr. David P. Anderson University of California, Berkeley Dec 3, 2010.
Frontiers of Volunteer Computing David Anderson Space Sciences Lab UC Berkeley 28 Nov
Use of HLT farm and Clouds in ALICE
Volunteer Computing for Science Gateways
Virtualisation for NA49/NA61
NA61/NA49 virtualisation:
Blueprint of Persistent Infrastructure as a Service
Dag Toppe Larsen UiB/CERN CERN,
Progress on NA61/NA49 software virtualisation Dag Toppe Larsen Wrocław
Belle II Physics Analysis Center at TIFR
Dag Toppe Larsen UiB/CERN CERN,
David Cameron ATLAS Site Jamboree, 20 Jan 2017
Virtualisation for NA49/NA61
CernVM Status Report Predrag Buncic (CERN/PH-SFT).
Virtual Machines.
Ivan Reid (Brunel University London/CMS)
Backfilling the Grid with Containerized BOINC in the ATLAS computing
Azure Container Service
Exploit the massive Volunteer Computing resource for HEP computation
Exploring Multi-Core on
Presentation transcript:

1 port BOSS on Wenjing Wu (IHEP-CC)

2 Outline  Volunteer Computing and  How to port BOSS  A big picture  Related technology  Glue together

Volunteer Computing and BOINC Volunteer Computing (VC) is an established technology that enables users to contribute to important challenges in fundamental science and medicine, by providing idle time on their PCs and even partaking in data analysis via the Internet. Berkeley Open Infrastructure for Network Computing (BOINC) is a kind of middleware which allows exploiting the computing resources provided by volunteers. The system currently has more than 300k registered users and 500K registered hosts. Middleware: BOINC, XtremWeb, Xgrid, Grid MP

Basic Model for VC Based BOINC The BOINC client is distributed to volunteer PCs, laptops or Clusters. BOINC client gets the application and input files from server, runs the application and sends the results back to BOINC server The scientist deploys and manages the BOINC server and develops the application BOINC Server BOINC ClientApplication APP Input Job Output/CPU time Control Message

Workflow User submit a (batch of) job(s) to BOINC server 1 BOINC server generates work unites from the submitted jobs BOINC server sends job, input files, application to requesting client Job being executed on the client side, it will suspend if the client hosting machine is “busy”, and continue Job finished, output data being sent back to BOINC server, 2 An Active client requests job from BOINC server

is a BOINC based volunteer computing project based at IHEP-CC Goal: collecting free and large amount of computing resources from volunteers to support scientific computing from CAS and other institutes. Current resource: about11000 registered hosts, 8000 registered computers, roughly 60% of them are active Designed for Multiple application Current application: Scthread Working on porting application: BOSS, LAMMPS

Porting BOSS Challenges: BOSS is heavily platform dependent, but most volunteer computers are windows machine A big code base: several GB, takes long to download Challenges: BOSS is heavily platform dependent, but most volunteer computers are windows machine A big code base: several GB, takes long to download Solution: Virtual Machine is used to run provide BOSS running environment Solution: Virtual Machine is used to run provide BOSS running environment

E BOSS JOB Manage System BOINC Server volunteer computer 1 BOINC Client 1 Create/start /resume VM Migrate BOSS job files to VM Execute BOSS job from host Query job status Pause/stop VM when job finished SQUID CERM VM (Execute BOSS jobs) volunteer computer N BOINC Client N CERM VM (Execute BOSS jobs) CVMFS Server

How it works BOSS jobs are submitted to BOINC server via the current BOSS job manage system BOINC clients run on desktops request jobs from BOINC server, and get jobs. JOB: Create/Start/resume a virtual machine with CernVM image copy BOSS job files to virtual machine shared folder and run it on CernVM Get job status (create a file in shared folder to indicate job status) Finish job, pause/poweroff/remove vm CernVM download /cache BOSS software (only happens once), run BOSS job

Related Technologies BOINC CernVM VirtualBox BOINC CernVM VirtualBox

BOINC Client features:  Sticky file: files remain at client after job is done (vm images)  Report on RPC: client report the presence of files to BOINC server  Locality schedule : jobs are scheduled to where files are located Client features:  Sticky file: files remain at client after job is done (vm images)  Report on RPC: client report the presence of files to BOINC server  Locality schedule : jobs are scheduled to where files are located BOINC Wrapper:  BOINC Wrapper is used to control the start/suspension/resume/finish of the application, and report CPU time.  Application can be rewritten with BOINC API to do so(wrapper is not needed in this case)  For Virtual Machine, the wrapper is to create/start/pause/resume/poweoff the hyper visor(VirtualBox)  BOINC developer has finished a generic VM wrapper BOINC Wrapper:  BOINC Wrapper is used to control the start/suspension/resume/finish of the application, and report CPU time.  Application can be rewritten with BOINC API to do so(wrapper is not needed in this case)  For Virtual Machine, the wrapper is to create/start/pause/resume/poweoff the hyper visor(VirtualBox)  BOINC developer has finished a generic VM wrapper

History of BOINC wrapper  A specific wrapper has been developed for this is VirtualBox and CernVM based. CoPilot is being used to schedule the jobs which is different from our case.  With CoPilot, the wrapper does not have to support host/guest machine file share, and guest control(ie, execute command on guest machine from host machine)  wrapper only support one instance of virtual machine running on a host machine.  BOINC developer works on the generic VM wrapper which is still virtualbox based, but supports guest control and multiple instances of vm on a host machine.  A specific wrapper has been developed for this is VirtualBox and CernVM based. CoPilot is being used to schedule the jobs which is different from our case.  With CoPilot, the wrapper does not have to support host/guest machine file share, and guest control(ie, execute command on guest machine from host machine)  wrapper only support one instance of virtual machine running on a host machine.  BOINC developer works on the generic VM wrapper which is still virtualbox based, but supports guest control and multiple instances of vm on a host machine.

CernVM CernVM is a thin virtual machine image dedicated for LHC experiment users, its basic image is about 250MB, can be run on most Hyper visor (VirtualBox, VMWare, Xen, KVM,Hyper-V server) LHC and other HEP application can be distributed and run easily to different platforms(Linux/Windows/Mac) via Hypervisor+CernVM image Current version is 2.2, it provides 3 types of SLC5 based Linux system image : Desktop, basic and BOINC,earlier versions support SLC4

Software distribution and CVMFS CernVM comes with a network file system CVMFS which delivers the software to CernVM users. CVMFS is mounted to appear as a local file system to CernVM users. Files will be downloaded and cached on demand. CVMFS is like a software repository, it currently supports four LHC experiments (ALICE, ATLAS, CMS and LHCb), as well as other experiments and projects (LCD, NA61, and H1), BOSS has also been deployed CVMFS is http based, no firewall/proxy concerns

CoPilot CernVM comes with a job schedule system CoPilot (PULL model), XMPP protocol based CoPilot Client, run on any machine, submit jobs to CoPilot server CoPilot Server: central service, schedule and deliver jobs/input files to Copilot Agent, receiving output files CoPilot Agent: run on each CernVM machine, executes jobs

VirtualBox Hyper visor. free, open source, has versions for Linux/Windows/Mac Rich command lines to create and control the status of virtual machine: Create vm/ Modify vm/ Start vm Save vm status/Pause vm Resume vm Poweoff vm/ release vm /remove vm List running vms/existing vm instanaces Life cycle:create->start->[pause|resume/save_state]- >poweroff->[remove|release]

Glue all pieces together BOINC VM wrapper is needed to build communication between vm and client. VM wrapper uses guestcontrol (of virtualbox) to execute commands from host machine on guest machine. VM wrapper receives signals from client to decide whether pause/resume virtualbox VM wrapper copies the BOSS related files to a shared folder, so they appear in the virtual machine for execution For multiple vm, wrapper needs to keep track of the status of each vm.

Glue all pieces together Only a basic cernvm image is downloaded by the client, and put in the project directory, if to run multiple instances on a host, each instance should have a clone of the image Input files include image(cermvm, original size 800M), boss scripts and its associated input files. BOSS software is distributed via CVMFS, a local squid is used to cache the repository

19 Thanks! For more information: NC