CS695 Topics in Virtualizatioan and Cloud Computing Autumn 2014 --------------------------------------------------- Assignment #2 due date: Part 1: Familiarziation with virtualization setups ------ As part of this setup you are expected to work with a virtualization platform, get to speed with its management tools, create/destroy/reconfigure virtual machines, get familiar with tool set available for measurements. Following steps are required: 1. Choose a virtualization platform---Xen or kvm. Note: kvm works in hardware-virtualization mode and needs hardware support for running virtual machines. Get familiar with tools required to setup VMs and also to change their configurations. e.g., - create VMs with different memory sizes. - allocate different amounts of CPU to the VM and verify that higher capacity is utilized. 2. Run a workload within a virtual machine, could be any workload. A partial possible list is workloads related to file I/O, memory benchmarks of CPU benchmarks or you can write your own test program. Aim: Test whether virtualization affects performance of benchmarks and also quantify overheads due to virtualization. e.g., if a file/disk I/O is executed on a native systems vs. if the benchmark is executed inside a VM, is performance impacted? also, what are corresponding virtualization overheads? Need to familiarize with tools to measure benachmark performance numbers and resource utilization-related measurements in virtualization scenarios. 3. Turn in description of Step 2, workload setup, design of experiment, results, observarions and inferences. Part 2: Working with VMs and VMMs. ------ In this part you are supposed to implement one of the following, (i) Implement *new* hypercalls on the Xen platform. First, present a motivation/use-case that will require new hypercalls to be implemented. Then state, if the hypercall describe how it can be used and sample procedures for the same. The aim is to implement at least two hypercalls, generate test cases to demonstrate correctness of implementation, design a set of experiments to demonstrate the usefulness of the new calls. (ii) Use the kvm platform to design and implement solutions for virtualization related problem scenarios. Your solution should start with a usage scenario, requirements, problem statement and description, design details, methodology and approach and detailed experimentation. Sample list of projects are here: http://www.cse.iitb.ac.in/~puru/courses/autumn14/cs695/assignments/kvm-projects.txt http://www.cse.iitb.ac.in/~puru/courses/spring12/cs695/projects.html http://www.cse.iitb.ac.in/~puru/courses/spring11/cs620/projects.txt (note: some of these can be executed on the Xen platform as well.) (iii) Any other virtualization related problem that involves non-trival design, coding and experimentation. *Requires* instructors consent. Submission guidelines: TBA ---------------------