# Exploring the Impacts of Power Grid Signals on Data Center Operations using
a
Receding-Horizon Scheduling Model

Weiqi Zhang, Line A. Roald, and Victor M. Zavala W. Zhang and V. M. Zavala are
with the Department of Chemical and Biological Engineering, University of
Wisconsin-Madison, Madison, WI, 53706.
L. A. Roald is with the Department of Electrical and Computer Engineering,
University of Wisconsin-Madison, Madison, WI, 53706.

###### Abstract

Data centers (DCs) can help decarbonize the power grid by helping absorb
renewable power (e.g., wind and solar) due to their ability to shift power
loads across space and time. However, to harness such load-shifting
flexibility, it is necessary to understand how grid signals (carbon signals
and market price/load allocations) affect DC operations. An obstacle that
arises here is the lack of computationally-tractable DC operation models that
can capture objectives, constraints, and information flows that arise at the
interface of DCs and the power grid. To address this gap, we present a
receding-horizon resource management model (a mixed-integer programming model)
that captures the resource management layer between the DC scheduler and the
grid while accounting for logical constraints, different types of objectives,
and forecasts of incoming job profiles and of available computing capacity. We
use our model to conduct extensive case studies based on public data from
Microsoft Azure and MISO. Our studies show that DCs can provide significant
temporal load-shifting flexibility that results in reduced carbon emissions
and peak demand charges. Models and case studies are shared as easy-to-use
Julia code.

###### Index Terms:

Data centers, Load shifting flexibility, Scheduling, Rolling-horizon,
Electricity markets, Mixed-Integer Programming

##  1 Introduction

The rapidly-growing computing and information industry is projected to consume
20.9% of the total electricity by 2030 [1]. This fast growth of electricity
use (and associated carbon footprint) is being boosted by recent burgeoning of
machine learning (ML) at rates as high as 10x per year [2]. A large fraction
of these energy demands arise from hyperscale data centers (DCs), which are
large computing facilities that are owned by IT companies and that are
distributed across different geographical locations [3, 4]. DC networks are
managed in a coordinated manner, which allows computing tasks to be
modulated/scheduled at multiple time scales and shifted geographically. In
other words, the collective management of DCs allows for space-time shifting
flexibility of computing, and hence power loads. This makes DCs a great source
of flexibility that power grids and associated electricity markets can
harness. However, current wholesale electricity markets are still designed
around traditional large-scale generators and load utilities, which are not
necessarily effective at incentivizing flexibility provision from DCs. On the
other hand, big-tech companies are interested in direct participation in
wholesale electricity markets and in reducing their carbon footprint. Compared
to other common approaches to net-zero operations, such as local renewable
generation, trading directly in wholesale markets allows for exposure to more
renewable energy in a more affordable and less risky manner (a more through
discussion on DC energy management options can be found in [5]). This has
motivated Google, for instance, to participate directly in wholesale markets
(in addition to using its 1.6 MW onsite solar generation facility at its
headquarters) 111https://www.cnet.com/culture/google-gets-go-ahead-to-buy-
sell-energy.

To enable flexibility provision from DCs, it is critical to re-design current
electricity markets; such restructuring must allow for flexibility provision
without dispatching a power allocation schedule that significantly degrades
performance of DCs. In doing so, it is necessary to develop operational models
for DCs that capture objectives, constraints, and operational logic of DCs and
that captures how those are influenced by interactions with the power grid.
Various energy-aware, online scheduling models have been proposed for DCs [6],
driven by various metrics such as sustainability [7, 8], fairness and latency
[9, 10]. While these models and algorithms provide valuable insights into DC
scheduling behavior, it is technically challenging to consider a setting where
the scheduler interacts directly with electricity markets in real-life due to
the high complexity of the DC scheduling logic. This becomes even more
challenging if we consider high-intensity job profiles, as those found in
cloud computing settings [11]. As a result, a decision-making interface
between DC schedulers and electricity markets is needed that captures
scheduling flexibility in a simplified manner. The development of low-fidelity
models to capture flexibility and interactions with the power grid has been
explore in diverse application domains that include batteries [12, 13],
buildings [14], electric vehicles [15, 16, 17], and energy-intensive
manufacturing processes [18]. The computing industry is no exception; for
instance, Google operates their DCs with a resource management layer between
its scheduler and electricity markets [19]. Here, the scheduler is modeled
directly as a combination of inflexible and flexible power loads and diverse
details of the scheduling layer (e.g., computing delays) are ignored in order
to achieve scalability. The resource management layer acts as an interface
that sets power consumption targets for the scheduler based on various signals
from electricity markets.

In this work, we develop model for resource management of DC systems that
enables studies on load-shifting flexibility of DCs and of behavior arising at
the interface between DCs and power grids. DCs benefit from being flexible in
various ways; in this paper we focus on the benefits of reduced energy cost
(in terms of reduction in peak demand charge) and reduced carbon footprint. We
also discuss the level of flexibility from DCs as part of load shifting. We
propose a receding-horizon optimization framework that captures power load
allocations, costs, and emissions at the resource management level, while
taking into account the discrete nature on the scheduling level. Specifically,
the resource management level captured in our model decides the number of
active servers available for the scheduling level. We emphasize that our
framework is not meant to be an actual on-line scheduling algorithm for DCs
(which should involve many other sources of complexity). Instead, our modeling
framework is meant to be used as a high-level abstraction to study the effect
of many external factors (e.g. electricity market signals) on DC behavior and
to understand the degree of flexibility that DCs can offer to the power grid.
We also highlight that, while the model assumes direct interaction with
wholesale markets, it can readily be extended to study interaction with
microgrids (e.g., that embed on-site renewable generation). Moreover, our
model is computationally scalable, and can thus be embedded within power grid
optimization models used for long-term planning and unit commitment.

Our framework uses mixed-integer programming to model DC job scheduling and
power allocation logic. The framework uses a state-space representation that
captures the different states of computing jobs and DC servers, which is
inspired by formulations for chemical process scheduling [20]. Compared with
Google’s resource management model reported in [19], our model considers the
discrete nature of DC loads and considers uncertainty in an online setting.
Rather than modeling each individual job, our framework embeds a flexible,
aggregated representation for groups of jobs with the same size; this provides
computational scalability to handle a large number of jobs (as seen in real
trace data). At each time step, our model determines an optimal schedule for
the next few hours; this receding-horizon framework allows us to capture
realistic situations in which only limited/inaccurate forecast information is
available on key parameters such as electricity prices, carbon emission rates,
and incoming jobs. We use this framework to conduct extensive studies that aim
to understand how much load-shifting flexibility DCs can provide and how power
grid signals impact scheduling operations. Our results show that carbon-aware
hyperscale DCs are able to offer significant flexibility to respond to carbon
emission rate signals and peak demand charges, without significant performance
loss (as guaranteed by job clearance constraints). In other words, the change
in the operational trajectory leads to significant reduction in carbon
emissions. We also find that the decision horizon at each time step is crucial
to ensure stability and quality of short-term scheduling decisions; therefore,
load forecast information is important and might affect the ability to
participate in electricity markets. For capacity forecast errors, we find that
job termination occurs when future capacity is overestimated. Finally, we find
that DCs are able to respond to demand response signals that are revealed in a
short time using a quadratic objective function. All models and results are
shared as Julia code in
https://github.com/zavalab/JuliaBox/tree/master/DataCenterScheduling.

##  2 Summary of Related Work

A wide range of studies have explored the potential of harnessing load
flexibility from DCs. A major line of research is to exploit temporal
flexibility through demand response programs [21, 22]. More recently, a
strategy for providing regulation service reserves with quality-of-service
guarantees is provided in [23]. Additionally, several studies also consider
spatial flexibility enabled by geographical load shifting [24, 25]. In
particular, [26, 27] explore how geographical load shifting facilitates
renewable energy absorption, while [28] find that a large faction of DC power
loads can be fulfilled by using curtailed renewable power from the power grid
(thus providing a mutual incentive for coordinating their operation).

On the market side, several studies have explored whether electricity markets
incentivize the provision of flexibility by DCs. The work in [29] assesses
economic incentives of geographical load-shifting across different electricity
markets, while [30] and [31] model how cost-sensitive DCs are incentivized by
locational marginal price (LMP) signals. In a more general context, studies
have explored general electricity market designs that exploit flexibility from
demand and supply [32, 33]. A recent market design for remunerating load-
shifting flexibility using virtual links is proposed in [34]. In addition to
LMP signals, some recent market designs propose to incentivize load shifting
of DCs via carbon metrics [35, 36]. Such market designs neglect operational
constraints and logic of DCs that might prevent these assets from
participating in the market (e.g., power allocations might lead to infeasible
DC operation or high economic penalties). In addition, it is not clear whether
DCs have an incentive to provide flexibility due to their internal interests
of maximizing utilization to recover capital investments.

Mathematical programming models are widely used in scheduling systems such as
chemical manufacturing [37, 38], airline operations [39], and healthcare [40].
These scheduling models produce an optimal schedule over a prediction horizon
of interest, assuming that all information is known (e.g., demand forecasts).
Recently, receding-horizon models have been developed to capture imperfect
forecasts [20]; in this approach, the scheduling system is interpreted as a
model predictive controller (MPC). This MPC approach has been recently used to
schedule energy-intensive systems such as buildings [41] and batteries [42].
MPC-like methods have also been applied to various DC scheduling problems,
such as scheduling coupled with thermal management [43, 44, 45], risk-aware
scheduling [46], and set-point tracking [47, 48]. Our framework is different
in that it acts as a resource management model that directly interacts with
the power grid. Moreover, our framework allows for adaptive aggregation of job
scheduling resolution (thus facilitating computational scalability).

##  3 DC Resource Management Model

Figure 1: Grouping of jobs by resource requirement and completion time. Area
of each circle is proportional to the number of jobs in the category each
circle represents.

We begin by considering the DC management problem with multiple computing
servers $\mathcal{I}=\\{1,2,...,I\\}$ running over a discrete time horizon
$\mathcal{T}=\\{1,2,3,...,T\\}$. The DC manager does not necessarily have
access to all $I$ servers at all times due to reasons such as limited power
allocation. Thus, we define $I_{t}\in\mathbb{Z}_{\geq 0}$ as the number of
computing servers that are actually available at time $t$, with $I_{t}\leq I$.
This parameter is dictated by the number of servers owned by the DC as well as
by how much power is allocated by the electricity market. This is the key
mechanism (for both offline and online scheduling) in which interaction with
electricity markets come into effect. If the DCs receive more electric power
from the market, they will have flexibility to turn on more servers (hence
obtain higher $I_{t}$ values), and viceversa.

Each job is associated with a certain number of servers and a job runtime. To
describe the incoming job profile, we let $\mathcal{K}$ be the set of all
possible numbers of requested servers, $\mathcal{L}$ be the set of all
possible job runtimes (in unit of hours), and
$\mathcal{KL}\subseteq\mathcal{K}\times\mathcal{L}$ be the set of all possible
pair allocations. For example, figure 1 shows an example of job trace data
with $\mathcal{K}=\\{1,2,4,8,16\\}$ and $\mathcal{L}=\\{1,2,3,...,168\\}$. By
grouping the computing jobs based on resource requirement and job runtime, we
assume that all jobs are independent of each other so that the order of job
execution does not matter. Under this assumption, the notion of ”job” in this
management model can also be used to capture a sequence of dependent computing
tasks, which is aggregated and treated as one big job. This allows us to
improve computational scalability by overlooking flexibility from scheduling-
dependent jobs in different ways. In fact, we note that in our model we can
tune the level of fineness/aggregation in the modeling (thus trading-off
fidelity and scalability). This feature can dramatically simplify the problem
and distinguishes our model from typical jobshop scheduling formulations.
Instead of keeping track of the status of each single job at a time, our model
considers the status of groups of jobs and treat all jobs in the same group
homogeneously.

