Juan Diego Sánchez-Torres

Michael Defoort
email: michael.defoort@univ-valenciennes.fr

Aldo Jonathan Muñoz-Vázquez
email: aldo.munoz.vazquez@gmail.com

A Second Order Sliding Mode Controller with Predefined-Time Convergence

Keywords: Predefined-Time Convergence, Second-order Sliding Mode Control, Lyapunov method

This paper presents the basis to design a wellsuited control law which guarantees predefined-time convergence for a class of second-order systems. In contrast to the case of finite-time and fixed-time controllers, a predefined-time controller allows to set the bound of the convergence time, explicitly during the control design. Furthermore, in the case of no disturbance, the least upper bound of the convergence time can be predefined directly from the control definition. A Lyapunovlike characterization for predefined-time stability is performed. Numerical results are discussed to show the reliability of the proposed method.

I. INTRODUCTION

Most applications of dynamical system design require to meet some performance constraints. For the case of control, observation and estimation, those requirements are usually related to fast responses while being robust to uncertainties, such as external disturbances or parameter variations. For those cases, sliding mode algorithms have been one of the most promising methods [START_REF] Utkin | Sliding Modes in Control and Optimization[END_REF], [START_REF] Drakunov | Sliding mode control in dynamic systems[END_REF].

A primary feature of the sliding mode control is the finite time stability [START_REF] Roxin | On finite stability in control systems[END_REF]- [START_REF] Moulay | Finite-time stability and stabilization: State of the art[END_REF]. However, the stabilization time is often an unbounded function of the initial conditions of the system. To overcome this drawback, making settling time bounded for any initial condition, a stronger form of stability, called fixed-time stability, was introduced by [START_REF] Andrieu | Homogeneous approximation, recursive observer design, and output feedback[END_REF] for homogeneous systems and by [START_REF] Cruz-Zavala | Uniform second-order sliding mode observer for mechanical systems[END_REF]- [START_REF] Polyakov | Stability notions and lyapunov functions for sliding mode control systems[END_REF] for systems with sliding modes. The settling time of fixed-time stable systems presents a class of uniformity to their initial conditions. The references [START_REF] Sánchez-Torres | A discontinuous recurrent neural network with predefined time convergence for solution of linear programming[END_REF]- [START_REF] Sánchez-Torres | A class of predefined-time stable dynamical systems[END_REF] analyze a class of systems where an upper bound of the fixed stabilization time is a tunable parameter. This structural advantage allows coping with the problems related to the estimation of the convergence time.

Recent efforts to design predefined time controllers for high order systems are exposed in [START_REF] Jiménez-Rodríguez | A second order predefined-time control algorithm[END_REF], [START_REF] Jiménez-Rodrguez | Predefined-time backstepping control for tracking a class of mechanical systems[END_REF]. However, the presence of singularities in the closed-loop dynamics makes the use of this controller restricted to particular cases. To improve the applicability of this class of second-order controllers, the reference [START_REF] Jiménez-Rodríguez | Variable structure predefined-time stabilization of second-order systems[END_REF] presents a variable structure controller which switch between different operation regimes, avoiding possible singularities.

This paper presents a novel sliding mode controller with predefined-time convergence. In contrast to the mentioned methods, the current proposal allows designing a nonsingular controller without the use of switching between regimes. With this aim, firstly, it is presented a generalized Lyapunov condition for predefined time stability. Secondly, with these stability conditions, it is designed a second-order sliding mode controller. Finally, through all the paper, some rigorous proofs are presented for all the proposed results.

The outline of the paper is as follows. In Section II, some basics on predefined-time stability and gamma function are recalled. The main results concerning the Lyapunov characterization of predefined-time stability are given in Section III. Based on this characterization, a robust controller is derived for second-order systems with bounded matched perturbation. Numerical simulations are presented in Section IV to illustrate the effectiveness of the proposed controller.

II. PRELIMINARIES

A. On predefined-time stability

Consider the system ẋ = f (x; ρ), (1)
where x ∈ R n is the system state. The vector ρ ∈ R b stands for the parameters of system [START_REF] Utkin | Sliding Modes in Control and Optimization[END_REF], which are assumed to be constant, i.e., ρ = 0. Furthermore, there is no limit in the number of parameters, so b can take any value in the set of natural numbers N 0 . The function f : R n → R n is nonlinear, and the origin is assumed to be an equilibrium point of system (1), so f (0; ρ) = 0. The initial conditions of this system are x 0 = x(0) ∈ R n .

Definition II.1 (See [START_REF] Bhat | Finite-time stability of continuous autonomous systems[END_REF])). The origin of (1) is globally finitetime stable if it is globally asymptotically stable and any solution x(t, x 0 ) of (1) reaches the equilibrium point at some finite time moment, i.e., ∀t ≥ T (x 0 ) : x(t, x 0 ) = 0, where T : R n → R + ∪ {0} is called the settling-time function.

Definition II.2 (See [START_REF] Polyakov | Nonlinear feedback design for fixed-time stabilization of linear control systems[END_REF]). The origin of (1) is fixed-time stable if it is globally finite-time stable and the settling-time function is bounded, i.e. ∃T max > 0 : ∀x 0 ∈ R n , T (x 0 ) ≤ T max .

Remark 1. Assuming that the origin of ( 1) is fixed-time stable, the bound T max in Definition II.2 is trivially non-unique; for instance, note that T (x 0 ) ≤ λT max with λ ≥ 1. This motivates the definition of a set which contains all the bounds of the settling-time function.

Definition II.3 (See [START_REF] Sánchez-Torres | A discontinuous recurrent neural network with predefined time convergence for solution of linear programming[END_REF]). Let the origin of system (1) be fixed-time-stable. The set of all the bounds of the settling-time function is defined as:

