scispace - formally typeset

Proceedings ArticleDOI

A classification of middleware to support virtual machines adaptability in IaaS

03 Dec 2012-pp 5

TL;DR: This work reviews the main approaches for adaptation and monitoring in virtual machines deployments, their tradeoff, and their main mechanisms for resource management, and proposes a classification framework that, when applied to a group of systems, can help visually in determining their similarities and differences.

AbstractThe Infrastructure-as-a-Service (IaaS) model makes extensive use of virtualization to achieve workload isolation and efficient resource management. In general, the underlying supporting technologies are virtual machines monitors (e.g. hypervisors). Isolation is a static mechanism, relying on hardware or operating system support to be enforced. On the other hand, resource management is dynamic and middleware must be employed to adapt VMs in order to fit their guest's needs.Although the services offered by virtual machines are used or extended in several works in the literature, the community lacks an organized and integrated perspective of the mechanisms and strategies regarding resource management and focusing on adaptation, which would allow for an effective comparison on the quality of the adaptation process.In this work we review the main approaches for adaptation and monitoring in virtual machines deployments, their tradeoff, and their main mechanisms for resource management. We frame them into the control loop (monitoring, decision and actuation). Furthermore, we propose a classification framework that, when applied to a group of systems, can help visually in determining their similarities and differences.

Topics: Resource management (59%), Virtual machine (59%), Virtualization (57%), Hypervisor (57%), Middleware (56%)

Summary (3 min read)

1. INTRODUCTION

  • Virtual machines (VM) are being used today both at the system and programming language level.
  • Nevertheless, other resources such as storage and network are also target of adaptation.
  • Virtual machines are not only a isomorphism between the guest system and a host [14], but a powerful software layer that can adapt its behavior, or be instructed to adapt, in order to transparently improve their guests’s performance, minimizing the virtualization cost.
  • As a consequence, monitoring, control and enforcement are applied in a way that have different impacts.

2. VIRTUAL MACHINES FUNDAMENTALS

  • IBM goal was to provide better isolation among different users, providing virtual machines to each one.
  • The CP controlled the resource provision and the CMS delivered the services to the end user underpinned on these resources.
  • The same architecture can be found in modern System VMs [3] where CP’s role is given to the virtual machine monitor (VMM).
  • The systems discussed in Section 5 are based on the building blocks presented here, extending them towards self-adaptation based on resource usage.

2.1 Computation as a resource

  • In a VM, virtualization of computation concerns two distinct aspects: i) the translation of instructions if the guest and host use a different Instruction Set Architecture (ISA) ii) the scheduling of virtual CPUs to a physical CPU (or CPU core on Symmetric Multiprocessors - SMP).
  • Adaptation in binary, and byte code translation, is achieved by changing the translation technique (i.e. interpretation or compilation) and by replacing code previously translated with a more optimized one.
  • A VMM scheduler has additional requisites when compared to the OS scheduler, namely the capacity to enforce a resource usage specified at the user’s level.
  • To achieve this, the CPU scheduler must take into account the share (or weight) given to each VM and make scheduling decisions proportional to this share [6].
  • In these schedulers, shares are not directly seen by the end user making it hard to define a high level resource management policy.

2.2 Memory as a resource

  • Memory is virtualized with a goal: give the illusion that guests have an virtually unbounded address space.
  • An extra level of indirection is added to the already virtualized environment of the guest operating systems.
  • This decision might have a poor performance impact.
  • If the wrong choice is made, the guest OS will soon need to access the reclaimed page, resulting in wasted time.
  • Another issue related to memory management in the VMM is the sharing of machine pages between different VMs.

3. ADAPTATION TECHNIQUES USED IN IAAS SYSTEMS

  • In a software system, adaptation is regulated by monitoring, analyzing, deciding and acting [11].
  • The monitor phase collects data from sensors.
  • The decision phase determines what needs to be changed.
  • Decisions made inside or outside the VM determine the complexity of the process.
  • The adaptation process can be internal, driven by profiling made exclusively inside of the VMM, or external, which depends on application’s events such as the number of pending requests.

3.1 CPU Management

  • To enforce the weight assigned to each VM, the hypervisor has to monitor the time of CPU assigned to each VCPUs of a VM, decide which VCPU(s) will run next, and assign it to a CPU [3, 6].
  • An example of an inside and outside management strategy is the one employed by systems that monitor events outside the hypervisor (e.g. operating systems load queue, application level events) [17, 12], use their own control strategy, such as linear optimization, control theory [10] or statistical methods [7].
  • Nevertheless, such systems act on mechanisms inside the hypervisor (e.g. weight assigned to VMs, number of VCPUs).

3.2 Memory Management

  • The memory manager virtualizes hardware pages and determines how they are mapped to each VM.
  • To establish which and how many pages each VM is using, the VMM can monitor page’s utilization using either whole page or sub-page scope.
  • Application performance (either by modification of the application or external monitoring) is also considered [8].
  • Decisions regarding memory pages allocation to each VM are made using i) shares [15], ii) history pattern [16] or iii) linear programming [8].
  • After deciding that a new configuration must be applied to a set of VMs, the VMM can enforce i) page sharing [15] or ii) page transfer between VMs.

3.3 Adaptation loop techniques

  • Figure 2 presents the techniques used in the adaptation loop.
  • They are grouped into the two major adaptation targets, CPU and memory, and then into the three major phases of the adaptability loop.

