Distributed Video Rendering using Blender, VirtualBox, and BOINC. Christopher J. Reynolds. Centre for Parallel Computing, University of Westminster.

Slides:



Advertisements
Similar presentations
CSC 360- Instructor: K. Wu Overview of Operating Systems.
Advertisements

Xrootd and clouds Doug Benjamin Duke University. Introduction Cloud computing is here to stay – likely more than just Hype (Gartner Research Hype Cycle.
Chapter 1: Introduction
1 Virtual Machine Resource Monitoring and Networking of Virtual Machines Ananth I. Sundararaj Department of Computer Science Northwestern University July.
Operating systems This work is licensed under a Creative Commons Attribution-Noncommercial- Share Alike 3.0 License. Skills: none IT concepts: popular.
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. 1 Third Edition Chapter 3 Desktop Virtualization McGraw-Hill.
Jaeyoung Yoon Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor.
To run the program: To run the program: You need the OS: You need the OS:
Condor Project Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor.
Enabling Grids for E-sciencE Medical image processing web portal : Requirements analysis. An almost end user point of view … H. Benoit-Cattin,
System Center 2012 Setup The components of system center App Controller Data Protection Manager Operations Manager Orchestrator Service.
Volunteer Computing and Hubs David P. Anderson Space Sciences Lab University of California, Berkeley HUBbub September 26, 2013.
CS 149: Operating Systems April 21 Class Meeting
MobSched: An Optimizable Scheduler for Mobile Cloud Computing S. SindiaS. GaoB. Black A.LimV. D. AgrawalP. Agrawal Auburn University, Auburn, AL 45 th.
1 port BOSS on Wenjing Wu (IHEP-CC)
Connecting OurGrid & GridSAM A Short Overview. Content Goals OurGrid: architecture overview OurGrid: short overview GridSAM: short overview GridSAM: example.
Verify Hardware Requirements Install Windows Server 2008 R2 Configure Active Directory Install SQL Server 2008 Install SharePoint Server 2010 Configure.
GenWrapper: A Generic Wrapper for Running Legacy Applications on Desktop Grids Attila Csaba Marosi Joint EGEE and EDGeS Summer School on.
An Autonomic Framework in Cloud Environment Jiedan Zhu Advisor: Prof. Gagan Agrawal.
Linux in a Virtual Environment Nagarajan Prabakar School of Computing and Information Sciences Florida International University.
The Entropia Virtual Machine for Desktop Grids Brad Calder, Andrew A. Chien, Ju Wang, Don Yang – VEE-2005 Raju Kumar CS598C: Virtual Machines.
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
07:44:46Service Oriented Cyberinfrastructure Lab, Introduction to BOINC By: Andrew J Younge
Simplifying Resource Sharing in Voluntary Grid Computing with the Grid Appliance David Wolinsky Renato Figueiredo ACIS Lab University of Florida.
Module 1: Configuring Windows Server Module Overview Describe Windows Server 2008 roles Describe Windows Server 2008 features Describe Windows Server.
Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
1 Catania, 4 th EEGE User Forum/OGF 25, OurGrid integration with gLite based grids in EELA-2 Francisco Brasileiro Universidade.
Virtualization 3 Subtitle: “What can we do to a VM?” Learning Objectives: – To understand the VM-handling mechanisms of a hypervisor – To understand how.
The EDGeS project receives Community research funding 1 Porting Applications to the EDGeS Infrastructure A comparison of the available methods, APIs, and.
BOINC: Progress and Plans David P. Anderson Space Sciences Lab University of California, Berkeley BOINC:FAST August 2013.
Virtualization One computer can do the job of multiple computers, by sharing the resources of a single computer across multiple environments. Turning hardware.
Cloud Computing Lecture 5-6 Muhammad Ahmad Jan.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Course 03 Basic Concepts assist. eng. Jánó Rajmond, PhD
Find – used to find files corresponding to a certain criteria find starting_dir matching_criteria [options] Examples: find /usr –name startx find /usr.
VIRTUAL MACHINE – VMWARE. VIRTUAL MACHINE (VM) What is a VM? – A virtual machine (VM) is a software implementation of a computing environment in which.
SCI-BUS project Pre-kick-off meeting University of Westminster Centre for Parallel Computing Tamas Kiss, Stephen Winter, Gabor.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Centre for Parallel Computing Tamas Kiss Centre for Parallel Computing A Distributed Rendering Service Tamas Kiss Centre for Parallel Computing Research.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Intro To Virtualization Mohammed Morsi
Harvesting Free Windows CPU Cycles for Linux Applications using Sandboxing Rasmus Andersen Dept. of Computer Science, University of Copenhagen, Denmark.
Andrea Chierici Virtualization tutorial Catania 1-3 dicember 2010
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
Chapter 1: Introduction
Chapter 1: Introduction
Useful Tools for Testing
Volunteer Computing for Science Gateways
Dag Toppe Larsen UiB/CERN CERN,
Dag Toppe Larsen UiB/CERN CERN,
Chapter 1: Introduction
Chapter 1: Introduction
Lecture 24 Virtual Machine Monitors
Containers and Virtualisation
Chapter 1: Introduction
CernVM Status Report Predrag Buncic (CERN/PH-SFT).
Chapter 1: Introduction
Integration of Singularity With Makeflow
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Backfilling the Grid with Containerized BOINC in the ATLAS computing
Chapter 1: Introduction
Chapter 1: Introduction
Presentation transcript:

Distributed Video Rendering using Blender, VirtualBox, and BOINC. Christopher J. Reynolds. Centre for Parallel Computing, University of Westminster.

Material: The general concept and motivations. Choosing a system virtualization technology. Interactions with the hypervisor. Final comments.

Background: University of Westminster Approx 1600 node Windows & BOINC based DG. Runs applications from Enabling Desktop Grids for E-Science (EDGeS). 20 node GPU cluster under construction to run further EDGeS/DEGISCO applications. For most of 2009 we ran a public video/animation rendering service on a dedicated cluster (~256 Nodes).

Blender: Rastorization based rendering of frames; a Bag of Tasks (BoT). Fits the DG model so move from cluster to DG. Uses Blender, a well known animation/image rendering suite. Q: What are Blender’s requirements? A: Python. Q: What other considerations are required for a public service? A: Python scripts can be embedded within Blender input files (Security) Q: How to address these issues? A: Virtualization

Existing Virtualization Solutions Existing solutions use either process virtualization or system virtualization. Process virtualization (using Entropia VM) proposed by Calder et al [1] is tied to Windows as the host OS. VM Wrapper: Generic but more complex and incomplete (Windows Host Support). Marosi et al described proof of concept using QEMU based on features [2]. Q:QEMU/KQEMU now obsolete on Windows, so what next? A:Look at latest feature set and choose something else for a Lightweight solution.

QEMU/KQEMU vs VirtualBox FeatureVirtualBoxQEMUKQEMU X86 guest only.YesNoYes Requires admin privileges to run. No – Add user to allow execution of VBox DCOM service. No Requires admin to install. YesNoYes CPU performance overhead (x86) [3] 20%(SP) 10%(FP) Huge (emulation)100%(SP) 30%(FP) Supports disk overlay/cow images. Yes Guest to Host File I/O (Without Network) Yes (Guest Additions)No Monitor/Hypervisor interface. COMSockets Windows supportYesYes (Partial)Obsolete

Solution: A Lightweight VM Controller. Host/DG Node DG (BOINC) Server BOINC Core Client VM (Guest) Disk image (guest OS), VM config file, inputs. Instantiate VM and transfer inputs React to messages: suspend, resume, abort Transfer outputs VM Controller (standard BOINC job) Start VBox Hypervisor Transfer outputs

VirtualBox Hypervisor/Monitor Control VM Controller (C++ Boinc application) Win32 CreateProcess() or fork() to VboxManage cmdln tool. COM preferable. (COM)

VM Controller Two Threads. Worker launches unzipper (lzma), prepares VM config files, creates I/O shared directories, polls for Job completion. Monitor thread deals with messages and VM control. VM Controller (C++ Boinc application)

Worker Thread

Monitor Thread

VM Worker Script: Blender echo 15 > /proc/$$/oom_adj echo "Setting oom_adj to 15 for PID=$$" case "$1" in start) mkdir /mnt/share mount -t vboxsf Shared /mnt/share mkdir /mnt/share/Outputs swapon /dev/sda swapon /dev/sdb START_FRAME=`cat /mnt/share/input.txt | head -1 ` END_FRAME=`cat /mnt/share/input.txt | head -2 |tail -1 ` sudo –u blender_user sh -c "blender -b /mnt/share/input.blend -o /mnt/share/Outputs/Frame-# -F PNG -x 0 -s $START_FRAME -e $END_FRAME –a” echo $? > /mnt/share/Outputs/blender_return.log echo "Finished Rendering Application" ;;

Further Comments We adhere to the “one VM per Workunit” model. Our BOINC user account has restricted permissions. This means VirtualBox.xml and MachineDefinition.xml are loaded from C:\Windows\system32\config\systemprofile\.VirtualBox Single xml file location restricts us to one WU per node. Proof of concept, though proposed roll out soon (late 2010).

References [1]Calder, B., Chien, A., & Yang, J. W. D. (2005). The entropia virtual machine for desktop grids. In VEE ’05: Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments (pp. 186–196). [2]Marosi, A., Kacsuk, P., Fedak, G., & Lodygensky, O. (2010). Sandboxing for Desktop Grids using Virtualization. In The 18th Euromicro International Conference on Parallel, Distributed and Network-Based Computing. [3] P. Domingues and F. Araujo and L. Silva. (2009) Evaluating the performance and intrusiveness of virtual machines for desktop grid computing. In IPDPS '09: Proceedings of the 2009 IEEE International Symposium on Parallel & Distributed Processing. Questions?