T = {T max ∈ R + : T (x 0 ) ≤ T max , ∀ x 0 ∈ R n } .
Remark 2. For some applications such as state estimation, dynamic optimization, fault detection, among others, it would be convenient that the trajectories of system (1) reach the origin within a time T c ∈ T , which can be defined in advance as a function of the system parameters, that is

T c = T c (ρ).
This is the main idea of predefined-time-stable systems.

Definition II.4 (See [START_REF] Sánchez-Torres | A class of predefined-time stable dynamical systems[END_REF]). For the system (1) parameters ρ and a constant T c := T c (ρ) > 0, the origin of ( 1) is said to be predefined-time-stable for system (1) if it is fixed-time-stable and the settling-time function T : R n → R is such that

T (x 0 ) ≤ T c , ∀x 0 ∈ R n .
If this is the case, T c is called a predefined-time.

Remark 3. It would be desirable to choose T c = T c (ρ) not only as a bound of the settling-time function T c ∈ T , but as the least upper bound, i.e., T c = min T = sup x0∈R n T (x 0 ). However, this selection requires complete knowledge about the system, compromising its application to uncertain systems.

B. On the incomplete gamma function inverse

Recall the definition of the gamma function:

Definition II.5 (See [START_REF] Bateman | Higher transcendental functions, ser. Calif. Inst. Technol. Bateman Manuscr. Project[END_REF], [START_REF] Abromowitz | Handbook of Mathematical Functions: With Formulas, Graphs, and Mathematical Tables[END_REF]). Let a > 0. The gamma function is defined as

Γ(a) = ∞ 0 t a-1 exp(-t)dt. (2)
Splitting the integral (2) at a point x ≥ 0, two incomplete gamma functions are obtained. This motivates the following definitions.

Definition II.6 (See [START_REF] Bateman | Higher transcendental functions, ser. Calif. Inst. Technol. Bateman Manuscr. Project[END_REF], [START_REF] Abromowitz | Handbook of Mathematical Functions: With Formulas, Graphs, and Mathematical Tables[END_REF]). Let a > 0 and x ≥ 0. The incomplete gamma function is defined as

Γ(a, x) = ∞ x t a-1 exp(-t)dt.
Definition II.7 (See [START_REF] Bateman | Higher transcendental functions, ser. Calif. Inst. Technol. Bateman Manuscr. Project[END_REF], [START_REF] Abromowitz | Handbook of Mathematical Functions: With Formulas, Graphs, and Mathematical Tables[END_REF]). Let a > 0 and x ≥ 0. The regularized incomplete gamma function is defined as

Q(a, x) = Γ(a, x) Γ(a) .
Definition II.8. Let a > 0 and x ≥ 0. The regularized incomplete gamma function inverse

Q -1 (a, •) : (0, 1] → [0, ∞), is defined as the unique function satisfying Q -1 (a, Q(a, x)) = x. Remark 4. Note that Q(1, x) = exp(-x), Q(a, 0) = 1, and Q(a, x) → 0 as x → ∞. Consequently, from Definition II.8, Q -1 (a, 1) = 0.

III. MAIN RESULTS

A. A generalized Lyapunov characterization of predefinedtime stability

The following theorem presents a Lyapunov characterization of predefined-time stable systems.

Theorem III.1. If there exists a continuous radially unbounded function V : R n → R such that (i) V (x) = 0 if and only if x = 0, (ii) V (x) ≥ 0 and, (iii) any solution x(t) of (1) satisfies

V (x) ≤ - α βq-1 p Γ 1-βq p pT c exp (αV (x) p ) V (x) βq (3)
for x ∈ R n \ {0} and constants T c := T c (ρ) > 0, α > 0, β > 0, p > 0, q > 0 such that βq < 1. Then, the origin of system (1) is predefined-time stable with predefined time equal to T c .

Proof. From the differential inequality (3), V (x(t)) satisfies

V (x(t)) ≤ 1 α Q -1 1-βq p , t-t0 Tc + Q 1-βq p , -V (x 0 ) p 1 p
. Thus, from Remark 4, the settling-time function for system (1) complies

T (x 0 ) ≤ T c 1 -Q 1-βq p , -V (x 0 ) p ≤ T c , ∀x 0 ∈ R n .
Hence, the origin of system ( 1) is predefinedtime-stable, with a predefined-time T c .

The following corollary exposes how Theorem III.1 generalizes the results proposed in [START_REF] Sánchez-Torres | A discontinuous recurrent neural network with predefined time convergence for solution of linear programming[END_REF], [START_REF]Predefined-time stability of dynamical systems with sliding modes[END_REF], [START_REF] Sánchez-Torres | A class of predefined-time stable dynamical systems[END_REF].

Corollary III.2 (See [START_REF] Sánchez-Torres | A class of predefined-time stable dynamical systems[END_REF]). If there exists a continuous radially unbounded function V : R n → R such that (i) V (x) = 0 if and only if x = 0, and (ii) V (x) ≥ 0 and, (ii) any solution x(t) of (1) satisfies

V (x) ≤ - 1 pT c exp (V (x) p ) V (x) 1-p (4)
for x ∈ R n \ {0} and, constants T c := T c (ρ) > 0 and 0 < p ≤ 1. Then, the origin of system (1) is predefined-time-stable, with a predefined time T c . Proof. (See [START_REF] Sánchez-Torres | A class of predefined-time stable dynamical systems[END_REF]) From the differential inequality (4), V (x(t))

satisfies V (x(t)) ≤ ln 1 t-t 0 Tc +exp(-V (x0) p ) 1 p
. Thus, the settling-time function for the system (1) complies

T (x 0 ) ≤ T c [1 -exp(-V (x 0 ) p )] ≤ T c , ∀x 0 ∈ R n .
Hence, the origin of system (1) is predefined-time-stable, with a predefined-time T c .