4. CLASSIFICATION FRAMEWORK

  • To understand and compare different adaptation processes the authors now introduce a framework for classification of VM’s adaptation techniques.
  • The authors call it RCI framework because the analysis and classification of the techniques for each of these steps revolves around three fundamental aspects: Responsiveness, Comprehensiveness and Intricateness.
  • Responsiveness Represents how fast the system is able to adapt, thus it gets smaller as the following metrics increase: i) overhead of monitoring, ii) duration of the decision process, iii) the latency of applying adaptation actions.
  • The authors came across this observation during the process of analyzing and classifying the techniques and systems studied.
  • A paramount example is the CAP conjecture (or CAP theorem) [5], portraying the tension in large-scale distributed systems among (C)onsistency, (A)vailability, and tolerance to (P)artitions.

5. SYSTEMS AND THEIR CLASSIFICATION

  • In this section the authors briefly survey middleware used to provide resource usage adaptability for guests running on top of virtual machines.
  • Because Xen’s core solution is developed by the open source community, several works have studied Xen’s scheduling strategies, for example in face of intensive I/O. Each VM is responsible for adjusting its demand of the underlying resources, resulting in a distributed adaptation system.
  • Depending on the nature of the resource the VCT will evolve differently as more VMs are added to the system.
  • For each application, there is an application controller which collects the application performance metrics (e.g. application throughput or average response time) and, based on the application’s performance target, determines the new requested allocation.

5.1 Analysis

  • In Figure 3 the authors analyze the responsiveness, comprehensiveness and intricateness aspects for the different adaption techniques used in System VMs, and in the context of the adaptation steps monitoring, decision and action in System VMs.
  • These results allows us to make four major conclusions.
  • First, different systems have a different RCI coverage.
  • Second, intricateness seems to dominate although responsiveness is also high in most systems.
  • Finally, decision strategies and effectors are similar while monitoring techniques are more heterogeneous.

6. CONCLUSIONS

  • Their tradeoffs, and their main mechanisms for resource management.the authors.
  • The authors frame them into the control loop (monitoring, decision and actuation).
  • Supported by this, the authors presented a comprehensive survey and analysis of relevant techniques and systems in the context of virtual machine monitoring and adaptability.
  • Then the authors presented a derived conjecture, the MDA conjecture identifying a related tension, in the context of whole systems, among emphasis on monitoring, decision and action.

Did you find this useful? Give us your feedback

...read more

Content maybe subject to copyright    Report

A Classification of Middleware to Support Virtual Machines
Adaptability in IaaS
José Simão
INESC-ID Lisboa
Instituto Superior de Engenharia de Lisboa
jsimao@cc.isel.ipl.pt
Luís Veiga
INESC-ID Lisboa
Instituto Superior Técnico
Universidade Técnica de Lisboa
luis.veiga@inesc-id.pt
ABSTRACT
The Infrastructure-as-a-Service (IaaS) model makes exten-
sive use of virtualization to achieve workload isolation and
efficient resource management. In general, the underlying
supporting technologies are virtual machines monitors (e.g.
hypervisors). Isolation is a static mechanism, relying on
hardware or operating system support to be enforced. On
the other hand, resource management is dynamic and mid-
dleware must be employed to adapt VMs in order to fit their
guest’s needs.
Although the services offered by virtual machines are used
or extended in several works in the literature, the community
lacks an organized and integrated perspective of the mech-
anisms and strategies regarding resource management and
focusing on adaptation, which would allow for an effective
comparison on the quality of the adaptation process.
In this work we review the main approaches for adapta-
tion and monitoring in virtual machines deployments, their
tradeoff, and their main mechanisms for resource manage-
ment. We frame them into the control loop (monitoring,
decision and actuation). Furthermore, we propose a classifi-
cation framework that, when applied to a group of systems,
can help visually in determining their similarities and differ-
ences.
Categories and Subject Descriptors
A.1 [Introductory and Survey]; D.4.1 [Process Man-
agement]: Scheduling; D.4.2 [Storage Management]: Vir-
tual memory
Keywords
Virtualization, Resource-driven adaptability, Taxonomy
1. INTRODUCTION
Virtual machines (VM) are being used today both at the
system and programming language level. At the system level
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
ARM’12 December XX, 2012, Montreal, Quebec, Canada.
Copyright 2012 ACM 978-1-4503-1609-5/12/12 ...$15.00.
they virtualize the hardware, giving the ability to guest mul-
tiple instances of an operating system on multi-core architec-
tures, sharing computational resources in a secure way. At
the high level programming languages, and similarly to the
system level virtual machines, these VMs abstract from the
underlying hardware resources, introducing a layer that can
be used for fine grained resource control [13]. Furthermore,
they promote portability through dynamic translation of an
intermediate representation to a specific instruction set.
Virtual machines lay between guest systems and the un-
derlying physical support (i.e. host hardware or operating
systems) and are used to regulate resource usage, finding a
way to partition the available resources by the guests. Most
notably, VMs aim to optimize the operation of their guests,
eventually using different algorithms or different parameters
for each of them.
System level VMs, or hypervisors, are strongly motivated
by the sharing of low-level resources. In result of this, many
research and industry work can be found about how re-
sources are to be delivered to each guest operating sys-
tem. The partition is done with different reasonings, ranging
from a simple round robin algorithm, to autonomic behavior
where the hypervisor automatically distributes the available
resources to the guests that, given the current workload, can
make the best out of them. Among all resources, CPU [17,
6, 12] and memory [15, 8] are the two for which a larger
body of work can be found. Nevertheless, other resources
such as storage and network are also target of adaptation.
Virtual machines are not only a isomorphism between the
guest system and a host [14], but a powerful software layer
that can adapt its behavior, or be instructed to adapt, in
order to transparently improve their guests’s performance,
minimizing the virtualization cost. In order to do so, VMs,
and the middleware augmenting their services, can be framed
into the well known adaptation loop [11]: i) monitoring or
sensing, ii) control and decision, and iii) enforcement or ac-
tuation. Monitoring determines which components of the
VM are observed. Control and decision take these obser-
vations and use them in some simple or complex strategy
to decide what has to be changed. Enforcement deals with
applying the decision to a given component/mechanism of
the VM.
Adaptation is accomplished at different levels. As a conse-
quence, monitoring, control and enforcement are applied in
a way that have different impacts. For example, for the allo-
cation of processing resources, the adaptation can be limited
to the tuning of a parameter in the scheduling algorithm, the
replacement of the algorithm, or the migration of the guest

