1 / 20

The use of Virtualization for Software Development and Testing

The use of Virtualization for Software Development and Testing. Xenios Papademetris Departments of Diagnostic Radiology and Biomedical Engineering Yale University. Structure of Presentation. Part I Review supplement project progress Part II Describe virtualization

tracen
Download Presentation

The use of Virtualization for Software Development and Testing

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. The use of Virtualization for Software Development and Testing Xenios Papademetris Departments of Diagnostic Radiology and Biomedical Engineering Yale University

  2. Structure of Presentation • Part I • Review supplement project progress • Part II • Describe virtualization • Show how we use it at Yale

  3. Available at: www.bioimagesuite.org

  4. Supplement Grant Background • Yale PET Center database system has been developed over last 5 years (Yale/NIH) • Keeps track of • Images • Processing Details • Charging • Amount of Injections each patient has had • Integrated with Scanners for direct import of DICOM data • Enables the management of large studies and the reporting on the current state of the analysis

  5. Aims of Supplement • Generalize server to better handle fMRI data as well as PET • Document server • Provide a VTK-based library for interfacing to the server • Distribute server setup as a virtual machine for turn-key installation • Key Note: The server stores image filenames not images, hence total storage demands are low (<30MB for Yale PET Center)

  6. Library Mostly Done • A number of custom classes to map key tables • E.g. vtkbisPatient, vtkbisInjection • Leverages vtkMySQL interface • Demo Application below is about 100 lines of TCL

  7. Virtual Server Applicance • Our goal is to (as an option) Distribute server setup as a virtual machine for turn-key installation • Database server installation is complex • Many dependencies • Virtual machines allow a completely configured server to be downloaded in “a box”

  8. Virtualization • Allows a “guest” machine to run inside a “host” machine • Most commonly used setup is VMware (server/player/workstation) • Other options • Parallels (especially on Mac OS X) • Microsoft Virtual PC • XEN • QEMU • KVM

  9. How does it work in practise? • Easiest and cheapest way (i.e. free) • Install VMware Server (preferably on Linux) • Within this create virtual machine with virtual processors, virtual memory , virtual disk etc. • Install guest OS in virtual machine • This last process if practically identical to installing OS on actual computer (only faster)

  10. Example Setup (VMware Server on Linux)

  11. Our Testing Setup This is our test database server

  12. Virtualization Selling Points (From vmware.com) • Host legacy applications and overcome platform migration issues • Configure & test new software or patches in an isolated environment • Automate tasks for software development and testing • Demonstrate multi-tier configurations on a single PC

  13. Benefits I • Virtual Machines allow for completely controlled environments • Minimal software installation • (e.g. Windows 2000, Visual Studio 2003.NET, Emacs, Subversion, base libraries) • No unnecessary stuff that might interfere with development (especially on Windows) • Easy backup (a set of files) • Snapshots etc • Try upgrade if fails, can revert back to original config

  14. Benefits II • Allow for complex setups to become hardware independent and move from server to server • BioImage Suite subversion server runs off a virtual machine • If we need to migrate it to a more powerful server the virtual machine can simply be “copied” over preserving all its configuration as is. • Upgrades to base server do not affect virtual server.

  15. Benefits III • Allows for testing/development on more OS than one has machines available or desire to have on a desktop • E.g. we still compile on Windows 2000 but have no physical Windows 2000 machine around • Multiple versions of Linux – our cluster runs Centos 5 but we have Debian/Ubuntu/Fedora/RedHat virtual machines • Nobody wants Solaris on a desktop …

  16. Limitations • Accelerated Graphics • No Open GL acceleration in a virtual machine hence display is slow • Solution (for Unix) – set the DISPLAY variable to point to a “real” machine • No MacOS X guests possible (Apple license is horribly restrictive) • Possible workaround – use OpenDarwin as a platform – this is painful however • Still naturally need legal licenses for Windows virtual machines.

  17. Uses of Virtualization in BioImage Suite • Testing -- most of the dashboard below comes from various virtual machines • Development – e.g. different compilers • Problem Solving (e.g. User reports that BioImage Suite will not run of Fedora Core 8)

  18. Uses in the Community • FSL on windows ships as a virtual machine • i.e. instead of FSL for windows you get FSL on Linux bundled with a linux virtual machine • Lots of appliances (e.g. safe browsing applicance etc)

  19. Conclusions • Virtualization is a powerful tool for software development • Can save on number of machines needed for proper testing • Useful for “controlled” software development • Little or not cost, easy learning curve • Can also be very useful in server partitioning http://www.virtualization.info/

  20. Acknowldgments • R01EB006494

More Related