Similarly, the proof of this corollary easily follows from Theorem III.1 with α = β = 1 and p = 1 -q and considering Remark 4.

Remark 5. With a similar approach to the previous one, it follows the predefined-time characterization presented in [START_REF] Jiménez-Rodrguez | Predefined-time backstepping control for tracking a class of mechanical systems[END_REF]. proposed in [START_REF] Lopez-Ramirez | On necessary and sufficient conditions for fixed-time stability of continuous autonomous system[END_REF]. In this paper, it is shown that this system is fixed-time stable with a fixed time equal to √ π. Firstly, note that the same results is obtained applying Theorem III.1 with

V (x) = |x|, α = p = q = 1, β = 1/2 which results in T c = √ π since Γ(1/2) = √ π.
Secondly, the system in its current form does not provides a straightforward approach to select in advance the convergence time. Namely, how to change the time √ π to another value. For this reason, the given system can not be considered yet as predefined-time stable. However, this constraint is easily removed applying again Theorem III.1 with V (x) = |x|, α = p = q = 1, β = 1/2 and T c > 0. This procedure leads to the modified system ẋ = -

√ π Tc exp(|x|) x 1 2
, which is predefined-time stable, with a predefined time T c . Finally, the modified system is a particular case of the system (5) presented in Example 1 with α = m = p = q = 1, β = 1/2 and T c > 0.

B. Predefined time stabilization of uncertain second-order systems

For this case, consider a system in the canonical form with a matched disturbance

ẋ1 = x 2 ẋ2 = u + ∆ (6)
where

x 1 , x 2 , u, ∆ ∈ R with |∆| < δ.
The following theorem presents a controller which stabilizes system (6) in a predefined-time despite the disturbance term, that is (x 1 , x 2 ) = (x 1 , ẋ1 ) = (0, 0) for a given T c > 0. Therefore, the proposed scheme is a second order sliding mode controller with predefined time convergence. The basis of the controller is the sliding variable proposed in [START_REF] Polyakov | Nonlinear feedback design for fixed-time stabilization of linear control systems[END_REF]. The main advantage of this proposal is that despite the singularity presented in the dynamics of this variable, it is possible to design a nonsingular controller to stabilize it.

Theorem III.3. Let the following control input for system (6):

u = -γ 2 1 (q 1 + p 1 |x 1 | p1 ) |x 1 | q1-1 exp (|x 1 | p1 ) sign(σ) -γ 2 exp (α 2 |σ| p2 ) σ β2q2 -ksign(σ) (7)
where

σ = x 2 + x 2 2 + 2γ 2 1 exp (|x 1 | p1 ) x 1 q1 1 2
with the gains γ 1 = 2

1-q 1 /2 p 1 Γ 1-q1/2 p1 /p 1 T c1 , γ 2 = α β 2 q 2 -1 p 2 2 Γ 1-β2q2 p2 /p 2 T c2 , and k > δ depending on the parameters T c1 > 0, p 1 > 0, 1 ≤ q 1 < 2, T c2 > 0, α 2 > 0, β 2 > 0, p 2 > 0, q 2 > 0 such that β 2 q 2 < 1.
Therefore, the system (6) closed by ( 7) is predefined-time stable, with a predefined time T c = T c1 + T c2 despite the disturbance term ∆.

Proof. The dynamics of the variable σ is given by

σ = u + ∆+ |x 2 | (u + ∆) + γ 2 1 (q 1 + p 1 |x 1 | p1 ) |x 1 | q1-1 exp (|x 1 | p1 ) x 2 x 2 2 + 2γ 2 1 exp (|x 1 | p1 ) x 1 q1 1 2 = -γ 2 1 (q 1 + p 1 |x 1 | p1 ) |x 1 | q1-1 exp (|x 1 | p1 ) sign(σ) -γ 2 exp (α 2 |σ| p2 ) σ β2q2 -ksign(σ) + ∆ - |x 2 | γ 2 exp (α 2 |σ| p2 ) σ β2q2 x 2 2 + 2γ 2 1 exp (|x 1 | p1 ) x 1 q1 1 2 - γ 2 1 (q 1 + p 1 |x 1 | p1 ) |x 1 | q1-1 exp (|x 1 | p1 ) (|x 2 | sign(σ) -x 2 ) x 2 2 + 2γ 2 1 exp (|x 1 | p1 ) x 1 q1 1 2 - |x 2 | (ksign(σ) -∆) x 2 2 + 2γ 2 1 exp (|x 1 | p1 ) x 1 q1 1 2
Thus, to analyze the stability of the variable σ, let the candidate Lyapunov function V 2 = |σ|. Then, for σ = 0

V2 = σsign(σ) = -γ 2 1 (q 1 + p 1 |x 1 | p1 ) |x 1 | q1-1 exp (|x 1 | p1 ) -γ 2 exp (α 2 |σ| p2 ) |σ| β2q2 -k + ∆sign(σ) - |x 2 | γ 2 exp (α 2 |σ| p2 ) |σ| β2q2 x 2 2 + 2γ 2 1 exp (|x 1 | p1 ) x 1 q1 1 2 - γ 2 1 (q 1 + p 1 |x 1 | p1 ) |x 1 | q1-1 exp (|x 1 | p1 ) (|x 2 | -x 2 sign(σ)) x 2 2 + 2γ 2 1 exp (|x 1 | p1 ) x 1 q1 1 2 - |x 2 | (k -∆sign(σ)) x 2 2 + 2γ 2 1 exp (|x 1 | p1 ) x 1 q1 1 2 Hence V2 ≤ -γ 2 exp (α 2 |σ| p2 ) |σ| β2q2 -k + δ ≤ - α β 2 q 2 -1 p 2 2 Γ 1-β2q2 p2 p 2 T c2 exp (α 2 V p2 2 ) V β2q2 2
which implies the sliding mode σ = 0 for t ≥ T c2 .

