Ruben Milocco
email: milocco@uncoma.edu.ar

Pascale Minet
email: pascale.minet@inria.fr

Éric Renault
email: eric.renault@esiee.fr

Selma Boumerdassi
email: selma.boumerdassi@cnam.fr

Evaluating the Upper Bound of Energy Cost Saving by Proactive Data Center Management

Keywords: Data center management, Proactive management, Machine Learning, Prediction, Energy cost

Evaluating the upper bound of energy cost saving by proactive data center management

I. INTRODUCTION

In its "10 predictions for the data center and the cloud in 2019" [START_REF] Patrizio | 10 predictions for the data center and the cloud in 2019[END_REF], the Network World journal observes that due to the increasing demand in processing power, Data Center (DC) growth will continue, and machine learning techniques will play a major role in DC management, by optimizing the DC resources through continuous monitoring and adjustment. This periodic adjustment of active machines to serve job requests is made necessary by the high dynamicity of the jobs submitted to the DC. The main features of the strategy proposed in this paper can be summarized as follows:

• This strategy is based on prediction and reaction. The prediction consists in anticipating the energy required to serve the users requests that will arrive in the next time period, whereas the reaction consists in correcting the prediction error made over the previous period. • The proposed strategy keeps the balance between demand and supply in one period for perfect prediction and at most two periods in the case of mismatches.

• The goal of this study is to quantify the energy cost reduction brought by this DC management. This reduction is evaluated by the Relative Error cost Saving (RES) defined as the relative difference between proactive and reactive costs. Then, optimal predictors, linear and nonlinear, are derived in order to maximize RES. Moreover, the upper bound of RES is analytically obtained. This upper bound can help the DC manager to select the predictors used. • Numerical simulations with data collected from a real DC show that the proposed strategy used with two predictors, one linear and the other nonlinear, gets an improvement up to 70% with respect to a purely reactive action. The original contribution of this paper is twofold. The first one lies in the direct prediction of the energy consumed in the next time interval, based on the recent past, whereas classical approaches predict resource requests. We first compute the energy consumed by the resources used: the magnitude of the resources multiplied by the time they are used. The energy prediction is made based on these measurements in a recent past horizon. The studies cited in the state-of-the-art 1) predict the resource requests, 2) use a placement algorithm to dispatch the requests, 3) deduce which machines to turn on or off, and finally 4) deduce the energy consumed. We directly predict the energy consumed. The second original contribution of the paper is to consider that the impact of overestimation and underestimation can be different. Hence, minimizing the absolute value of the prediction error does not necessarily maximize the energy cost saving.

The remainder of this paper is organized as follows: Section II presents a brief state-of-the-art about DC management based on prediction. Section III defines our framework for modeling and predicting energy consumption in a DC. It also introduces the methodology proposed. Section IV shows how to evaluate the energy consumed by the DC in past time intervals and how to predict the energy consumed in the next time interval, taking into account the heterogeneity of machines. The upper bound of the relative energy cost saving that can be achieved by a predictive DC management, is computed in Section V. Section VI and Section VII explain how to obtain the optimal linear predictor and the optimal nonlinear predictor, respectively. Section VIII deals with practical issues related to a real DC. In Section IX, all the theoretical results are applied to a real Google DC. Section X discusses the results obtained. Finally, Section XI concludes this paper.

II. RELATED WORK

Modeling energy consumption in DCs has been the focus of numerous studies. In their in-depth survey [START_REF] Dayarathna | Data center energy consumption modeling: a survey[END_REF], Dayarathna et al. studied 200 models hierarchically organized into two branches. The software-centric branch deals with Applications (e.g. MapReduce), OS and Virtualization, and Machine Learning, whereas the hardware-centric branch distinguishes between the power conditioning system, the cooling system, optical networks, network devices, and servers. A server consists of network interfaces, server storage (e.g. SSD, HD), memory, processors which may be single core or multi-core, and specialized (e.g. GPU) or not. They observed that energy consumption has been studied intensively at the lower levels but much less at the DC level. In addition, the most frequent energy model for servers is the linear model, where the energy consumed by the server varies linearly with its workload [START_REF] Beloglazov | A taxonomy and survey of energy-efficient data centers and cloud computing systems[END_REF], [START_REF] Chen | Experimental analysis of task-based energy consumption in cloud computing systems[END_REF], [START_REF] Xiao | Virtual machine power measuring technique with bounded error in cloud environments[END_REF]. This model is also adopted in this paper.

Google made publicly available a set of traces collected in one of its DCs over a period of 29 days [START_REF] Reiss | Google cluster-usage traces: format + schema[END_REF], [START_REF] Wilkes | More Google cluster data[END_REF]. This DC data set has been extensively studied by researchers [START_REF] Reiss | Heterogeneity and dynamicity of clouds at scale: Google trace analysis[END_REF], [START_REF] Di | Host Load Prediction in a Google Compute Cloud with a Bayesian Model[END_REF], [START_REF] Beaumont | Analyzing real cluster data for formulating allocation algorithms in Cloud platforms[END_REF], [START_REF] Alam | Analysis and Clustering of Workload in Google Cluster Trace based on Resource Usage[END_REF], [START_REF] Minet | Analyzing traces from a Google data center[END_REF]. The analysis of this data set can help researchers i) to make valid assumptions, ii) design more accurate models of jobs, tasks and machines, and iii) propose more efficient job scheduling algorithms. The ultimate goal is to improve DC management by means of machine learning. The two most widely used machine learning techniques are classification and prediction.

Classification has been used for machine configuration in [START_REF] Minet | Analyzing traces from a Google data center[END_REF], where a machine configuration is defined as a vector whose first component denotes the CPU capacity and the second one the memory capacity. Classification has also been applied to jobs. For instance, the K-Means method allows the authors of [START_REF] Alam | Analysis and Clustering of Workload in Google Cluster Trace based on Resource Usage[END_REF] to distinguish between short jobs which are the most frequent ones and the lowest resource consumers, medium jobs which are frequent ones and the largest memory consumers, and long jobs which are the least frequent ones and the largest CPU consumers.

Prediction allows DC managers to take their decisions based on the prediction of the future value of a time series. The smaller the prediction error, the more accurate the management decision. The simplest predictors are linear ones. Linear predictors estimate the parameters of a linear model using a set of observed values such that the prediction is computed as a linear combination of the previous observations and possibly their prediction errors. The most famous family of linear predictors is Auto Regressive Moving Average with Exogenous signal (ARMAX). Liu et al. [START_REF] Liu | Quantitative workload analysis and prediction using Google cluster traces[END_REF] show that the Moving Average (MA), the Auto Regressive (AR), and the Weighted Moving Average (WMA) predictors give smaller prediction errors with lower complexity compared to Neural Networks. Prevost et al. [START_REF] Prevost | Prediction of cloud data center networks loads using stochastic and neural models[END_REF] reach the same conclusion: AR is far superior to neural networks in predicting the load demand in DCs. ARMA predictors are also used to predict the number of job arrivals in the next 30 minutes, with a Mean Absolute Percentage Error (MAPE) close to 0.38 [START_REF] Yoon | Adaptive data center activation with user request prediction[END_REF]. Several variants of ARMA predictors (e.g. integrated, fractional, seasonal) have been compared with an exponential smoothing predictor and a predictor based on singular spectrum analysis [START_REF] Mazumdar | Forecasting Data Center Resource Usage: An Experimental Comparison with Time-Series Methods[END_REF]. They are applied to predict CPU, RAM, and network consumptions for the next hour.

However, when data are generated by unknown models, it is preferable to use predictors that do not make any a priori assumptions on the model. Cao et al. [START_REF] Cao | Load Prediction for Data Centers Based on Database Service[END_REF] use random forests to predict the workload of servers in a DC and automatically detect overload. The nearest-neighbour method is a popular nonlinear approach [START_REF] Hastie | The Elements of Statistical Learning: Data Mining, Inference, and Prediction[END_REF], [START_REF] Kantz | Nonlinear Time Series Analysis[END_REF]. It is based on the observations of states and their subsequent evolution. To predict a new, not previously observed, state the method finds the most similar states in the observation data set and builds its prediction from them. Since it is unlikely to find the same state, the method finds some closest states and predicts the average of their behavior. Assumptions like smooth variation of the states, and enough amounts of available data are needed. Sometimes, instead of predicting the average of the k nearest neighbours, a weighted average is computed where the observation weight decreases when its distance to the expected state increases. This weighting function is called the kernel [START_REF] Caires | On the Non-parametric Prediction of Conditionally Stationary Sequences[END_REF]. In our approach, the concept of conditional probability is used as in [START_REF] Caires | On the Non-parametric Prediction of Conditionally Stationary Sequences[END_REF], [START_REF] Papoulis | Probability, Random Variables and Stochastic Process[END_REF].

Several authors have investigated different solutions to improve energy efficiency in cloud computation. For instance, Wolke et al. in [START_REF] Wolke | Planning vs. dynamic control: Resource allocation in corporate clouds[END_REF] showed that with typical workloads of transactional business applications, dynamic resource allocation based on live migration technology does not increase energy efficiency compared to static allocation of VMs (Virtual Machines) to servers. Here, we can note that DCs do not support only business applications. As a consequence, the workload is more heterogeneous and varies more over time. That is why we will focus on dynamic approaches based on prediction.

Delimitrou et al. proposed Quasar [START_REF] Delimitrou | Quasar: Resource-efficient and QoSaware Cluster Management[END_REF] to increase resource utilization in clusters, while providing high application performance. Quasar is in charge of monitoring workload performance to adjust resource allocation and assignment if required. Instead of expressing their resource requests, users only express performance constraints for each workload type (e.g. latency-critical, Hadoop framework, single node). By means of classification techniques, Quasar estimates the application performances when the number of servers, the server type, the amount of resources within a server, and the interference of other workloads vary. It uses the results of this classification to jointly perform resource allocation and assignment. The authors show that with Quasar, resource utilization is improved by 47% while the performance target of each workload type is met. It can be noticed that Quasar does not use load prediction to manage the cluster.