VM to another node.
In this work we present a framework to classify and help
understand the quality of resource monitoring and adap-
tation techniques in virtual machines. Because of space re-
strictions, this paper focus on system level virtual machines,
although the framework can also be applied to other virtual-
ization layers such as high level virtual machines (i.e. man-
aged runtimes). Section 2 presents the architecture of these
VMs, depicting the building blocks that are used in research
regarding resource usage and adaption. In Section 3 the clas-
sification framework is presented. For each of the resources
considered, and for each of the three steps of the adapta-
tion loop, we propose the use of a quantitative classification
regarding the impact of the mechanisms used by each sys-
tem. Furthermore, systems are globally classified regarding
the dependency on low level monitoring, the complexity of
control techniques and the latency of the enforcement mech-
anisms. We use this framework to classify state of the art
systems in Section 5. Section 6 closes the document present-
ing some conclusions based on the previous discussion.
2. VIRTUAL MACHINES FUNDAMENTALS
Virtual machines have their roots in the 60’s with the IBM
360 and 370 [2]. These systems provided a time-sharing en-
vironment where users had a complete abstraction of the
underlying hardware resources. IBM goal was to provide
better isolation among different users, providing virtual ma-
chines to each one. The architecture of the IBM System/370
was divided in three layers: the hardware, the control pro-
gram (CP) and the conversational monitor system (CMS).
The CP controlled the resource provision and the CMS de-
livered the services to the end user underpinned on these
resources. The same architecture can be found in mod-
ern System VMs [3] where CP’s role is given to the virtual
machine monitor (VMM). Figure 1 depicts these three lay-
ers, where CP’s role is given to the virtual machine monitor
(VMM). The VMM purpose is to control the access of the
guest operating systems running in each virtual machine to
the physical resources, virtualizing processors, memory and
I/O.
The next three sections will briefly describe how funda-
mental resources, CPU, memory and I/O are virtualized.
The systems discussed in Section 5 are based on the building
blocks presented here, extending them towards self-adaptation
based on resource usage.
2.1 Computation as a resource
In a VM, virtualization of computation concerns two dis-
tinct aspects: i) the translation of instructions if the guest
and host use a different Instruction Set Architecture (ISA)
ii) the scheduling of virtual CPUs to a physical CPU (or
CPU core on Symmetric Multiprocessors - SMP).
Instruction emulation (i.e. the translating from a set of in-
structions to another one) is common to both types of VMs.
In System VMs, emulation is necessary to adapt different
ISAs or in response to the execution of a privileged instruc-
tion (or a resource or behavior-sensitive instruction, even if
not privileged) in the guest OS. Adaptation in binary, and
byte code translation, is achieved by changing the transla-
tion technique (i.e. interpretation or compilation) and by
replacing code previously translated with a more optimized
one. These adaptations are driven by profiling information
gather during program execution.
CPU scheduling is a well known issue in operating sys-
tems.A VMM scheduler has additional requisites when com-
pared to the OS scheduler, namely the capacity to enforce a
resource usage specified at the user’s level. To achieve this,
the CPU scheduler must take into account the share (or
weight) given to each VM and make scheduling decisions
proportional to this share [6]. However, in these schedulers,
shares are not directly seen by the end user making it hard
to define a high level resource management policy. Section 5
presents systems that dynamically change the scheduler pa-
rameters to give the VMM guests the resources that best fits
their needs (e.g. performance, cost, energy consumption).
2.2 Memory as a resource
Memory is virtualized with a goal: give the illusion that
guests have an virtually unbounded address space. Because
memory is effectively limited, it will eventually end and the
guest (operating systems or application) will have to deal
with memory shortage. An extra level of indirection is added
to the already virtualized environment of the guest operat-
ing systems. Operating systems give to their guests (i.e.
processes) a dedicated address space, eventually bigger than
the real available hardware.
The VMM can be managing multiple VMs, each with his
guest OS. Therefore, the mapping between physical and real
addresses must be extended because what is seen by an OS
as a real address (i.e. machine address), can now change each
time the VM hosting the OS is scheduled to run. The VMM
introduces an extra level of indirection to the virtual real
mapping of each OS, keeping a real physical to each of
the running VMs.
When the VMM needs to free memory it has to decide
which page(s) from which VM(s) to reclaim. This deci-
sion might have a poor performance impact. If the wrong
choice is made, the guest OS will soon need to access the
reclaimed page, resulting in wasted time. Another issue re-
lated to memory management in the VMM is the sharing of
machine pages between different VMs. If these pages have
code or read-only data they can be shared avoiding redun-
dant copies. Section 5 present the way some relevant sys-
tems are built so that their choices are based on monitored
parameters from the VM’s memory utilization.
3. ADAPTATION TECHNIQUES USED IN
IAAS SYSTEMS
In a software system, adaptation is regulated by moni-
toring, analyzing, deciding and acting [11]. Generically, the
adaptability loop consists of three major steps: monitor,
decision and action [11]. The monitor phase collects data
from sensors. The decision phase determines what needs to
be changed. Decisions made inside or outside the VM de-
termine the complexity of the process. Finally, the action
phase, applies the decision using the available effectors.
Adaptability mechanisms are not only confined to VM’s
internal structures but also to systems that externally recon-
figure VM’s parameters or algorithms. An example is the
work of Shao et al. [12] to regulate VCPU to CPU mapping
based on the CPU usage of specific applications.
The VMM has built in parameters to regulate how re-
sources are shared by their different guests. These param-
eters regulate the allocation of resources to each VM and
can be adapted at runtime to improve the behavior of the

