1 / 15

Carrying Your Environment With You or

Carrying Your Environment With You or Virtual Machine Migration Abstraction for Research Computing. The Problem: Environment Portability. Many research computing tools have specific environment requirements. Libraries Filesystem structure Kernel flags or settings Root access or tools

thuy
Download Presentation

Carrying Your Environment With You or

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. The Problem: Environment Portability • 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.

  3. The Solution: A Virtual Machine Deployment Abstraction Framework 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

  4. The Recipe: • 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.

  5. Condor Overview

  6. Key Issues • 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?

  7. Abstracting Virtual Machine Migration • 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.

  8. Results: Compatibility Checks

  9. VM Performance – synthetic workload VM Native grep “GAATTCATTCCTACCTGGGT” M.fastq | wc –l M.fastq = 3.2 GB text file

  10. VM Performance – research workload VM Native • 463 s. average • 320 s. average • 128 s. average • 194 s. average Research workload – 32-bit application comparing an 8kb file against ~5GB

  11. Results: Migration and Initialization

  12. Results: User Interface for VM abstraction • 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:

  13. Next Steps • 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.

  14. Questions?

  15. VM Migration on Batch Systems • 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.

More Related