In [START_REF] Zhang | Dynamic energy-aware capacity provisioning for cloud computing environments[END_REF], Zhang et al. propose to apply the Dynamic Capacity Provisioning (DCP) to clouds. DCP dynamically adjusts the number of active machines to reduce energy consumption, while maintaining short scheduling delays to increase user satisfaction. In their model, time is divided into intervals of equal duration, and control decision about the number of machines to turn on or off is made at the beginning of each time interval, based on the usage of resources (CPU and memory) predicted by ARIMA. All machines are assumed to have the same capacities in memory and CPU. The authors show that their solution reduces by up to 18.5% the energy consumption in the Google data center considered [START_REF] Reiss | Google cluster-usage traces: format + schema[END_REF]. In our paper, we adopt a similar approach based on time intervals.

In [START_REF] Zhang | Dynamic Heterogeneity-Aware Resource Provisioning in the Cloud[END_REF], Zhang et al. extend the Dynamic Capacity Provi-sioning (DCP) approach to clouds with heterogeneous workloads and heterogeneous machines. The heterogeneous workload is divided into multiple task classes with similar characteristics in terms of resource and performance objectives. First, tasks are classified according to their CPU and memory requests with k-Means. Since the task execution duration is known only when the task is finished, each task is first assumed to be short and if not, its duration is re-evaluated to long. DCP is formulated as an optimization problem that considers machine and workload heterogeneity as well as reconfiguration costs. Using predictions (ARIMA) of resource requests, an online control algorithm based on the Model Predictive Control framework that solves the optimization problem at runtime is used. The authors show that their solution, called Harmony, can reduce energy consumption by 28% with regard to solutions that do not take into account the heterogeneity of both the workload and the machines.

In [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF], Dabbagh et al. propose an energy-efficient resource provisioning framework for cloud data centers. They first identify categories of requests by means of k-Means clustering, where all requests of the same category have similar characteristics. Then, with one Wiener filter per request category, they predict the number of requests per category that will arrive in the next time interval. The requested resources associated with each request of any given category are assumed to be close to the requested resources of the centroid of the category considered. These estimations are used to compute the number of machines that must be on to serve the requests. Finally, unneeded machines are put to sleep in order to improve energy-efficiency. The authors evaluate their framework on the same Google data set as that used in this paper. They show that, in the case of a perfect prediction, up to 100 megajoules per minute can be saved by turning off unused machines. However, real 50 MegaJoules per minute can be used by keeping on some amount of extra machines in the case of mismatch to reduce user dissatisfaction.

The last two studies, [START_REF] Zhang | Dynamic Heterogeneity-Aware Resource Provisioning in the Cloud[END_REF] and [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF] have the same final goal as ours, i.e., to improve energy efficiency in DCs by turning off the unused machines. However, they differ in the way the goal is to be reached. Both [START_REF] Zhang | Dynamic Heterogeneity-Aware Resource Provisioning in the Cloud[END_REF] and [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF] predict the amount of resource requests in the next time interval to decide the number of machines that will be needed. The diverse applications with different priorities, performance and resource requirements together with the heterogeneity of both machines and workloads are taken into account to decide the number and capabilities of machines to serve the demand. In [START_REF] Zhang | Dynamic Heterogeneity-Aware Resource Provisioning in the Cloud[END_REF] an ARIMA model structure is used to predict the amount of requests while in [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF], a Wiener adaptive filter scheme is employed. In this paper, our approach is different, since i) it is the energy consumed which is predicted and not the resource requests, and ii) the number of machines is computed from optimal linear and nonlinear predictors in order to maximize the energy cost saving and not to minimize the prediction error as in [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF] or a quadratic cost taking into account the error and the reconfiguration cost as in [START_REF] Zhang | Dynamic Heterogeneity-Aware Resource Provisioning in the Cloud[END_REF]. Thus, instead of keeping a threshold of extra machines on, we design predictors that optimize this margin based on maximizing energy savings.

As a conclusion, there is an abundant bibliography on DC management using proactive actions based on predicting user requests. Many studies have proposed different types of predictions for different horizons. However, to the best of our knowledge, there are no studies evaluating the upper bound of the energy cost savings that can be achieved using this technique. And this is the main contribution of this paper.

III. FRAMEWORK FOR DC MODELING

A. Concepts

The following concepts are used in the paper:

• Job: Each job consists of one or more tasks which are defined by the users. It enters the DC and leaves it after its execution. • Task: Each task is run on a single physical machine, after having requested resources. waits to be scheduled. The scheduler takes into account the resources requested by the task and their availability on the machine selected to run this task. • Job Execution: Once scheduled, the job runs until completion, which can be normal (i.e. success) or abnormal (i.e. aborted by the user or the DC). Then, it leaves the DC.

B. Notations and assumptions

Notations are summarized in Table I.

For the energy cost saving evaluation, the following assumptions are used:

• Assumptions with regard to jobs: Job requests have an additive deterministic component and a stochastic component. As regards the stochastic component, the following assumptions hold:

-A 0 Job arrivals are random.

-A 1 Amounts of requested resources are random.

-A 2 Request durations are random.

• Assumptions with regard to energy:

-A 11 When a job is waiting to be scheduled, it does not consume any energy. -A 12 CPU and memory resources are allocated for the job execution duration. -A 13 All machines belonging to the same configuration have the same CPU and memory capacities, as well as the same instruction execution time and energy consumption parameters.

• Assumptions with regard to machines and DC management:

-A 21 DC management is in charge of maintaining the number of machines on in any configuration c proportional to the amount of resources used or predicted on machines of this configuration. This is done by turning the necessary machines on or off according to the workload.

U B β,T Upper Bound of RES β,T (dimensionless) β β = 2cp/cr -1, with β ∈ [-1, 1]
-A 22 DC management is done periodically with period T . -A 23 The energy cost for proactively serving a request is less than or equal to the energy cost for serving it reactively, i.e. c p ≤ c r . These assumptions are valid in most DCs, and in particular in the Google data center whose data set is used in this paper (see Section IX).

C. Methodology

Assuming that job requests are expressed as a multiple of resource allocation units, let y(k) be the total amount of energy consumed during time interval t ∈ [(k -1)T, kT ), where k is an integer ≥ 1 and is called a step. The cost of this energy can be expressed as the sum of two components:

• The first component is the cost of the energy made available at step k according to the prediction computed from past information until step k -1. This energy is denoted by ŷ(k). Both the prediction and the corresponding proactive actions are done at time (k -1)T for step k. Since this energy is available at step k, its cost is called a proactive cost and it is equal to c p ŷ(k), where c p is the proactive cost of one Joule. • The second component is the cost of the energy for serving the prediction error e(k) = y(k) -ŷ(k). We distinguish two cases. In the case of energy overestimation, some energy has been wasted and has already been paid for with a cost equal to the proactive cost. In the case of underestimation, a reactive action is carried out at time kT . It is important to note that this action is performed a posteriori with a cost greater than or equal to the proactive cost. Its cost is called a reactive cost and is equal to c r max(0, y(k)-ŷ(k)), where c r is the reactive cost of an underestimation of one Joule. The reactive cost can include a penalty due to user dissatisfaction because he/she has to wait in the case of energy underestimation. When overestimation occurs (see Fig. 1), the penalty is already included in the proactive cost paid with the overestimation and used in the interval. We then have c p ≤ c r . Hence, the reactive action is applied only in the case of underestimation (see Fig. 1). Therefore, the prediction error taken into account in the reactive cost is equal to max(0, e(k)) = max(0, y(k) -ŷ(k)). For example, let us assume that at step k the energy actually consumed is y(k) = n, whereas the predicted value is ŷ(k) = n + m. Thus, the total cost for providing energy y(k) is equal to the proactive action cost c p ŷ(k) = c p (n + m) plus the reactive action cost c r |m| only if m < 0. Fig. 2 shows an example of the energy consumed in steps k and k + 1, the predictions, the prediction errors, and the energy costs. The DC management proceeds as follows: the amount of energy needed at step k is 32, whereas the prediction was 27. As an amount of energy of 27 was available at time (k -1)T with proactive cost, an additional amount of 5 must be provided at time kT with a reactive cost. The total cost at step k is 27c p + 5c r . At step k + 1, the energy required to serve the new requests is 40. The cost for the 5 additional amounts of energy due to the prediction error for the previous period has already been charged during the previous one. The additional amount of energy assigned proactively to the new period is available at time kT for step k + 1. It is given according to the prediction of 42, paid with a proactive cost (even if only 40 instead of 42 are used). No reactive cost is paid in the case of overestimation (i.e. a negative prediction error, here equal to 40 -42 = -2).

The total cost assigned to this period is 42c p .

Fig. 2. Example of energy values and cost to serve requests using proactive and reactive actions.

Note that when the energy consumed remains constant from one step to the next, i.e. y(k -1) = y(k), there is no proactive management. In this case, this is equivalent to considering that the prediction is just the last value, i.e. ŷ(k) = y(k -1). Thus, in order to evaluate the energy saving with regard to the reactive management when using proactive actions, one must analyze the difference between the total cost achieved at step k when using intelligent predictors and the one obtained by using the last value as a prediction.

Knowing achievable savings by proactive actions is extremely important, since it allows the DC manager to determine which is the most appropriate strategy as well as providing the best management guidelines for the data center. This paper sets out a methodology to analyze the energy cost saving bounds when using predictors.