Hardware (CPUs, memory, I/O
devices)
Operating System
Native
Application
1
Native
Application
n
...
HW
OS
1
App App
OSn
App
...
App
Virtual Machine Monitor
(a)
HW
OS
1
App App
OSn
App
...
App
Virtual Machine Monitor
(b)
HW
C
1
...
C
n
...
OS
HLL VM
Native
Application
(c)
Figure 1: Virtualization layers
applications given a specific workload. The adaptation pro-
cess can be internal, driven by profiling made exclusively
inside of the VMM, or external, which depends on applica-
tion’s events such as the number of pending requests. In this
section, the two major VMM subsystems, CPU scheduling
and Memory Manager, will be framed into the adaptation
processes.
3.1 CPU Management
An example of an exclusively inside activity is the CPU
scheduling algorithm. To enforce the weight assigned to each
VM, the hypervisor has to monitor the time of CPU assigned
to each VCPUs of a VM, decide which VCPU(s) will run
next, and assign it to a CPU [3, 6]. An example of an in-
side and outside management strategy is the one employed
by systems that monitor events outside the hypervisor (e.g.
operating systems load queue, application level events) [17,
12], use their own control strategy, such as linear optimiza-
tion, control theory [10] or statistical methods [7]. Neverthe-
less, such systems act on mechanisms inside the hypervisor
(e.g. weight assigned to VMs, number of VCPUs).
3.2 Memory Management
The memory manager virtualizes hardware pages and de-
termines how they are mapped to each VM. To establish
which and how many pages each VM is using, the VMM
can monitor page’s utilization using either whole page or
sub-page scope. The monitoring activities aims to reveal
how pages are being used by each VM and so information
collected relates to i) page utilization [15, 16] and ii) page
contents equality or similarity [15, 3]. Application perfor-
mance (either by modification of the application or external
monitoring) is also considered [8].
Because operating systems do not support dynamic changes
to physical memory, the maximum amount of memory that
can be allocated is statically assigned to each VM. Never-
theless, when total allocated memory exceeds the one that
is physically available, the VMM must decide which clients
must relinquish their allocated memory pages in favor of the
current request. Decisions regarding memory pages alloca-
tion to each VM are made using i) shares [15], ii) history
pattern [16] or iii) linear programming [8].
After deciding that a new configuration must be applied to
a set of VMs, the VMM can enforce i) page sharing [15] or ii)
page transfer between VMs. Page sharing relies on the mech-
anisms that exist at the VMM layer to map real physical
page numbers. On the other hand, the page transfer mech-
anism relies on the operating systems running at each VM,
so that each operating system can use its own paging policy.
This is accomplished using a balloon driver installed in each
VM [3, 15].
3.3 Adaptation loop techniques
Figure 2 presents the techniques used in the adaptation
loop. They are grouped into the two major adaptation
targets, CPU and memory, and then into the three major
phases of the adaptability loop.
4. CLASSIFICATION FRAMEWORK
To understand and compare different adaptation processes
we now introduce a framework for classification of VM’s
adaptation techniques. It addresses the three classical adap-
tation steps. Each of this steps makes use of the different
techniques described in the discussed in the previous sec-
tion. We call it RCI framework because the analysis and
classification of the techniques for each of these steps re-
volves around three fundamental aspects: Responsiveness,
Comprehensiveness and Intricateness.
Responsiveness Represents how fast the system is able
to adapt, thus it gets smaller as the following metrics in-
crease: i) overhead of monitoring, ii) duration of the decision
process, iii) the latency of applying adaptation actions.
Comprehensiveness Takes into account the breadth and
scope of the adaptation process. In particular, it regards: i)
the quantity or quality of the monitored sensors, ii) the to-
tality of the elements considered for decision process, and iii)
the number of different effectors that the system can engage.
Intricateness Addresses the depth of the adaption pro-
cess. In particular, it regards low-level implications, inter-
ference and complexity of: i) the monitoring process, ii)
decision strategy, and iii) enforcing actions.
These aspects were chosen, not only because they en-
compass many of the relevant goals and challenges in VM
adaptability research, but mainly because they also embody
a fundamental underlying tension: that a given adaptation
technique aiming at achieving improvements on two of these
aspects, can only do so at the cost of the remaining one. We
came across this observation during the process of analyzing
and classifying the techniques and systems studied.
Initially, we realized that no technique was able to com-
bine full comprehensiveness and full intricateness, and still
be able to perform without significant overhead and latency
(possibly even requiring off-line processing). Later, we con-
firmed that full responsiveness always implies some level of
restriction either to comprehensiveness or to intricateness.
This RCI conjecture is yet another manifestation in systems
research where the constant improvement on a given set of
properties, or the behavior of a given set of mechanisms, can
only come at an asymptotically increasing cost. This always
forces designers to choose one of them to degrade in order

