CS.491.S13: Lab 1: Virtualization: Peter Bui
CS.491.S13: Lab 1: Virtualization: Peter Bui
Peter Bui
Department of Computer Science
University of Wisconsin - Eau Claire
Eau Claire, WI, USA
[email protected]
ABSTRACT 2. BITBUCKET
In this lab assignment, you will be benchmarking various All of your work must be tracked using Mercurial and hosted
Amazon EC2 instance types and reporting your findings by on Bitbucket. In order for the instructor to know about your
producing a LATEX article. You may work in groups of one repositories, you must signup for Bitbucket if you don’t al-
or two and must submit your final report via Bitbucket. ready have an account and fork the CS.491.S13.lab1 reposi-
tory.
Keywords To work on your project, you will want to clone this fork
benchmarking; cloud computing; amazon ec2; virtualization to a local machine and then periodically commit and push
your changes back to Bitbucket. Note, you should only track
source files and not files that are generated. For instance,
1. OBJECTIVES you want to track the tex files, but not the generated .pdf
The overall goals of this lab assignment are:
file. You may also want to track any scripts you create along
with any graphs and figures you construct.
1. Benchmark various Amazon instance types to deter- Here are some resources for those unfamiliar with Mercurial:
mine how performance scales with the different virtual
machine options.
1. Learning Mercurial in Workflows.
2. Record and submit your work using Mercurial and Bit-
bucket. 2. Hg Init: A Mercurial Tutorial.
3. Report your findings in an article typeset using LATEX. 3. Mercurial: The Definitive Guide.
This lab involves re-creating some of the Xen[1] results by 3. AMAZON WEB SERVICES
benchmarking different Amazon EC2 instances. First, you For this assignment, you are to benchmark various Amazon
will be creating a Bitbucket account and cloning the reposi- EC2 instances (micro, small, medium, and large). To access
tory for this lab assignment. Next, you will familiarize your- Amazon EC2, you will need to utilize the UWEC-DPL login
self with Amazon Web Services and launch an Amazon EC2 link:
instance. After this, you will organize into groups and dis-
cuss what sort of benchmarks you wish to do on Amazon https://uwec-dpl.signin.aws.amazon.com/console
EC2. Once you have conducted these benchmarks, you will
then do a write-up about your experiements using LATEXand The username is your UWEC username, and the password
submitting your final work on Bitbucket. is whatever you decided when you registered in class. If you
forget your password, simply see me and we can reset it.
For this lab, you may work in groups of one or two. A
single final submission for this assignment is due Tuesday, Once logged in to the Amazon Management console, you
February 26, 2013. basically have access to all of the Amazon Web Services in-
clude EC2. Use the EC2 dashboard to create launch virtual
machine instances as required. The choice of Linux oper-
ating system and software configuration is up to you; that
said the most popular one with the most documentation is
like to be Ubuntu LTS.
http://www.youtube.com/watch?v=JPFoDnjR8e8
I recommend that you practice with the micro-tier instances lab description document is an example of a LATEX docu-
first as these do not cost us any money. Once you are ment.
comfortable with starting and stopping micro-instances, go
ahead and try to start the larger ones. In your report, answer the following questions:
Note: be sure to turn off any instances once you are done
using them to avoid excessive charges on the UWEC-DPL 1. Describe your overall approach and method to bench-
account. marking the Amazon EC2 instances.
2. What benchmark applications did you choose and why?
4. BENCHMARKS Specifically, what do these tests do and what do their
After you are done practicing launching and stopping virtual results tell us about the system?
machine instances, you will need to perform some bench-
3. What issues if any did you have in performing these
marking of the different Amazon EC2 instances: micro, small,
benchmarks? How did you overcome these challenges?
medium, and large.
4. What are the CPU, memory, and disk characteristics
For each of these instances you need to perform one of each of each of the VM instances? Include a table that
of the following types of benchmarks: summarizes these properties.
CPU Primarily CPU-bound application 5. What were the results of your benchmarks? For each
Dhrystone, Whetstone, SuperPi, Linpack benchmark show a graph or plot of the results and
IO Primarily IO-bound application describe what happened. Were any of the results sur-
bonnie++, iozone, hardinfo prising, why or why not?
Mixed A mix of CPU and IO
6. Given the results of your benchmarking and what you
Build Linux, untar large archive
know of virtualization, what sort of applications are
well-suited for Amazon EC2? What applications would
For each instance type, you should bring up 5 instances of
not be a good fit?
that type and execute your selected benchmarks at least 5
times. That means for each instance type, you will need to
run 5 × 5 = 25 benchmarking samples for each test. Your assignment will be graded on presentation and content.
While you can decide to select individual tests for each of the
categories, you may also be interested in simply utilizing a 6. REFERENCES
suite of benchmarks such as the one provided by Phoronix. [1] P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris,
If you use this, be sure to select at least three tests that A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen
satisfy the categories above (CPU, IO, Mixed). and the art of virtualization. In Proceedings of the
nineteenth ACM symposium on Operating systems
In addition to running these benchmarks, you should also principles, SOSP ’03, pages 164–177, New York, NY,
report the characterists of your virtual machines. That is, USA, 2003. ACM.
look at /proc/cpuinfo and report what type of CPU each
VM has. Likewise, analyze /proc/meminfo for information
about memory and df for information about storage.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/
creating-an-ami.html
Once you have your own custom AMI pre-loaded with your
benchmarking scripts, you can then just create different
sized instances of this image to execute and collect your
benchmark data.
5. PAPER
To present your findings, you are to write a lab report on
your benchmarks using LATEX and the ACM template. This