We highlight here that the resource management layer makes decisions on the
number of active servers available (denoted $m(t)$) for the scheduling layer
based on power-related information from electricity markets. To enable such a
decision-making mechanism, a relationship between server availability and
power consumption is developed, and server availability is actually a proxy
for power consumption. This means that the resource manager is deciding server
availability and power consumption simultaneously. To simplify the complexity
of solving the model, we assume a linear power consumption model where the
power consumption is proportional to the amount of active servers:

$P(m(t))=(P^{peak}-P^{idle})\cdot\frac{m(t)}{I}+P^{idle}$ (1)

where $P^{peak},P^{idle}$ are the peak and idle power of the DC. The energy
consumption at each time can be computed as

$E(t):=P(m(t))\Delta t$ (2)

where $\Delta t$ is the time interval (one hour in this paper). This adds
another layer of versatility to our modeling framework, where the power
mapping $E(\cdot)$ can be any model that can be embedded in an optimization
problem. Common power models proposed in the literature include linear
functions and piecewise linear functions [49]. From the power perspective, the
load-shifting flexibility of DCs leads to flexibility of power dynamic
trajectory for DCs. Delaying a computing job means reduction of the power
consumption associated with executing that job at the current time and
increase the power consumption at a later time. This is analogous to energy
storage systems that schedule charge/discharge decisions. This idea can also
be applied to geographical load shifting as a way to allocate power in space
[50].

###  3.1 Scheduling with Perfect Information and Fixed Power Availability

We first consider the scheduling problem with perfect information about
incoming job profile and server availability. At the beginning of each time
interval $t\in\mathcal{T}$, a total number of $N_{kl}(t)$ jobs, that request
$k$ computing servers and require $l$ hours to complete, are submitted to the
DC. The scheduling decisions of the DC are $n_{kl}(t)$, which is the number of
jobs initiated at the beginning of time interval $t$, and that require $k$
computing servers and $l$ hours to complete. The objective is to maximize the
total number of active server-hours throughout the time horizon, which can be
calculated from $n_{kl}(t)$ as:

$\sum_{t\in\mathcal{T}}\left(\sum_{(k,l)\in\mathcal{KL}}k\cdot l\cdot
n_{kl}(t)\right)$ (3)

This function aims to maximize server utilization by maximizing the number of
active server-times. Equivalently, it is maximizing the so-called goodput
metric, which is the ratio of server-times for completed jobs to the total
number of server-times available. In this model, loss in goodput incurs from
unscheduled server-times only. The goodput metric is used to capture realistic
behavior of the scheduling layer, which tends to maximize the utilization of
computing resources to obtain maximum return on capital investment. In
addition, the metric used here implicitly assumes that each job perfectly
utilizes the server resource; as such, we are considering maximizing resource
utilization at the job allocation level (not the utilization of a single
server).

The number of servers available at time $t$ is denoted as$I_{t}$; this
parameter is dictated by the number of servers owned by the DC as well as by
how much power is allocated by the electricity market. This is the key
mechanism (for both offline and online management) in which interaction with
electricity markets come into effect. If the DCs receive more electric power
from the market, they will have flexibility to turn on more servers (hence
obtain higher $I_{t}$ values), and viceversa. The DC scheduling is subject to
the following computing capacity constraint for each time $t\in\mathcal{T}$:

$\sum_{(k,l)\in\mathcal{KL}}\sum_{t^{\prime}=\underline{\tau}_{tl}}^{t}k\cdot
n_{kl}(t^{\prime})\leq I_{t}$ (4)

where $\underline{\tau}_{tl}:=\max\\{t-l+1,1\\}$. The left hand side
calculates the number of active servers that are processing jobs at time $t$
as a function of $n$. By assuming perfect information, the DC has full
knowledge of the values of $I_{t}$ throughout.

In order to ensure that a schedule obeys the submission time of jobs (i.e., a
job cannot be started before it was submitted), we set up the following set of
constraints for each time $t\in\mathcal{T}$ and $(k,l)\in\mathcal{KL}$:

$\sum_{t^{\prime}=1}^{t}n_{kl}(t^{\prime})\leq\sum_{t^{\prime}=1}^{t}N_{kl}(t^{\prime})$
(5)

This set of constraints ensures that, up to any time in the horizon, the
schedule will not start more $(k,l)$ jobs than the number of jobs already
submitted for each $(k,l)\in\mathcal{KL}$. The above objective and sets of
constraints lead to the following scheduling logic, defined over the time
horizon $\mathcal{T}$:

$\displaystyle\max_{n}\quad$
$\displaystyle\sum_{t\in\mathcal{T}}\left(\sum_{(k,l)\in\mathcal{KL}}k\cdot
l\cdot n_{kl}(t)\right)$ (6a) s.t.
$\displaystyle\sum_{(k,l)\in\mathcal{K}\mathcal{L}}\sum_{t^{\prime}=\underline{\tau}_{tl}}^{t}k\cdot
n_{kl}(t^{\prime})\leq\bar{K}_{t},\quad\forall\,t\in\mathcal{T}$ (6b)
$\displaystyle\sum_{t^{\prime}=1}^{t}n_{kl}(t^{\prime})\leq\sum_{t^{\prime}=1}^{t}N_{kl}(t^{\prime}),\quad\forall\,t\in\mathcal{T},\,(k,l)\in\mathcal{KL}$
(6c) $\displaystyle n_{kl}(t)\in\mathbb{Z}_{\geq
0}\quad\forall\,t\in\mathcal{T},\,(k,l)\in\mathcal{KL}$ (6d)

where $\mathbb{Z}_{\geq 0}$ denote the set of non-negative integers. The
active server trajectory $m(t)$ can be computed as

$m(t)=\sum_{(k,l)\in\mathcal{KL}}k\cdot n_{kl}(t)$ (7)

We want to note that our model can be seen as a generalization of Google’s
model in [19] in terms of load modeling. To one extreme, our model reduces to
Google’s model if no scheduling of discrete computing jobs is considered at
all, which means that the power loads are assumed to be purely continuous.
However, such continuous relaxation may overestimate the flexibility of DCs
due to neglecting the discrete nature of the associated power loads.

###  3.2 State-Space Representation of DC Management

Figure 2: One step of the receding-horizon scheduling framework. Blocks at the
bottom denote a feasible job schedule.

Model (6) in Section 3.1 assumes that the resource management layer of DCs
have perfect information over the time horizon about the computing
availability $I_{t}$ and job submission profile $N$. In reality, however,
accurate forecasts might only be available for a short period of time; for
example, DCs can only typically predict incoming jobs and computing servers
available in the next few hours. Moreover, the computing capacity $I_{t}$ is
affected by the allocation and price of electric power delivered by the ISO.
As a result of the uncertainty in the computing capacity, job termination
might not be needed; under such scenario, running jobs have to be canceled if
the real-time power allocated is not sufficient to run all computing servers
needed. This type of correction/feedback/recourse logic behavior is not
captured by model (6).

The aforementioned uncertainty prompts DCs to refresh/correct job scheduling
frequently. While a schedule is made at the beginning of the horizon, as time
progresses the resource management layer observe what happens, obtain more
accurate information about the future and need to adjust the schedule and, if
necessary, terminate running jobs. To capture the this behavior, we propose a
receding-horizon optimization framework for DC scheduling. Figure 2 shows
different time scales of the receding-horizon framework. Here, $T_{h}$ denotes
the decision horizon, in which a short-term schedule is decided at each step.
Parameter $T_{h}$ captures how far ahead in time the optimization looks into
the future; a shorter $T_{h}$ corresponds to a more greedy case. Parameter
$T_{j}$ denotes the job forecast horizon, in which DCs are able to predict
incoming job profile; $T_{c}$ denotes the capacity forecast horizon, in which
DCs predict how many computing servers are available. The length of forecast
horizons $T_{j}$ and $T_{c}$ capture one dimension of forecast ability; on the
other hand, the accuracy of prediction can be arbitrary. We assume DCs always
have perfect information about jobs and capacity at the current time interval;
thus, $T_{j}=1$ corresponds to the case of no job forecast (DCs only see and
react as jobs arrive in the current interval), and $T_{c}=1$ corresponds to
the case of no server capacity forecast. We see that our framework can help
capture a wide range of operational logic.

####  3.2.1 State Variables

We now present a state-space representation of DCs. At each time
$r\in\mathcal{T}$, DCs determines a schedule for the shorter horizon
$\mathcal{T}_{r}=\\{r,r+1,...,r+T_{h}-1\\}$. The model keep track of the
following state variables for the DCs:

  * •

$u_{l}(r)$: number of servers that are committed for $l$ more timesteps at the
beginning of interval $r$

  * •

$\hat{n}_{kl}^{t_{b}}(r)$: number of $(k,l)$ jobs started at $t_{b}$ that are
still running at the beginning of interval $r$. These jobs have run for
$r-t_{b}$ time, and still need to run for $l-r+t_{b}$ times.

  * •

$\tilde{n}_{kl}(r)$: number of $(k,l)$ jobs waiting in queue at the beginning
of interval $r$

  * •

$\bar{n}_{kl}(r)$: number of completed $(k,l)$ jobs at the beginning of
interval $r$

The state variables keep track of computing servers that are running (active),
and the number of jobs that are waiting in queue, running, or completed (i.e.,
they keep track of “inventories” of jobs and servers that are available and
not available). The dimension indexed by the start time $t_{b}$ grows as the
horizon progresses (as there are more possible start times to consider). The
dimensions of the state variables are determined by the number of types of
submitted jobs $|\mathcal{KL}|$ and the current time $r$; precisely, by
aggregating/disaggregating the jobs, we can manipulate the number of state
variables that the resource manager keeps track of. The decision space of each
state variable is $u(r)\in\mathbb{Z}^{\bar{L}-1}_{\geq 0}$,
$\hat{n}(r)\in\mathbb{Z}^{|\mathcal{KL}|\times(r-1)}_{\geq 0}$,
$\tilde{n}(r)\in\mathbb{Z}^{|\mathcal{KL}|}_{\geq 0}$,
$\bar{n}(r)\in\mathbb{Z}^{|\mathcal{KL}|}_{\geq 0}$, where
$\bar{L}:=\max\\{\mathcal{L}\\}$.

####  3.2.2 Control Variables

At each time $r$, the DC manager decides a schedule for the upcoming horizon
$T_{h}$. Along with the jobs that are scheduled to start at time $r$, DCs also
decide the number of running jobs to cancel at time $r$. This captures
situations in which the operator has scheduled too many jobs in earlier time
steps and the available computing servers are not sufficient to sustain the
running jobs, which can happen if the available capacity is uncertain and
capacity forecast is inaccurate. We refer to these variables as control
variables, which are defined as follows.

  * •

$m(t)$: number of active servers at time $t\in\mathcal{T}_{r}$

  * •

$n_{kl}(t)$: number of $(k,l)$ jobs started at time $t\in\mathcal{T}_{r}$

  * •

$v_{kl}^{t_{b}}(r)$: number of $(k,l)$ jobs to cancel at the beginning of
interval $r$ that begin at $t_{b}$ (so the leftover time is $t_{b}+l-t$ when
canceled)