In the sliding motion σ = 0 the system (6) reduces to

ẋ1 = -γ 1 exp 1 2 |x 1 | p1 x 1 q 1 2 . (8)
To analyze the stability of the sliding dynamics [START_REF] Polyakov | Nonlinear feedback design for fixed-time stabilization of linear control systems[END_REF], let the Lyapunov function

V 1 = |x 1 |. Then, for x 1 = 0 V1 = sign(x 1 ) ẋ1 = -γ 1 exp 1 2 |x 1 | p1 |x 1 | q 1 2 = - 2 1-q 1 /2 p 1 Γ 1-q1/2 p1 p 1 T c1 exp 1 2 V p1 1 V q 1 2 1 (9)
which implies the sliding mode x 1 = 0, and as consequence of the variable σ, the sliding mode x 2 = 0 for t ≥ T c = T c1 + T c2 .

Remark 7. Theorem III.1 is of paramount importance since it allows the construction of the second-order controller presented in Theorem III.3. For this case, the possibility to have the parameter q 1 larger than one avoids singularities in the control input (7) as x 1 reaches zero. In this form, the generalization allowed by Theorem III.1 extends the applicability of Corollary III.2, since the last does not provide a straightforward method to the predefined time stabilization of systems with order higher than one.

IV. SIMULATION EXAMPLE

The simulations were programmed on Simulink in Matlab, based on the Euler integrator with 100KHz of sampling frequency. In order to show the reliability of the proposed controller, consider system [START_REF] Andrieu | Homogeneous approximation, recursive observer design, and output feedback[END_REF] with ∆ = 0. The control parameters were set at q 1 = 1.2, p 1 = 1, T c1 = 1, q 2 = 0.5, p 2 = 1, T c2 = 1, α 2 = 1 × 10 -3 and β 2 = 1. From the simulation results of Figure 1, one can realize that the state converge to the origin before the predefined time T c = T c1 + T c2 for any initial condition. V. CONCLUSION This paper introduced a novel second order controller with predefined-time stability. First, a Lyapunov analysis that allows for the characterization and design of this controller was presented. Based on the theoretical basis provided by the proposed stability analysis, a second-order sliding mode controller was designed. The closed-loop system presents the practical advantage that the least upper bound for this settling time is known through an explicit and straightforward relationship with the controller gains.

Time [s]

Remark 6 .

 6 x ∈ R, x = |x| sign(x), and m > 1 is predefinedtime stable, with a predefined-time T c .The result follows from considering the candidate Lyapunov function V (x(x) p ) V (x) βq . Consider the example ẋ = -exp(|x|) x 1 2

Fig. 1 .

 1 Fig. 1. Simulation results. x 1 (t) in black and x 2 (t) in gray, for different initial conditions.


Morgan Séguéla
email: morgan.seguela@irit.fr

Riad Mokadem
email: riad.mokadem@irit.fr

Jean-Marc Pierson
email: jean-marc.pierson@irit.fr

Dynamic Energy and Expenditure Aware Data Replication Strategy

Keywords: Cloud, Data replication, Provider expenditure, Energy consumption, SLA violation

Nowadays, data are generated and accessed from all over the world. Applications and companies store these data on geo-distributed cloud providers that have to be profitable while reducing their environmental impact. As Cloud providers aim to satisfy their service level objectives in terms of availability and response time, they often rely on data replication. In this paper, we propose a dynamic data replication strategy (DE2ARS) that adapts the number of replicas according to the workload and addresses energy consumption and expenditure issues. It follows an initial placement and is triggered by a Control Chart. We first compare different parameter choices in order to provide better analysis for the proposed strategy. We compare DE2ARS with strategies from the literature. Results highlight the fact that DE2ARS reaches its goal to reduce both energy consumption and expenditure while having good performance in a strong workload context.

I. INTRODUCTION

Since the spread of information technologies, companies and laboratory provide and request data from all over the world and some items are highly requested. This implies some availability and performance issues that can be addressed by replicating data, which aims to satisfy these issues. Other objectives can also be achieved such as reducing energy consumption or reducing expenditure [START_REF] Séguéla | Comparing energy-aware vs. cost-aware data replication strategy[END_REF].

This paper focuses data replication in Cloud systems, characterized by elasticity, that adapts resources automatically and allows the use of a Pay-As-You-Go economic model, where tenants pay what they consume. A Service Level Agreement (SLA), signed by both tenant and provider, specifies prices to rent resources, Service Level Objectives (SLO) the provider has to achieve, and penalties it must pay otherwise. Reducing provider's environmental impact is getting more important and can be seen through the reduction of energy consumption [START_REF] Mastelic | Cloud Computing: Survey on Energy Efficiency[END_REF]. Thus, multiple techniques and technologies have been developed, like sleep state and consolidation.

In this paper, we propose a dynamic data replication strategy, DE2ARS (Dynamic Energy and Expenditure Aware data Replication Strategy), which occurs following an initial placement [START_REF] Séguéla | Energy and Expenditure Aware Data Replication Strategy[END_REF]. DE2ARS aims to reduce both energy consumption and expenditure while improving performance for the tenant. This strategy is triggered with a control chart [START_REF] Shewhart | Economic control of quality of manufactured product[END_REF] which detects a workload evolution based on SLO violations. According to this workload evolution detected, one or several replicas is/are created or deleted, and decisions consider expenditure and energy consumption issues. Replication leverages on energy saving technologies like PowerSleep. For identifying data item to replicate, we use the Pareto principle supposing that 80 percent of violations come from 20 percent of data stored. We compared DE2ARS with strategies from the literature. And it achieves its objective to reduce both energy consumption and expenditure while improving performance. Note that we consider read-only data items that will not be updated.

The rest of this paper is organized as follows: we begin in Section II by a state of the art of data replication strategies that takes into account energy consumption and expenditure. Section III describes the proposed strategy. In Section IV, we validate the proposed strategy.Finally, we conclude and draw some lines for future works in Section V.

