disturbing other applications. However, Proportional
controllers are more difficult to set up, requiring pa-
rameter tuning, whilst in Min-Max no parameter tun-
ing is required.
To evaluate these controllers we opted for As-
perathos
1
, a cloud agnostic open-source framework
to support the monitoring and allocation control of
resources, as well as application deployment. Since
the focus is investigating the effectiveness of different
scaling controller strategies, and Asperathos’ archi-
tecture supports customizing the control and monitor-
ing components, we consider it an adequate frame-
work for this research. Experiments were performed
with two types of workload: linear and non-linear
progress. We observed that, using our approach, it
was trivial to ensure QoS deadlines for linear progress
applications. All controllers were successful on en-
suring deadline compliance, with PD being the most
efficient. On the other hand, non-linear progress
applications needed additional adjustment, such as
progress linearization and parameter tuning. Though
both adjustments were successful on ensuring dead-
line compliance, resource allocation after progress
linearization showed to be smoother.
This paper is structured as follows. Next, we
present works related to scaling mechanisms with fo-
cus on vertical provisioning and feedback controllers.
Then, Section 3 introduces the Asperathos framework
used in our experiments. The proposed controllers
are detailed in Section 4. Section 5 describes the ex-
perimental design, infrastructure setup, and the appli-
cations’ workload. Results and their corresponding
analysis are presented in Section 6. Finally, conclud-
ing remarks and future work are put forward in Sec-
tion 7.
2 RELATED WORK
Besides being classifiable as horizontal and verti-
cal, scaling mechanisms can be also categorized in
reactive and proactive. Reactive scaling relies on
the last states of the application to trigger some ac-
tion. Proactive methods estimate future demand based
on the utilization history of infrastructure resources.
Google and AWS Auto-Scaling services (Google
Cloud, 2018; Amazon Web Services, 2018b) are ex-
amples of reactive scaling.
One of the AWS models is the credit-based ver-
tical scaling (Amazon Web Services, 2018a) using
“Burstable Performance Instances”. In this approach,
VMs accumulate CPU credit during idle moments
1
https://github.com/ufcg-lsd/asperathos
and, in peak moments, more CPU power is supplied
requiring no extra budget. Yazdanov et al. (2012) im-
plemented a controller on top of the Xen hypervisor
aiming at avoiding Service Level Agreements (SLA)
violations by adapting VMs’ resource constraints and
also by dynamically plugging in new virtual CPUs.
A slightly different approach is provided in (Dawoud
et al., 2011), where scaling up and down of a web
application is controlled by the maximum number of
clients in Apache server parameters.
Likewise, there is also vertical scaling mecha-
nisms for memory. “Cloud Virtual Machine Auto-
matic Memory Procurement” (Molt
´
o et al., 2016) is
a reactive mechanism that spares idle memory from
VMs to supply memory outages of other existent or
new coming VMs. Once vertical scaling takes place
in seconds, it is reasonable to state that reactive ap-
proaches tend to outperform proactive ones. How-
ever, Spinner et al. (2015) highlight that several appli-
cations can not immediately benefit from this fresh al-
located memory, requiring restart in some cases. Un-
der these circumstances, proactive mechanisms may
deliver better results.
Regarding proactive mechanisms for memory we
can cite Bayllocator (Tasoulas et al., 2012), Ginkgo
(Hines et al., 2011) and the work of Spinner et al.
(2015). The first relies on Bayesian networks and
seeks hosts consolidation; Ginkgo creates a model
through correlating its performance, memory usage,
and submitted load; and the last proposes an extended
forecasting technique leveraging some extra workload
information to improve forecast accuracy.
There are also some hybrid approaches. Sedaghat
et al. (2013) proposes a strategy that provisions re-
sources both vertically and horizontally. It considers
VMs capacity and price to decide how a set of allo-
cated VMs should be repacked into a new optimal
set of VMs. Morais et al. (2013) proposed an auto-
scaling strategy based on both reactive and proactive
methods. The proactive mechanism uses a set of de-
mand predictors and a selection module to define the
best predictor for a given moment. The reactive mech-
anism operates like the standards: utilization thresh-
olds are defined for each resource and actions are trig-
gered when thresholds are exceeded.
Concerning scaling mechanisms based on the
Control Theory (Hellerstein et al., 2004), Lorido-
Botr
´
an et al. (2014) classify them in three categories:
i) fixed gain controllers, where tunning paramenters
remain fixed during the operation of controller; ii)
adaptive controllers, where parameters are changed
on the fly to achieve better results; and iii) model pre-
dictive controllers, where the future behavior of the
system is predicted based on a model and the current
Assuring Cloud QoS through Loop Feedback Controller Assisted Vertical Provisioning
177