The dimension of the control variables are primarily determined by the number
of types of submitted jobs ($|\mathcal{KL}|$) and the current time $r$. In
addition, the decision horizon $T_{h}$ also affects the size of the decision
space. The decision space of each control variable is $m\in\mathbb{Z}_{\geq
0}^{T_{h}}$, $n\in\mathbb{Z}_{\geq 0}^{|\mathcal{KL}|\times T_{h}}$,
$v(r)\in\mathbb{Z}_{\geq 0}^{|\mathcal{KL}|\times(r-1)}$. Figure 2 illustrates
one step of our receding-horizon scheduling framework.

###  3.3 Scheduling Logic

We now detail the constraints and objective function of our scheduling model.

####  3.3.1 Active Server Computation

The number of active servers $m(t)$ at time $t$ can be computed as a function
of job execution and termination decisions. Specifically, we include the
following equality constraints for every $t\in\mathcal{T}_{r}$:

$m(t)=\sum_{(k,l)\in\mathcal{KL}}\sum_{t^{\prime}=st(t,l)}^{t}k\cdot
n_{kl}(t^{\prime})+\sum_{l=t-r+1}^{\bar{L}-1}u_{l}(t)\\\
-\sum_{(t_{b},k,l)\in\mathcal{V}(t)}k\cdot v_{kl}^{t_{b}}(r)$ (8)

where $st(t,l)=\max\\{r,t-l+1\\}$ denotes the earliest possible start time for
a job of length $l$ to use computing resources at time $t$, and
$\mathcal{V}(t):=\\{(t_{b},k,l)\,|\,t_{b}+l-t>0,(k,l)\in\mathcal{KL}\\}$
denotes the set of tuples $(t_{b},k,l)$, such that the termination of $(k,l)$
jobs started at $t_{b}$ frees computing resources at time $t$. The first term
computes the resource usage at time $t$ according to the new schedule. The
second term accounts for the servers occupied by jobs scheduled in previous
times. The third term computes the number of servers freed due to job
termination.

####  3.3.2 Job Allocation

At each stage, DCs can choose to schedule jobs already waiting in queue, or
jobs newly submitted at the current time. This is captured by the following
constraints.

$\sum_{t^{\prime}=r}^{t}n_{kl}(t^{\prime})\leq\sum_{t^{\prime}=r}^{t}N^{e}_{kl}(t^{\prime})+\tilde{n}_{kl}(r)\,\forall
t\in\mathcal{T}_{r},(k,l)\in\mathcal{KL}$ (9)

Here, $N^{e}$ denotes the general job forecast. In the case where data centers
can have accurate jobs forecast within the forecast horizon, we have
$N^{e}_{kl}(t)=N_{kl}(t)$ for $t<r+T_{j}$. Beyond the job forecast horizon
$T_{j}$ no incoming jobs can be seen ($N^{e}_{kl}(t)=0$ for $t\geq r+T_{j}$).
In addition, any job forecast beyond the decision horizon does not affect the
outcome of the current stage, as the schedule is only determined for
$\mathcal{T}_{r}$. We also note that constraints (9) alone allow for unlimited
temporal load shifting for jobs (i.e., they allow for an arbitrary job delay).

####  3.3.3 Minimum Job Clearance

To ensure certain level of quality of service, we add constraints that specify
a minimum number of jobs cleared (for each type of job).

$\sum_{t^{\prime}=r}^{r+T_{h}-1}n_{kl}(t^{\prime})\geq\sum_{t^{\prime}=r}^{r+\lfloor
T_{h}/2\rfloor-1}N^{e}_{kl}(t^{\prime})+\tilde{n}_{kl}(r)\quad\forall\,(k,l)\in\mathcal{KL}$
(10)

Adding these constraints might lead to infeasible problems: if DCs do not
allocate enough loads at early times, the queued jobs might make this
constraint impossible to satisfy. Constraints (9) and (10) provide direct
bounds on the operations of DCs. One can think of these constraints as upper
bound and a lower bound trajectories for the number of active servers. Load-
shifting flexibility is manifested as trajectories DCs can take within this
flexibility envelope.

####  3.3.4 Capacity Bound

At each time interval, the number of active computing units is bounded by the
computing capacity (i.e., the number of servers available $I_{t}$). At the
current time $r$, the capacity information for future times may not be
available; thus, we define $\bar{I}_{t}$ as the forecast for $I_{t}$. The
capacity bound thus becomes

$m(t)\leq\bar{I}_{t}\quad\forall\,t\in\mathcal{T}_{r}$ (11)

Note that $\bar{I}_{r}=I_{r}$ for each stage as the current information is
assumed to be known accurately. In addition, if DCs have accurate forecast for
computing capacity at $t$, we have $\bar{I}_{t}$.

####  3.3.5 Job Termination Bound

If DCs decide to terminate jobs, such actions are limited by the number of
running jobs in the system at the current time $r$. These constraints are
captured by the following inequalities:

$v_{kl}^{t_{b}}(r)\leq\hat{n}_{kl}^{t_{b}}(r)\quad\forall
t\in\mathcal{T}_{r},(k,l)\in\mathcal{KL},t_{b}\in\mathcal{T}^{c}_{rl}$ (12)

where $\mathcal{T}^{c}_{rl}:=\\{\underline{\tau}_{rl},...,r-1\\}$ denotes the
possible start times for $(k,l)$ jobs that are still running at $r$.

####  3.3.6 State Variable Updates

Up to now we have discussed operational constraints of online scheduling. The
model needs to be updated at each time based on forecast and state
information. We now introduce the state variable updates; at the end of each
interval $r$, the value of each state variable at $r+1$ is updated based on
the values of control variables $n(r),v(r)$ and the state variable value at
$r$. The state variable $u_{l}$ are updated as follows for each possible
length $l$:

$\displaystyle
u_{l}(r+1)=u_{l+1}(r)+\sum_{k|(k,l+1)\in\mathcal{KL}}kn_{k,l+1}(r)$ (13)
$\displaystyle-\sum_{t_{b}=1}^{r-1}\sum_{k|(k,l+r-t_{b}+1)\in\mathcal{KL}}kv_{k,l+r-t_{b}+1}^{t_{b}}$

The update rule propagates running jobs from the last time, accumulates newly
submitted jobs and removes jobs of with remaining running time $l$ that are
terminated at $r$.

The number of $(k,l)$ running jobs is indexed by the start time $t_{b}$. First
we note that jobs with $l=1$ are not accounted for by the any state variable
$\hat{n}_{kl}^{t_{b}}$ because they will finish running during the interval
they are executed. Also, jobs started with $t_{b}\leq r-l+1$ are not accounted
for; there should be no such $(k,l)$ jobs running because they are either
finished or terminated.

For the next stage, the number of running jobs with start time $t_{b}=r$ is
accumulated based on the decisions $n_{kl}(r)$. Otherwise, the jobs will keep
running at the next time unless they are terminated at $r$. Thus, the number
of $(k,l)$ running jobs with begin time $t_{b}$ at $r+1$ is calculated as
follows:

$\hat{n}_{kl}^{t_{b}}(r+1)=\begin{cases}0\quad\text{if}\quad l=1\text{ or
}t_{b}\leq r-l+1\\\ n_{kl}(r)\quad\text{if}\quad t_{b}=r\\\
\hat{n}_{kl}^{t_{b}}(r)-v_{kl}^{t_{b}}(r)\quad\text{o.w.}\end{cases}$ (14)

The number of $(k,l)$ jobs waiting in queue is updated as

$\tilde{n}_{kl}(r+1)=\tilde{n}_{kl}(r)+N_{kl}(r)-n_{kl}(r)+\sum_{t_{b}=r+1-l}^{r-1}v_{kl}^{t_{b}}(r)$
(15)

which accounts for new jobs that are not scheduled at $r$ and terminated jobs
put back into the queue. The number of completed $(k,l)$ jobs follows a more
complicated update rule:

$\bar{n}_{kl}(r+1)=\begin{cases}\bar{n}_{kl}(r)+n_{kl}(r)\quad\text{ if
}l=1\\\ \bar{n}_{kl}(r)+\hat{n}^{r-l+1}_{kl}(r)-v_{kl}^{r-l+1}(r)\text{ if
}r-l+1>0\\\ \bar{n}_{kl}(r)\quad\text{ o.w. }\end{cases}$ (16)

If $l=1$, jobs scheduled right at the beginning of interval $r$ will be
finished in the end, and thus will be added to the completed jobs directly.
For longer $l$, if the jobs begin at interval $r-l+1$, they will be finished
at the end of interval $r$ unless they are terminated, thus the second case.
In other cases, the number of completed jobs remains unchanged.

####  3.3.7 Objective Function

The objective function for our model is flexible in that it captures multiple
decision-making aspects of preference based on the desirable operation mode of
DCs. At the baseline, DCs always seek to maximize the usage of their computing
resources to clear all loads. This means that DCs prefer to clear as many jobs
as possible, as early as possible, and avoid terminating jobs that are running
(especially those that have been running for long). This motivates us to
define the following function at each stage:

$\displaystyle
UTIL(r):=\sum_{t\in\mathcal{T}_{r}}\sum_{(k,l)\in\mathcal{KL}}((r+T_{h})kl-t)\cdot
n_{kl}(t)$ (17)
$\displaystyle-\sum_{(k,l)\in\mathcal{KL}}\sum_{t_{b}=\underline{\tau}_{rl}}^{r-1}((r+T_{h})kl-
t_{b})\cdot v_{kl}^{t_{b}}(r)$

By maximizing this objective function, we find a set of control actions that
maximize active server-hour (thus resource utilization) and minimize job
termination within the decision horizon $\mathcal{T}_{r}$. In addition, the
objective function rewards executing jobs as early as possible, and puts more
penalty on terminating jobs that have run for a longer time. This is achieved
using the $(r+T_{h})kl-t$ and $(r+T_{h})kl-t_{b}$ weights for $n$ and $v$
variables, respectively. Specifically, $(r+T_{h})kl-t$ assigns more reward for
jobs scheduled earlier (with smaller $t$), and $(r+T_{h})kl-t_{b}$ assigns
more penalty for canceling jobs that have been running for longer (with
smaller $t_{b}$). The $kl$ term in both weights serves to reward more for
clearing jobs with higher server-hour values. The reward for early execution
of jobs is necessary in order to ensure high resource utilization and avoid
infeasibility that arises from incorporating minimum job clearance constraints
(10), as mentioned earlier. This is especially true for cases in which the
decision horizon is long and job forecast horizon is short, where the resource
manager may be tempted to schedule early jobs to later times. Thus, the
objective function can be thought of as posing an implicit penalty on job
delay; on the other hand, the penalty on terminating long-running jobs prevent
large goodput loss.

In addition to resource utilization, DCs may be interested in being sensitive
to other metrics. For instance, in order to be sustainable, DCs want to become
aware of the carbon footprint as a function of their decisions at each stage;
in order to be economically viable, DCs may want to minimize its energy use
cost, which again is a function of their decisions at each stage. This will
lead to multi-objective optimization formulations, which we convert to single-
objective optimization problems using the weighted average of different
constraints.

We now discuss some specific metrics that can be included in the objective
function; this is done in order to highlight that our model is versatile.
First, we need to extend the definition of the number of active servers $m(t)$
beyond $t\in\mathcal{T}_{r}$ to future times to calculate the number of active
servers based on the current schedule. This can be done in a similar fashion
to defining $m(t)$ for $t\in\mathcal{T}_{r}$, as in (8). For convenience, we
define
$\bar{\mathcal{T}}_{r}:=\mathcal{T}_{r}\cup\\{r+T_{h},...,r+T_{h}+\bar{L}-2\\}$
as the extended time horizon, which capture the effect of scheduling decisions
$\mathcal{T}_{r}$ in the near future.

We now extend the definition of $m(t)$ to $\bar{\mathcal{T}}_{r}$.
Specifically, for $t\geq r+T_{h}$, we add