Figure 2: Techniques used by System VMs to monitor, control and enforce
to ensure the other two.
A paramount example is the CAP conjecture (or CAP the-
orem) [5], portraying the tension in large-scale distributed
systems among (C)onsistency, (A)vailability, and tolerance
to (P)artitions. Another example one is the tension, in
the domain of peer-to-peer systems, among high availability,
scalability, and support for dynamic populations [4].
Additionally, we also note that the tension inherent in the
RCI conjecture is also present, at a higher-level of abstrac-
tion, among monitoring, decision, and action. The more the
emphasis (regarded as an aggregate value of all RCI aspects)
is given to two of the steps in the control loop, the less em-
phasis is possible to the remaining one, without breaking
the viability and feasibility of the approach. We call this
derived conjecture that applies to whole systems (and not
to individual adaptation techniques) the MDA conjecture,
for Monitoring, Decision and Action.
5. SYSTEMS AND THEIR CLASSIFICATION
In this section we briefly survey middleware used to pro-
vide resource usage adaptability for guests running on top
of virtual machines. These systems rely on VMs capacity to
adapt and are typically proposed to operate in multi-tenant
infrastructures.
Xen [3]. In Xen each VM is called a domain. A special
domain
0
(called driver domain) handles I/O requests of all
other domains (called guest domain) and runs the admin-
istration tools. Because Xen’s core solution is developed
by the open source community, several works have studied
Xen’s scheduling strategies, for example in face of intensive
I/O. Others propose adaptation strategies to be applied by
the VMM regarding CPU to VCPU mapping or dynamically
changing the scheduling algorithms parameters.
Xen includes three scheduling algorithms: Borrow Vir-
tual Time (BVT), Simple Earliest Deadline First (SEDF)
and Credit [1, 6]. The former two are deprecated and will
probably be removed. Credit is a proportional fair sched-
uler. This means that the interval of time allocated for each
VCPU is proportional to its weight, excluding small alloca-
tion errors. Additionally to weight, each domain has a cap
value representing the percentage of extra CPU it can con-
sume if his quantum has elapsed and there are idle CPUs. At
each clock tick the running VPCUs are charged and eventu-
ally some will loose all their credit and tagged as over while
the others are tagged under. VCPUs tagged as under have
priority in scheduling decisions. Picking the next VCPU to
run on a given CPU, Credit looks, in this order, a under
VCPU from the local running queue, a over VCPU from
the local running queue or a under VCPU from the running
queue of a remote CPU, in a work-stealing inspired fashion.
Friendly Virtual Machines (FVM) [17]. The Friendly
Virtual Machines (FVM) aims to enable efficient and fair
usage of the underlying resources. Efficient in the sense that
underlying system resources are nor overused or underused.
Fairness in the sense that each VM gets a proportional share
of the bottleneck resource. Each VM is responsible for ad-
justing its demand of the underlying resources, resulting in
a distributed adaptation system.
The adaptation strategy is done using feedback control
rules such as Additive-Increase and Multiplicative-Decrease
(AIMD), driven by a single control signal - the Virtual Clock
Time (VCT) to detect overload situation. VCT is the real
time taken by the VMM to increment the virtual clock of a
given VM. An increase in VCT means that the host VMM
is taking longer to respond to the VM which indicates a
contention on a bottlenecked resource. Depending on the
nature of the resource the VCT will evolve differently as
more VMs are added to the system. For example, with more
VMs sharing the same memory, more page faults will occur,
and even a small increase in the number of page faults will
result in a significant increase in VCT.
A VM runs inside a hosted virtual machine, the User Mode
Linux, an so, two types of mechanisms are used to adapt
VM’s demand to the available underlying resources. FVM
imposes upper bounds on i) the Multi Programming Level
(MPL) and on ii) the rate of execution. MPL controls the