Since in most DCs [START_REF] Wilkes | More Google cluster data[END_REF], machines of different generations and capacities coexist, our evaluation of the upper bound of energy cost saving takes into account machine heterogeneity. This evaluation is carried out in four steps: admissible predictors as predictors that give a value of RES > 0, compute the upper bound U B for any admissible predictor. Intuitively, U B is the best RES that can be obtained on any data set by admissible predictors. We then apply this methodology to the data set [START_REF] Wilkes | More Google cluster data[END_REF] collected in an operational DC. For this DC, the cost savings obtained using these predictors are evaluated. More precisely, we:

• Compute the optimal predictors that maximize the relative cost saving. Among the optimal predictors, we distinguish linear predictors and nonlinear predictors. Linear predictors are the most well-known ones. Among them, the Auto Regressive Moving Average (ARMA) predictor is the most popular and the most often used with a parameter tuning based on the Recursive Least Squares (RLS) prediction error. It is worth noting that the ARMA model is equivalent to the ARIMA model. We use a procedure called Iterative Reweighted Least Squares (IRLS) together with RLS to minimize RES.

The nonlinear predictor is based on the minimization of the conditional expected value of y c (k), given past samples y c (k -1), y c (k -2), . . . , y c (k -N ) for machine configuration c. • Compare the performance obtained by the optimal predictors with respect to the upper bound. In this paper, we compare two optimal predictors: the linear optimal one and the nonlinear optimal one.

IV. PROACTIVE AND REACTIVE COSTS A. Computation of the energy consumed to serve requests

For the sake of simplicity, we first focus on the singleresource case. All requests concern the same resource which is either CPU or memory. Later in the paper, the result is extended to the case of multiple resources.

Let r(t i , r i , τ i ) denote any request that arrives in the DC at time t i , requiring an amount of resource r i for a duration τ i . It can be represented as a rectangular pulse with amplitude r i of duration τ i and zero out of this range, see Fig 3 for an illustrative scheme. The amount of resource consumed by r(t i , r i , τ i ) is equal to:

r i if t i ≤ t ≤ t i + τ i 0 otherwise
The area under the pulse represents the energy consumed to serve the request. For example, in Fig 3, several requests arriving at various times are depicted. Notice that since the user does not know which machine will serve his request, he cannot express the amount of requested resource relatively to the capacity of this machine. Hence, r i denotes an absolute amount of resource, for example 3 Mbytes of memory.

Most DCs have heterogeneous machines from several generations. Each machine can be characterized by its configuration represented by the pair (CPU, memory) which denotes the CPU and memory capacities of the machine.

The amount of resource used at time t on machines with configuration c in the DC, denoted by r c (t), is given by the following equation (see also Fig 3 for an illustrative scheme):

r c (t) = i α c r i ( 1
)
where:

α c =    1 if the request r(t i , r i , τ i
) is served at time t by a machine with configuration c, 0 otherwise.

(2) Taking into account machine heterogeneity, we express P c (t) the power consumed at time t ∈ [(k -1)T, kT ) by any configuration c as the sum of the power consumed by the machines with configuration c that are on. For each machine that is on, we adopt the linear power model, which has been extensively used by many authors, [START_REF] Beloglazov | A taxonomy and survey of energy-efficient data centers and cloud computing systems[END_REF], [START_REF] Chen | Experimental analysis of task-based energy consumption in cloud computing systems[END_REF], [START_REF] Xiao | Virtual machine power measuring technique with bounded error in cloud environments[END_REF], [START_REF] Sarji | CloudESE: Energy Efficiency Model for Cloud Computing Environments[END_REF], where the power consumed by a machine at time t is expressed as the sum of the power consumed at null load and the power proportional to the machine load. Taking into account that all machines of the same configuration have the same CPU and memory capacities, instruction execution time as well as energy consumption parameters (Assumption A 13 ), we get:

P c (t) = P idle,c m c (t) + η c r c (t) Cap c . ( 3
)
where P idle,c denotes the power consumption at null load of a machine with configuration c; m c (t) is the number of machines with configuration c that are on at time t; η c is its power variation coefficient as a function of the load for any machine with configuration c; Cap c is the capacity of the resource considered on any machine with configuration c. It is expressed in absolute; r c (t) denotes the amount of resources used at time t on machines with configuration c.

Since the number of machines with configuration c that are turned-on is proportional to the workload on configuration c, according to Assumption A 21 , we can write m c (t) = µ c rc(t) Capc , where µ c is the proportionality coefficient relating the number of machines of configuration c to the resource utilization factor. Hence,

P c (t) = (P idle,c µ c + η c ) r c (t) Cap c (4)
The energy consumed by configuration c to serve the requests in the time interval [(k -1)T, kT ) is:

y c (k) = kT (k-1)T P c (t)dt (5)
y c (k) = P idle,c µ c + η c kT (k-1)T r c (t) Cap c dt. (6)
The total energy consumed by the DC in the time interval [(k -1)T, kT ) is expressed as:

y(k) = c∈Conf y c (k) ( 7
)
where Conf is the set of configurations in the DC.

B. Extension to the multi-resource case

The results obtained so far apply to the scalar case of singleresource requests, such as either CPU or memory. The energy consumed given by Equation 6is the sum of two terms: the energy consumed at null load by the machines that are on, plus the energy consumed by these machines as a function of their workload. This formula can be extended to the multi-resource case, with the following changes:

• The utilization of each resource consumes energy. We assume that this energy varies linearly with the resource utilization factor, as the CPU does. However, the coefficient η varies according to the resource considered. • In addition, the energy consumed by all resources is summed up over all the resources used. • The number of machines that should be powered on in the interval [(k-1)T, kT ) is determined by the resource with the largest utilization factor

r b,c (t)
Cap b,c for t ∈ [(k-1)T, kT ). This resource is called the bottleneck resource as in [START_REF] Zhang | Dynamic energy-aware capacity provisioning for cloud computing environments[END_REF] and denoted b. Finally, we get:

y c (k) = P idle,c µ c + η b,c kT (k-1)T r b,c (t) Cap b,c dt + u =b, u∈Rc η u,c kT (k-1)T r u,c (t) Cap u,c dt (8)

C. Computation of the energy cost to serve requests

If the requested resource is available, the request is served immediately. Otherwise, it has to wait until a machine becomes available. If none becomes available in the current time interval, it needs to wait until the next time interval, in which the DC configuration will take into account the underestimation made in the previous time interval.

The cost of the energy consumed by configuration c to serve the requests can be written as the sum of two components.

One is the energy cost of requests served proactively, c p ŷc (k), and the other is the cost of the requests served reactively, c r (y c (k)-ŷc (k)), when y c (k) > ŷc (k). The cost of the energy in the proactive service of requests is less than or equal to the reactive one (c p ≤ c r ). For instance, job migrations and server overload can be reduced, and the number of poweredon servers can be optimized. Then, by predicting the energy consumed by configuration c to serve requests, we expect to be able to better manage a DC and effectively reduce the global energy cost. As a consequence, the cost saving is strongly related to the energy prediction accuracy because the energy cost to proactively serve the requests is lower than or equal to that of serving them reactively. Thus, the total cost for configuration c is:

C c (k) = c p ŷc (k) + c r max(0, y c (k) -ŷc (k)) (9)
The total cost for the DC is:

C(k) = c∈Conf C c (k). (10)
As max(0, y c (k) -ŷc (k)) can be written

1 2 (y c (k) -ŷc (k) + |y c (k) -ŷc (k)|),
and defining β = 2c p /c r -1 as a linear function of the ratio c p /c r representing the relative impact of the proactive and reactive costs, the expected value of the total energy cost for configuration c is:

C c = E [c p ŷc + c r max(0, y c -ŷc )] (11)
= E c p ŷc + c r 2 (y c -ŷc ) + c r 2 |y c -ŷc | (12) = c r 2 βE[ŷ c ] + E[y c ] + E[|y c -ŷc |] . (13)
We define J β,T,c by C c = cr 2 J β,T,c , leading to:

J β,T,c = βE[ŷ c ] + E[y c ] + E[|y c -ŷc |] (14)

E[y c

] and E[ŷ c ] stand for the expected values of random variables y c and ŷc , respectively. Since c r ≥ c p , the coefficient

β ≤ 1. Since c p ≥ 0, β ≥ -1. Therefore, β ∈ [-1, 1].
Note that in the case of perfect prediction, ŷc (k) = y c (k), the energy cost of configuration is purely proactive. Then, taking into account that 1) the cost, J β,T,c , can be reduced by using good predictions and 2) the cost, L β,T,c , due to the last value prediction, ŷc (k) = y c (k -1) has a purely reactive cost, we are interested in evaluating the ratio between both as a useful index of cost reduction when using proactive management. We define the cost reduction index for configuration c by: mean cost for c with proactive management mean cost for c without proactive management

= J β,T,c L β,T,c (15)
J β,T,c L β,T,c = βE[ŷ c ] + E[y c ] + E[|y c -ŷc |] (1 + β)E[y c ] + E[|d c |] (16)
where d c (k) = y c (k) -y c (k -1). Note that in the expression of this cost reduction index, neither c p nor c r needs to be known, but only β.

D. Computation of the Relative Energy cost Saving

Let us define the Relative Energy cost Saving RES β,T,c for configuration c using proactive action as

RES β,T,c = L β,T,c -J β,T,c L β,T,c . (17)
The greater RES β,T,c is, the higher the cost reduction is. By replacing the expressions of L β,T,c and J β,T,c we obtain:

RES β,T,c = E[|d c |] + βE[e c ] -E[|e c |] (1 + β)E[y c ] + E[|d c |] (18)
where e c (k) = y c (k) -ŷc (k).

The total relative energy saving of the DC, denoted as RES β,T is given by:

RES β,T = L β,T -J β,T L β,T . (19)
Since L β,T = L β,T,c and J β,T = J β,T,c , for all c ∈ Conf , we get:

RES β,T = c∈Conf L β,T,c L β,T RES β,T,c . (20)
Finally, we obtain:

RES β,T = c∈Conf E[|d c |] + βE[e c ] -E[|e c |] (1 + β)E(y) + c∈Conf E(|d c |) . (21)

E. Optimal predictor for configuration c

An optimal predictor for configuration c is a predictor that maximizes the Relative Energy cost Saving RES β,T,c , or equivalently minimizes J β,T,c to achieve the best energy cost savings.

Optimal predictor f or conf ig c = arg min ŷc J β,T,c [START_REF] Wolke | Planning vs. dynamic control: Resource allocation in corporate clouds[END_REF] Note that the optimal predictor for any given configuration c is the one that minimizes the cost J β,T,c which is different from the cost minimizing the Mean Square Error M SE as shown below:

J β,T,c ≡ βE[ŷ c ] + E[y c ] + E[|y c -ŷc |] (23) = βE[y c ] -βE[e c ] + E[y c ] + E[|e c |] (24) = (1 + β)E[y c ] + E[|e c |] -βE[e c ] (25)
However, when e c = 0 both coincide.

V. UPPER BOUND OF THE RELATIVE ENERGY COST SAVING We want to establish the upper bound on the relative energy cost savings that can be obtained, whatever the predictor considered. Notice, however, that this bound depends on the data set considered.

Let y c be a second order stationary random process [START_REF] Papoulis | Probability, Random Variables and Stochastic Process[END_REF]. Suppose we wish to predict the value of the sample y c (k) using a linear combination of infinite past samples y c (k -1), y c (k -2), . . . . The optimal one-step-ahead prediction error (i.e. minimizing E[e 2 c ]) is an uncorrelated sequence with constant Power Spectrum Density (PSD). The minimum mean-squared error (MMSE) is given by the Szegö-Kolmogorov theorem which states that:

M M SE = E[e 2 c ] = exp 2π 0 ln Φ(jω)dω) , ( 28
)
where j is the complex number meeting j 2 = -1, ω is the frequency in radians per second and Φ(jω) is the PSD of y c (k), [START_REF] Brockwell | Time Series: Theory and Methods[END_REF].

The simplest upper bound for configuration c is obtained when the prediction error is null. However, this property is never met by a realistic predictor. That is why we propose a realistic upper bound that can be reached by a predictor. To find this upper bound, we need to consider the maximum of βE

U B β,T,c = E[|d c |] -(1 -|β|)γ c (1 + β)E[y c ] + E[|d c |] (29)
The upper bound at the DC level, denoted as U B β,T , can be written as the upper bound of RES β,T :

U B β,T = c∈Conf L β,T,c L β,T U B β,T,c . (30)
Finally, we obtain:

U B β,T = c∈Conf E[|d c |] -(1 -|β|)γ c (1 + β)E(y) + c∈Conf E(|d c |) . (31)
In the subsequent sections, we compare linear and nonlinear predictors that maximize RES β,T,c on any given configuration c.

A numerical comparison is carried out in Section VIII using experimental data collected from a Google DC that allow us to obtain the maximum levels of cost reduction in each case. Thus, the performance of different predictors can be quantified for the DC considered.

VI. LINEAR PREDICTORS DESIGN

We first consider the optimal linear predictor that minimizes the cost J β,T , given by Eq.14. The expected value is approximated using N sufficiently large past sampled data as follows: Since ŷ > 0 we can write the cost above using vector-norm notation,

E β ŷ + |y -ŷ| ≈ 1 N N i=1 β ŷ(i) + |y(i) -ŷ(i)| = J L1 (32)
J L1 = R 1/2 ŷ 1 + Q 1/2 (y -ŷ) 1 ( 33
)
where y p is the L p -norm of vectors defined as follows:

x p = N i=1 |x(i)| p 1/p , ( 34
)
where x(i) denotes the i th component of vector x. Q = β and R = 1, but in general they can be positive definite diagonal matrices that will be redefined later. The measured and predicted vectors are given by:

y =      y(k) y(k -1)
. . .

y(k -N )      ; ŷ =      ŷ(k) ŷ(k -1)
. . .

ŷ(k -N )      ; ( 35
)
We are interested in obtaining the coefficients of the following ARM A(na, nc) predictor, where na and nc denote the orders of the past values of y(k) and e(k), respectively:

ŷ(k) = ϕ(k)θ ( 36
)
where θ is the vector of parameters to be found such that the prediction error is:

y(k) -ŷ(k) = e(k). (37)
The regressor ϕ(k) and the parameter vector θ have the following structures:

ϕ(k) =           y(k -1)
. . .

y(k -na) e(k -1) . . . e(k -nc)           T ; θ =           a 1 . . . a na c 1 . . . c nc           . ( 38
)
where T means transposed. Both the prediction and the error vectors are given by ŷ = Φθ and e = yŷ, respectively, where

Φ =      ϕ(k) ϕ(k -1) . . . ϕ(k -N )      ; e =      e(k) e(k -1) . . . e(k -N )      . ( 39
)
The procedure for obtaining optimal θ that minimizes the quadratic cost J L2 is more often used than the procedure minimizing the cost J L1 . The former is obtained using the Ordinary Least Squares (OLS) procedure. The quadratic cost leads to a convex minimization procedure ensuring the uniqueness of the solution with nice convergence properties. The cost J L2 can be written using matrix algebra as follows:

J L2 = R 1/2 ŷ 2 2 + Q 1/2 (y -ŷ) 2 2 (40) = (Φθ) T R(Φθ) + (y -Φθ) T Q(y -Φθ) = y T Qy -2y T QΦθ + θ T Φ T (Q + R)Φθ. (41)
For online computation, the optimal parameters θ that minimizes this cost are obtained by using the well known Recursive Least Squares method (RLS). It is also possible to use the RLS to solve the cost J L1 . It consists in choosing appropriate matrices Q and R together with the RLS, and is called Iterative Reweighted Least Squares (IRLS) method, [START_REF] Burrus | Iterative reweighted least squares design of filters[END_REF]. To this end, the following iteration is proposed:

min θ {J L1 } = lim j→∞ min θ R 1/2 j-1 ŷj 2 2 + Q 1/2 j-1 (y -ŷj ) 2 2 (42)
where

R j = diag [β/(ŷ j (k)), . . . , β/(ŷ j (k -N )]), (43)
Q j = diag [1/|e j (k)|, . . . , 1/|e j (k -N )|], (44)
where e j = yŷj obtained from RLS in the j th iteration. By iterating the procedure, at convergence we obtain e j = e j-1 which is the minimum of J L1 we are seeking. Convergence properties of the algorithm for L 1 are given in [START_REF] Burrus | Iterative reweighted least squares design of filters[END_REF].

In the following, we use J L1 to find the optimal linear predictor.

VII. NONLINEAR PREDICTORS DESIGN

In this approach, instead of being constrained by a linearpredictor, we are interested in finding the optimal predictor ŷ(k) = g(X) which is a nonlinear function of previous samples, included in the vector X = [y(k -1), y(k -2), . . .], such that the expected value of cost E[J], defined in [START_REF] Alam | Analysis and Clustering of Workload in Google Cluster Trace based on Resource Usage[END_REF], is minimum. We rewrite the cost conveniently as: Taking into account that y and X are a stochastic variable and a stochastic vector, respectively, with joint density function p(y, X), the expected value of the cost at each step k can be written in terms of the conditional probabilities as follows, [START_REF] Papoulis | Probability, Random Variables and Stochastic Process[END_REF]:

J(y, X) = βg(X) + |y -g(X)| (
E[J] = ∞ X=0 ∞ y=0 J(y, X) p(y, X) dy dX = ∞ X=0 p(X) ∞ y=0
J(y, X) p(y|X) dy dX, where p(y|X) is the density of y, conditioned to a given X and p(X) is the density of X. Since p(X) is always nonnegative, therefore it is sufficient to minimize the conditional expectation given by the inner summation. By performing the derivative with respect to g(X) and equating to zero, the following condition for the minimum holds:

∞ y=0 (β -sign(y -g(X))) p(y|X) = 0 (46)
where g(X) is considered non negative for all X. Given a vector

X * = [y * (k -1), y * (k -2), . . . , y * (k -n)],
where n is the number of previous samples considered, the conditional distribution p(y|X * ) is obtained by finding in a set of training samples all the vectors X = [y(k -1), y(k -2), . . . , y(k -N )] that match X * and then forming a subset with the corresponding value y(k) for each. We obtain the subset as shown in a simple example in Figure 5, where X = y(k -1). Using the selected subset of y, the optimal predictor, g(X), that fulfills (46) is:

β ∞ y=0 p(y|X)dy = ∞ y=0
sign(y -g(X)) p(y|X)dy

⇒ β = - g(X) y=0 p(y|X) dy + ∞ y=g(X) p(y|X) dy β = 1 -2 g(X) y=0 p(y|X) dy.
Given N samples of y, with conditioned density p(y|X * ), ordered from the smallest to the largest, the optimal nonlinear predictor g(X * ) is the sample at position N (1 -β)/2. The nonlinear predictor is based on the estimation of the conditional probability density p(y|X). The values of y are associated to vectors X which are obtained by selecting them in a previously stored database. As this process consumes calculation time, it is preferable to associate each value of y to previously defined groups of vectors X. These groups are formed by vectors that are close to each other, for example, the vectors whose Euclidean norm is less than a certain preestablished value. This value will depend on the amount of data in the database. Thus, if the database has a large amount of available data, the smaller the bins will be and the greater will be the precision in determining p(y|X).

VIII. APPLICATION TO A REAL DC

A. Choice of possible values for T

The parameter T is the DC reconfiguration period. It is the length of the time interval upon which the prediction is made. It is chosen by the manager of the DC. Many approaches which use proactive actions, for instance [START_REF] Zhang | Dynamic Heterogeneity-Aware Resource Provisioning in the Cloud[END_REF] and [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF], define such a time interval, as seen in the state-of-the-art presented in Section II. In our analysis we are interested in evaluating how this reconfiguration time affects the energy cost savings when proactive actions are used.

The value of T is a trade-off: small values of T make the DC management more adaptive to workload changes, whereas large values of T decrease the management overhead. However, switching a machine off and on has a cost. Hence, the minimum value of T , denoted T min can be obtained as in [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF] by considering the smallest time interval for which switching off a machine and then switching it on in the next time interval has a null energy cost. In other words, the energy cost saving obtained by switching off the machine is equal to the switching costs (i.e. one switching off followed by one switching-on) for T = T min.

Too large a value of T is not desirable either, as the delay to serve the requests may become far too large. If the predicted value is underestimated, some users might have to wait for too long until the next configuration time. If the predicted value is overestimated, extra energy is consumed for too long. Hence, the maximum value of T , denoted T max, is determined by the maximum waiting time acceptable by users.

B. Choice of possible values for c p , c r and β

The total energy cost arises from the management of the DC, and it is equal to the sum of the energy cost associated with each configuration. We recall that a configuration groups all machines in the DC having the same features (i.e. CPU, memory, instruction execution time, energy consumption parameters). We assume that the energy cost associated with each configuration in the DC is known by means of a detailed billing by the energy provider. The energy cost of any configuration c at step k is equal to C c (k), and it has two parts. The proactive part of the cost is c p ŷc (k) and the reactive part is c r max{0, y c (k) -ŷc (k)}, where c p and c r are coefficients ≥ 0. The maximum is considered since in the case of overestimation there is no reactive cost. The energy cost of c at step k is the sum of both components. We then have C c (k) = c p ŷc (k) + c r max{0, y c (k)-ŷc (k)}. Note that there is always a proactive cost, no matter which predictor is used. For example, for a purely reactive action the proactive cost is c p y c (k -1). Since e c (k) = y c (k) -ŷc (k), the total energy cost C is:

C = c p c∈Conf E[ŷ c ] + c r 2 c∈Conf (E[|e c | + E[e c ]) (47)
The value of the coefficients c p and c r can be obtained from historical records, since the true and estimated energies, and also the total energy cost in each time interval T are known. For N consecutive time intervals in the recent past, the following formulation holds:

   C(1)
. . .

C(N )    = c p    ŷ(1) . . . ŷ(N )    + c r 2    |e(1)| -e(1) . . . |e(N )| -e(N )    (48)
where C(k) denotes the total energy cost for time interval [(k -1)T, kT ).

In this system of equations, the only unknowns are the coefficients c p and c r . Then, the coefficients are computed using the least squares method.

The coefficients c p and c r should be chosen appropriately according to the case.

1) Energy saving based on proactive strategy: In this case, the energy cost per Joule (i.e. price in US dollars for one Joule) has the same value for both the prediction and the error. Coefficients c p and c r are equal or equivalently β = 2c p /c r -1 = 1. The total energy cost is given by:

C = 1 2 c∈Conf (E( ŷc ) + E(|e c |) + E(e c )) (49)
2) Quality-of-service-aware energy saving: In the previous case, the only way that user satisfaction is taken into account is by means of the maximum acceptable value of T . Here, the energy cost is artificially increased by some penalties that represent the cost induced by user dissatisfaction caused by long waiting times.

Since the delay in serving the jobs is increased by the prediction error in the case of underestimation, it is reasonable to represent a better quality of service by considering c r > c p . For example, jobs with short scheduling delays are charged more expensively than the delayed ones. β can be considered as a DC management parameter that can be tuned to maximize profit by using proactive actions.

Moreover, value c p /c r (or β) can be different during night, day, priority, etc. This can be taken into account by the DC management to minimize the energy cost.

IX. APPLICATION TO THE GOOGLE DATA SET

The results reported in this paper have been obtained using the Google data set described in [START_REF] Wilkes | More Google cluster data[END_REF] and collected in an operational data center over a period of 29 days.

A. Machine configurations

According to our methodology, we first classify machines into configurations, where machines of the same configuration have the same features. This classification is given by Table II. Notice that the CPU capacity is normalized with regard to the most powerful CPU, whereas the memory capacity is normalized with regard to the largest memory. Notice that the first six configurations correspond to more than 99.87% of machines in the DC. Furthermore, in this Section, we focus on a single resource: the CPU. Table II shows that 92.65% of machines have the same CPU capacity of 0.5 (see the configurations in bold). That is why in the following, we consider a single configuration with a CPU capacity of 0.5.

B. Energy parameters used

The energy parameters used for the Google DC are those given in [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF], where the power consumed by a machine in configuration c increases linearly from P idle,c = 300 W to P peak,c = 600 W, when its workload increases from 0% to 100%. The linear increase with the workload has already been observed in [START_REF] Sarji | CloudESE: Energy Efficiency Model for Cloud Computing Environments[END_REF]. We define E o,c,T as the energy consumed by any machine of configuration c at its peak load during T . We then have:

E o,c,T = P peak,c T Cap c (50)
By applying Eq. 6 to a single machine of configuration c with a workload equal to its capacity during T and consuming a power P peak,c , we deduce:

P peak,c = P idle,c µ c + η c Cap c (51)
y c (k) = P peak,c kT (k-1)T r c (t)dt. (52)
C. Acceptable range for T From the Google data set, we identified that an acceptable value for T is in the range T min = 60 seconds to T max = 3600 seconds (i.e. 1 hour). The exact computation of T min done in [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF] gives 47 seconds. As [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF], a conservative value of T min = 60 seconds is taken for this study. For the maximum value, we take T max = 3600s, which is a great value of T , if we want to minimize user However, such a value is useful to study the evolution of the relative energy cost savings when T increases.

D. Computation of the energy consumed in the past time intervals and its prediction

We compute the energy consumed in the past time intervals of length T , as explained in Section IV-A.

We apply the proposed methodology to evaluate the improvements of using proactive management compared to reactive management. Our methodology allows us to know what the benefits would be of using the proposed predictors as well as the upper bound of these benefits.

We select a linear predictor represented by an ARMA model. Two parameters, na the order of the AutoRegressive model and nc the order of the Moving Average model, have to be identified. Starting with na = 1 and nc = 0, the F -test [START_REF] Söderström | System Identification[END_REF] based on the Mean Squared Error (MSE) is applied to decide whether the order should be increased. The recursive algorithm used by the linear predictor works on a sliding window of past samples. We also select a nonlinear predictor based on the conditional probability. For the nonlinear predictor, the prediction for step k + 1, done at the end of step k, uses the entire set of past samples.

Fig. 6 and Fig. 7 depict the relative energy consumed by the DC, its prediction by the Linear Optimal predictor and the NonLinear Optimal predictor for T = 3600 s and T = 60 s. Notice that the choice of the optimal predictor depends on the value of β.

For T = 3600 s, the nonlinear predictor, which is the best predictor in this case, tends to estimate a value higher than the true energy to avoid reactive cost. This is similar to the safety margin of [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF]. However, in our case, this overestimation is optimized to minimize the resulting cost.

For T = 60 s, both predictors behave similarly.

E. Evaluation of the upper bound

The evaluation of the upper bound U B is performed according to Equation 29, for different sets of admissible β ∈ [-1, 1] and T ∈ [60, 3600] seconds, using the energy needed to serve the CPU requests. The results are depicted in Figure 8. The possible savings are between 1% and 85% depending on the values of β and T . It can be seen that the highest values are found for decreasing values of β and increasing values of T . This is due to the fact that when β ≤ -0.5, the proactive cost becomes very small compared to the reactive cost; hence, the upper bound increases considerably. For β = 0, we can observe in the upper bound of RES β,T (see Eq. 29) that the prediction error e(k) is similar to the difference d(k), therefore the relative energy cost saving RES β,T is low in the case of the Google data set studied. However, for β = 0, it is possible to obtain benefits by using biased predictors, as shown by the term βE[e] in Eq. ( 18).

F. Computation of the relative energy cost saving

The evaluation of RES β,T is performed for different sets of admissible β and T using the energy needed to serve the CPU requests, leading to the results depicted in Fig. 9 for the Linear Optimal predictor and Fig. 10 for the NonLinear Optimal predictors. With both predictors, energy cost savings are obtained only for values of β ≤ -0.5. Notice also that the NonLinear Optimal predictor gets much closer to the upper bound than the Linear Optimal predictor. We first consider the case T = 60 s and make β vary in the interval [-1, 1]. Fig. 11 depicts the performance of the Linear and NonLinear predictors together with the upper bound. Relative energy cost savings are achieved for values of β > 0.5 or < -0.5. For values of β > 0.5, there is a benefit of less than 5%. For values of β < -0.5, the benefit is higher and increases when β is getting closer to -1 to reach 58% for the Linear predictor and only 50% for the NonLinear predictor. In both cases, the Linear predictor used performs better than the NonLinear one. We now consider the case T = 3600 s and β ∈ [-1, 1]. The same performance is depicted in Fig. 12. Again, we notice that there is an interval for which there is no benefit over last value prediction: this is when β belongs to [-0.2, 0.2]. Unlike the previous case, the NonLinear predictor obtains better energy cost savings. For β = 1, it reaches 8%, whereas the Linear predictor we used does not get better than 3%. For β = -1, the NonLinear predictor reaches 73%, whereas the Linear predictor reaches only 19%.

G. Conclusion on the Google dataset

This example shows that by applying the methodology proposed, it is possible to improve costs achieved by Google by up to 85%, strongly depending on the value of β. This example highlights the importance of knowing the upper bound, because it helps the DC manager to position the predictor with regard to the upper bound. If the current predictor is near the upper bound, it is suitable for DC management.

X. DISCUSSION

A. Impact of β and T