$m(t)=\sum_{(k,l)\in\mathcal{KL}}\sum_{t^{\prime}=st(t,l)}^{r+T_{h}-1}k\cdot
n_{kl}(t^{\prime})+\sum_{l=t-r+1}^{\bar{L}-1}u_{l}(t)\\\
-\sum_{(t_{b},k,l)\in\mathcal{V}(t)}k\cdot v_{kl}^{t_{b}}(r)$ (18)

The only difference between (18) and (8) is that, for (18), the second sum in
the first term goes not to $t$ any more but to $r+T_{h}-1$ since there are no
jobs scheduled beyond the horizon $\mathcal{T}_{r}$.

The reason we need to extend the definition of $m$ to future times is that we
need these information to capture the effect of our short-term schedules on
future times at the current time stage. For instance, scheduling long jobs
that will, if not terminated, be running beyond the decision horizon length
impacts the energy usage and carbon footprint in the near future.

We now discuss some of the specific metrics:

  * •

Carbon Emissions. The total carbon emission incurred by the scheduling
decisions can be written as

$CE(r)=\sum_{t\in\bar{\mathcal{T}}_{r}}cr(t)\cdot P(m(t))$ (19)

where $cr(t)$ is the carbon emission rate of the electricity generation fuel
mix at time $t$. Note that by summing over the extended time horizon, we
account for impacts on the times beyond the decision horizon.

  * •

Peak Demand Charge. This captures a common type of charges for commercial
customers, which depend on the maximum power within a period of time. For many
commercial customers, peak demand charge can take 30 to 70 percent of their
electric bills, in which cost is determined by the highest level of
electricity used during a billing period, rather than the total amount of
electricity consumption222https://www.cleanegroup.org/wp-
content/uploads/Demand-Charge-Fact-Sheet.pdf. To capture peak demand charges,
we define $PD(r)=\max_{t\in\mathcal{T}_{r}}P(m(t))$ as the peak demand for the
current stage. This can be reformulated by adding the following constraints:

$PD(r)\geq P(m(t))\quad\forall\,t\in\mathcal{T}_{r}$ (20)

We formulate the following objective function to capture all these metrics:

$\displaystyle OBJ(r)$ $\displaystyle=UTIL(r)-\lambda_{CE}\cdot
CE(r)-\lambda_{PD}\cdot PD(r)$

where $\lambda_{CE},\lambda_{PD}\in\mathbb{R}_{+}$ are the weighting
parameters for each term. The choice of parameter values depends highly on
specific case studies decision-making logic that one aims to capture. In the
case studies that we explore later, we show how weights can influence behavior
and we focus on emissions and peak demands. Other forms of costs, such as
total costs rather than peak demand charge, can be easily captured by
extending the objective function. We also note that, in this objective
function, we are enforcing that $UTIL(r)$ is captured all the time. This is
needed to ensure the logic of preferring scheduling jobs as early as possible.
In summary, we formulate the following receding-horizon formulation at time
interval $r$ with decision horizon $\mathcal{T}_{r}$:

$\displaystyle\max_{m,n,u,v}\quad$ $\displaystyle OBJ(r)$ (21a) s.t.
$\displaystyle\eqref{con:m_def}-\eqref{eq:obj_fn}$ (21b)

(a)

(b)

Figure 3: Job profile (a) and carbon emission rate (b) data Figure 4: Active
server trajectory with carbon awareness (legend denotes $\lambda_{CE}$ values)
Figure 5: Active server trajectory with peak demand charge (legend denotes
$\lambda_{PD}$ values)

##  4 Case Studies

In this section we showcase the applicability of our model using case studies
that help explore the temporal load-shifting flexibility of DCs. Specifically,
we demonstrate benefits of shifting DC loads in terms of reduced peak demand
charges and carbon emissions, which help DCs to reduce their electric bills
and carbon footprint. We also discuss the level of flexibility demonstrated by
DCs as part of load shifting, which we characterize as the extent of deviation
from the baseline schedule. For our case studies, we consider a large DC
system with 20,000 servers. The DC has a peak power of $P^{peak}=100MW$ when
all servers are running and idle power of $P^{idle}=30MW$. For all our case
studies, we run the model for 168 hours.

We construct the incoming job data using the Microsoft Azure public dataset
v1333https://github.com/Azure/AzurePublicDataset. The dataset contains virtual
machine trace data for a 30-day period in 2017. For our case studies, we
filter out jobs running longer than 24 hours; implicitly we assume these are
inflexible (delay-sensitive) jobs. We then sample job arrival time for each
job from a probability distribution. We consider three types of incoming job
profiles: uniform, small variance (small_var) and large variance (large_var).
For the case of uniform, job arrival times are sampled from a uniform
distribution; for the cases of small variance and large variance, job arrival
times are sampled from a probability distribution with daily patterns. The
corresponding computing load profiles are shown in figure 3(a). The
electricity cost and carbon emission data are obtained from MISO public
dataset from 07/25/2021 to 08/01/2021, as shown in Figure 3(b). Based on the
considered level of job aggregation, each hourly step of optimization takes a
few seconds to solve using Gurobi 9 on a cluster with Intel Xeon CPU E5-2698
v3. This highlights that our model can be used to capture scheduling logic
while keeping computational times moderate.

###  4.1 Response to Carbon Emission Rates and Peak Demand Charges

(a) Uniform

(b) Small Load Variance

(c) Large Load Variance

Figure 6: Active server trajectory with both peak demand charge and carbon
awareness. Here, $\lambda_{CE}=10$ for CE cases and $\lambda_{PD}=100$ for PD
cases, otherwise $0$.

We explore how DCs adjust their operational trajectories in response to peak
demand charge and carbon emission rate signals. We test different values of
$\lambda_{CE},\lambda_{PD}$. The decision horizon is fixed as
$T_{h}=T_{c}=T_{j}=24$, with perfectly accurate forecasts.

We start by exploring different levels of sensitivity to carbon emission
rates, as indicated by different values of the weight $\lambda_{CE}$. Figure 4
shows the active server trajectories on the uniform job profile, where each
case fixes $\lambda_{PD}=0$ and takes a different value for $\lambda_{CE}$. We
observe that the trajectory starts to exhibit significant deviation from the
baseline ($\lambda=0$) when $\lambda_{CE}=10$. A trajectory with significant
deviation from the baseline demonstrates great flexibility of the system,
which is a result of significant load shifting in time. When DCs over-react to
carbon emission signals ($\lambda_{CE}=100$), the trajectory shows sharp
ramping frequently. This shows the trade-off between stability and
sustainability in DC operations (as frequent rapid ramping is generally not
desired). We observe that, as $\lambda_{CE}$ is increased, more servers become
active at times with low carbon emission rates and less active servers when
high carbon emission rates. The fast ramping behavior at high $\lambda_{CE}$
values arises from volatility in carbon emission rates. This set of simple
experiments shows that DCs are able to offer great flexibility if operated
with an extremely environment-driven objective function.

We next explore different levels of sensitivity to peak demand, as indicated
by different values of the weight $\lambda_{PD}$. Figure 5 shows the active
server trajectory on uniform job profile, where each case fixes
$\lambda_{CE}=0$. We observe that in all cases the trajectory is close to the
baseline; even for large $\lambda_{PD}$ values, slight peak-shaving and
trough-filling behavior is observed from the active server trajectories. This
is expected as the baseline trajectory does not exhibit much variation.

TABLE I: Carbon emission and volatility results Job profile | $\lambda_{CE}$ | $\lambda_{PD}$ |  $CO_{2}$ ($10^{6}$ kg) |  $\sigma(m(t))$ ($10^{3}$)
---|---|---|---|---
uniform | 0 | 0 | 6.25 | 1.72
uniform | 10 | 0 | 6.11 | 4.31
uniform | 0 | 100 | 6.23 | 1.70
uniform | 10 | 100 | 6.19 | 2.24
small_var | 0 | 0 | 6.29 | 3.18
small_var | 10 | 0 | 6.13 | 4.48
small_var | 0 | 100 | 6.25 | 2.92
small_var | 10 | 100 | 6.20 | 2.90
large_var | 0 | 0 | 6.32 | 5.11
large_var | 10 | 0 | 6.17 | 4.87
large_var | 0 | 100 | 6.27 | 4.65
large_var | 10 | 100 | 6.21 | 3.93

Figure 6 shows the active server trajectory with awareness of both peak demand
and carbon emission rates, on all job profiles. Here, we assign
$\lambda_{CE}=10$ for CE cases and $\lambda_{PD}=100$ for PD cases. For each
case, we observe that the ramping becomes less frequent and less drastic with
the addition of peak demand charge in the objective. The amount of carbon
emission reduction for each case and the standard deviation for the active
server trajectory as a measure of volatility is shown in table I. The standard
deviation is computed as
$\sigma(m(t)):=\sqrt{\frac{\sum_{t=1}^{144}(m(t)-\bar{m})^{2}}{144}}$, where
$\bar{m}$ is the average number of active servers. Expectedly, for each job
profile, the case CE achieves the most carbon as it is tracking the carbon
emission rates the most aggressively, as a result of significant load shifting
driven by the carbon-aware objective function. Compared with CE cases, CE+PD
cases attains lower maximum number of active servers, meaning that peak demand
charge is reduced. Interestingly, the case CE+PD still achieves much carbon
emission reduction compared with the baseline case, with much lower volatility
$\sigma$. This shows that carbon emission rates, coupled with a peak demand
charge structure, provide a reasonable incentive structure for DCs interested
in achieving sustainable operations.

Figure 7: Total energy of queued jobs over time. Figure 8: Total power of
queued jobs over time.

Figures 7 and 8 show how the energy needed to clear of job queue of our DC
system changes over time for the case where both carbon emission and peak
demand charge are considered. The energy requirement of queued jobs is
measured as the total energy consumption of all queued jobs, which depends on
the linear power mapping (1) in our model. Similarly, the power of queued jobs
is measured as the total power consumption of all queued jobs, which is a
function of servers requested. Queued jobs of DCs are analogous to the state-
of-charge of a battery system, except that jobs represent electricity
consumption while state of charge characterizes electricity supply. We observe
that, in all cases, the DCs experience an accumulation phase in roughly the
first 20 hours, so as to store enough jobs for ramping up electricity load
later. After the initial accumulation phase, DCs enter an oscillation mode,
where the electricity load of DCs ramps up or down at different times.
Furthermore, with more volatility from incoming jobs, queued jobs ramp in a
wider range with a higher power of queued jobs.

###  4.2 Effect of Carbon Signal Accuracy

(a) Uniform

(b) Small Load Variance

(c) Large Load Variance

Figure 9: Active server trajectory with accurate vs. inaccurate forecast for
carbon emission rates. Baseline denotes the case with
$\lambda_{CE}=\lambda_{PD}=0$. Otherwise, $\lambda_{CE}=10,\lambda_{PD}=100$.

So far, we have assumed that the carbon emission rates available are accurate,
even for forecasts. This may rarely be true in reality, where the forecast
models lead to certain level of error or uncertainty most of the time. The
natural question to address is: does it matter if we use inaccurate carbon
emission rates as our model parameters? To answer this question, we generate a
series of forecast carbon emission rates $\bar{cr}$. We assume
$\bar{cr}(t)=\xi(t)\cdot cr(t)$, where $\xi(t)\sim\mathcal{N}(1,\,0.11)$
captures the relative prediction error. By construction, $\bar{cr}(t)$ is an
unbiased estimator of $cr(t)$ for each $t$. Using the forecast carbon emission
rates, we re-run the cases with $[\lambda_{CE},\lambda_{PD}]=[10,100]$ for
each job profile. At each time stage $r$, the DC operator sees the accurate
value of $cr(r)$ and forecast values of $cr(t)$ for all $t>r$.

