for Grid resource provisioning is proposed. More-
over, there are some companies which offer elastic
cloud services for an amount of money, like Elasti-
cHosts (Web, 2010b).
The target application for the proposal presented
in this paper would be one that exhibits variable loads.
The user (i.e., the application provider) can iden-
tify the range of Virtual Machines (VMs) needed to
support the minimum and maximum expected load.
Then, the system will autonomously adjust the re-
sources allocated to that user depending on the real
load, up to the specified maximum number of VMs,
and allocating always the minimum number of VMs.
More precisely, an extension to the advance-
reservation lease model implemented in the Haizea
scheduler (Sotomayor et al., 2008) named FAR (Flex-
ible Advance Reservations), is presented, aimed at
taking advantage of the elasticity provided by Cloud
computing. This extension will allow users to manage
their booked flexible resources for improving their
business investment. Moreover, this new feature will
probably generate new proposals of scheduling poli-
cies (due to the new type of lease), smart pricing al-
gorithms, lease priority algorithms and so on.
The rationale behind this is similar to the one used
to accept a number of Variable Bite Rate (VBR) con-
nections into communication links. VBR connec-
tions are characterized by a mean and a peak band-
width (this is similar to the range of VMs pointed out
above). If the peak connection bandwidth is reserved,
link bandwidth will be wasted because connections
do not transmit at their peak data rate all the time.
Translated to our scenario, if the maximum number
of VMs is provisioned, it is likely that great part of
the time many of them will not be used, thus wast-
ing provider’s resources (i.e., energy, CPU power),
and maybe preventing other users to be admitted into
the system. Thus, several connections can be admit-
ted provided that it is quite unlikely that their “peaks”
will happen simultaneously (due to the Law of Large
Numbers). In the Cloud scenario, this means that it
will be unlikely that all users will need the full range
of VMs at the same time. Of course, in both scenar-
ios, some criteria must be applied in order to know
if a new connection (user) can be admitted or not,
while satisfying its requirements, and not compromis-
ing those from already admitted connections (users).
The cost of this type of reservation is intended to
be lower that the cost of reserving the maximum num-
ber of VMs in the conventional way. So the Cloud
provider would get less benefits from every single
user, but as a counterpart, it could admit more users
into the system. From the users perspective, they
could opt for paying a more economic bill for a set
Figure 1: Cloud computing architecture.
of virtual resources, that will very likely be available
when needed.
The remainder of the paper is organized as fol-
lows. In Section 2 the cloud framework used for this
work is outlined. In Section 3 the proposal of flexi-
ble advance-reservation leases is introduced and dis-
cussed. In Section 4 some preliminary experiments
that illustrate the usefulness of the proposal are pre-
sented. Finally, the paper ends with some conclu-
sions in Section 5, where possible guidelines for fu-
ture work are pointed out.
2 CLOUD ENVIRONMENT
Figure 1 depicts the typical Cloud Computing archi-
tecture. It includes three layers: Infrastructure Layer,
Platform Layer and Software Layer. The Infrastruc-
ture Layer can be further divided into three parts:
Physical Layer, where isolated physical resources are
placed; Hypervisor Layer, which allows each physi-
cal resource to be virtualized; and Cloud Management
Layer, which provides a general view of the system.
On top of that, the Platform layer is where virtual ma-
chines are placed. And finally, the Software layer,
which consists on applications running on those vir-
tual machines.
The authors have focused on OpenNebula
(ONE) (Sotomayor et al., 2009a) as cloud manage-
ment software, instead of other well-known frame-
works such as Eucalyptus (Nurmi et al., 2008) or
Nimbus (Keahey and Freeman, 2008), because it is
one of the most extended cloud manager all over the
world, it can be extended and integrated with third-
party developments, and its scheduler can be easily
replaced.
OpenNebula is a virtual infrastructure engine
which provides the functionality needed to deploy,
monitor and control VMs on a pool of distributed
physical resources. It is composed of three main
components, namely, OpenNebula Core, a central-
FLEXIBLE ADVANCE-RESERVATION (FAR) FOR CLOUDS
611