Carrying Your Environment With You or Virtual Machine Migration Abstraction for Research Computing.

Slides:



Advertisements
Similar presentations
An Overview Of Virtual Machine Architectures Ross Rosemark.
Advertisements

User-Mode Linux Ken C.K. Lee
SLA-Oriented Resource Provisioning for Cloud Computing
Krotíme dinosaury JAVA EE, Spring, GWT a Agile na Mainframu Igor Kopřiva Roman Štrobl Zdeněk Stupňánek.
2 © 2004, Cisco Systems, Inc. All rights reserved. IT Essentials I v. 3 Module 4 Operating System Fundamentals.
Keith Wiles DPACC vNF Overview and Proposed methods Keith Wiles – v0.5.
Amoeba Distributed Operating System James Schultz CPSC 550 Spring 2007.
Lecture 1: History of Operating System
Computer Forensics Principles and Practices by Volonino, Anzaldua, and Godwin Chapter 6: Operating Systems and Data Transmission Basics for Digital Investigations.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #29-1 Chapter 33: Virtual Machines Virtual Machine Structure Virtual Machine.
The Origin of the VM/370 Time-sharing system Presented by Niranjan Soundararajan.
AN INTRODUCTION TO LINUX OPERATING SYSTEM Zihui Han.
DIRAC API DIRAC Project. Overview  DIRAC API  Why APIs are important?  Why advanced users prefer APIs?  How it is done?  What is local mode what.
Condor Project Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor.
Measuring zSeries System Performance Dr. Chu J. Jong School of Information Technology Illinois State University 06/11/2012 Sponsored in part by Deer &
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Debugging techniques in Linux Debugging Techniques in Linux Chetan Kumar S Wipro Technologies.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Track 1: Cluster and Grid Computing NBCR Summer Institute Session 2.2: Cluster and Grid Computing: Case studies Condor introduction August 9, 2006 Nadya.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
02/09/2010 Industrial Project Course (234313) Virtualization-aware database engine Final Presentation Industrial Project Course (234313) Virtualization-aware.
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
GAAIN Virtual Appliances: Virtual Machine Technology for Scientific Data Analysis Arihant Patawari USC Stevens Neuroimaging and Informatics Institute July.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
MDC323B SMB 3 is the answer Ned Pyle Sr. PM, Windows Server
UNIX & Windows NT Name: Jing Bai ID: Date:8/28/00.
CoreGRID Workpackage 5 Virtual Institute on Grid Information and Monitoring Services Michał Jankowski, Paweł Wolniewicz, Jiří Denemark, Norbert Meyer,
Full and Para Virtualization
Introduction Why are virtual machines interesting?
TI Information – Selective Disclosure Implementation of Linear Algebra Libraries for Embedded Architectures Using BLIS September 28, 2015 Devangi Parikh.
Chapter Eleven Windows XP Professional Application Support.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Jaime Frey Computer Sciences Department University of Wisconsin-Madison Condor and Virtual Machines.
Microsoft ® Official Course Module 6 Managing Software Distribution and Deployment by Using Packages and Programs.
CEG 2400 FALL 2012 Windows Servers Network Operating Systems.
CEG 2400 FALL 2012 Linux/UNIX Network Operating Systems.
Status report of the new NA60 “cluster” Our OpenMosix farm will increase our computing power, using the DAQ/monitoring computers. NA60 weekly meetings.
Claudio Grandi INFN Bologna Virtual Pools for Interactive Analysis and Software Development through an Integrated Cloud Environment Claudio Grandi (INFN.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Overview of today’s lecture Major components of an operating system Structure and internal architecture of an operating system Monolithic Vs Micro-kernels.
© 2010 VMware Inc. All rights reserved Why Virtualize? Beng-Hong Lim, VMware, Inc.
Workspace Management Services Kate Keahey Argonne National Laboratory.
Computer System Structures
Virtualization.
Before You Begin Nahla Abuel-ola /WIT.
Memory COMPUTER ARCHITECTURE
Dag Toppe Larsen UiB/CERN CERN,
Dag Toppe Larsen UiB/CERN CERN,
Software Architecture in Practice
Chapter 2: Operating-System Structures
Spark Presentation.
Unit OS2: Operating System Principles
CSC 480 Software Engineering
CS490 Windows Internals Quiz 2 09/27/2013.
A BRIEF INTRODUCTION TO UNIX OPERATING SYSTEM
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Haiyan Meng and Douglas Thain
Chapter 2: System Structures
Operating Systems Structure
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
February 16th, 2004 Class Meeting 5
Presentation transcript:

Carrying Your Environment With You or Virtual Machine Migration Abstraction for Research Computing

Many research computing tools have specific environment requirements. Libraries Filesystem structure Kernel flags or settings Root access or tools These requirements can limit the systems that an application can be run on. Thus, it is desirable to have a reasonably transparent way for users to migrate applications to remote systems that will run on predictable virtual systems – either to increase performance or to provide a required capability.

A command line interface that requires no more data than a normal Condor user will provide, but which allows virtual machines to be easily integrated into distributed jobs. This requires: A compatibility assessment tool A UML migration and preparation subsystem Test and verification capabilities

Perl commandline interface Flags allow control of virtual machine deployment requirements User Mode Linux virtual machines Pre-built VM allows user to simply specify application and data which will be attached to the VM and deployed User space execution makes VM very portable Provides known hardware/software configuration for applications that are sensitive to these variables. Condor Job distribution framework allows us to treat UML VMs as applications which run tasks. Master/Worker control or other batch systems are a viable alternative.

Do user-mode virtual machines have reasonable performance for this purpose? What costs are incurred in migration? What elements are critical to determine if an environment is similar enough? How do you migrate Virtual Machines without serious bandwidth issues? How effectively can VM migration be abstracted, and how much must a user know about their requirements?

We have presumed that it is reasonable to expect that a researcher will know their application’s general requirements. Architecture, specific libraries, etc. There are many possible ways to measure compatibility, so a flexible syntax must be provided Simple checks, such as Linux version More complex checks such as specific library versions Kernel settings Memory and tmpfs A method to specify “required” versus “report differences” is desirable in some circumstances.

VMNative grep “GAATTCATTCCTACCTGGGT” M.fastq | wc –l M.fastq = 3.2 GB text file MachineVMNativeSlowdown 8-core, 64-bit core, 32-bit core, 64-bit

VM 463 s. average 320 s. average Native 128 s. average 194 s. average Research workload – 32-bit application comparing an 8kb file against ~5GB MachineVMNativeSlowdown 8-core, 64-bit core, 32-bit core, 64-bit

Data and VM decompression outweigh transfer on fast networks, and vice versa on slow networks. For performance, jobs should only be run in VM if the job length exceeds total cost of transfer and initialization after accounting for slowdown and the number of machines is larger than the slowdown ratio for that job. In general, once you have accounted for this:

Improve compatibility checks Investigate optimized VM migration/provisioning methods (support for COW where distributed filesystems are available) Investigate use of the Master/Worker paradigm to improve distribution and workload capability Build method to handle “Ignorant” users by providing automating testing of applications in a very limited manner. Test the application in available VMs, and verify results for the sample, then deploy in that mode.

Distributed filesystems allow massive improvements in initialization speed and data distribution times. UML supports COW – a method that allows a single VM filesystem to be shared by many VMs. HostFS support means that the VM doesn’t have to be aware of the network or the filesystem itself. Advantages of Master/Worker vs. normal Condor On job completion, Condor will remove the VM, requiring re-distribution if all tasks are not completed in a single use of the VM.