Figure 9 shows the active server trajectory of scheduling with inaccurate
forecast, along with the corresponding baselines and scheduling with accurate
forecast. The total carbon emission data are shown in table II. We observe
that inaccurate forecast does not necessarily lead to further reductions in
carbon emissions. This is expected since the forecast is assumed to be an
unbiased estimator; there is an equal chance of overestimating versus
underestimating future carbon emissions. However, we observe that the active
server trajectories with inaccurate forecast can be more volatile compared to
those with accurate forecast. This means DCs often need to adjust their
schedules to account for sub-optimal schedules decided in previous times due
to inaccurate forecast. This demonstrates the value of accurate forecast for
DCs even if accurate forecast may not lead to more reduction in carbon
mission. On the other hand, this also demonstrates how load-shifting
capabilities of DCs enable robust reduction in carbon emission with inaccurate
carbon signals.

TABLE II: Carbon emission and volatility comparison for inaccurate forecast cases. Job | $\lambda_{CE}$ | $\lambda_{PD}$ | $CO_{2}$ | $CO_{2}$ | $\sigma(m(t))$
---|---|---|---|---|---
profile |  |  | Forecast | ($10^{6}$ kg) | ($10^{3}$)
uniform | 0 | 0 | accurate | 6.25 | 1.72
uniform | 10 | 100 | accurate | 6.19 | 2.24
uniform | 10 | 100 | inaccurate | 6.20 | 2.42
small_var | 0 | 0 | accurate | 6.29 | 3.18
small_var | 10 | 100 | accurate | 6.20 | 2.90
small_var | 10 | 100 | inaccurate | 6.21 | 3.08
large_var | 0 | 0 | accurate | 6.32 | 5.11
large_var | 10 | 100 | accurate | 6.21 | 3.93
large_var | 10 | 100 | inaccurate | 6.19 | 3.95

###  4.3 Resource management with varying capacity

(a) Uniform

(b) Small Load Variance

(c) Large Load Variance

Figure 10: Active server trajectory varying computing capacity. $T$ denotes
the time horizon values for $T_{c}$, $T_{j}$ and $T_{h}$.

(a) Uniform

(b) Small Load Variance

(c) Large Load Variance

Figure 11: Job termination trajectories (solid) and capacity forecast errors
(dashed). $T$ denotes time horizon values for $T_{c}$, $T_{j}$ and $T_{h}$.

In this subsection, we consider the case where the resource management layer
does not necessarily have access to all the computing capacity all the time.
Instead, the availability of servers is subject to external conditions such as
power dispatch from the grid. This means the operations of DCs are subject to
a variable capacity and adds another level of uncertainty to the operations.
To simulate this condition, we generate a trajectory $I_{t}$ for the number of
servers available via random walk, and from that, a prediction $\bar{I}(t)$
for the number of servers available $\bar{I}_{t}=\xi(t)\cdot I_{t}$ where
$\xi(t)\sim\mathcal{N}(1,\,0.07)$. Then we run the cases with
$T_{h}=T_{c}=T_{j}=T\in\\{9,12,24\\}$. Figure 11 shows the number of servers
running with jobs that are turned inactive due to job termination at each
time. The dashed curve plots the $I_{t}-\bar{I}_{t}$, so a negative value
means the DC operator overestimates the number of servers available at time
$t$. We observe that significant job termination occurs only when $T=9$,
meaning that increasing the decision horizon helps alleviate the need for job
termination (and thus becomes more robust to forecast errors). In addition, we
observe that job termination usually follows from (possibly consecutive)
overestimates for the number of available servers. The active server
trajectories in Figure 10 shows that at the time of job termination, the DCs
operator uses all available servers. These are expected since from our
formulation, significant job termination should occur only when it is
necessary to cut down the number of running servers. In reality, this refers
to situations such as power failure. Finally, we observe that as incoming jobs
become more volatile, we observe much more job termination. This is expected
since more volatile job profiles can see large amount of jobs at certain time
intervals, which make it more possible for DCs to see the need for job
termination.

##  5 Conclusions and Future Work

In this paper, we propose a receding-horizon, mixed-integer model for DCs that
simulates the interaction between the resource management layer and the grid
(electricity market) side. The model captures job scheduling constraints to
account for the effect of scheduling logics and forecast capability on
flexibility provision. The model also incorporates a versatile load
aggregation scheme to trade-off model fidelity and computational scalability.
The case studies show that carbon-aware hyperscale DCs are able to offer
significant flexibility from load shifting in exchange for reduced peak demand
charge and carbon emission. In addition, these benefits are robust against
carbon signal uncertainty.

As part of future work, we propose to extend our scheduling framework to the
setting of geo-distributed DCs, where the DCs can harness spatial load-
shifting flexibility too. Along with that, we may assess the effect of various
incentives for achieving sustainable operations using our receding-horizon
scheduling framework. In this paper we experimented with emission rates, which
are straightforward signals and effective from our studies. However, if we
consider overheads of doing load shifting other than job delays (e.g.
reduction in reliability), other incentives might be neeeded to overcome these
overheads, and our model can be extended to study the effect of these
overheads and how markets can remunerate for them.

## Acknowledgments

The authors acknowledge support from the U.S. National Science Foundation
under award 1832208.

## References

  * [1] N. Jones, “How to stop data centres from gobbling up the world’s electricity,” 2018, https://www.nature.com/articles/d41586-018-06610-y.
  * [2] D. Amodei and D. Hernandez, “Ai and compute,” May 2018. [Online]. Available: https://openai.com/blog/ai-and-compute/
  * [3] L. A. Barroso, U. Hölzle, and P. Ranganathan, “The datacenter as a computer: Designing warehouse-scale machines,” _Synthesis Lectures on Computer Architecture_ , vol. 13, no. 3, pp. i–189, 2018.
  * [4] E. Dreyfuss, “How google keeps its power-hungry operations carbon neutral,” Dec 2018. [Online]. Available: https://www.wired.com/story/how-google-keeps-power-hungry-operations-carbon-neutral/
  * [5] M. Ghamkhari, A. Wierman, and H. Mohsenian-Rad, “Energy portfolio optimization of data centers,” _IEEE Transactions on Smart Grid_ , vol. 8, no. 4, pp. 1898–1910, 2016.
  * [6] S. Atiewi, S. Yussof, M. Ezanee, and M. Almiani, “A review energy-efficient task scheduling algorithms in cloud computing,” in _2016 IEEE Long Island Systems, Applications and Technology Conference (LISAT)_. IEEE, 2016, pp. 1–6.
  * [7] A. Marahatta, C. Chi, K. Ji, C. Juiz, F. Zhang, and Z. Liu, “Eco-friendly dynamic task scheduling for regional data center,” in _Proceedings of the Eleventh ACM International Conference on Future Energy Systems_ , 2020, pp. 566–571.
  * [8] D. Paul, W.-D. Zhong, and S. K. Bose, “Demand response in data centers through energy-efficient scheduling and simple incentivization,” _IEEE Systems Journal_ , vol. 11, no. 2, pp. 613–624, 2015.
  * [9] M. Polverini, A. Cianfrani, S. Ren, and A. V. Vasilakos, “Thermal-aware scheduling of batch jobs in geographically distributed data centers,” _IEEE Transactions on cloud computing_ , vol. 2, no. 1, pp. 71–84, 2013.
  * [10] S. Ren, Y. He, and F. Xu, “Provably-efficient job scheduling for energy and fairness in geographically distributed data centers,” in _2012 IEEE 32nd International Conference on Distributed Computing Systems_. IEEE, 2012, pp. 22–31.
  * [11] E. Cortez, A. Bonde, A. Muzio, M. Russinovich, M. Fontoura, and R. Bianchini, “Resource central: Understanding and predicting workloads for improved resource management in large cloud platforms,” in _Proceedings of the 26th Symposium on Operating Systems Principles_ , 2017, pp. 153–167.
  * [12] F. Sorourifar, V. M. Zavala, and A. W. Dowling, “Integrated multiscale design, market participation, and replacement strategies for battery energy storage systems,” _IEEE Transactions on Sustainable Energy_ , vol. 11, no. 1, pp. 84–92, 2018.
  * [13] S. S. Parvar, H. Nazaripouya, and A. Asadinejad, “Analysis and modeling of electricity market for energy storage systems,” in _2019 IEEE Power & Energy Society Innovative Smart Grid Technologies Conference (ISGT)_. IEEE, 2019, pp. 1–5.
  * [14] S. Ø. Ottesen, A. Tomasgard, and S.-E. Fleten, “Prosumer bidding and scheduling in electricity markets,” _Energy_ , vol. 94, pp. 828–843, 2016\.
  * [15] X. Zhang, J. Hu, H. Wang, G. Wang, K. W. Chan, and J. Qiu, “Electric vehicle participated electricity market model considering flexible ramping product provisions,” _IEEE Transactions on Industry Applications_ , vol. 56, no. 5, pp. 5868–5879, 2020.
  * [16] C. Jin, J. Tang, and P. Ghosh, “Optimizing electric vehicle charging with energy storage in the electricity market,” _IEEE Transactions on Smart Grid_ , vol. 4, no. 1, pp. 311–320, 2013.
  * [17] S. I. Vagropoulos and A. G. Bakirtzis, “Optimal bidding strategy for electric vehicle aggregators in electricity markets,” _IEEE Transactions on power systems_ , vol. 28, no. 4, pp. 4031–4041, 2013.
  * [18] J. I. Otashu and M. Baldea, “Grid-level “battery” operation of chemical processes and demand-side participation in short-term electricity markets,” _Applied Energy_ , vol. 220, pp. 562–575, 2018.
  * [19] A. Radovanovic, R. Koningstein, I. Schneider, B. Chen, A. Duarte, B. Roy, D. Xiao, M. Haridasan, P. Hung, N. Care _et al._ , “Carbon-aware computing for datacenters,” _arXiv preprint arXiv:2106.11750_ , 2021.
  * [20] K. Subramanian, C. T. Maravelias, and J. B. Rawlings, “A state-space model for chemical production scheduling,” _Computers & chemical engineering_, vol. 47, pp. 97–110, 2012.
  * [21] G. Ghatikar, V. Ganti, N. Matson, and M. A. Piette, “Demand response opportunities and enabling technologies for data centers: Findings from field studies,” Aug 2012.
  * [22] A. Wierman, Z. Liu, I. Liu, and H. Mohsenian-Rad, “Opportunities and challenges for data center demand response,” in _International Green Computing Conference_. IEEE, 2014, pp. 1–10.
  * [23] Y. Zhang, I. C. Paschalidis, and A. K. Coskun, “Data center participation in demand response programs with quality-of-service guarantees,” in _Proceedings of the Tenth ACM International Conference on Future Energy Systems_ , 2019, pp. 285–302.
  * [24] L. Rao, X. Liu, L. Xie, and W. Liu, “Minimizing electricity cost: optimization of distributed internet data centers in a multi-electricity-market environment,” in _2010 Proc. IEEE INFOCOM_ , 2010, pp. 1–9.
  * [25] L. Rao, X. Liu, M. D. Ilic, and J. Liu, “Distributed coordination of internet data centers under multiregional electricity markets,” _Proceedings of the IEEE_ , vol. 100, no. 1, pp. 269–282, 2011.
  * [26] Z. Liu, M. Lin, A. Wierman, S. H. Low, and L. L. Andrew, “Geographical load balancing with renewables,” _ACM SIGMETRICS Performance Evaluation Review_ , vol. 39, no. 3, pp. 62–66, 2011.
  * [27] H. Wang and Z. Ye, “Renewable energy-aware demand response for distributed data centers in smart grid,” in _2016 IEEE Green Energy and Systems Conference (IGSEC)_. IEEE, 2016, pp. 1–8.
  * [28] K. Kim, F. Yang, V. M. Zavala, and A. A. Chien, “Data centers as dispatchable loads to harness stranded power,” _IEEE Transactions on Sustainable Energy_ , vol. 8, no. 1, pp. 208–218, 2016.
  * [29] G. Fridgen, R. Keller, M. Thimmel, and L. Wederhake, “Shifting load through space–the economics of spatial demand side management using distributed data centers,” _Energy policy_ , vol. 109, pp. 400–413, 2017.
  * [30] J. Li, Z. Bao, and Z. Li, “Modeling demand response capability by internet data centers processing batch computing jobs,” _IEEE Transactions on Smart Grid_ , vol. 6, no. 2, pp. 737–747, 2014.
  * [31] J. Ruddy and M. O’Malley, “Global shifting of data centers demand,” in _IEEE PES Innovative Smart Grid Technologies, Europe_. IEEE, 2014, pp. 1–5.
  * [32] S. S. Torbaghan, N. Blaauwbroek, P. Nguyen, and M. Gibescu, “Local market framework for exploiting flexibility from the end users,” in _2016 13th International Conference on the European Energy Market (EEM)_. IEEE, 2016, pp. 1–6.
  * [33] E. Ela, M. Milligan, A. Bloom, A. Botterud, A. Townsend, T. Levin, and B. A. Frew, “Wholesale electricity market design with increasing levels of renewable generation: Incentivizing flexibility in system operations,” _The Electricity Journal_ , vol. 29, no. 4, pp. 51–60, 2016.
  * [34] W. Zhang and V. M. Zavala, “Remunerating space-time, load-shifting flexibility from data centers in electricity markets,” _arXiv preprint arXiv:2105.11416_ , 2021.
  * [35] J. Lindberg, Y. Abdennadher, J. Chen, B. C. Lesieutre, and L. Roald, “A guide to reducing carbon emissions through data center geographical load shifting,” _arXiv preprint arXiv:2105.09120_ , 2021.
  * [36] J. Lindberg, B. C. Lesieutre, and L. Roald, “The environmental potential of hyper-scale data centers: Using locational marginal co $\\_2$ emissions to guide geographical load shifting,” _arXiv preprint arXiv:2010.03379_ , 2020\.
  * [37] C. T. Maravelias, “General framework and modeling approach classification for chemical production scheduling,” _AIChE Journal_ , vol. 58, no. 6, pp. 1812–1828, 2012.
  * [38] J. Zhang, G. Ding, Y. Zou, S. Qin, and J. Fu, “Review of job shop scheduling research and its new perspectives under industry 4.0,” _Journal of Intelligent Manufacturing_ , vol. 30, no. 4, pp. 1809–1830, 2019.
  * [39] N. Papadakos, “Integrated airline scheduling,” _Computers & Operations Research_, vol. 36, no. 1, pp. 176–195, 2009.
  * [40] R. W. Hall _et al._ , _Handbook of healthcare system scheduling_. Springer, 2012.
  * [41] F. Oldewurtel, A. Parisio, C. N. Jones, D. Gyalistras, M. Gwerder, V. Stauch, B. Lehmann, and M. Morari, “Use of model predictive control and weather forecasts for energy efficient building climate control,” _Energy and Buildings_ , vol. 45, pp. 15–27, 2012.
  * [42] R. Kumar, M. J. Wenzel, M. J. Ellis, M. N. ElBsat, K. H. Drees, and V. M. Zavala, “A stochastic model predictive control framework for stationary battery systems,” _IEEE Transactions on Power Systems_ , vol. 33, no. 4, pp. 4397–4406, 2018.
  * [43] Q. Fang, J. Wang, H. Zhu, and Q. Gong, “Using model predictive control in data centers for dynamic server provisioning,” _IFAC Proceedings Volumes_ , vol. 47, no. 3, pp. 9635–9642, 2014.
  * [44] L. Parolini, B. Sinopoli, B. H. Krogh, and Z. Wang, “A cyber–physical systems approach to data center modeling and control for energy efficiency,” _Proceedings of the IEEE_ , vol. 100, no. 1, pp. 254–268, 2011.
  * [45] Q. Fang, J. Wang, and Q. Gong, “Qos-driven power management of data centers via model predictive control,” _IEEE Transactions on Automation Science and Engineering_ , vol. 13, no. 4, pp. 1557–1566, 2016.
  * [46] D. Kusic, J. O. Kephart, J. E. Hanson, N. Kandasamy, and G. Jiang, “Power and performance management of virtualized computing environments via lookahead control,” _Cluster computing_ , vol. 12, no. 1, pp. 1–15, 2009.
  * [47] X. Wang and M. Chen, “Cluster-level feedback power control for performance optimization,” in _2008 IEEE 14th International Symposium on High Performance Computer Architecture_. IEEE, 2008, pp. 101–110.
  * [48] W. Xu, X. Zhu, S. Singhal, and Z. Wang, “Predictive control for dynamic resource allocation in enterprise data centers,” in _2006 IEEE/IFIP Network Operations and Management Symposium NOMS 2006_. IEEE, 2006, pp. 115–126.
  * [49] A. Radovanovic, B. Chen, S. Talukdar, B. Roy, A. Duarte, and M. Shahbazi, “Power modeling for effective datacenter planning and compute management,” _arXiv preprint arXiv:2103.13308_ , 2021.
  * [50] W. Zhang, L. A. Roald, A. A. Chien, J. R. Birge, and V. M. Zavala, “Flexibility from networks of data centers: A market clearing formulation with virtual links,” _Electric Power Systems Research_ , vol. 189, p. 106723, 2020.