number of processes and threads that are effectively running
at each VM. When only a single thread of execution exists,
FVM will adapt the rate of execution forcing the VM to
periodically sleep.
HPC computing [12]. Shao et al. adapts the VCPU map-
ping of Xen [3] based on runtime information collected by a
monitor that must be running inside each guest’s operating
system. They adjust the numbers of VCPUs to meet the
real needs of each guest. Decisions are made based on two
metrics: the average VCPU utilization rate and the paral-
lel level. The parallel level mainly depends on the length
of each VCPU’s run queue. The adaptation process uses an
addictive increase and subtractive decrease (AISD) strategy.
Shao et al. focus their work on native applications represen-
tative of high performance computing applications.
Ginko [8]. Ginko is an application-driven memory over-
commitment framework which allows cloud providers to run
more System VMs with the same memory. For each VM,
Ginkgo uses a profiling phase where it collects samples of
the application performance, memory usage, and submitted
load. Then, in production phase, instead of assigning the
same amount of memory for each VM, Ginko takes the pre-
viously built model and, using a linear program, determines
the VM ideal amount of memory to avoid violations of ser-
vice level agreements. This means that the linear program
will determine the memory allocation that, for the current
load, maximizes the application performance (e.g. response
time, throughput).
Auto Control [10]. Padala et al. proposes a system which
uses a control theory model to regulate resource allocation,
based on multiple inputs and driving multiple outputs. In-
puts are applications running in a VMM and can spawn sev-
eral nodes of the data center (i.e. web and DB tier can be
located in different nodes). Outputs are the resource alloca-
tion of CPU and disk I/O caps. For each application, there is
an application controller which collects the application per-
formance metrics (e.g. application throughput or average
response time) and, based on the application’s performance
target, determines the new requested allocation. Because
computational systems are non linear, the model is adjusted
automatically, aiming to adapt to different operating points
and workloads. Based on each application controller out-
put, a per node controller will determine the actual resource
allocation. It does so by solving the optimization problem
of minimizing the penalty function for not meeting the per-
formance targets of the applications. To evaluate their sys-
tem, applications were instrumented to collect performance
statistics. Xen monitoring tool (i.e. xm) was used to collect
CPU usage and iostat was used to collect CPU and disk
usage statistics. Enforcement is made by changing Xen’s
credit scheduler parameters and a proportional-share I/O
scheduler.
PRESS [7]. PRESS is an online resource demand predic-
tion system, which aims to handle both cyclic and non-cyclic
workloads. It tracks resource usage and predicts how re-
source demands will evolve in the near future. To detect re-
peating patterns it employs signal processing techniques (i.e.
Fast Fourier Transform and the Pearson correlation), look-
ing for a signature in the resource usage history. If a signa-
ture is not found PRESS uses a discrete-time Markov chain.
This technique allows PRESS to calculate how the system
should change the resource allocation policy, by transiting to
the highest probability state, given the current state. In [7]
the authors focus on CPU usage. So, The prediction scheme
is used to set the CPU cap of the target VM. The evalu-
ation was made based on a synthetic workload applied to
the RUBiS benchmark, built from observations of two real
world workloads.
VM
3
[9]. The work in VM
3
aims at measuring, modelling
and managing shared resources in virtual machines. It oper-
ates in the context of virtual machine consolidation in cloud
scenarios proposing a benchmark (vConsolidate). It places
emphasis on balancing quickness of adaptation and the in-
tricateness and low-level of the resources monitored, while
sacrificing comprehensiveness by being restricted to deciding
migration of virtual machines among cluster nodes.
5.1 Analysis
In Figure 3 we analyze the responsiveness, comprehen-
siveness and intricateness aspects for the different adaption
techniques used in System VMs, and in the context of the
adaptation steps monitoring, decision and action in System
VMs. In the former, to find a system’s RCI, we assign a
R, C and I to each technique and sum the values regarding
each technique used by the system. The later, is a second
order analysis in the sense that the value for M, D and A of
a system is found by averaging the RCI values of each of his
techniques.
These results allows us to make four major conclusions.
First, different systems have a different RCI coverage. Sec-
ond, intricateness seems to dominate although responsive-
ness is also high in most systems. Third, systems with larger
responsiveness and intricateness are less comprehensive. Fi-
nally, decision strategies and effectors are similar while mon-
itoring techniques are more heterogeneous.
6. CONCLUSIONS
In this work we reviewed the main approaches for adapta-
tion and monitoring in virtual machines, their tradeoffs, and
their main mechanisms for resource management. We frame
them into the control loop (monitoring, decision and actu-
ation). Furthermore, we proposed a novel taxonomy and
classification framework that, when applied to a group of
systems, can help visually in determining their similarities
and differences. Supported by this, we presented a com-
prehensive survey and analysis of relevant techniques and
systems in the context of virtual machine monitoring and
adaptability.
This taxonomy was inspired by two conjectures that arise
from the analysis of existing relevant work in monitoring and
adaptability of virtual machines. We presented the RCI con-
jecture on monitoring and adaptability in systems, identify-
ing the fundamental tension among Responsiveness, Com-
prehensiveness, and Intricateness, and how a given adapta-
tion technique aiming at achieving improvements on two of
these aspects, can only do so at the cost of the remaining
one. Then we presented a derived conjecture, the MDA con-
jecture identifying a related tension, in the context of whole
systems, among emphasis on monitoring, decision and ac-
tion. Regarding future work, we plan to apply the frame-

Citations
More filters

Journal ArticleDOI
TL;DR: This paper addresses the key enabling middleware approaches, e.g., an industrial intelligent sensing ecosystem (IISE), which allows rapid deployment and integration of heterogeneous wireless sensor networks with advancements in crowdsensing based services.
Abstract: The Internet of Things (IoT), which seamlessly interconnects heterogeneous devices with diverse functionalities, is an attractive choice for the large-scale petrochemical industry to develop an integrated system. With the industrial revolution, efforts have mainly been focused on factory automation, transportation security, and surveillance. The IoT plays a major role in factories with its new methods of data management and data collection. However, the IoT is still at an early stage in large-scale petrochemical plants due to the multiple coexisting heterogeneous networks in harsh and complex large-scale industrial networks. This paper presents a comprehensive survey on the IoT in large-scale petrochemical plants as well as recent activities in communication standards for the IoT in industries. This paper addresses the key enabling middleware approaches, e.g., an industrial intelligent sensing ecosystem (IISE), which allows rapid deployment and integration of heterogeneous wireless sensor networks with advancements in crowdsensing based services. In addition, this survey highlights the research issues of data management in the IoT for large-scale petrochemical plants.

32 citations


Cites background from "A classification of middleware to s..."

  • ...The virtual machine-based approach [122] takes advantage of the ability to overcome hardware-dependent services....

    [...]


Journal ArticleDOI
01 Oct 2016
TL;DR: This work defines a comprehensive cost model incorporating partial utility given by clients to a certain level of degradation, when VMs are allocated in overcommitted environments (Public, Private, Community Clouds).
Abstract: Cloud SLAs compensate customers with credits when average availability drops below certain levels. This is too inflexible because consumers lose non-measurable amounts of performance being only compensated later, in next charging cycles. We propose to schedule virtual machines (VMs), driven by range-based non-linear reductions of utility, different for classes of users and across different ranges of resource allocations: partial utility. This customer-defined metric, allows providers transferring resources between VMs in meaningful and economically efficient ways. We define a comprehensive cost model incorporating partial utility given by clients to a certain level of degradation, when VMs are allocated in overcommitted environments (Public, Private, Community Clouds). CloudSim was extended to support our scheduling model. Several simulation scenarios with synthetic and real workloads are presented, using datacenters with different dimensions regarding the number of servers and computational capacity. We show the partial utility-driven driven scheduling allows more VMs to be allocated. It brings benefits to providers, regarding revenue and resource utilization, allowing for more revenue per resource allocated and scaling well with the size of datacenters when comparing with an utility-oblivious redistribution of resources. Regarding clients, their workloads’ execution time is also improved, by incorporating an SLA-based redistribution of their VM's computational power.

31 citations


Cites background from "A classification of middleware to s..."

  • ...Section 7 presents our conclusions andwork to address in the future....

    [...]