II. STATE OF THE ART

We focus on data replication strategies that take into account energy consumption, expenditure, or both.

In terms of reducing energy consumption, [START_REF] Long | MORM: A Multi-objective Optimized Replication Management strategy for cloud storage cluster[END_REF] proposed MORM, a static data replication that answers to availability, service time, load balancing, energy consumption and latency issues where each objective is weighted. Boru et al. [START_REF] Boru | Energy-efficient data replication in cloud computing datacenters[END_REF] proposed a strategy triggered by a threshold on the number of accesses and considers a hierarchical architecture, where data are replicated in lower level to reduce energy and bandwidth consumption. [START_REF] Zhang | Skewly replicating hot data to construct a power-efficient storage cluster[END_REF] used two Least Recently Used lists that permits to classify data item according to their heat (popularity). Then this strategy stores hot data items in hot nodes (energy consuming) and cold ones in cold nodes (reducing their power consumption).

On the side of taking expenditure into account, replication in PEPR [START_REF] Tos | Ensuring performance and provider profit through data replication in cloud systems[END_REF] is triggered by an SLO violation, i.e. when the response time of a task is higher than a threshold, and replicates only if the provider is still profitable. [START_REF] Gill | A dynamic, cost-aware, optimized data replication strategy for heterogeneous cloud data centers[END_REF] calculates 2 scores at each time frame: (i) an availability score, based on a file availability probability, and (ii) a replication factor, based on access frequency. As the proposed strategy considers a hierarchical architecture, it leverages on heterogeneity to create or remove replicas in order to reduce expenditure. [START_REF] Hsu | A Proactive, Cost-aware, Optimized Data Replication Strategy in Geo-distributed Cloud Datastores[END_REF] use an Auto-Regressive Integrated Moving Average to predict the number of accesses for a short period of time and then process a replication algorithm in order to minimize the global cost by minimizing the cost in each region.

Only few strategies consider both energy consumption and expenditure as objectives. In [START_REF] Ebadi | An energy-aware method for data replication in the cloud environments using a Tabu search and particle swarm optimization algorithm[END_REF], authors propose a static data replication strategy which models reads and writes energy consumption and expenditure where each objective is weighted. The static data replication strategy proposed by [START_REF] Séguéla | Energy and Expenditure Aware Data Replication Strategy[END_REF], called E2ARS, replicates in a 2 steps decision process. The first step leverages on heterogeneity to reduce both energy consumption and expenditure while the second step uses sleep states to reduce power consumption of unused nodes.

Compared to the literature, our strategy, Dynamic Energy and Expenditure Aware data Replication Strategy (DE2ARS), addresses the reduction of both energy consumption and expenditure through a dynamic data replication strategy triggered by control charts. To the best of our knowledge, this is the first time that control charts are used in a data replication context.

III. DYNAMIC DATA REPLICATION STRATEGY

We consider the following process of executing a query: A node receives a task, needed data items are transferred to the executing node. At the end of this process the provider verifies if there is an SLO violation according to the response time.

DE2ARS, which occurs after an initial static placement [START_REF] Séguéla | Energy and Expenditure Aware Data Replication Strategy[END_REF], aims to answer to an increasing and decreasing workload. To do so, we focus on the proportion of SLO violations in a sample.

In our context, this metric is expressed by a response time that is higher than a threshold, i.e., an SLO. We adapt here the SLO violations cost, from Google's SLOs 1 . If a node is unavailable more than 5% of the renting time, they refund 100% of the rent. So, if more than 5% of tasks have a response time higher than the SLO then, we refund 100% of the tasks price. To avoid reaching this proportion of violations, we use Control Charts [START_REF] Shewhart | Economic control of quality of manufactured product[END_REF].

A. Triggering the replication 1) Introducing Control Charts: Control Charts are tools from Statistical Process Control, a branch of Quality Management. They are based on probability laws where parameters are known or estimated. It permits to know the probability of an event and then take action when issues occur. Control charts are mostly used in computer science to monitor data quality [START_REF] Jones-Farmer | Applying Control Chart Methods to Enhance Data Quality[END_REF] or to manage a process variability [START_REF] Kim | Control charts for variability monitoring in high-dimensional processes[END_REF].

Control charts are defined by a target, limits around the target and a set of rules that trigger the control chart. Authors that introduced and described control charts [START_REF] Shewhart | Economic control of quality of manufactured product[END_REF], [START_REF] Electric | Western Electric -Statistical Quality Control Handbook[END_REF], used 3σ limits in a Normal Distribution.

In our case, an event corresponds to the proportion of SLO violations in a sample. This event is considered following a Binomial distribution, as each SLO violation follows a Bernoulli distribution, with a probability p of successes (i.e. probability for a task to generate an SLO violation), and a sample size n. Considering an event that follows a Binomial law, implies the use of a so-called p-chart.

As it was described before, we aim to consider an Upper Control Limit (UCL) that has to be lower than 5%. We have 1 https://cloud.google.com/compute/sla (03/07/2022) to consider a p ∈ [0, 5%[ with p + 3σ n < 5%, then we choose to use p = 2.5%. Having a low value of p implies that n has to be high enough in order to have a more precise estimation.

To answer this kind of issues, authors of [START_REF] Schader | Two Rules of Thumb for the Approximation of the Binomial Distribution by the Normal Distribution[END_REF], compared multiple rules, and we use the following one:

n * p * (1 -p) > 9 ⇔ n > 9 0.025 * 0.975 ⇔ n > 369.2 (1)
Based on this rule, we choose a sample size parameter n = 370. Setting parameters p and n permits to set control limits of the control chart as follows:

CL = p ± 3 * p(1 -p) n (2)
Here Upper Control Limit equals 4.93%, and Lower Limit Control equals 0.07%. They correspond to 3σ limits. Between them, 3 zones are set at each side of the target, to apply rules: 0-1σ, 1-2σ and 2-3σ. Rules are introduced by [START_REF] Electric | Western Electric -Statistical Quality Control Handbook[END_REF] and then extended by [START_REF] Nelson | The Shewhart Control Chart-Tests for Special Causes[END_REF]. We focus here on rules that detects a deviation from the target: R1 -1 point outside 3σ limits R2 -9 points in a row in the same side of the target R3 -6 points in a row steadily increasing of decreasing R4 -2 out of 3 points being beyond 2σ in the same side of the target R5 -4 out of 5 points being beyond 1σ in the same side of the target 2) Detecting Workload Evolution: As it was described before, control charts are triggered by rules applied to samples. Each rule permits to detect a deviation from the mean, thus multiple rules can be triggered detecting contradictory evolution. To avoid this issue, we give a score to the event, which start at 0. Then, if a triggered rule highlights a workload increasing, it adds +1 to the score. At the opposite, if this highlights a workload decrease, it decreases the score by 1.

For the rules R1, R2, R4, R5, a proportion that is higher than the target, correspond to an increase and vice versa. And for the rule R3, if proportions are increasing, it means a workload increase, and vice versa.

At the end of the control chart evaluation, if the score is positive, the strategy will create new replicas. If the score is negative, the strategy will delete replicas. Otherwise, the number of replicas is not changed.

3) Information Retrieval: During the lifetime of the system, the strategy gathers 2 kinds of information from tasks. First, each task that breaks the SLO is assigned the value of 1, or 0 otherwise, in the sample given to the control chart. Then, if a task breaks the SLO, we gather information about on which node the task was processed and which data items was needed.

B. Notation

Before describing replicas creation and removal, we introduce the following notations:

Let F be a set of items stored on a set of nodes N. Each item

f i ∈ F, 1 ≤ i ≤ z has a size s(f i ) (in MB).
Each node n j ∈ N, 1 ≤ j ≤ m with a storage capacity cp j (in MB). Nodes have a static power consumption P ow static (n j ) (in Watt), that depends on the server components. Similarly, each node has a storage cost Cost storage (n j ) (in $/MB per second), that mostly depends on the region, hardware and so on.

ϕ is a matrix of size (z, m) which represents the placement of data items on nodes: ϕ(f i , n j ) is equal to 1 when f i is stored on n j and 0 otherwise. dif f time (f i , n j ) (in seconds) corresponds to the duration between the latest query of f i on n j and the time when the score is calculated.

propEC which is the weight given for the energy consumption part. Its values goes from 0 for not considering energy consumption to 1 for only considering energy consumption.

C. Creating Replicas

When the number of violations is getting high, it means that the system is being overloaded. Replicating data may balance workload among multiple nodes and avoid bottleneck.

Replication is done in two steps: Plan and Replicate. 1) Replication Plan: At first, the strategy plans which data item will be replicated and on which node. a) Which items: Based on the Pareto Principle, we sort data items according to their number of violations, and select data items that accumulate 80% of violations, supposing that they come from 20% of data items.

b) Which data center: Based on the same principle, for each data item, the strategy sorts regions according to their number of violations, then selects regions that correspond to 80% of the data item violations. This is repeated for data center for each chosen regions for each item, where data centers of a region are sorted according to their number of violations, and selected to reach 80% of SLO violations of the region. c) Which node: When choosing on which node to store the replica, a trade-off has to be considered between (i) storing the replica on a new node to balance the workload but increasing its energy consumption, or (ii) storing the replica on a node that already stores data to keep a low number of activated nodes with a possibility to create a bottleneck.

To handle this trade-off, we consider a score corresponding to the transfer time (seconds) per Megabytes (MB) between two nodes n j and n j ′ for a data item f i . Here, n j corresponds to a possible node on which the strategy will replicate, and n j ′ the closest node that stores a replica of f i .

If this score goes above a threshold for a node, we consider this node as a bottleneck. This threshold can be set by an administrator in order to apply a policy more or less consuming in terms of energy consumption.

DE2ARS considers at first nodes that stores items, and if any of them is not considered as a bottleneck, it selects the one with the lowest score. If all of them are considered as bottleneck, it will wakes up and chooses a new node if this is possible, or DE2ARS chooses the node with the lowest score if they are all already up. These choices are under the constraint of available storage, that has to be higher than the item size.

2) Replicating: The main idea of these two steps, is to avoid huge overhead by transferring data only for replication.

When data centers receive the replication plan for their nodes, they check within current tasks which data items are used, and if they have to be replicated according to the replication plan. If this is the case, it transfers the item to the chosen node. If some items are not replicated, DE2ARS checks new coming tasks and when one requires data items that have to be replicated, then it takes advantage of the transfer to compute the task and replicate at the same time.

D. Removing Replicas

Elasticity implies a replica management that can adapt to an increasing workload by replicating, but also when the workload decreases by removing replicas. It has to be noted that, dynamic data replication in DE2ARS follows a static data replication. For the sake of simplicity, during the removing process, we do not remove replicas created during this initial placement. We suppose here that other events might be more efficient to reconsider this initial placement.

1) Choosing the number of removal: During our research, we considered multiple possibilities when removing replicas.

First, we considered removing one replica at a time, which should avoid under-provisioning, but this might be too slow to put enough nodes in sleep state in order to reduce energy consumption. At the opposite, we tried to remove all created replicas during the dynamic replication, creating a cycle of replication/removal, as workload might stay high. One last possibility, is to remove a proportion of replicas, in order to make it faster to delete replicas without implying a cycle of creation and removal.

2) Choosing replicas to remove: Finally, we addressed the way of choosing replicas to remove through a removal score, based on energy consumption and expenditure to store each replica. Then replicas are sorted according to this score, and top ones will be removed according to the number of removal. To compute this score, we introduce the following notations.