Weiqi Zhang received the B.S. degree in chemical and biomolecular engineering
from University of California, Los Angeles in 2018. He is currently pursuing
the Ph.D. degree with the Department of Chemical and Biological Engineering,
University of Wisconsin-Madison. His research interests include electricity
markets, system flexibility, and optimization.
---
Line A. Roald (Member, IEEE) received the B.Sc. and M.Sc. degrees in
mechanical engineering and the Ph.D. degree in electrical engineering from ETH
Zurich, Switzerland. She is an Assistant Professor and Grainger Institute
Fellow with the Department of Electrical and Computer Engineering, University
of Wisconsin–Madison. Her research interests focus on modeling and
optimization of electric grids and energy systems, with a particular focus
managing uncertainty and risk from renewable energy variability and large-
scale outages. She was a recipient of the National Science Foundation CAREER
Award.
---
Victor M. Zavala received the B.Sc. degree from Universidad Iberoamericana,
Mexico City, Mexico, in 2003 and the Ph.D. degree from Carnegie Mellon
University in 2008, both in chemical engineering. He is the Baldovin-DaPra
Professor with the Department of Chemical and Biological Engineering,
University of Wisconsin- Madison and a Senior Computational Mathematician at
Argonne National Laboratory. His research interests are in the areas of energy
systems, high-performance computing, stochastic programming, and predictive
control.
---


# A Review on Pushing the Limits of Baseline Recommendation Systems with the
integration of Opinion Mining & Information Retrieval Techniques

Dinuka Ravijaya Piyadigama<EMAIL_ADDRESS>0000-0002-8123-0099
University of Westminster309 Regent St.LondonUK and  Guhanathan Poravi
Informatics Institute of Technology57 Ramakrishna RdColombo 06Sri Lanka
<EMAIL_ADDRESS>
(2022)

###### Abstract.

Recommendations Systems allow users to identify trending items among a
community while being timely and relevant to the user’s expectations. When the
purpose of various Recommendation Systems differs, the required type of
recommendations also differs for each use case. While one Recommendation
System may focus on recommending popular items, another may focus on
recommending items that are comparable to the user’s interests. Content-based
filtering, user-to-user & item-to-item Collaborative filtering, and more
recently; Deep Learning methods have been brought forward by the researchers
to achieve better quality recommendations.

Even though each of these methods has proven to perform well individually,
there have been attempts to push the boundaries of their limitations.
Following a wide range of methods, researchers have tried to expand on the
capabilities of standard recommendation systems to provide the most effective
recommendations to users while being more profitable from a business’s
perspective. This has been achieved by taking a hybrid approach when building
models and architectures for Recommendation Systems.

This paper is a review of the novel models & architectures of hybrid
Recommendation Systems. The author identifies possibilities of expanding the
capabilities of baseline models & the advantages and drawbacks of each model
with selected use cases in this review.

Recommendation Systems, Collaborative Filtering, Content based Filtering,
Hybrid Recommendation Systems, Opinion Mining

††journalyear: 2022††ccs: Information systems Recommender systems††ccs: Human-
centered computing Social recommendation††ccs: Information systems Retrieval
models and ranking††ccs: Information systems Data mining††ccs: Applied
computing Online shopping

##  1\. Introduction

In the modern-day age, Recommendation Systems play a vital role in almost
every B2C and B2B system. These systems aid in the resolution of the problem
of information overload.

Recommending items for purchase, displaying personalized recommendations for
users to watch videos/ movies, displaying advertisements to users, displaying
personalized recommendations for online profiles and content on social
networks, displaying the most likely-to-use tools/ software in a system are
all done using Recommendation Systems. In 2018 it was estimated that 35% of
Amazon’s revenue (naumov_deep_2019, 17) is driven by Recommendation Systems.
75% of Netlfix viewer activity (vanderbilt_science_nodate, 20) was also said
to come from recommendations back in 2013. There are many types of standard
recommendation algorithms & systems made to cater to these use cases.

Among the many types of recommendation systems, item-to-item Collaborative
filtering has been the most successful technique, while user-to-user
Collaborative filtering and Content-based filtering have also had their own
upsides. In order to take advantage of the relevant advantages of each method,
Hybrid recommendation systems were introduced. More recently; Deep Learning
methods have been brought forward by researchers to achieve better quality
recommendations.

Even though each of these methods has proven to perform well, there have been
attempts to push the boundaries of their limitations. Following a wide range
of methods, researchers have tried to expand on the capabilities of standard
recommendation systems in order to provide the most effective recommendations
to users while being more profitable from a business’s perspective. This has
been achieved by ensembling models or taking hybrid approaches when building
models and architectures for Recommendation Systems.

##  2\. Machine Learning-based recommendation techniques

There are several baseline techniques of Recommendations Systems that have
been used by the biggest data-driven companies around the world. Among the
many types of recommendation systems, item-to-item Collaborative filtering
(linden_amazoncom_2003, 16) has been the most successful technique for an
extended period of time (smith_two_2017, 19), while user-to-user Collaborative
filtering and Content-based filtering have also had their own upsides. In
order to take advantage of the relevant advantages of each method, Hybrid
recommendation systems (geetha_hybrid_2018, 13) were introduced.

##  3\. Deep Learning-based recommendation techniques

In 2019, Facebook open-sourced a new categorical data-driven Deep learning-
based recommendation engine (naumov_deep_2019, 17, 21). This recommendation
model was developed from the two perspectives of recommendation systems and
predictive analytics. It made use of embeddings, two Multilayer Perceptrons
(MLPs), one sigmoid function, (freudenthaler_factorization_2011, 12) and a
parallelization scheme to support large scales of data.

More recently, after many attempts to go beyond the gold standard of
recommendation systems (linden_amazoncom_2003, 16, 19) with the use of deep
learning techniques, Amazon finally has achieved to use an _”Auto-Encoder”_
Deep Neural Network to give better movie recommendations (larry_history_2019,
15).

