Homework Problems 183
[62] M. Steinder, I. Whalley, et al., Server virtualization in autonomic management of heterogeneous
workloads, ACM SIGOPS Oper. Syst. Rev. 42 (1) (2008) 94–95.
[63] M. Suleman, Y. Patt, E. Sprangle, A. Rohillah, Asymmetric chip multiprocessors: balancing hardware effi-
ciency and programming efficiency, (2007).
[64] Sun Microsystems. Solaris Containers: Server Virtualization and Manageability, Technical white paper,
September 2004.
[65] SWsoft, Inc. OpenVZ User’s Guide, [Link] 2005.
[66] F. Trivino, et al., Virtualizing netwoirk on chip resources in chip multiprocessors, J. Microprocess.
Microsyst. 35 (2010). 245–230 [Link]
[67] J. Xu, M. Zhao, et al., On the use of fuzzy modeling in virtualized datacenter management, in: Proceed-
ings of the 4th International Conference on Autonomic Computing (ICAC07), 2007.
[68] R. Ublig, et al., Intel virtualization technology, IEEE Comput., (May) (2005).
[69] H. Van, F. Tran, Autonomic virtual resource management for service hosting platforms, CLOUD
(2009).
[70] A. Verma, P. Ahuja, A. Neogi, pMapper: Power and migration cost aware application placement in
virtualized systems, in: Proceedings of the 9th International Middleware Conference, 2008, pp. 243–264.
[71] VMware (white paper). Understanding Full Virtualization, Paravirtualization, and Hardware Assist,
[Link]/files/pdf/VMware_paravirtualization.pdf.
[72] VMware (white paper). The vSphere 4 Operating System for Virtualizing Datacenters, News release,
February 2009, [Link]/products/vsphere/, April 2010.
[73] J. Walters, et al., A comparison of virtualization technologies for HPC, in: Proceedings of Advanced
Information Networking and Applications (AINA), 2008.
[74] P. Wells, K. Chakraborty, G.S. Sohi, Dynamic heterogeneity and the need for multicore virtualization,
ACM SIGOPS Operat. Syst. Rev. 43 (2) (2009) 5–14.
[75] T. Wood, G. Levin, P. Shenoy, Memory buddies: Exploiting page sharing for smart collocation in virtua-
lized data centers, in: Proceedings of the 5th International Conference on Virtual Execution Environments
(VEE), 2009.
[76] J. Xun, K. Chen, W. Zheng, Amigo file system: CAS based storage management for a virtual cluster system,
in: Proceedings of IEEE 9th International Conference on Computer and Information Technology (CIT),
2009.
[77] Y. Yu, OS-level Virtualization and Its Applications, Ph.D. dissertation, Computer Science Department,
SUNY, Stony Brook, New York, December 2007.
[78] Y. Yu, F. Guo, et al., A feather-weight virtual machine for windows applications, in: Proceedings of
the 2nd International Conference on Virtual Execution Environments (VEE), Ottawa, Canada, 14–16
June 2006.
[79] M. Zhao, J. Zhang, et al., Distributed file system support for virtual machines in grid computing, in:
Proceedings of High Performance Distributed Computing, 2004.
HOMEWORK PROBLEMS
Problem 3.1
Briefly answer the following questions on virtualization levels. Highlight the key points and identify
the distinctions in different approaches. Discuss their relative advantages, shortcomings and limita-
tions. Also identify example systems implemented at each level.
184 CHAPTER 3 Virtual Machines and Virtualization of Clusters and Data Centers
Problem 3.2
Explain the differences between hypervisor and para-virtualization and give one example VMM
(virtual machine monitor), that was built in each of the two categories.
Problem 3.3
Install the VMware Workstation on a Windows XP or Vista personal computer or laptop, and then
install Red Hat Linux and Windows XP in the VMware Workstation. Configure the network settings
of Red Hat Linux and Windows XP to get on the Internet. Write an installation and configuration
guide for the VMware Workstation, Red Hat Linux, and Windows XP systems. Include any trouble-
shooting tips in the guide.
Problem 3.4
Download a new kernel package from [Link]/. Compile it in Red Hat Linux in the VMware
Workstation installed in Problem 3.3 with Red Hat Linux on a real computer. Compare the time required
for the two compilations. Which one takes longer to compile? What are their major differences?
Problem 3.5
Install Xen on a Red Hat Linux machine in two methods from the binary code or from the source
code. Compile installation guides for the two methods used. Describe the dependencies of utilities
and packages along with troubleshooting tips.
Problem 3.6
Install Red Hat Linux on the Xen you installed in Problem 3.5. Download nbench from [Link]
.org/~mayer/linux/[Link]. Run the nbench on the VM using Xen and on a real machine. Com-
pare the performance of the programs on the two platforms.
Problem 3.7
Use the utilities for easing deployment of Google enterprise applications in VMs. The Google-vm-
deployment tool can be downloaded from [Link]
Problem 3.8
Describe the approaches used to exchange data among the domains of Xen and design experiments
to compare the performance of data communication between the domains. This is designed to famil-
iarize you with the Xen programming environment. It may require a longer period of time to port
the Xen code, implement the application code, perform the experiments, collect the performance
data, and interpret the results.
Problem 3.9
Build your own LAN by using the VMware Workstation. The topological structure of the LAN is
specified in Figure 3.31. Machine A is required to install Red Hat Linux while machine B is
required to install Windows XP.
Homework Problems 185
[Link] [Link]
LAN 1 The router LAN 2
Machine A Machine B
External gate way: [Link]
Internal gate way: [Link]
FIGURE 3.31
The topological structure of the virtual LAN.
Problem 3.10
Study the relevant papers [33,63,74] on asymmetric or heterogeneous chip multitprocessors (CMP).
Write a study report to survey the area, identify the key research issues, review the current develop-
ment and open research challenges lying ahead.
Problem 3.11
Study the relevant papers [17,28,30,66] on network on chip (NoC) and virtualization of NoC
resources for multi-core CMP design and applications. Repeat Problem 3.10 with a survey report
after the research study.
Problem 3.12
Hardware and software resource deployment are 4 often complicated and time-consuming.
Automatic VM deployment can significantly reduce the time to instantiate new services or
reallocate resources depending on user needs. Visit the following web site for more informa-
tion. [Link]
mager. Report your experience with automatic deployment using the SystemImager and
Xen-tools.
Problem 3.13
Design an experiment to analyze the performance of Xen live migration for I/O read-intensive appli-
cations. The performance merits include the time consumed by the precopy phase, the downtime,
the time used by the pull phase, and the total migration time.
Problem 3.14
Design an experiment to test the performance of Xen live migration for I/O write-intensive applica-
tions. The performance metrics include the time consumed by the precopy phase, the downtime,
the time used by the pull phase, and the total migration time. Compare the results with those from
Problem 3.13.
186 CHAPTER 3 Virtual Machines and Virtualization of Clusters and Data Centers
Problem 3.15
Design and implement a VM execution environment for grid computing based on VMware Server.
The environment should enable grid users and resource providers to use services that are unique to
a VM-based approach to distributed computing. Users can define customized execution environ-
ments which can then be archived, copied, shared, and instantiated as multiple runtime clones.
Problem 3.16
Design a large-scale virtual cluster system. This problem may require three students to work together for
a semester. Assume that users can create multiple VMs at one time. Users can also manipulate and
configure multiple VMs at the same time. Common software such as OS or libraries are preinstalled as
templates. These templates enable users to create a new execution environment rapidly. Finally, you
can assume that users have their own profiles which store the identification of data blocks.
Problem 3.17
Figure 3.32 shows another VIOLIN adaptation scenario for changes in virtual environments. There
are four VIOLIN applications running in two cluster domains. Trace the three steps of VIOLIN job
execution and discuss the gains in resource utilization after live migration of the virtual execution
Without adaptation With adaptation VIOLIN 1 VIOLIN 3
Domain 1 Domain 2 Domain 1 Domain 2
VIOLIN 2 VIOLIN 4
1. Initially VIOLIN
1, 2, 3, 4 are computing.
Time
2. VIOLIN 3 is finished.
VIOLIN 1 runs less CPU
demanding application.
3. After adaptation
FIGURE 3.32
An adaptation scenario with four VIOLINs running in two cluster domains in the VIOLIN Virtual clustering
experiments.
(Courtesy of P. Ruth, et al. [55] )
Homework Problems 187
environment in the two cluster domains. You can check your results against the cited paper to
compare your observations.
Problem 3.18
After studying the material presented in Section 3.3.5, plus reading the papers by Wells, et al. [74]
and by Marty and Hill in [39] answer the following two questions:
a. Distinguish virtual cores from physical cores and discuss the mapping technique in Wells’s
paper on upgrading resource utilization and fault tolerance in using virtualized multicore
processors.
b. Study the cache coherence protocol presented in the Marty and Hill paper and discuss its
feasibility and advantages to implement on many-core CMP in the future.