a) Energy consumption: The energy consumption score of a replica f i stored on a node n j is calculated as follow:

EC score (f i , n j ) = ϕ(f i , n j ) * P ow static (n j ) * (3) dif f time (f i , n j ) * s(f i ) f ′ i inF ϕ(f ′ i , n j ) * s(f ′ i ) b) Expenditure:
The expenditure score of a replica on a node is calculated as follow:

EX score (f i , n j ) =ϕ(f i , n j ) * s(f i ) * (4) Cost storage (n j ) * dif f time (f i , n j )
c) Removal score: In order to compare those scores, they are normalized. It means that scores are reduced by their mean and divided by their standard deviation of their category. This permits to keep the distribution of results and highlights scores that are particularly high or low. The normalized score is written:N orm AC (f i , n j ), AC ∈ {EC, EX}. The removal score is then calculated as follows:

DelScore(f i , n j ) =N orm EC * propEC+ (5) N orm EX * (1 -propEC)
With this score, the administrator has the possibility to balance between energy consumption and expenditure, then replicas with highest removal scores are immediately deleted.

IV. EVALUATION

A. Experimental environment 1) Strategies parameters: DE2ARS uses [START_REF] Séguéla | Energy and Expenditure Aware Data Replication Strategy[END_REF] as an initial placement in our evaluations. In this evaluation section, all experiments associated with DE2ARS uses a value of propEC of 0.5. We highlight different policies proposed by DE2ARS as different parameters have been set. a) Bandwidth Threshold: In section III-C1, we choose to set the threshold to consider a node as a bottleneck or not and we wanted to highlight its impact. To do so, we used a VLow and Low values of 0.0001 and 0.001 s/Mo respectively, a threshold of 0.005 s/Mo, called Mid. And High and VHigh values of 0.01 s/Mo and 0.1 s/Mo respectively. b) Other strategies: We compare our strategy with other data replication strategies from the literature (see Section II) and a control strategy used as a baseline. As a control strategy, we used a static strategy that creates 3 replicas and places them randomly, called 3Rand. From the literature, we compare our strategy with 2 static replication strategies: MORM [START_REF] Long | MORM: A Multi-objective Optimized Replication Management strategy for cloud storage cluster[END_REF] and E2ARS [START_REF] Séguéla | Energy and Expenditure Aware Data Replication Strategy[END_REF]. We also compare our strategy with dynamic data replication strategies: PEPR [START_REF] Tos | Ensuring performance and provider profit through data replication in cloud systems[END_REF] which takes provider's profit into account (with an income of 0.0081$ per task), and Boru [START_REF] Boru | Energy-efficient data replication in cloud computing datacenters[END_REF] which considers energy and bandwidth consumption.

2) Simulation Parameters: In order to compare those strategies, we implemented them on CloudSim [START_REF] Calheiros | CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms[END_REF] extended by [START_REF] Tos | Ensuring performance and provider profit through data replication in cloud systems[END_REF] to implement an economic model and a large scale architecture. We added to this extension an estimation of energy consumption and a heterogeneity of components, power consumption and costs. We also implemented the Sleep State technique [START_REF] Meisner | PowerNap: eliminating server idle power[END_REF], [START_REF] Wang | PowerSleep: A Smart Power-Saving Scheme With Sleep for Servers Under Response Time Constraint[END_REF] which permits to set nodes in sleep state to reduce their energy consumption. The use of this technique implies an implementation of a task scheduler that takes this technique into account.

a) Task Scheduler: We implemented a naive task scheduler that knows the state of all tasks processed in its data center. It places tasks on awakened nodes and places a task on a sleeping node only if the response time to process this task is higher than the SLO on running nodes. Then an empty node that is idle for 15 will be turned back in sleep state.

b) Provider: We consider a Cloud provider with a large scale architecture divided as follows. There are 4 regions with 5 data centers per region and 64 nodes inside each data center. Each region is associated with a profile in a cyclic manner. We consider an SLO of having a response time lower than 15 seconds.

c) Components and Energy parameters:

To simulate a real architecture, we have used components from Grid5000 [START_REF] Balouek | Adding Virtualization Capabilities to the Grid'5000 Testbed[END_REF]. This testbed is geographically distributed and components of each nodes are available here2 . We consider 3 different profiles, associated with 3 different grid5000 cluster: 1) Paranoïa cluster in Rennes, 2) Gros cluster in Nancy, 3) Dahu cluster in Grenoble.

d) Prices: Prices are derived from Google Cloud 3 , where prices depend on locations. Cost profiles correspond to regions drawn amongst all available regions: (i) London, (ii) Taiwan, (iii) Zurich et (iv) Hong Kong. However, to set an unique SLO violation cost, we suppose a unique price per task.

e) Network: Network parameters comes from different sources. Bandwidth parameters are based on [START_REF] Boru | Energy-efficient data replication in cloud computing datacenters[END_REF] and latency parameters from [START_REF] Boru | Energy-efficient data replication in cloud computing datacenters[END_REF] and Wikipedia4 technical documents.

f) Workload: In our experiments, we consider having 256 items with a size between 200Mo and 8Go. We consider 2 different kinds of workload: i) Short term and ii) Long term. The first experiment (XP1) is a 4 hours experiment with 150k tasks, with a workload based on [START_REF] Moyer | Determining the influence of Reddit posts on Wikipedia pageviews[END_REF] which shows that when there is a post with a link to a Wikipedia article, the number of accesses increases and the loss of interest reduces at different speed. We suppose that the workload follows a Gamma distribution, with α = 4 and β = 600. The second experiment (XP2) is a 4 days experiment with 2 millions tasks, with a workload based on [START_REF] Yoshida | Wikipedia Page View Reflects Web Search Trend[END_REF] that shows a correlation between Google queries and Wikipedia queries. We chose to use the opening of Vaccination of COVID-19 to the public in France in May 29th 2021, that permits to generate a peak in terms of accesses.