##  4\. Concerns about progress in Recommendation Systems

In several research & review papers, it has been brought to sight that Deep
learning techniques in the area of recommendation systems have failed to live
up to the expectations compared to the advancements in Computer Vision, Speech
Recognition & Natural Language Processing (NLP) domains (choi_local_2021, 6).
The results that have been published presenting advancements in the
Recommendation Systems domain using Deep learning techniques have not been
very convincing for the majority of use cases. Many standard Machine learning
& regression techniques have been able to outperform systems created using
Deep learning models in terms of recommendations. As highlighted in past
reviews (dacrema_are_2019, 8) it is understood that Deep learning models have
been used as baseline methods for evaluating new Deep learning models. Thus,
when looking back at older Machine learning techniques, they haven’t been
making an impactful improvement in many cases. As a result, much of the work
related to Recommendation Systems using Deep learning techniques has been
giving poorer recommendations, for higher computational power.

A study conducted in 2019 questioned if we are really making any progress with
Deep Learning models in the domain of Recommendations (dacrema_are_2019, 8).
In a more recent study, researchers tried to understand the similarities and
advantages of using MLP versus dot product (rendle_neural_2020, 18). Similar
to many Deep learning approaches, it was understood that MLP wasn’t necessary
unless the dataset was too large or the embedding dimension was very small. A
dot product was identified as a better choice since it was efficient to a
satisfactory extent.

##  5\. How to choose the ideal algorithm for a Recommendations System?

Generally, an application of a Recommendation System will come in a business
use case, where companies focus on maximizing profits for minimum expenses. In
a scenario like that, it would make more sense to choose a cheaper model that
gets the job done to a satisfactory level. Dot products offer a significant
advantage over MLPs in terms of inference cost due to the availability of
efficient maximum inner product search algorithms. Since MLPs are too costly
to use in production environments, the better default choice in most cases
would be the dot product approach that uses Machine Learning techniques with
Matrix Factorization.

(1) $<x,y>=\sum_{i=1}^{d}x_{i}y_{i}$

(2) $y=\varphi(\sum_{i=1}^{n}w_{i}x_{i}+b)=\varphi(w^{T}x+b)$

The equation 1 is used for the calculation of the dot product between two
items’ similarities, while the equation 2 is used in a single-layer
perceptron, where w denotes the vector of weights, x is the vector of inputs,
b is the bias and $\varphi$ is the non-linear activation function.

A variation that combines the MLP with a weighted dot product model, named
_Neural Matrix Factorization (NeuMF)_ has also been explored. But, that too is
deemed to be outperformed by the dot product method.

One of the major limitations identified related to dot products in this study
is that learning a dot product with high accuracy for a large embedding
dimension required a large model capacity. This may also require more
computational resources. Therefore, it would be advisable for Data Science
engineers to consider both approaches based on the requirements & data of the
system that they’re planning to work on.

##  6\. User Opinion & Sentiment Aware Recommendation Systems

> ”Users usually transmit their decisions together with
> emotions.”(chen_user_2019, 4)

User emotions are an important factor to be considered when trying to get a
better understanding of the probable decisions of a user. Sentiment analysis
of user-generated content can be ideal to provide users with better
recommendations. Opinion mining is a process to identify another person’s
viewpoint on something. Sentiment analysis is to extract someone’s attitude or
feeling (nah_opinion_2018, 23). Both these measures can be considered to be
important in understanding a user’s opinion related to an item.

One of the easiest ways to capture the opinions of users is to use content
generated on social media. It’s a cheap, fast, and effective way of capturing
user opinions.

###  6.1. Extracting User Review Sentiment for Recommendations

There have been studies to understand the influence of user sentiment on the
use of user reviews. Sentiment Analysis techniques have been applied for the
purpose of understanding users’ opinions related to movies that they have
previously watched, in order to understand the user’s preference profile. In
previous research, (cheng_hybrid_2020, 5) a framework that is capable of
summarizing an aggregated list of historical reviews given by a user has been
introduced. Later, these results are combined together with a Collaborative
Filtering algorithm. This overcomes the problem of ’data sparsity’ which
occurs as a result of depending on user ratings. Another advantage that this
method provides is that it enables the system to help creators identify the
preferences of the movie consumers.

One of the major concerns that this method seems to have is that while it will
be able to give appropriate recommendations to a user, the recommendations
will most likely contain old movies that have been watched by other users as
well. The system will have a difficulty in identifying new movies that are
highly trending.

The strategy of the framework that has been adapted here has not considered
different aspects of reviews that users may place. A mentioned example is _the
user might focus on the quality of the sound effects in action movies, but the
storyline in dramas_. The semantic strategy of opinion extraction is noted as
an area to be worked on. Another limitation that has been mentioned in
relation to this framework is that it does not consider slang, irony, or
sarcasm, although these styles of semantics have the ability to completely
change the person’s opinion.

Because the proposed method is highly reliant on the technique of text-mining
user reviews, the final recommendations could have a positive influence if
greater attention is paid to research on text-mining models and relevant
procedures.

###  6.2. Cross-Domain Recommendations with Decision-making Support based on
Twitter Sentiment

####  6.2.1. A Cross-Domain Hybrid Recommendation System

When it comes to recommending items from multiple domains, it becomes
challenging to use the same recommendation model for recommendations. Each of
these domains may have distinctive features as well as a varied bias in
weights of each feature towards recommendations. Taking into consideration of
the 3 domains music, movies & books a group of researchers has been able to
produce a cross-domain recommendations system (ayushi_cross-domain_2018, 1).
This work has focused on using the domain knowledge gained from movies to
generate recommendations for books and music.

In order to build the required system, the authors have tested various
supervised classification algorithms together with a hybrid approach for
recommendations with the combination of content-based recommendations, user-
to-user Collaborative filtering, and personalized recommendation techniques.
Out of the tested classifiers, the Decision tree classifier was found to give
the highest accuracy.

The system that was produced in this research was able to address the
limitation of data sparsity and the cold start problem that occurs with single
domain analysis. With the integration of several domains, the system has shown
the capability of generating a higher accuracy in suggestions.

####  6.2.2. Using Twitter Sentiment for Validation of Recommendations

The authors have then taken the extra step of using Twitter sentiment analysis
on the generated recommended entities. One of the points that can be taken out
of this is that public sentiment on social media is a consideration that users
show interest in when choosing an item to consume, even after getting it as a
recommendation. This drills down to the natural human desire to get validation
on consumables by the people around them and from those that they look up to.
Taking this into consideration for a recommendation system is, therefore, a
positive aspect, especially for systems that don’t have the luxury of
integrating directly with a large social network such as Facebook/ Twitter in
order to generate direct recommendations for its users.

The overall system uses this as a decision-support system to provide the user
with decision making by visualizing the positive, negative & neutral polarity
percentages given by people, on Twitter. While it is clear that such decision
support is valuable to the user, it feels ironic to recommend an item to a
user and then say that it’s not well-accepted by the community. While helping
the user identify the recommended items based on other users’ online activity,
it may also say that it’s not recommended, or deemed with negative sentiment
by the majority of the community. This may leave the user in the confusion
about what to take. It also leaves the part of the work the system can do for
the user. A better method to integrate this public sentiment into
recommendations would be to utilize the sentiment scores on social media to
harvest the ideal recommendations and then show them to the user. Items with
only positive sentiment can be considered.

###  6.3. Identifying Possible Classification Techniques of User Reviews

While procedures relevant to text-mining play an important role in
understanding users’ opinions, the classification of these reviews also has to
be done appropriately, in order to be used for recommendations.

The emotional information that users provide with their comments has the
potential to influence the correctness and precision of recommendations. In
the work done (chen_user_2019, 4), a deep learning model has been used to
process user comments to generate a possible rating for recommendations.

Sentiment analysis is applied to the reviews to create a feature vector. Then,
a noise reduction procedure is implemented on the data set to delete short
comments, comments with no expression, and false rating comments. This has
been done to improve the classification of ratings, as it has been pointed out
in previous literature(cheng_hybrid_2020, 5) as being highly reliant on
generating recommendations based on sentiment analysis of user-generated
content. Finally, a Deep Belief Network has been used to achieve data learning
for the recommendations.

This Deep Belief Network and Sentiment Analysis (DBNSA) has been said to
outperform baseline models, especially training loss value, precision, and
recall on Yelp and Amazon data sets. Furthermore, it is said to save more time
than other baseline methods. The biggest drawback that this method seems to
have is that the algorithm is not suitable for real-time testing. Furthermore,
social relationships and subsequent timeline comments have also been
identified as a possible extension of this work since they can help address
the cold-start problem by using timeline comments from a user’s close social
relationships. This might be a little difficult to implement by integrating
externally into social networks since a user’s close group of friends who
think alike will have to be known to get the ideal information that will
affect a particular user’s decision-making process.

There has been previous research focused on devising a robust recommendation
methodology by identifying the credibility of reviewers and the quality of
reviews when taking into consideration of all item reviews (hu_reviewer_2020,
14). Sentiment analysis captured from reviews is an additional enhancement
that this model uses apart from identifying the factors that affect a user’s
fondness for a certain product. This has been identified as the first work
that integrates credibility-driven feature-based fine-grained sentiment
analysis with user modeling for online product recommendations.

The entire system which is named credibility, interests, and sentiment
enhanced recommendation (CISER) has five sub-modules. Candidate feature
extraction is done using the _spaCy_ library, while sentiment confidence is
given by _fastText_. Thereafter, reviewer credibility analysis, user interest
mining, candidate feature sentiment assignment, and recommendation module
follow. When the proposed system was tested with Amazon’s camera review data-
set, it managed to outperform baseline models. This shows that the more
specifics we look into when considering items for recommendations, the better
the Recommendations System is able to perform.

The paper suggests devising sophisticated measures for representative rating
and expertise as possible future enhancements that can be done to increase the
specifics of identifying reviewer credibility. Furthermore, social network
information and online activity logs can be considered for the user
credibility model.

##  7\. Breakdown of Recommendation System Architectures that integrate
opinion mining techniques

There have been many attempts to expand the capabilities of Recommendations by
making use of public opinion. Collaborative Filtering was one approach to
achieve that. Another identified approach was to make use of user data on
social media. This has been integrated into Machine Learning-based Hybrid
Recommendation Architectures in many ways. In the figure1, the author tries to
elaborate on the possible technical contribution brought forward in this
research.

Figure 1. Enhancements done to Recommendation Systems using opinion mining
techniques (self-composed)

The figure 1 shows the identified possible points of integration of opinion
mining techniques into a Recommendations System. 1, 2 (linden_amazoncom_2003,
16, 15), 3 (cheng_hybrid_2020, 5) & 4 (ayushi_cross-domain_2018, 1) techniques
have been already applied as identified in past literature, while the 7th
technique has been mentioned as possible future work from the 3rd technique
(chen_user_2019, 4). Method 5 hasn’t been explicitly attempted in recent
literature concerning Recommendation Systems, but the data science models used
aren’t expected to require a lot of tweaking to achieve it, after the feature
engineering step is taken care of.

Method 6 has not been identified in previous literature and is expected to
align better with the desires circulating market places that don’t directly
track & collect user input such as user clicks. This can be extended to method
8. Finally, if methods 7 & 8 turn out to give promising results, method 9
would be the next step to provide a completely new personalized
recommendations architecture that integrates social media trends that are
related to the content of the items.

##  8\. NLP techniques that can be applied to support the integration of
opinion mining into Recommendation Systems

The main NLP techniques that were identified to be useful to be implemented in
a system that requires data-mining & opinion mining techniques were Sentiment
Analysis, Named Entity-Recognition, Tokenization, Stemming & Lammetization;
the latter 4 techniques being required for pre-processing scraped data from
opinion-mining techniques.