The previous section showed that the value of β has a strong impact on the relative energy cost savings one can get. Our results show that for β ∈ [-0.2, 0.2], there are no energy cost savings with respect to the last value. However, the value of β is computed from external data (energy cost, user satisfaction, etc.) and cannot be changed.

In this data set, a strong dependency between β = 2c p /c r -1 and the benefits of the proactive action has been observed. More generally, there exists a trade-off between energy savings and quality of service (QoS). If one tries to improve the QoS, more energy is spent and vice-versa. In this example, we show that when T increases, the energy cost savings will be higher due to the proactive action, but the QoS gets worse because some jobs will take much longer, and vice versa. If short response times are sought, small values of T are needed. Even though, the value of T has a small impact on the relative energy cost savings, it should be carefully chosen by the DC manager. To summarize, the value chosen for T is obtained by successive refinements. First, it should belong to the interval [T min, T max], as said in Section IX.C. Second, as previously pointed out, it is a trade-off between energy saving and QoS. Third, for a given value of β, the value of T chosen by the DC manager maximizes the value of RES β,T for the predictor considered. Hence, according to the results of this study (Fig. 9 and Fig 10), this value optimizes the energy saving for the quality of service required.

B. Dynamic capacity provisioning based on energy prediction

The basic principle of energy saving in a DC lies in turning off machines which are not being used during a time greater than or equal to T min. More generally, how to provide dynamic capacity provisioning [START_REF] Zhang | Dynamic Heterogeneity-Aware Resource Provisioning in the Cloud[END_REF] when only the energy that should be consumed in the next time interval is predicted. If the predicted energy is higher than the energy consumed in the previous time interval, some machines may have to be turned on. On the other hand, if the predicted energy is less than the energy consumed in the previous time interval, some machines may have to be turned off. We define m c (k), the minimum number of machines on in configuration c to consume the energy ŷc (k). In the single resource case, we have: In the case of multiple resources, the energy consumed by each resource present in configuration c is predicted. More precisely, we predict for each resource the part of the energy consumed which is proportional to the utilization factor of this resource: the second term of the sum in Eq 3. We deduce which resource is the bottleneck resource. We then compute the number of machines needed to provide this energy.

C. Mitigation of the impact of underestimation

If the prediction leads to an underestimation, user requests have to wait until a machine becomes available. This is a large factor of user dissatisfaction. In this paper, we assume that the corrective action is done at the beginning of the next time interval.

To mitigate the effect of underestimation, Dabbagh et al. [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF] propose two solutions. The first one tries to avoid underestimation, by adding a safety margin to the prediction of the number of machines. This solution may lead to overestimation which is not energy efficient. To limit overestimation, the safety margin is dynamically tuned according to the prediction error.

The goal of the second solution is to limit the DC latency to recover from this underestimation. To react more promptly (e.g. every 10s for a time interval T=60s), every T/10 for instance, an underestimation check is done. If some underestimation is detected, some machines are turned on to reduce user waiting time. In our case, the cost minimization performed during the search of the optimal predictor within a given predictor family (e.g. Linear, NonLinear) determines the optimal value to have the greatest energy saving. This is an important difference of our approach compared with [START_REF] Dabbagh | Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers[END_REF].

XI. CONCLUSION

The purpose of this paper is to evaluate the energy cost savings that can be achieved by a proactive DC management. Such a management consists in periodically configuring the DC by turning some servers on or off to provide an amount of energy equal to the sum of i) the predicted energy to serve the user requests that will arrive in the next period, and ii) the energy needed to correct the error on the prediction made for the previous period. The predicted energy has a proactive cost, whereas the corrective energy has a reactive cost. Two predictors are proposed: a linear one based on the ARMA model and a nonlinear one using the conditional probability density function. These predictors maximize the relative energy cost saving.

We determined the tight upper bound of the relative energy cost savings valid in all cases. Knowing the upper bound makes it possible to decide on the suitability or not of using proactive action. If a choice must be made between different possible proactive strategies, both costs and savings change. Therefore, this paper proposes a methodology that helps to choose the best strategy (i.e. that maximizes the savings) between possible proactive strategies.

The methodology proposed is generic and can be applied to any DC that meets the assumptions made in this paper. These assumptions are realistic and can be met by many data centers. As an example, we have used the data set collected over 29 days in an operational data center of Google. By applying this methodology on the Google data, an improvement up to 85% can be obtained, leaving room for multiple optimizations.

The relative energy cost saving that depends on the DC considered have been computed. Using the predictors analyzed with this data set, we find that the relative saving of the proactive action increases for β near to -1. This would make it possible to decide between possible proactive action strategies in this Google DC.

Fig. 1 .

 1 Fig.1. Costs paid in the case of over-estimation (left part) and underestimation (right part): in the case of overestimation, only the proactive cost is paid, whereas in the case of underestimation, both the proactive and the reactive costs are paid.

•

  Step 1: To simplify the modeling process, classify machines into configurations such as all machines of the same configuration have the same features (e.g. memory, CPU, instruction execution time, energy consumption parameters). • Step 2: Compute y c (k) the energy consumed by machine configuration c in each time interval [(k -1)T, kT ) in the recent past. In this past time interval, we know the arrival time of each request served by machines with configuration c, the requested resources and, if finished, we also know its exact duration. Otherwise, we take the duration up to the end of time interval T . We then compute y c (k) the energy consumed by c in the time interval [(k -1)T, kT ) as explained in Section IV-A. We proceed similarly for each time interval in the recent past. We iterate on each machine configuration existing in the DC, taking into account machine heterogeneity. • Step 3: Compute the Relative Energy cost Saving (RES) using proactive decisions, according to the definition given later. • Step 4: Maximize RES using recent past data for predictions ŷc for each machine configuration c. Considering

Fig. 3 .

 3 Fig. 3. Requests processed by any given configuration. r(t i , r i , τ i ) = Request arriving at random time t i with an amount of requested resources r i for a duration τ i in black. r(t) = Total amount of resources used in [(k-1)T, kT ), in red. y(k) = Energy consumed in the interval T to serve requests. ŷ(k) = Energy predicted, and y(k -1) = last value.

  where r b,c (t) is the amount of the bottleneck resource b used at time t in configuration c; Cap b,c is the capacity of the bottleneck resource b on any machine of configuration c; R c denotes the set of resources present on machines of configuration c; r u,c (t) is the the amount of the resource u used at time t in configuration c; Cap u,c is the capacity of the resource u on any machine of configuration c.

  Then, since E[|e c |] ≥ βE[e c ], it follows: arg min ŷc {J β,T,c } = arg min ŷc {E[|e c |] -βE[e c ]} (26) = arg min ŷc E[e 2 c ] = M SE

  [e c ] -E[|e c |] in Eq.(18). Since E[e c ] ≤ E[|e c |], the maximum is obtained when e c (k) is the positive constant value for all k, see Fig. 4. Since E[e c ] = E[|e c |] = E[e 2 c ] 1/2 = γ c , where γ c is MMSE given by Eq. 28, we get the following value for the upper bound U B β,T,c RES β,T,c :

Fig. 4 .

 4 Fig. 4. Admissible values of βE[e] -E[|e|] in the shaded area.

45 )Fig. 5 .

 455 Fig. 5. Sampled p(y|X) from the set of training data.

  Fig 2 in Section I depicts an example for a given machine configuration.

Fig. 6 .

 6 Fig. 6. True relative energy consumed versus its linear and nonlinear predictions for T = 3600s and β = -0.8.

Fig. 7 .

 7 Fig. 7. True relative energy consumed versus its linear and nonlinear predictions for T = 60s and β = -0.8.

Fig. 8 .

 8 Fig. 8. Upper bound in the interval β = [-1, 1] and T ∈ [60, 3600] seconds.

Fig. 9 .

 9 Fig. 9. RES for CPU requests using linear LO optimal predictor in the interval β = [-1, 1] and T ∈ [60, 3600] seconds. Small values of T ∈ [60, 3600] give lesser values of RES β,T , but the relative energy cost savings strongly depend on the value of β. For values of β varying from -0.4 to -1, RES β,T increases from 0 to 0.85. Although RES β,T increases with larger values of T , we consider no value larger than 3600 seconds to minimize user dissatisfaction caused a long waiting time before job execution in the case of

Fig. 10 .

 10 Fig. 10. RES for CPU requests using nonlinear optimal N LO predictor in the interval β = [-1, 1] and T ∈ [60, 3600] seconds.

Fig. 11 .

 11 Fig. 11. RES β,T for nonlinear optimal N LO, linear optimal LO and Upper bound U B in the interval β ∈ [-1, 1] and T = 60 seconds.

Fig. 12 .

 12 Fig. 12. RES β,T for nonlinear optimal N LO, linear optimal LO and Upper bound U B in the interval β ∈ [-1, 1] and T = 3600 seconds.

  . 53, the number of machines that have to be switched on or off for step is equal to |m c (k) -m c (k -1)|, where m c (k -1) is the number of machines on in step k -1. If m c (k) -m c (k -1) > 0, these machines have to be turned on. If m c (k) -m c (k -1) = 0, no change is needed. If m c (k -1) -m c (k) > 0, these machines have to be turned off.

This is the author's version of an article that has been published in this journal. Changes were made to this version by the publisher prior to publication.The final version of record is available at http://dx.doi.org/10.1109/TNSM.2020.2988346Copyright (c) 2020 IEEE. Personal use is permitted. For any other purposes, permission must be obtained from the IEEE by emailing pubs-permissions@ieee.org.

