sumption as the ratio between the power consumed by
the processor for a given pair of voltage and frequency
values and the lowest power consumed by the proces-
sor, which happens when the lowest voltage and fre-
quencies are used.
As can be seen, the shape of the relative power
curve follows closely the variation of the workload
intensity. Higher workload intensities require higher
CPU clock frequencies and voltage levels and there-
fore higher relative power consumption. The dashed
curve of Fig. 6 shows the variation of the average re-
sponse time over time. The first observation is that the
average response time never exceeds its SLA of 4 sec.
The response time, given that the I/O service demand
is fixed throughout the experiment, is a function of the
arrival rate λ and the CPU clock frequency during the
time interval. This curve and the dotted line (i.e., the
CPU residence time) in the same figure clearly show
how the autonomic DVFS controller does its job.
6 OTHER EXAMPLES OF
SELF-MANAGED SYSTEMS
Self-managed systems have been used in a wide vari-
ety of systems in addition to the examples discussed
above. In (Tadakamalla and Menasc
´
e, 2019), the
authors discuss an autonomic controller that dynam-
ically determines the portion of a transaction that
should be processed at a fog server vs. at a cloud
server. The controller deals with tradeoffs between lo-
cal processing (less wide area network time but higher
local congestion) and remote processing (more wide
area network traffic but use of more powerful servers
and therefore less remote congestion).
The authors in (Bajunaid and Menasc
´
e, 2018)
show how one can dynamically control the check-
pointing frequency of processes in a distributed sys-
tem so as to balance execution time and availability
tradeoffs.
The work in (Connell et al., 2018) presents ana-
lytic models of Moving Target Defense (MTD) sys-
tems with reconfiguration limits. MTDs are security
mechanisms that periodically reconfigure a system’s
resources to reduce the time an attacker has to learn
about a system’s characteristics. When the reconfigu-
ration rate is high, the system security is improved at
the expense of reduced performance and lower avail-
ability. To control availability and performance, one
can vary the maximum number of resources that can
be in the process of being reconfigured simultane-
ously. The authors of (Connell et al., 2018) devel-
oped a controller that dynamically varies the max-
imum number of resources being reconfigured and
the reconfiguration rate in order to maximize a util-
ity function of performance, availability, and security.
The Distributed Adaptation and REcovery
(DARE) framework designed at Mason (Albassam
et al., 2017) uses a distributed MAPE-K loop to
dynamically adapt large decentralized software
systems in the presence of failures. The Self-
Architecting Service-Oriented Software SYstem
(SASSY) project (Menasc
´
e et al., 2011), also de-
veloped at Mason, allows for the architecture of
an SOA system to be automatically derived from a
visual-activity based specification of the application.
The resulting architecture maximizes a user-specified
utility function of execution time, availabiliy, and
security. Additionally, run-time re-architecting
takes place automatically when services fail or the
performance of existing services degrades.
In (Menasc
´
e et al., 2015) the authors describe
how autonomic computing can be used to dynami-
cally control the throughput and energy consumption
of smart manufacturing processes.
The authors in (Aldhalaan and Menasc
´
e, 2014),
discuss the design and evaluation of an autonomic
controller that dynamically allocates and re-allocates
communicating virtual machines (VM) in a hierarchi-
cal cloud datacenter. Communication latency varies
if VMs are colocated in the same server, same rack,
same cluster, or same datacenter. The controller em-
ploys user-specified information about communica-
tion strength among requested VMs in order to de-
termine a near-optimal allocation.
The authors in (Ewing and Menasc
´
e, 2009) pre-
sented the detailed design of an autonomic load bal-
ancer (LB) for multi-tiered Web sites. They assumed
that customers can be categorized into distinct classes
(gold, silver, and bronze) according to their business
value to the site. The autonomic LB is able to dynam-
ically change its request redirection policy as well as
its resource allocation policy, which determines the
allocation of servers to server clusters, in a way that
maximizes a business-oriented utility function.
In (Bennani and Menasce, 2005), the authors pre-
sented a self-managed method to assign applications
to servers of a data center. As the workload inten-
sity of the applications varies over time, the number
of servers allocated to them is dynamically changed
by an autonomic controller in order to maximize a
utility function of the application’s response time and
throughput.
Taming Complexity with Self-managed Systems
11