In order to apply these techniques, many past literature (as mentioned in
Existing Work), point in the direction of using industrial-grade libraries
that utilize Recurrent Neural Network (RNN) architectures such as SpaCy and
NLTK. The most state-of-the-art models & techniques that make use of
Transformer architectures can be found in the Hugging Face library
(wolf_transformers_2020, 22). Transformer models particularly trained to
analyze Twitter Sentiment can be identified to be highly accurate & fast with
classifying opinion mining data from social media (noauthor_cardiffnlptwitter-
roberta-base-sentiment_nodate, 3, 2).

##  9\. Common Challenges Faced by Sentiment-aware Recommendations Systems

One of the most common challenges faced by Recommendation Systems that wish to
integrate sentiment analysis into any part of their architecture is the
inability to filter out and classify sarcastic comments. This is an area of
NLP that needs to be researched further together with the ability to classify
the relevant comments.

Extracting all this useful information in real-time in large volumes can be
very challenging. This is why several of these systems appear to fail to
provide recommendations in real-time.

##  10\. Practices to be followed to optimize the usage of gathered opinions

When considering multiple opinions related to a specific topic/ item, they can
be combined into one document and processed rather than processing each
opinion one by one (nah_opinion_2018, 23). When doing so, it would be good to
have an impact score for each document to make sure that recommendations are
biased appropriately towards the opinions of the majority with consideration
of the users’ opinions.

##  11\. Evaluation Approaches for Recommendation Systems

As highlighted in past reviews, evaluating & benchmarking Recommendation
Systems has been a major concern due to the lack of available datasets and
questions related to domain-specific approaches/ algorithms used for
recommendations.

For the convenience of future work, the following breakdown can be used to
evaluate future Recommendations Systems. Especially, those that integrate
novel algorithmic, hybrid approaches for recommendations.

When evaluating Recommendation Systems, we may examine the outcomes produced
by the system in two ways. The first way would be to identify if the system is
capable of recommending items that a user may use. The second method would be
to identify if the system is capable of recommending items that a user will
choose/ use.

The first way to evaluate the outcome can be done by utilizing current data
and pre-identified conditions. For the second approach, the evaluation
algorithm would require feedback from the public. This can be done by having
open beta testing. It would take more time & effort, but it will be capable of
evaluating a system qualitatively on the final goal instead of a possibility.

If we look at evaluating this system from an expected-output performance point
of view, Precision@K (P@K), also identified as the Top-N strategy in several
pieces of literature is the most common method of evaluating a Recommendations
System. This measure and the metrics that have been mentioned below can be
used to quantitatively evaluate Recommendation Systems.

Table 1. Evaluation techniques for Recommendation Systems Measure |  Description |  Objective Orientation
---|---|---
MAE |  Measures the average absolute deviation between a predicted rating and the user’s true rating, overall the known ratings. |  Negatively oriented. Lower, the better.
RMSE |  A variant of MAE emphasizes large errors by squaring them.
Precision |  The percentage of items in the recommended list that are assessed to be relevant to the user (i.e. it represents the probability that a selected item is relevant). |  Positively oriented. Higher, the better.
Recall |  The ratio of relevant items presented by the system to the total number of relevant items available in the items in the system.

Mean Absolute Error (MAE) & Root Mean Squared Error (RMSE) is used to measure
the accuracy of predicted user ratings (1-5 star ratings) per item, per user.
Precision & recall are used to measure if the system successfully predicts
which items the user will select or consume (dayan_recommenders_2011, 10).

Since the goal of the Recommendations System is to provide the user with
multiple options, it is better if the system can produce options across a
diverse range. To evaluate the diversity of items across the produced
recommendations, Aggregate diversity can be measured.

Apart from these metrics, quality-of-service measures such as CPU & Memory
usage can be considered for evaluation as well.

In the review questioning the advancements of Recommendation Systems,
(dacrema_are_2019, 8) the author mentions that the lack of used datasets and
code bases hinders the ability to properly benchmark and evaluate new research
related to Recommendation Systems. The importance of reproducibility of
research related to Recommendations Systems has future been elaborated on in
the reviews that follow (dacrema_troubling_2021, 7, 11, 9).

##  12\. Conclusion

In this review, the author has pointed out the reasons to as why baseline
Recommendation Systems have been attempted to be improved with the use of
ensemble techniques & hybrid models. Several attempts that past researchers
have taken towards implementing such Recommendation models were also discussed
and critically evaluated.

Since this review has covered many opinion mining-related work, the NLP
techniques that can be applied to these, the common challenges faced and
practices that could be followed to optimize the use of gathered opinions for
recommendations purposes have been noted. Finally, since evaluating
Recommendation Systems has also not been clearly handled in the past, the
author has included a summary of several evaluation metrics that can be
adopted together with each of their objected orientations.

## References

  * (1) Smriti Ayushi and Badri Prasad  “Cross-Domain Recommendation Model based on Hybrid Approach”  In _International Journal of Modern Education and Computer Science_ 10.11, 2018, pp. 36–42  DOI: 10.5815/ijmecs.2018.11.05
  * (2) Francesco Barbieri, Jose Camacho-Collados, Leonardo Neves and Luis Espinosa-Anke  “TweetEval: Unified Benchmark and Comparative Evaluation for Tweet Classification”  In _arXiv:2010.12421 [cs]_ , 2020  arXiv: http://arxiv.org/abs/2010.12421
  * (3) “cardiffnlp/twitter-roberta-base-sentiment · Hugging Face”  URL: https://huggingface.co/cardiffnlp/twitter-roberta-base-sentiment
  * (4) Rung-Ching Chen and Hendry  “User Rating Classification via Deep Belief Network Learning and Sentiment Analysis” Conference Name: IEEE Transactions on Computational Social Systems  In _IEEE Transactions on Computational Social Systems_ 6.3, 2019, pp. 535–546  DOI: 10.1109/TCSS.2019.2915543
  * (5) Li Chen Cheng and Ming-Chan Lin  “A hybrid recommender system for the mining of consumer preferences from their reviews”  In _Journal of Information Science_ 46.5, 2020, pp. 664–682  DOI: 10.1177/0165551519849510
  * (6) Minjin Choi, Yoonki Jeong, Joonseok Lee and Jongwuk Lee  “Local Collaborative Autoencoders”  In _Proceedings of the 14th ACM International Conference on Web Search and Data Mining_ , WSDM ’21  New York, NY, USA: Association for Computing Machinery, 2021, pp. 734–742  DOI: 10.1145/3437963.3441808
  * (7) Maurizio Ferrari Dacrema, Simone Boglio, Paolo Cremonesi and Dietmar Jannach  “A Troubling Analysis of Reproducibility and Progress in Recommender Systems Research”  In _ACM Transactions on Information Systems_ 39.2, 2021, pp. 20:1–20:49  DOI: 10.1145/3434185
  * (8) Maurizio Ferrari Dacrema, Paolo Cremonesi and Dietmar Jannach  “Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches”  In _Proceedings of the 13th ACM Conference on Recommender Systems_ , 2019, pp. 101–109  DOI: 10.1145/3298689.3347058
  * (9) Maurizio Ferrari Dacrema, Paolo Cremonesi and Dietmar Jannach  “Methodological Issues in Recommender Systems Research (Extended Abstract)” ISSN: 1045-0823, 2020, pp. 4706–4710  DOI: 10.24963/ijcai.2020/650
  * (10) Aviram Dayan et al.  “Recommenders benchmark framework”  In _Proceedings of the fifth ACM conference on Recommender systems - RecSys ’11_ Chicago, Illinois, USA: ACM Press, 2011, pp. 353  DOI: 10.1145/2043932.2044003
  * (11) Maurizio Ferrari Dacrema, Federico Parroni, Paolo Cremonesi and Dietmar Jannach  “Critically Examining the Claimed Value of Convolutions over User-Item Embedding Maps for Recommender Systems”  In _Proceedings of the 29th ACM International Conference on Information & Knowledge Management_, CIKM ’20  New York, NY, USA: Association for Computing Machinery, 2020, pp. 355–363  DOI: 10.1145/3340531.3411901
  * (12) C. Freudenthaler, L. Schmidt-Thieme and Steffen Rendle  “Factorization Machines Factorized Polynomial Regression Models”, 2011  URL: https://www.semanticscholar.org/paper/Factorization-Machines-Factorized-Polynomial-Models-Freudenthaler-Schmidt-Thieme/10e8617b6c58d599b8d17b3a60047a599bfe5e72
  * (13) G. Geetha, M. Safa, C. Fancy and D. Saranya  “A Hybrid Approach using Collaborative filtering and Content based Filtering for Recommender System” Publisher: IOP Publishing  In _Journal of Physics: Conference Series_ 1000, 2018, pp. 012101  DOI: 10.1088/1742-6596/1000/1/012101
  * (14) Shigang Hu et al.  “Reviewer Credibility and Sentiment Analysis Based User Profile Modelling for Online Product Recommendation” Conference Name: IEEE Access  In _IEEE Access_ 8, 2020, pp. 26172–26189  DOI: 10.1109/ACCESS.2020.2971087
  * (15) Hardesty Larry  “The history of Amazon’s recommendation algorithm” Section: Latest news, 2019  URL: https://www.amazon.science/the-history-of-amazons-recommendation-algorithm
  * (16) G. Linden, B. Smith and J. York  “Amazon.com recommendations: item-to-item collaborative filtering”  In _IEEE Internet Computing_ 7.1, 2003, pp. 76–80  DOI: 10.1109/MIC.2003.1167344
  * (17) Maxim Naumov et al.  “Deep Learning Recommendation Model for Personalization and Recommendation Systems”  In _arXiv:1906.00091 [cs]_ , 2019  arXiv: http://arxiv.org/abs/1906.00091
  * (18) Steffen Rendle, Walid Krichene, Li Zhang and John Anderson  “Neural Collaborative Filtering vs. Matrix Factorization Revisited”  In _Fourteenth ACM Conference on Recommender Systems_ , RecSys ’20  New York, NY, USA: Association for Computing Machinery, 2020, pp. 240–248  DOI: 10.1145/3383313.3412488
  * (19) Brent Smith and Greg Linden  “Two Decades of Recommender Systems at Amazon.com” Conference Name: IEEE Internet Computing  In _IEEE Internet Computing_ 21.3, 2017, pp. 12–18  DOI: 10.1109/MIC.2017.72
  * (20) Tom Vanderbilt  “The Science Behind the Netflix Algorithms That Decide What You’ll Watch Next” Section: tags  In _Wired_ URL: https://www.wired.com/2013/08/qq-netflix-algorithm/
  * (21) “We are open-sourcing a state-of-the-art deep learning recommendation model to help AI researchers and the systems and hardware community develop new, more efficient ways to work with categorical data.”, 2019  URL: https://ai.facebook.com/blog/dlrm-an-advanced-open-source-deep-learning-recommendation-model/
  * (22) Thomas Wolf et al.  “Transformers: State-of-the-Art Natural Language Processing”  In _Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations_ Online: Association for Computational Linguistics, 2020, pp. 38–45  DOI: 10.18653/v1/2020.emnlp-demos.6
  * (23) Wenping Zhang, Mengna Xu and Qiqi Jiang  “Opinion Mining and Sentiment Analysis in Social Media: Challenges and Applications” Series Title: Lecture Notes in Computer Science  In _HCI in Business, Government, and Organizations_ 10923 Cham: Springer International Publishing, 2018, pp. 536–548  DOI: 10.1007/978-3-319-91716-0˙43