Ruben Milocco is research scientist at the Grupo de Control Automático y Sistemas (GCAyS) and consulting professor at the Department of the Electrical Engineering both of the Universidad Nacional del Comahue (UNCo). He received a Doctoral degree at the Universidad Nacional de La Plata, (UNLP), where he also served as professor. He is member of the Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET), all from Argentina. His research interests include filtering, estimation and identification with applications to wireless and mobile networks and efficient energy storage management systems. , where she also served as an Assistant Professor. Her research interests include wireless and mobile networks, with a special focus on the impact and use of social networks, trajectory prediction, information dissemination and lightweight security. Selma Boumerdassi worked on several national projects and served as an expert for the evaluation of national projects in France (ANR), Algeria (CDTA) and Canada (NSERC). She is an expert for MESRI, France, where she is in charge of evaluating the research work of private companies. She authored more than 100 articles and served as a TPC member for various international journals and conferences.


Patrice Berthod
email: patrice.berthod@univ-lorraine.fr

Jean-Paul Gomis

Synthia Annick

Ozouaki Wora

Exploration of the Microstructures of Two Series of Chromium-Rich Mn-Based Alloys Elaborated by Casting

Keywords: Manganese-Based Alloys, Carbon, Chromium, Tantalum, Foundry, Microstructures, Hardness

Manganese is a rather abundant element on earth and alloys based on it may be unexpensive. Alloyed with chromium for corrosion resistance and with carbon and a strong carbide-former element Mn can be the base of new metallic materials with interesting properties. In this work it is aimed to try elaborating Mn-based alloys by foundry and, in case of successful results, to explore the obtained microstructures. Two series were considered, a first one of the Mn -25wt.%Cr basis with increasing amount in carbon, and a second one with addition of both carbon and tantalum addition. These seven alloys were synthesized by high frequency induction melting and their microstructures were examined using electron microscopy. Thermodynamic calculations were carried out to better understand the microstructure formation. Results show that a double-phased matrix composed of two intermetallic compounds was obtained for all alloys, as well as chromium or tantalum carbides as soon as the carbon content was high enough. Cutting was hard and led to microcracks revealing lacks in toughness. The hardness is very high. It is concluded that the elaboration of such alloys by foundry pose some problems which must be solved, but is possible. The high hardness can be interesting for some applications but the toughness is to be improved. Outlooks of this work are the characterization of the corrosion behavior of these alloys and of their mechanical properties.

Introduction

In the Mendeleiev's Periodic Table of the elements, Manganese is in the same line of transition metals as chromium on the left and iron, cobalt, nickel on the right. Manganese is often met in small quantities associated to iron (few weight percent) in many steels, but also in some creepresistant steels, with higher contents [1,2]. In alloys other than steels, manganese can be associated to other elements than iron, such aluminum [3,4], copper [5] and even precious metals [6], for instance. In association with these elements Mn is present in particular alloys such as alloys with soft magnetic properties [7], shape memory alloys [8,9], dental alloys [10], alloys with low thermal expansion [11], quasicrystals [12], amorphous alloys [7] and even composites [13]. In contrast, it is difficult to find manganese alloyed with chromium. Very old alloys involved Mn with Cr and Fe [14,15] and much recently NiCrMn alloys [16] were under consideration [16], but they are seemingly almost the alone ones.

There are four crystalline networks for pure manganese and they are all cubic. One of them is body centered cubic (BCC) as chromium, from 1160°C to the melting point. It is possible to think that adding Cr to Mn may promote the later crystalline structure and give cubic solid solutions. Consequently one can expect, in this hypothesis, that high ductility can be achieved by the existence of 12 sliding system homogeneously scattered directions for dislocation movement under stress, even for temperatures not too low. Such a BCC network is not as compact as Face Centered Cubic (FCC) structures, and thus not so mechanically resistant, but strength may be improved by hardening. The presence or addition of carbide-forming elements may lead to carbides if carbon is also added.

The purpose of this work is, first to discover the theoretical structure of binary Mn-Cr alloys, and second to concretely explore the microstructures of binary alloys made of manganese (base element) and chromium (as alloying element), of ternary alloys with addition of carbon in various contents, and to finish quaternary alloys with the addition of a strong carbide-forming element, tantalum. The choice of this later element takes its origin in its efficiency to form scriptlike eutectic carbides in various bases involving also chromium: cobalt-base superalloys [17], nickel-base superalloys [18], ferritic [19] or austenitic [20] steels.

Experimental

Thermodynamic calculations prior to elaboration

Preliminarily thermodynamic calculations were carried out to explore the theoretic constitutions of alloys based on manganese and containing significant quantities of chromium. This was done using the Thermo-Calc software (N version). Unfortunately thermodata were lacking for calculations in the Mn-Cr-C-Ta system and even in the Mn-Cr-C ternary one. Calculations were thus performed only on the binary Mn-Cr system, the description of which was available in the KP database. This allowed obtaining the high temperature part of the Mn-rich side of the Mn-Cr diagram. The evolution of the different phases from single liquid down to rather low temperatures were successfully obtained.

Elaboration of the two series of alloys

The chemical compositions were chosen: 25wt.%Cr for all alloys, 0, 0.25, 0.5 and 1 wt.%C for the binary and the three ternary alloys, 0.25C-3Ta, 0.5C-3Ta and 0.5C-6Ta (all contents in wt.%) for the three quaternary alloys. These contents are typical of the corresponding ones in superalloys, corrosionresistant at ambient temperature and high temperatures (up to 1000°C and even more) and efficiently strengthened by carbides at elevated temperatures (up to 1200°C).

Taking into account that the capacity of the furnace available for these syntheses was of 50 grams mavximum, it was chosen to limit the charges to 40 grams. They were prepared with pure elements (flakes of Mn, small blocky parts of Cr and of Ta, graphite for C) with purities higher than 99.9% (supplier: Alfa Aesar). The masses in the different elements were carefully weighed using a precision balance (accuracy: ±0.1mg). Each charge was thus placed in the metallic segmented crucible of the furnace (made of copper, internally cooled by a continuous flow of water at ambient temperature). A transparent tube made of silica was placed around the crucible containing the charge, and the fusion chamber was closed and vacuumed down to less than 5 × 10 -2 millibars. Pure argon was then introduced until reaching an internal pressure lower than but close to one atmosphere. Vacuuming and pure Ar introduction were repeated two times more, and the internal pressure was fixed at about 500 millibars of Ar.

Melting was achieved by progressively increasing up to 4 kV the voltage of the 110kHz alternative current. Melting occurred simultaneously with the intensive formation of dark vapors inside. A three minutes stage at the maximum voltage was done to chemically homogenize the liquid sphere levitating over the crucible (liquid maintained with this shape and without direct contact with copper by the electromagnetic forces). AT the end of these three minutes the applied voltage was progressively decreased, allowing the liquid alloy cooling and solidification.

Solidification finished in contact with the copper crucible.

Metallographic examination of the obtained alloys

Each obtained egg-shaped ingot was cut in four sectors using a rotating abrasive wheel and samples for the metallographic examination were machined using a metallographic saw. The sections were examined a first time with the naked eye. The samples were embedded in a cold mixture made by the mix of 82% of liquid resin and of 18% of liquid hardener (ESCIL, France).