Book ChapterDOI
01 Jan 2017
TL;DR: This chapter reviews the main approaches for adaptation and monitoring in virtual machines deployments, their tradeoffs, and their main mechanisms for resource management and presents a taxonomy that, when applied to different solutions that use or augment virtual machines, can help visually in determining their similarities and differences.
Abstract: Cloud infrastructures make extensive use of hypervisors (e.g., Xen, ESX), containers (e.g., LXC), and high-level virtual machines (e.g., CLR, Java), broadly known as virtual machine (VM) technologies, to achieve workload isolation and efficient resource management. Isolation is a static mechanism that relies on hardware or operating system support to be enforced. Resource management is dynamic, and VMs must self-adapt or be instructed to adapt in order to fit their guest’s needs. In this chapter, we review the main approaches for adaptation and monitoring in virtual machines deployments, their tradeoffs, and their main mechanisms for resource management. We frame them into an adaptation loop where sensors are monitored (e.g., page utilization), decisions are made (e.g., if-else rule, proportional-integral-derivative controller), and actions are performed using actuators (e.g., share page, change heap size). As is common in systems research, improvement in one property is accomplished at the expense of some other property. So, we present a taxonomy that, when applied to different solutions that use or augment virtual machines, can help visually in determining their similarities and differences. We analyze adaptability in virtual machines using three seemingly orthogonal characteristics: responsiveness (R), comprehensiveness (C), and intricateness (I). The process of classification and comparing systems is detailed, and several representative state of the art systems are evaluated.

7 citations


Cites methods from "A classification of middleware to s..."

  • ...This chapter surveys several techniques used by virtual machines, and systems that depend on them, to make an adaptive resource management, extending previous preliminary work [74, 77]....

    [...]


Proceedings Article
15 Nov 2015
TL;DR: The proposal presented in this paper provides an analysis based on the type of sensors and how its owner groups them in a multiuser system.
Abstract: This document proposes an approach to the criteria settings for evaluation of systems that use sensors as a service through the analysis of sensor repository and search engine data. The sensor paradigm as a service is a branched concept of cloud computing, which is still evolving. Thus, to achieve the end user’s expectation for this type of service, it is necessary to define clear parameters for the evaluation of the delivery of it. The proposal presented in this paper provides an analysis based on the type of sensors and how its owner groups them in a multiuser system. Keywordssensor as a service; sensors repository; search engine data.

1 citations


Cites background from "A classification of middleware to s..."

  • ...Many authors [5]-[9] group the cloud computing model into three distinct classes, as follows:...

    [...]


Patent
18 Jun 2020
Abstract: The computer system executes environment classification of classifying a plurality of subsystems, each being a physical or virtual computer system, into one or more environment groups being one or more groups. The computer system stores classification result data which is data representing a relationship between the environment group and the subsystems belonging to the environment group. The computer system selects, from the classification result data, the environment group to which the subsystem having undergone a problem belongs. The computer system generates a reproduction subsystem which is a virtual subsystem virtually reproducing the subsystem for each of the subsystems belonging to the selected classification result group. The computer system applies the countermeasure to at least one reproduction subsystem for the purpose of verifying the countermeasure for the problem.

References
More filters

Journal ArticleDOI
19 Oct 2003
TL;DR: Xen, an x86 virtual machine monitor which allows multiple commodity operating systems to share conventional hardware in a safe and resource managed fashion, but without sacrificing either performance or functionality, considerably outperform competing commercial and freely available solutions.
Abstract: Numerous systems have been designed which use virtualization to subdivide the ample resources of a modern computer. Some require specialized hardware, or cannot support commodity operating systems. Some target 100% binary compatibility at the expense of performance. Others sacrifice security or functionality for speed. Few offer resource isolation or performance guarantees; most provide only best-effort provisioning, risking denial of service.This paper presents Xen, an x86 virtual machine monitor which allows multiple commodity operating systems to share conventional hardware in a safe and resource managed fashion, but without sacrificing either performance or functionality. This is achieved by providing an idealized virtual machine abstraction to which operating systems such as Linux, BSD and Windows XP, can be ported with minimal effort.Our design is targeted at hosting up to 100 virtual machine instances simultaneously on a modern server. The virtualization approach taken by Xen is extremely efficient: we allow operating systems such as Linux and Windows XP to be hosted simultaneously for a negligible performance overhead --- at most a few percent compared with the unvirtualized case. We considerably outperform competing commercial and freely available solutions in a range of microbenchmarks and system-wide tests.

6,257 citations


Journal ArticleDOI
Carl A. Waldspurger1
09 Dec 2002
TL;DR: Several novel ESX Server mechanisms and policies for managing memory are introduced, including a ballooning technique that reclaims the pages considered least valuable by the operating system running in a virtual machine, and an idle memory tax that achieves efficient memory utilization.
Abstract: VMware ESX Server is a thin software layer designed to multiplex hardware resources efficiently among virtual machines running unmodified commodity operating systems. This paper introduces several novel ESX Server mechanisms and policies for managing memory. A ballooning technique reclaims the pages considered least valuable by the operating system running in a virtual machine. An idle memory tax achieves efficient memory utilization while maintaining performance isolation guarantees. Content-based page sharing and hot I/O page remapping exploit transparent page remapping to eliminate redundancy and reduce copying overheads. These techniques are combined to efficiently support virtual machine workloads that overcommit memory.

1,488 citations


"A classification of middleware to s..." refers background or methods in this paper

  • ...Among all resources, CPU [17, 6, 12] and memory [15, 8] are the two for which a larger body of work can be found....

    [...]

  • ...This is accomplished using a balloon driver installed in each VM [3, 15]....

    [...]

  • ...The monitoring activities aims to reveal how pages are being used by each VM and so information collected relates to i) page utilization [15, 16] and ii) page contents equality or similarity [15, 3]....

    [...]

  • ...After deciding that a new configuration must be applied to a set of VMs, the VMM can enforce i) page sharing [15] or ii) page transfer between VMs....

    [...]

  • ...Decisions regarding memory pages allocation to each VM are made using i) shares [15], ii) history pattern [16] or iii) linear programming [8]....

    [...]