To compare these policies and strategies, we used 4 metrics: (i) the energy consumed (in MJ) by the Cloud at the end of the experiment, (ii) the total cost for the provider (in $), (iii) the number of created replicas, (iv) the proportion of violations.

A summary of simulation parameter are provided in table I. A Github repository is available 5 to replicate the work and explore different experiments and parameters.

B. Results

1) Comparison between bandwidth threshold:

We first compare the number of replicas created and the number of violations, summarized in the first part of the table II. In XP1, we can see that VLow and Low have higher SLO violations, thus a higher number of replicas created compared to High and VHigh. This can be explained by the fact that when the workload increases, the number of items that are being transferred on the data center network increases. In this context, waking up a node to store a data item on it, implies to transfer this item, increasing the bandwidth consumption, and response time, implying more violations and replicas and so on. As it was foreseeable, in the first part of table III, the energy consumption decreases as the threshold increases due to fewer nodes that are woken up reducing the power needed. This reduction is about 14.5% between VHigh and VLow in XP1 and 16.5% in XP2. In this table, no trend can be highlighted in terms of expenditure, unless the fact that High threshold slightly increase expenditure. In the following evaluations, we considered the Mid value of the threshold to avoid bottleneck.

2) Comparison between different strategies: In this section, we are evaluating the whole data replication strategy, DE2ARS, considering a bandwidth threshold of 0.005 s/MB (Mid) and a 10% replicas removal. The last part of table II corresponds to the number of replicas created by static data replication strategy, and SLO violations of all compared strategies. Then, results in terms of expenditure and energy consumption are provided in the last part of table III.

a) Comparing replication and violations: A first interesting strategy is MORM which creates an average of more than 29,000 replicas implying mostly no violation, making it the strategy that as the lowest number of violations. The other static strategy E2ARS, creates 70% more replicas than 3Rand but slightly reduces the number of violations.

On figure 1 and figure 2, it can be seen that Boru adapts its number of replicas according to the workload when it increases, as it does not have any replica removal mechanism. At the end of each experiment, it has the most number of replicas, compared to other dynamic strategy, yet it also has the highest number of violations. It is explained by its hierarchical architecture that creates bottlenecks.

PEPR is the second strategy in terms of number of violation in XP1, with an important reduction of SLO violations in XP2 compared to 3Rand. However, in terms of replication, PEPR stops replicating even if the number of violations keeps increasing, due to the fact that when the expenditure is higher than revenue, PEPR stops replicating.

The proposed DE2ARS strategy creates and removes replicas according to the workload. Furthermore, it can be seen that this strategy is the second lowest in terms of SLO violations with a proportion of 5.66% and 1.95% for the first and second experiment respectively. b) Comparing energy consumption and expenditure: MORM reduces expenditure by 46% compared to 3Rand with a high replicating cost, but lower cost in long term experiment as no data transfer are needed. As it has the highest number of replicas, it is also the most energy consuming strategy.

E2ARS is able to reduce its energy consumption by 61% (XP1) and 47.2% (XP2) and its expenditure by 27.5% (XP1) and 22.7% (XP2) compared to 3Rand. It succeeds to reduce them, by replicating region-wide, while consolidating data on a few number of nodes.

Boru et al. is the cheapest strategy, and also reduces its energy consumption by 42% (XP1) and 44% (XP2) compared to 3Rand. These results can be explained by the fact that only a few number of nodes can store data, and replication are done inside each region at first, reducing transfer cost.

PEPR permits to reduce its energy consumption by 7% (XP1) and 32% (XP2) compared to 3Rand, as it leverages on the task scheduler to replicates as closely as possible to node that broke the SLO. However, it increases its expenditure in XP1 and reduces it by 40% in XP2 compared to 3Rand, as it has a very low number of replicas in XP1.

Finally, the proposed strategy DE2ARS reduces its expenditure by 69% and 44% compared to 3Rand on XP1 and XP2 respectively, while also reducing its energy consumption by 66% on XP1 and 43% on XP2 compared to 3Rand. In this context, DE2ARS outperforms other strategies by achieving its objective to reduce both the energy consumption and the expenditure while keeping a low proportion of violations.

V. CONCLUSION

We proposed DE2ARS (Dynamic Energy and Expenditure Aware data Replication Strategy) that follows an initial placement. it aims to reduce both the energy consumption and expenditure while taking into account workload variations. replication is triggered by a control chart, a tools from Statistical Process Control, that permits to adapt the number of replicas to the workload with low computing power. The proposed strategy can be tuned in different ways, and removal can be tuned to focus more on reducing storage energy consumption or reducing storage expenditure.

We compared our strategy with a control strategy that creates and places 2 replicas randomly (3Rand). DE2ARS was also compared with other strategies from the literature, where some of them takes into account energy consumption (MORM, Boru et al.) and expenditure (PEPR). Results show that DE2ARS achieves its goal to adapt its number of replicas according to the workload. It also reaches its objective of reducing both energy consumption and expenditure while reducing the number of violations in a strong workload context.

One limitation of our work is that all nodes and data items are static although the proposed strategy is dynamic. As a future work, we aim to consider the addition or removal of data items and/or nodes. Further, we plan to implement the proposed DE2ARS on a real cloud environment.

Fig. 1 .Fig. 2 .

 12 Fig. 1. Tasks distribution and Number of replicas over time for each strategy of the first experiment (XP1)

https://www.grid5000.fr/w/Hardware

https://cloud.google.com/ (02/28/2020)

https://wikitech.wikimedia.org/wiki/Network design (08/28/2020)

https://github.com/MorganSeguela/cloud-2022-XPS