After total stiffening the embedded samples were extracted from the plastic molds and ground with SiC papers under water (grades from 240# to 1200#). After ultrasonic cleaning and washing under water then alcohol (to remove eventual abrasive particles inherited from the SiC paers), final polishing was performed with textile disks enriched with 1µm alumina particles.

The mirror-like surfaces were examined again with the naked eye, then placed in a Scanning Electron Microscope (SEM), a JEOL JSM-6010LA one (Japan). The samples were then observed at different high magnifications in the Secondary Electrons (SE) mode and in the Back Scattered Electrons (BSE) mode. Control of the global chemical composition was achieved by full frame Energy Dispersive Analysis (EDS) on several areas with the ×250 magnification, and spot EDS analysis was carried out on the different phases or particles existing in the alloys.

Hardness measurements

Per sample up to 10 indentations were carried out under a 10kgload and according to the Vickers procedures. The average value of hardness and the standard deviation one were then calculated.

Results and discussion

Thermodynamic calculations

A part of the Mn-richest half of the phase diagram of the binary Mn -Cr system, computed with Thermo-Calc, is presented in Figure 1. This phase diagram is rather complex since, over the 10-40% wt.%Cr and 800-1800K ranges, Thermo-Calc found three allotropic varieties of the Mnbased solid solution, two intermetallic compounds Mn79Cr21 and Mn2Cr, two peritectic points and a peritectoïd point. The corresponding peritectic and peritectoïd reactions are the following ones: In the same frame of the Mn -Cr diagram one can see that the Mn-rich solid solution may know two allotropic reactions during cooling: MnBCC →  → Obviously there is no communications between the Cr-rich Mn-based BCC solid solution (named MnBCC here) and the Mn-rich Crbased BCC solid solution (named CrBCC here), and the Mn-25wt.%Cr alloy should be formed of about 3/5 of Mn79Cr21 and 2/5 of Mn2Cr. These phases being intermetallic one can threat that this alloy will be brittle at room temperature, and probably also many of the other alloys with C and/or Ta additions.

 Liquid + Mn79Cr21 → MnBCC  Liquid + CrBCC → Mn79Cr21  CrBCC + Mn79Cr21 → Mn2Cr

Microstructures of the alloys with 0.25wt.%C

The SEM/BSE images of the two alloys containing 0.25wt.%C without or with 3wt.%Ta (targeted contents), respectively named MCC1 and MCC1T, are presented together in Figure 2 (low magnification for general view) and in Figure 3 (high magnification for detailed view). The ternary MCC1 alloy obviously presents a double-phased matrix and small black precipitates. The microstructure of the quaternary MCC1T alloy does not really look like the MCC1 one but one find in its case too a double-phased matrix and small white particles. In both cases, considering the two gray levels seen in the matrix and remembering that these micrographs were taken in BSE mode, matrix seems to be composed of a dark phase with an average atomic number a little lower and of a brighter phase with an average atomic number a little greater. The black precipitates observed in the first alloy can be chromium carbides while the white precipitates dispersed in the second alloy can be tantalum carbides.

Microstructures of the alloys with 0.5wt.%C

A general view of the microstructures with 0.5wt.%C, without or with Ta is given in Figure 4. These alloys, with as targeted compositions 0.5wt.%C (alloy named MCC2), 0.5wt.%C-3wt.%Ta (alloy named MCC2T) and 0.5wt.%C-6wt.%Ta (alloy named MCC2T'), are of the same type as the former ones but richer in black particles and/or white particles. Detailed views are provided in Figure 5. In all alloys one can again distinguishing two phases of matrix with two different average atomic numbers then two gray levels. In contrast with the 0.25wt.%Ccontaining alloys, the surface fraction of the dark particles are higher and their morphologies more complex. Concerning the white particles present in the MCC2T and MCC2T' alloys, they are only a little coarser than in the MCC1T alloy.

Microstructures of the four Tafree alloys

The detailed microstructures of the two other alloys, the binary one (named MC) and the carbonrichest one (named MCC3), are presented in Figure 6 in which their SEM/BSE micrographs taken with a medium magnification, are gathered with the micrographs of the 0.25wt.%C-or 0.5wt.%C-containing alloys already commented, to facilitate comparison and the analysis of the influence of the carbon content. Preliminarily one must remark that some of the alloys are affected by the presence of microcracks, which are here better seen than in micrographs with lower magnification. Second, other dark particles are present beside these microcracks, and they are more present when the carbon content increases. When the carbon content is the highest (1wt.%C) it is obvious that then this darkest phase is a chromium carbide which appeared at solidification by forming a eutectic compound with the matrix, morphologically very similar to

Cr7C3 eutectic carbides encountered in some cobalt-based and nickel-based alloys.

Chemical compositions of the obtained alloys

EDS full frame analysis, excluding carbon because its too low atomic mass and its too low contents in the alloys, was carried out on five areas randomly chosen in each sample. The results, present in Table 1, demonstrated that the wished chemical compositions were not really obtained. The most curious result concerns chromium. It is several points higher than expected.

In fact this is due to the volatilization of manganese which happened during the melting. Indeed its evaporation point is much lower than the chromium and tantalum ones. The formation of Mn vapor due to the high level of temperature reached during melting (about 2000 K) led to the dense smoke continuously forming in the fusion chamber. Manganese was present in the powders deposited on the internal faces of the cold components inside the fusion chamber. alloy). Due to its very high evaporation point tantalum it was not possible that a part of tantalum was lost by evaporation. On the contrary, due to significant manganese loss as vapor, the contents in Ta ought to higher than expected, as for chromium. These obtained Ta contents significantly lower than targeted were explained by looking to the remaining and not exploited cut parts of the MCC1T, MCC2T and MCC2T'alloys: presence of not melted parts of pure tantalum. Obviously, interdiffusion between the pure Ta parts and the formed Mn-Cr liquid did not progress enough or did to led to intermediate compounds with melting points low enough.

Thus, only a part of tantalum really dissolved in the liquid and thus took part to the final Mn-Cr-C-Ta alloy. Concerning carbon, it was not possible to specify its content in the alloy, because of its low atomic mass but overall to its necessarily too low content in the whole alloys, even for the 1wt.%C-containing alloy (MCC3). In contrast, EDS spot analysis carried out on the coarsest dark particles or white particles found in the metallographic samples, by rating carefully the parameters of the electron beam, allowed rather accurate measurements of the C contents of these particles. This allowed identifying the darkest particles as being Cr7C3 carbides and the brightest ones as being TaC carbides. Due to their white tint, it was possible to measure their surface fraction using the image analysis tool of the Photoshop CS software of Adobe. The obtained results are located in the {1.5 -4 surf.%} for the three alloys taken together.

Chemical compositions of the two phase of the matrixes

EDS spot analyses performed on the slightly brighter part of the matrix and on the slightly darker part of the matrix led to results which are summarized in Table 2 for the first matrix phase and in Table 3 for the second matrix part. The chromium content in the bright phase is globally lower than the one of the whole alloy while the chromium content in the dark phase is higher than the alloys' one. By reminding that the atomic mass of chromium is a little lower than the one of manganese one understands the order of gray levels between the two phases of the matrix. The bright matrix, with its between 24 and 28 wt.%Cr, do not correspond to one of the two intermetallic compounds expected by the results of Thermo-Calc calculations. This is different for the dark phase the Cr, content of which (from 32.5 to 36 wt.%) is rather close to the Mn2Cr intermetallic. If one can admit that the dark phase is really Mn2Cr, what is the bright phase?

Maybe another intermetallic compounds not predicted in the KP database? Or maybe there is a rather large Cr content solubility range for the Mn79Cr21 intermetallic?

Hardness

The hardness values obtained for all alloys are graphically given in Figure 7, organized to facilitate the study of the dependence on the carbon content and on the tantalum one. As shown in Figure 7-A hardness increases with the carbon content while, according to Figure 7-B it seems also to be favored by tantalum. Since the hardness is seemingly the same for 0.25wt.%C without (MCC1 alloy) or with Ta (MCC1T), the nature of the carbides, chromium carbides or tantalum carbides, does not have any effect. The comparison between the MCC2T et MCC2T' alloys suggests that either there is no effect for such low variation in Ta contents, or the presence of more Ta (as carbides and/or in solid solution) tends slightly increasing hardness. In the case of the ternary alloys the presence of carbon will influence the solidification, and maybe also the solid state transformations. It was not possible to perform calculations because of the lack of suitable database for system orders higher than 2, but the eutectic-like shaped Cr 7 C 3 carbides seen in the as-cast microstructures of some of the present alloys (i.e. with C contents high enough), suggest that a liquid → matrix + Cr 7 C 3 may occur at the end of solidification. For the quaternary alloys too poor in tantalum because of a not total dissolution of Ta in the melt before start of cooling, the obtained TaC were not developed enough to allow understanding when they appeared and according to which reaction.

Conclusion

Preceded by initial thermodynamic calculationsnecessarily limited because the unavailability of an adequate databasethe elaboration of the two series of alloys brought some knowledge about such systems seemingly not explored previously. First the great differences in melting points and in evaporation point between manganese on the one hand, and chromium and tantalum on the other hand, led to elaboration conditions inducing significant evaporation of manganese and to unachieved alloying by tantalum when present. Maybe other elaboration routes, such as powder metallurgy or additive manufacturing, must be preferred to foundry.

About the properties of the obtained alloys, some difficulties arose and must be solved before taking benefit of some of the properties of these alloys, their high hardness for example. Indeed hardness typical of water-quenched martensitic steels were obtained without help of many carbides. Certainly, the major problem to solve is the lack of toughness revealed by many microcracks discovered after cutting. Future work, in parallel with the characterization of general corrosion and mechanical properties, may consist also in the research of solutions for improving this particular point.

Figure 1 .

 1 Figure 1. The binary Mn-Cr diagram (computed by Thermo-Calc N with the KP database)

Figure 2 .Figure 3 .

 23 Figure 2. Microstructures of the MCC1 (A) and MCC1T (B) alloys (SEM/BSE mode, low magnification)

Figure 4 .

 4 Figure 4. Microstructures of the MCC2 (A), MCC2T (B) and MCC2T' (C) alloys (SEM/BSE mode, low magnification)

Figure 5 .

 5 Figure 5. Microstructures of the MCC2 (A), MCC2T (B) and MCC2T' (C) alloys (SEM/BSE mode, high magnification)

Figure 6 .

 6 Figure 6. Microstructures of the MC (A), MCC1 (B), MCC2 (C) and MCC3 (D) alloys (SEM/BSE mode, medium magnification)

Figure 7 .Figure 8 .

 78 Figure 7. Hardness evolution versus the C content (A) and the C and Ta contents (B) (Vickers indentations under a 10 kg load)

Figure 9 .Figure 10 .

 910 Figure 9. Evolution of the chemical composition of the liquid during the solidification of the MC alloy (computed by Thermo-Calc N with with KP database)

Table 1 .

 1 Chemical compositions of the seven alloys (average and standard deviation values from five ×250 full frame EDS analysis); C supposed well respected (*: cannot be specified by full frame EDS); contents in wt.%

	Alloy	Mn	C	Cr	Ta
	MC	Bal.	0*	27.5 ± 0.8	/
	MCC1	Bal. 0.25* 28.6 ± 0.4	/
	MCC2	Bal. 0.50* 29.2 ± 0.5	/
	MCC3	Bal. 1.00* 28.4 ± 0.6	/
	MCC1T Bal. 0.25* 29.5 ± 1.6 1.1 ± 0.4

Table 2 .

 2 Chemical compositions of the bright part of the matrix in the seven alloys (average and standard deviation values from five spot EDS analysis); contents in wt.%

	Alloy	Mn	C	Cr	Ta
	MC	Bal.	0*	24.9 ± 2.3	/
	MCC1	Bal. 0.25* 27.9 ± 1.0	/
	MCC2	Bal. 0.50* 27.8 ± 1.1	/
	MCC3	Bal. 1.00* 24.3 ± 3.8	/
	MCC1T Bal. 0.25* 25.9 ± 1.3 0.3 ± 0.2
	MCC2T Bal. 0.50* 25.8 ± 1.3 1.5 ± 1.7
	MCC2T' Bal. 0.50* 25.9 ± 1.3 0.3 ± 0.1
	(*: cannot be specified by spot EDS on phase with low carbon contents)

Table 3 .

 3 Chemical compositions of the dark part of the matrix in the seven alloys (average and standard deviation values from five spot EDS analysis); contents in wt.%

	Alloy	Mn	C	Cr	Ta
	MC	Bal.	0*	35.9 ± 2.3	/
	MCC1	Bal. 0.25*	33.3 ± 1.5	/

Additional thermodynamic calculations