Journal ArticleDOI
TL;DR: A taxonomy of research in self-adaptive software is presented, based on concerns of adaptation, that is, how, what, when and where, towards providing a unified view of this emerging area.
Abstract: Software systems dealing with distributed applications in changing environments normally require human supervision to continue operation in all conditions. These (re-)configuring, troubleshooting, and in general maintenance tasks lead to costly and time-consuming procedures during the operating phase. These problems are primarily due to the open-loop structure often followed in software development. Therefore, there is a high demand for management complexity reduction, management automation, robustness, and achieving all of the desired quality requirements within a reasonable cost and time range during operation. Self-adaptive software is a response to these demands; it is a closed-loop system with a feedback loop aiming to adjust itself to changes during its operation. These changes may stem from the software system's self (internal causes, e.g., failure) or context (external events, e.g., increasing requests from users). Such a system is required to monitor itself and its context, detect significant changes, decide how to react, and act to execute such decisions. These processes depend on adaptation properties (called self-a properties), domain characteristics (context information or models), and preferences of stakeholders. Noting these requirements, it is widely believed that new models and frameworks are needed to design self-adaptive software. This survey article presents a taxonomy, based on concerns of adaptation, that is, how, what, when and where, towards providing a unified view of this emerging area. Moreover, as adaptive systems are encountered in many disciplines, it is imperative to learn from the theories and models developed in these other areas. This survey article presents a landscape of research in self-adaptive software by highlighting relevant disciplines and some prominent research projects. This landscape helps to identify the underlying research gaps and elaborates on the corresponding challenges.

1,265 citations


"A classification of middleware to s..." refers background or methods in this paper

  • ...In a software system, adaptation is regulated by monitoring, analyzing, deciding and acting [11]....

    [...]

  • ...Generically, the adaptability loop consists of three major steps: monitor, decision and action [11]....

    [...]

  • ...In order to do so, VMs, and the middleware augmenting their services, can be framed into the well known adaptation loop [11]: i) monitoring or sensing, ii) control and decision, and iii) enforcement or actuation....

    [...]


Book
01 Jun 2005
Abstract: Virtual Machine technology applies the concept of virtualization to an entire machine, circumventing real machine compatibility constraints and hardware resource constraints to enable a higher degree of software portability and flexibility. Virtual machines are rapidly becoming an essential element in computer system design. They provide system security, flexibility, cross-platform compatibility, reliability, and resource efficiency. Designed to solve problems in combining and using major computer system components, virtual machine technologies play a key role in many disciplines, including operating systems, programming languages, and computer architecture. For example, at the process level, virtualizing technologies support dynamic program translation and platform-independent network computing. At the system level, they support multiple operating system environments on the same hardware platform and in servers. Historically, individual virtual machine techniques have been developed within the specific disciplines that employ them (in some cases they aren’t even referred to as “virtual machines?), making it difficult to see their common underlying relationships in a cohesive way. In this text, Smith and Nair take a new approach by examining virtual machines as a unified discipline. Pulling together cross-cutting technologies allows virtual machine implementations to be studied and engineered in a well-structured manner. Topics include instruction set emulation, dynamic program translation and optimization, high level virtual machines (including Java and CLI), and system virtual machines for both single-user systems and servers. * Examines virtual machine technologies across the disciplines that use them—operating systems, programming languages and computer architecture—defining a new and unified discipline. * Reviewed by principle researchers at Microsoft, HP, and by other industry research groups. * Written by two authors who combine several decades of expertise in computer system research and development, both in academia and industry.

627 citations


Proceedings ArticleDOI
01 Oct 2010
TL;DR: This paper presents a novel PRedictive Elastic reSource Scaling (PRESS) scheme for cloud systems that unobtrusively extracts fine-grained dynamic patterns in application resource demands and adjust their resource allocations automatically.
Abstract: Cloud systems require elastic resource allocation to minimize resource provisioning costs while meeting service level objectives (SLOs). In this paper, we present a novel PRedictive Elastic reSource Scaling (PRESS) scheme for cloud systems. PRESS unobtrusively extracts fine-grained dynamic patterns in application resource demands and adjust their resource allocations automatically. Our approach leverages light-weight signal processing and statistical learning algorithms to achieve online predictions of dynamic application resource requirements. We have implemented the PRESS system on Xen and tested it using RUBiS and an application load trace from Google. Our experiments show that we can achieve good resource prediction accuracy with less than 5% over-estimation error and near zero under-estimation error, and elastic resource scaling can both significantly reduce resource waste and SLO violations.

571 citations


"A classification of middleware to s..." refers background or methods in this paper

  • ...In [7] the authors focus on CPU usage....

    [...]

  • ...operating systems load queue, application level events) [17, 12], use their own control strategy, such as linear optimization, control theory [10] or statistical methods [7]....

    [...]


Frequently Asked Questions (2)
Q1. What are the contributions in "A classification of middleware to support virtual machines adaptability in iaas" ?

In this work the authors review the main approaches for adaptation and monitoring in virtual machines deployments, their tradeoff, and their main mechanisms for resource management. Furthermore, the authors propose a classification framework that, when applied to a group of systems, can help visually in determining their similarities and differences. 

Regarding future work, the authors plan to apply the frame- work to other virtualization layers, such as high level virtual machines ( i. e. managed runtimes ), adding new systems to the analyses and new adaptation techniques.