OPTIMIZING THE CARBON EFFICIENCY OF DATA CENTERS

DE102024106301A1Pending Publication Date: 2025-02-06HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE102024106301
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-31
Filing Date
2024-03-05
Publication Date
2025-02-06

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The examples described here relate to monitoring a carbon efficiency metric associated with a data center and determining a recommendation for improving that metric. A data processing device can determine a carbon efficiency metric associated with a data center based on determining the energy consumption of a data center infrastructure device. The data processing device can further determine the carbon efficiency metric based on an estimate of the infrastructure device's performance based on its power consumption.The data processing device can also determine a recommendation to change the data center to improve the carbon efficiency metric, based on a prediction, using a machine learning model and based on a time-series dataset, of whether the carbon efficiency metric is associated with a temporary event. The data processing device can forward the recommendation to an output device.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUNDThe data center industry provides data storage and management as well as capacity to handle digital transactions. The resources of data centers, such as servers and storage devices, consume energy for operation and computing power. Data centers also consume energy to keep these resources cool. A data center may, for example, consume energy to cool the air in the data center or to cool a liquid that is pumped through at least a portion of the data center.BRIEF DESCRIPTION OF THE DRAWINGSThese and other features, aspects, and advantages of the present specification will become more fully understood when the following detailed description is read with reference to the accompanying drawings, in which like numerals represent like parts throughout the drawings, wherein: FIG. 1 illustrates a system for monitoring and providing a recommendation to improve a carbon efficiency metric associated with a data center, in accordance with one example; FIG. 2 shows a recommendation for improving a carbon efficiency metric associated with a data center; FIG. 3 is a flow diagram illustrating a method for determining a recommendation to improve a carbon efficiency metric, according to an example; FIG. 4 is a flow diagram illustrating a method for determining a carbon efficiency metric associated with a data center according to another example; FIG. 5 is a flow diagram illustrating a method for determining a recommendation to improve the carbon efficiency metric according to another example; FIG. 6 is a flow diagram illustrating a method for predicting whether the carbon efficiency metric is associated with a temporary event, according to another example; FIG. 7 is a flow diagram illustrating a method for determining a recommendation to improve a future carbon efficiency metric according to another example; FIG. 8 is a block diagram illustrating a computing device including a processor and memory encoded with example instructions to monitor and provide a recommendation for improving a carbon efficiency metric associated with a data center, according to an example; and FIG. 9 is a block diagram illustrating a computer readable storage medium including instructions, according to an example.It is emphasized that the various features in the drawings are not drawn to scale. Rather, the dimensions of the various features in the drawings have been arbitrarily increased or decreased to clarify the discussion.DETAILED DESCRIPTIONThe following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers will be used in the drawings and the following description to refer to the same or like parts. It is expressly understood that the drawings are for illustration and description only. Although several examples are described in this document, modifications, adaptations, and other implementations are possible. Accordingly, the following detailed description does not limit the disclosed examples. Rather, the true scope of the disclosed examples may be defined by the appended claims.The terminology used herein is for the purpose of describing particular examples and is not to be taken as limiting. As used herein, the singular forms "a", "an" and "the" also include the plural forms, unless the context clearly indicates otherwise. As used herein, the term "another" is defined as at least one second or more. As used herein, the term "coupled" is defined as being joined, either directly without intervening elements or indirectly with at least one intervening element, unless otherwise indicated. For example, two elements may be mechanically, electrically, or communicatively interconnected via a communication channel, path, network, or system. Moreover, as used herein, the term "and / or" refers to and includes all possible combinations of the listed elements. Although the terms "first", "second", "third", "fourth", etc. are used herein to describe various elements, these elements should not be limited by these terms, as these terms are only used to distinguish one element from another unless otherwise stated or the context indicates otherwise. As used herein, the term "includes" means including, but not limited to, the term "including" means including, but not limited to. The term "based on" means based at least in part on.Product Carbon Footprints (PCFs) represent the carbon emissions of a product during its life cycle. Taking the example of a server, this lifecycle begins with the design of the server, involves the use of the server and ends with the disposal of the server. In some cases, the carbon emissions resulting from the use of the server are approximately estimated by determining the amount of carbon a server would emit at a particular static level of utilization (e.g., CPU and / or resource utilization) (e.g., 30% level of utilization). While such approximations may convey a general impression of the carbon emissions of a server, the actual carbon emissions of the server may vary widely depending on the actual level of utilization of the server. Thus, a server operating at a lower level of utilization will likely operate at a relatively low carbon dioxide efficiency, while a server operating at 100% utilization will likely operate at a higher carbon dioxide efficiency. In addition, the load on a server may fluctuate over its lifetime. These variations may be caused by changes in customer requirements. Additionally, some workloads may not be suitable for execution on a server having a workload above a certain threshold due to technical constraints. Additionally, in some cases, servers may operate at a load of less than 100% to reduce the risk of hardware failure and extend the overall service life of the server.As described herein, the term "carbon dioxide efficiency" refers to the use of less energy (or the generation of less carbon dioxide emissions) to achieve the same result, and may be used interchangeably with the term "energy efficiency.". In the context of data centers, carbon dioxide efficiency refers to the power consumption required to achieve a particular level of performance (e.g., operating and / or computing power). A higher CO2 effizienz corresponds to achieving a certain power level with a lower power consumption, while a lower CO2 effizienz corresponds to achieving the same or a poorer power level with a higher power consumption. In this context, the term "carbon efficiency metric" may refer to a value associated with the performance of one or more devices in a data center, such as a measure of the performance of a device or a relationship between the power consumption and the performance of the device. As described herein, the performance of a device may refer to the throughput of the device (e.g., the number of operations the component may perform in a particular interval divided by the duration of the interval).The examples described herein relate to optimizing the carbon efficiency of a data center, and more particularly, to monitoring a carbon efficiency metric associated with the data center when the data center is being used (e.g., operated) and providing a recommendation for changing the data center, such as replacing a component of the data center with alternate hardware, to improve the carbon efficiency metric. To monitor the carbon efficiency metric associated with the data center, power consumption of one or more devices (e.g., components) of the data center, such as servers, storage devices, and / or the like, may be detected at a high level. The performance of the devices may be estimated based on an assignment of power consumption and performance (e.g., based on reverse look-up). The information for the mapping may be stored in a database and may use data such as the Benchmark data of the Standard Performance Evaluation Corporation (SPEC). The database may also store operational data associated with one or more solutions (e.g., potential changes to the data center) that may include information about available options to reduce data center power consumption while maintaining or improving performance. These operating data associated with the solution may contain, for example, information about the energy consumption, the performance and / or the CO2 effizienz of alternative hardware solutions, e.g. a server of a different generation than the server currently used in the data center, which may be used as a replacement for the component. Based on determining that the carbon efficiency metric associated with the data center could be improved (e.g., based on identifying a solution that could improve the carbon efficiency metric), a recommendation may be provided at an output device, such as an electronic display device. This recommendation may recommend replacing a component of the data center with alternative hardware, adding or removing hardware in the data center, or moving the workload to or from the component.In some cases, inefficient use of a data center by a customer may be temporary, and while a recommendation to improve CO2 effizienz of a data center is typically appropriate when the data center reaches a certain level of inefficiency, such a recommendation may not be as practical or appropriate in transient events. An e-commerce website as an example of a data center customer could result in higher utilization of the website and thus of the data center during the filing time. For a social media website as another example of a data center customer, the customer may determine a higher workload in summer when the users are going to travel and post images. In either case, the load peak may reduce the carbon efficiency of the data center during the respective season, but after the season has expired, the data center may return to or approach its previous carbon efficiency. As used herein, the terms "transient" and "transient event" may refer to a limited duration, e.g., a period of six months or less, three months or less, one month or less, one week or less, one day or less, and the like. In some cases, "transient" may be less than a predefined duration, such as a duration indicated by a customer (e.g., within an SLA).In some examples, recommendations that are otherwise sent to a customer due to carbon inefficiencies may be adjusted based on determining that the carbon inefficiency (e.g., the carbon efficiency metric) is associated with a transient event. In particular, it can be determined on the basis of a time series data record whether carbon inefficiency is permanent or temporary. In this context, time-series analysis may be used to determine whether a carbon efficiency score is associated with a transient event. Recommendations for inefficiencies (e.g., improvementable carbon efficiency metrics) associated with a transient event may be invalidated. The time-series analysis may be performed with a time-series-based machine learning model. Overriding the recommendation may mean that no recommendation is pronounced (e.g., no recommendation is sent). In some cases, the prevention of provision of recommendations may be implemented when no other alternative recommendations are available or may be implemented as a configurable setting so that the customers receive fewer recommendations. As an alternative to overwriting the recommendation, the recommendation can be adapted to the application of the transient event. For example, a recommendation to buy new hardware may be inappropriate for a time-limited event, as the time frame for the purchase and installation of the hardware may exceed the duration of the event. Such a recommendation may be changed by an alternative recommendation such as migration of a workload, as long as migration is possible.In some cases, the time series data set includes a record of past carbon efficiency metrics of the data center over a period of time. Additionally or alternatively, the time-series dataset may include a plot of carbon efficiency metrics of another data center, e.g., a data center for another customer or another data center used by the same customer. In this context, a machine learning model may use historical data from the data center or similar data centers to learn patterns of power consumption and / or carbon dioxide efficiency. Based on this learning process, the model may predict whether an event is transient only, which may correspond to a peak current consumption at a patio-weekend in an e-commerce customer, or is of duration, which may correspond to an increase in membership counts in a social media customer, for example.Moreover, data centers that currently meet the desired carbon efficiency levels, e.g., as set forth in a service level agreement (SLA), may become inefficient in the future. For example, as application traffic increases, power and / or power requirements for the data center may change, which in turn may affect the CO2 effizienz of the center. Accordingly, in some examples, future carbon inefficiencies (e.g., carbon efficiency metrics that do not meet a threshold) may be predicted before they occur and the customer may be given a recommendation to make a change before the inefficiency occurs. For example, a recommendation for purchasing new hardware may be sent to a customer based on predicting that the customer will operate at a lower carbon efficiency. The recommendation may be issued, for example, based on a predicted future carbon efficiency score that falls below a threshold, e.g., a threshold for efficiency set in the customer's SLA. By providing this recommendation in advance of a carbon-inefficient operating condition, the customer may make changes, e.g., install new hardware, to avoid inefficiency or to shorten the duration of inefficiency. The future carbon inefficiencies may be predicted using time-series analysis, e.g., with a time-series based machine learning model.The complexity of dealing with carbon dioxide efficiency in a data center is also increased by the fact that data centers are often configured as heterogeneous environments. In this regard, data centers include a variety of different infrastructure devices, such as servers, storage devices, switches, and racks. Each of these infrastructure devices has a different energy requirement and power efficiency depending on the configuration and use of the device. As with the example of a server operating at different levels of utilization described above, different configurations and operation of the infrastructure devices may affect the carbon efficiency of the devices. Moreover, even servers of the same generation and with the same processing functions may have different carbon dioxide efficiency profiles due to differences in form factor (e.g., server height), cooling components (e.g., lack, presence, or different performance of cooling components), and / or the like. For example, a server having one height unit (1U) may have a different carbon efficiency than a similar server having two height units (2U).Monitoring carbon dioxide efficiency associated with the data center may therefore include monitoring power consumption of one or more components of the data center and estimating the respective performance of each component. In this context, in some examples, individual components of a data center may also be monitored. In addition, the database may include operating data for a plurality of infrastructure devices and data for a plurality of workload types, e.g., scientific workloads, virtualized workloads, deep learning workloads, java workloads, and the like. The information included in the database may be preloaded (e.g., at a development stage), updated manually (e.g., by manually uploading information), and / or updated automatically. The data can be retrieved from private or public repositories for example.In some examples, carbon efficiency monitoring and / or recommendation delivery may be at different levels of granularity. The monitoring and / or recommendations can be carried out, for example, at the level of nodes, servers, racks, containers, data centers or the like. In this context, data from multiple components may be aggregated to determine carbon efficiency at higher levels of abstraction and to make recommendations at that level. In some examples, the components of the data center may be identified and a hierarchy may be established based on the identification (e.g., based on the granularity levels of the identifications). This hierarchy can be used to aggregate data and provide recommendations at a desired granularity level.In some examples, power consumption of one or more components of the data center may be detected via application program interfaces (APIs), such as Representational State Transfer (REST) or REDFISH® APIs, connected to the respective components, e.g., via management software. The power consumption data may be acquired at a configurable rate. This rate can be set via a user setting. In some examples, the configurable rate may be automatically adjusted based on the CO2 effizienz associated with the data center. For example, the rate may be reduced to reduce power consumption associated with data acquisition.In some examples, a recommendation to add hardware or replace hardware in a data center may be determined based on information such as investment and operating costs of the hardware, which may be stored in the database. Such a recommendation may be pronounced, for example, when the estimated reduction in operating costs arising from the addition or replacement of hardware balances the investment costs of the hardware. Investment costs may include the costs of purchasing and installing the hardware. The reduction in operating costs may include the difference in operating costs associated with operating the data center with and without the hardware. There may be a reduction in operating costs when the power consumption of the hardware used as replacement is lower than the power consumption of the hardware used as replacement. Operating costs may also include the cost of cooling the hardware, e.g., the cost of electricity consumption for cooling purposes.Referring now to the drawings, FIG. 1 illustrates a system 200 for monitoring and providing a recommendation for improving a carbon efficiency metric in connection with a data center 100. The system may include a data center 100, a computing device 202, a database 204 (e.g., a memory), and an output device 206. Although shown separately, the computing device 202 may be included in the data center 100, for example, in one or more infrastructure devices of the data center 100. The computing device 202 may be, for example, a server 106, a group of servers, or the like. In some cases, the computing device 202 may include a storage device 108. Moreover, database 204 may be included in computing device 202, e.g., in a memory of computing device 202, or may be a separate component communicatively connected to computing device 202. In some cases, the computing device 202 and / or database 204 may be separate devices (e.g., separate from the data center 100) that are local, remote, and / or accessible via the cloud.As illustrated by arrows 216, 218, and 220, the components of system 200 may be communicatively coupled. For example, arrow 216 illustrates a communicative coupling between the computing device 202 and the data center 100. Arrow 218 illustrates communicative coupling between computing device 202 and database 204, and arrow 220 illustrates communicative coupling between computing device 202 and output device 206. The communicative coupling represented by arrows 216, 218, and / or 220 may include wired coupling, wireless coupling (e.g., a network connection, a Bluetooth connection, or the like), or a combination thereof.As described herein, data center 100 may be used for data storage and / or management. For example, a customer may use data center 100 to host a website, process information, store information, or the like. As shown, data center 100 may include a plurality of infrastructure devices (e.g., components), such as rack 102, switch 104, server 106, storage device 108 (e.g., hard drive, solid-state drive (SSD), and / or the like), and / or the like, used to host applications and store information. For example, data center 100 may include one or more racks, such as a first rack 102A and a second rack 102B. A rack 102 may house a switch 104, a server 106, a storage device 108, and / or the like. For convenience, the data center 100 illustrated in FIG. 1 illustrates infrastructure devices that may be present in a data center 100, such as a server 106, a storage device 108, a rack 102, and a switch 104, without reference to their location within the data center 100. Although two racks 102, two switches 104, two storage devices 108, and two servers 106 are shown, data center 100 may include any number or combination of such infrastructure devices.As described herein, the use of data center 100 consumes power that may contribute to the carbon emissions attributed to the operation of data center 100. Power consumption of data center 100 depends on power consumption of its components, e.g., servers 106, storage devices 108, and switches 104. The power consumption and CO2 effizienz of these devices may vary depending on the device type and configuration. The configuration of a device may refer to the generation of the device, the components (e.g., processing components) included in the device, the form factor of the device (e.g., the server height of the device, the arrangement of the components within the device, or the like), cooling devices connected to the device, or the like. For example, a server 106A having a first configuration may have a different power consumption and carbon dioxide efficiency than a storage device 108 and a server 106B having a second configuration. The power consumption and CO2 effizienz of these devices may also depend on how they are used. Using servers 106 as an illustrative example, a server 106 operating at a first level of utilization of its available processing resources (e.g., first level of utilization or first level of utilization) may have a different power consumption and CO2 effizienz than a server 106 operating at a second level of utilization. The servers 106 may operate at different levels of utilization for various reasons, such as workload requirements, changes in customer needs, or the like. For example, the servers 106 may have different load levels and / or power consumptions depending on the workload. Examples of different types of workloads include scientific workloads, java workloads, virtualized workloads, deep learning workloads, database workloads, structured query language (SQL) workloads, online transaction processing workloads (OLTP), decision support system workloads (DSS), and other workloads. In any of the factors described above, the carbon dioxide efficiency of an infrastructure equipment, and thus data center 100, may vary during operation.The examples described herein relate to determining and improving a carbon efficiency metric associated with data center 100. In some examples, the power consumption and / or the carbon efficiency metric may be determined at different levels of granularity within data center 100. For example, the power consumption of a single storage device 108 or the collective power consumption of a cluster of infrastructure devices, e.g., a group of multiple storage devices 108, or the clusters described below with reference to dashed box 112, rack 104A, and dashed box 114 may be determined. Determining carbon efficiency metrics at different levels of granularity may help illustrate the carbon efficiency of components of a heterogeneous data center, such as the depicted data center 100, as well as the overall carbon efficiency of the heterogeneous data center.Heterogeneous data centers may include a variety of different infrastructure devices, such as different device types and / or different variants of a particular device. For example, the depicted data center 100 is heterogeneous because it includes both servers 106 and storage devices 108, and the data center 100 is heterogeneous because the composition of the devices in the first rack 102A differs from the composition of the devices in the second rack 102B. Data center 100 is also heterogeneous in that it includes a server 106A having a first configuration and a server 106B having another, second configuration. As an illustrative example, the server 106A having the first configuration may have a first server height, e.g., one height unit (1U), while the server 106B having the second configuration may have a second server height, e.g., two height units (2U). The representation as a heterogeneous data center is not limited to these examples. Instead, the system may also include a homogeneous data center, e.g., containing only a single type of infrastructure equipment.At a high level, the computing device 202 may monitor the power consumption of one or more components (e.g., infrastructure devices) of the data center 100. The computing device 202 may determine a recommendation to improve the carbon efficiency metric based on information in the database 204 and a carbon efficiency metric determined based on the power consumption. The computing device 202 may implement the recommendation and / or output it to the output device 206.The computing device 202 may include a real-time energy monitor 208, a recommendation generator 209, a time-series analyzer 210, an infrastructure tagger 211, an energy data aggregator monitor 212, and an automatic resource orchestrator 213. Computing device 202 is shown as having function blocks 208- 213. Function blocks 208- 213 may be implemented as software (including executable computer program instructions stored on a computer readable storage medium), hardware, or a combination of software and hardware. For example, function blocks 208- 213 may be implemented by a computing device 202 having a processor and a memory, as described below with reference to FIG. 8.Database 204 may include a variety of information, e.g., operational data 222, energy cost data 224, solution-based architectural data 226, and time series datasets 228. In general, the information stored in the database may refer to options available to reduce power consumption of the data center 100 while maintaining or improving performance of the data center 100. For example, database 204 may include energy consumption, performance, carbon efficiency metrics, cooling information, energy costs, and / or the like for alternatives to a solution currently implemented in the data center. The information included in the database 204 may be populated in advance (e.g., in a development and / or database initialization phase), updated manually (e.g., by manually uploading information to the database 204), and / or updated automatically. The data may be retrieved from private or public repositories (e.g., via a network connection), for example. In some examples, the data stored in database 204 may be stored in an intermediate format. For example, the computing device 202 may parse information from a repository from a first format to another, second format that requires less memory space (e.g., fewer information bits). That is, the data processing device 202 can abstract the data into a lighter format. As an illustrative example, computing device 202 may encode a string of information into one or more bits representing that information. In some examples, computing device 202 may use the second format directly or convert data from database 204 to the first format.To monitor the power consumption of one or more components of the data center 100, the real-time power monitor 208 may collect power consumption data from the data center 100. In one example, the real-time energy monitor 208 may collect this data via an application program interface (API), such as a REST or REDFISHO API. The API may be available via management software that is connected to (e.g., with access to) the infrastructure devices of data center 100. In this regard, arrow 216 may further indicate that the computing device is communicatively connected to data center 100 via a software API.In some examples, computing device 202 may monitor individual hardware components independently of one another. For example, the computing device 202 may acquire first power consumption data from a first server 106A of the data center and acquire second power consumption data from a second server 106B of the data center. In some cases, computing device 202 may collect power consumption data from each hardware device in data center 100 or a subset of the data center, e.g., within a rack 102 or a group of racks 102.In some examples, the real-time power monitor 208 may collect the power consumption data while the data center 100 is operating (e.g., while the data center 100 is operating). Rather than determining a static estimate of the power consumption of a component, the real-time power monitor 208 may detect the power consumption of a data center component, e.g., a server 106, corresponding to the current usage of the server, and dynamically update the power consumption as it changes. The real-time power monitor 208 may capture power consumption in real-time (e.g., on the order of milliseconds from the time the power consumption data is created) or near real-time. The data processing device may acquire the power consumption data at a configurable rate. This rate can be set via a user setting. In some examples, the configurable rate may be automatically adjusted based on the carbon dioxide efficiency associated with the data center. For example, the rate may be reduced to reduce power consumption associated with data acquisition.The recommendation generator 209 may use the power consumption data collected by the real-time power monitor 208 to determine a carbon efficiency metric associated with the data center 100. In some examples, the carbon efficiency metric associated with data center 100 may correspond to a single component (e.g., an infrastructure device) of data center 100, such as a single server 106, or a group of components of data center 100. Taking a single component as an example, the recommendation generator 209 may estimate a performance of the component to determine the carbon efficiency metric. The carbon efficiency metric may be a value associated with the power or a ratio between power consumption and power. As described herein, the performance of the component may refer to the throughput of the component (e.g., the number of operations the component may perform in a particular interval divided by the duration of the interval). As a non-limiting illustrative example, performance may be stated as operations per second. By estimating the performance of the component, the recommendation generator 209 may avoid or profile access to a customer's data, information, or application stored on or running on the component. In this way, the recommendation generator can protect the privacy of the customer.In some examples, the recommendation generator 209 may estimate the performance of a component based on the power consumption data captured by the component. In particular, the recommendation generator 209 may estimate the power based on an assignment (e.g., an operational or benchmark assignment) of power consumption and power. The information for mapping may be stored in database 204 as operational data 222. The operational data 222 may include data such as the benchmark data from the standard performance evaluation corporation (SPEC). Generally, the operational data 222 may include a corresponding allocation of power and power consumption at a level of utilization (e.g., load) for each of a plurality of infrastructure devices. The operational data 222 may include these assignments for the infrastructure devices a customer is currently using, e.g., those implemented in a data center 100, as well as for infrastructure devices the customer may possibly use, e.g., for products available to the customer. Using the operational data 222, the recommendation generator 209 may estimate the power of a component corresponding to the amount of power consumption of the component using a reverse look-up (e.g., power-to-power allocation based on the power-to-power allocation).In some examples, the operational data 222 may include data for a variety of different workloads, such as scientific workloads, java workloads, virtualized workloads, deep learning workloads, database workloads, and the like. The operational data 222 may include, for example, a SPEC CPU benchmark, a SPECpower_ssj benchmark, a SPECvir benchmark, an MLperf benchmark, a TPC benchmark, and the like. The operational data 222 may thus map the performance for a particular workload, e.g., a Java workload, to the performance. In some examples, the recommendation generator 209 may further perform the inverse search based on the workload of the component. Thus, the recommendation generator 209 may use the operational data 222 corresponding to a particular workload to estimate the likely performance of the component for a component that processes the given workload at a particular energy consumption. The recommendation generator 209 may determine the workload of the component based on information of the customer (e.g., the customer's SLA) and / or information that may be collected by the computing device 202 (e.g., via the real-time energy monitor) and indicate the behavior of the component. For example, the computing device may collect such information via the API described herein and / or via counters (e.g., counters for the CPU, memory, or the like) associated with the component.In some examples, the recommendation generator 209 may estimate the performance of a component based on the power consumption data captured by the component. In particular, the recommendation generator 209 may estimate the power based on an assignment (e.g., an operational or benchmark assignment) of power consumption and power. The information for mapping may be stored in database 204 as operational data 222. The operational data 222 may include data such as the benchmark data from the standard performance evaluation corporation (SPEC). Generally, the operational data 222 may include a corresponding allocation of power and power consumption at a level of utilization (e.g., load) for each of a plurality of infrastructure devices. The operational data 222 may include these assignments for the infrastructure devices a customer is currently using, e.g., those implemented in a data center 100, as well as for infrastructure devices the customer may possibly use, e.g., for products available to the customer. Using the operational data 222, the recommendation generator 209 may estimate the power of a component corresponding to the amount of power consumption of the component using a reverse look-up (e.g., power-to-power allocation based on the power-to-power allocation).In some examples, the operational data 222 may include data for a variety of different workloads, such as scientific workloads, java workloads, virtualized workloads, deep learning workloads, database workloads, and the like. The operational data 222 may include, for example, a SPEC CPU benchmark, a SPECpower_ssj benchmark, a SPECvir benchmark, an MLperf benchmark, a TPC benchmark, and the like. The operational data 222 may thus map the performance for a particular workload, e.g., a Java workload, to the performance. In some examples, the recommendation generator 209 may further perform the inverse search based on the workload of the component. Thus, the recommendation generator 209 may use the operational data 222 corresponding to a particular workload to estimate the likely performance of the component for a component that processes the given workload at a particular energy consumption. The recommendation generator 209 may determine the workload of the component based on information of the customer (e.g., the customer's SLA) and / or information that may be collected by the computing device 202 (e.g., via the real-time energy monitor) and indicate the behavior of the component. For example, the computing device may collect such information via the API described herein and / or via counters (e.g., counters for the CPU, memory, or the like) associated with the component.In some examples, recommendation generator 209 may use the power as a carbon efficiency metric. In some examples, recommendation generator 209 may use power consumption and power for a carbon efficiency metric. For example, the carbon efficiency index may be a ratio of power consumption and power. Accordingly, the recommendation generator 209 may determine a carbon efficiency score for a component based on the estimate of the performance of the component.In some examples, the operational data 222 may be updated manually to include data such as benchmarks. For example, the operational data 222 may be provided to the database 204 manually (e.g., based on input to the computing device 202 and / or the database 204). In some examples, computing device 202 may automatically retrieve the information for operational data 222 from a private or public repository (e.g., an online public repository) via a network connection. The computing device 202 may update the operational data 222 periodically (e.g., periodically) by, e.g., retrieving fresh data from the private or public repository.Recommendation generator 209 may also determine a recommendation to improve the carbon efficiency metric. A recommendation to improve the carbon efficiency metric may identify a solution (e.g., a change to the data center), such as replacing a component of the data center with alternative hardware, adding or removing hardware from the data center, moving workload to or from the component (e.g., redistributing the workload), and / or the like. The determination of the recommendation by the recommendation generator 209 may be rule-based, and the recommendation generator 209 may use information from the database 204, e.g., the operational data 222. In this regard, the recommendation generator may determine the recommendation based on identifying a solution from the database 204 that satisfies a rule. An example rule is that a solution included in the recommendation achieves the same or better performance with reduced power consumption (e.g., options with an improved carbon efficiency metric) compared to the current component of the data center. In accordance with this rule, the recommendation generator 209 may determine that a first server 106 operating with a first carbon efficiency metric should be replaced with another, second server 106, such as another server model, a newer server generation, and / or the like, capable of operating with a larger, second carbon efficiency metric.In the case of determining a recommendation based on a solution that includes replacing a component, e.g., replacing a first component with a second component, the recommendation generator 209 may compare the carbon efficiency score for the first component determined as described above with the corresponding operating data 222 of the second component. For example, the carbon efficiency metric of the first component may be compared to a carbon efficiency metric determined for the second component for a corresponding workload, load, or a combination thereof. To this end, the recommendation generator 209 may determine whether the second component may achieve the same or better performance with the same or lower power consumption than the first component based on the operation data 222.In the case of determining a recommendation based on a solution that includes moving a workload (e.g., redistributing a workload) from a component, the recommendation generator 209 may compare the carbon efficiency metric determined for the first component to corresponding operational data 222 associated with the first component at an alternative load. For example, the carbon efficiency metric determined for the first component at a first level of utilization may be compared to a carbon efficiency metric that serves as a benchmark for the first component at a second level of utilization (e.g., a higher or lower level of utilization). To this end, the recommendation generator 209 may determine, using the operation data 222, whether the first component may achieve the same or better performance with the same or lower power consumption when operating at the second duty cycle than the first component when operating at the first duty cycle. Generally, carbon dioxide efficiency of a server that is not sufficiently loaded (e.g., with too low a level of load) or excessively loaded (e.g., with too high a level of load) may be improved. In some cases, recommendation generator 209 may also determine a recommendation for migration of a workload based on a customer's SLA. For example, the recommendation generator 209 may evaluate whether a recommendation for migration of a workload is feasible given a customer's SLA. A recommendation for migration of a workload may be inadequate (e.g., violate the SLA) when an SLA dictates that virtual machines or containers must remain isolated, while such a recommendation may match an SLA that does not contain such a request. The information associated with the SLA may be stored in the database 204.In some examples, recommendation generator 209 may determine a recommendation that includes a combination of solutions or recommendations. For example, recommendation generator 209 may recommend adding hardware (e.g., with or without hardware removal) in combination with migration of a workload. In this context, the recommendation may indicate that the workload may be migrated to the new hardware when added. As an illustrative example, the recommendation generator 209 may determine such a recommendation for a group of over-utilized servers operating with a relatively low carbon efficiency metric. In this case, adding an additional server and moving workload from the congested servers can improve the overall CO2 effizienz of the data center. Recommendation generator 209 may recommend removing hardware (e.g., with or without adding hardware) in combination with offloading the workload from the removed hardware. As an illustrative example, the recommendation generator 209 may determine such a recommendation for an unused server. In this case, removing the unused server and moving the workload from the unused server to other servers of the data center may improve the overall efficiency of the data center.In some examples, the recommendation generator 209 determines the recommendation when there is a solution (e.g., a change in data center) that satisfies the rule (e.g., a solution that achieves the same or better performance with reduced power consumption). For example, the recommendation generator 209 may determine whether there is a solution and, in response to determining that there is a solution, generate a recommendation based on the solution. In some cases, the recommendation generator 209 determines the recommendation based on the carbon efficiency metric that does not meet a threshold, such as a predetermined threshold or a threshold indicated by a customer's SLA. For example, if the carbon efficiency metric is below a threshold, the recommendation generator determines the recommendation based on a solution that satisfies the rule.In some examples, the recommendation generator 209 determines a recommendation based on a cost-benefit analysis, which may include considering investment and operating costs associated with a solution. The investment costs may include the costs of purchasing and / or installing a solution, e.g., a hardware solution. Operating costs include costs such as the fees for the current consumed by the solution and for auxiliary energy, for example for the energy required for cooling the solution. The information about the investment costs and the operating costs of a solution can be stored in the database 204. The investment costs associated with a hardware device may be included in the solution-based architectural data 226. In terms of operating costs, the recommendation generator 209 may use the energy cost data 224, which may include a price per unit energy. The price per unit of electricity may correspond to a price for the geographic location (e.g., city, federal country, country) of data center 100, such as an average price for the area or a price currently or previously calculated in data center 100. In some cases, the recommendation generator 209 may determine the operating costs for a solution based on the price per unit energy included in the energy cost data 224 and the benchmark power consumption of the solution included in the operating data 222. For example, the recommendation generator 209 may use this information to determine the cost of the power consumed by the solution over a certain period of time (e.g., one hour, one day, one month, etc.).The recommendation generator may further determine the operating costs for the solution based on the price per unit energy included in the energy cost data 224 and information associated with cooling a solution, e.g., the energy consumption associated with operating fans or pumping cooling fluids proximate the solution. The information associated with cooling a solution may be stored in the solution-based architectural data 226. As an illustrative example, in the case of a solution in which one component is replaced with other hardware, such as replacing one server 106 in one rack 102 with another, the solution-based architectural data 226 may include information about the cooling capabilities associated with the rack 102, such as whether the rack is equipped with fans or cooling fluids and how high the power consumption of the cooling components of the rack 102 is. In this regard, the recommendation generator 209 may use the energy cost data 224 and the solution-based architectural data 226 to determine the cost of cooling a solution over a certain period of time, e.g., an hour, a day, a month, or the like.In some examples, recommendation generator 209 may predict a recommendation when the estimated cost of reducing an operating solution balances the investment costs for the hardware. The reduction in operating costs may include the difference in operating costs associated with operating the data center with and without the solution. A reduction in operating costs may be when the power consumed by a solution is less than the power consumed prior to implementation of the solution.Additionally or alternatively to determining a recommendation based on cost-benefit analysis, the recommendation generator 209 may also take into account a customer's preferences and / or business use case. For example, a customer's preference may indicate that the improvement in a carbon efficiency metric and / or the carbon efficiency of data center 100 takes priority over the costs associated with making such improvements. The recommendation generator 209 may prioritize the improvement of the carbon efficiency metric and / or the carbon efficiency over the costs associated with the improvement (e.g., over the cost-benefit analysis) based on this preference. As a result, the recommendation generator 209 can pronouncing a recommendation that matches the preferences of the customer. A customer's preferences may be provided in an SLA or via input conveyed to computing device 202, such as input provided at output device 206.With an identified solution, the recommendation generator 209 may generate a recommendation that is output to the output device 206. In some examples, recommendation generator 209 generates a recommendation that, when output to the output device, causes the output device to display a text-based recommendation, such as a solution conversion message. The recommendation may additionally or alternatively cause the output device to generate a sound, e.g., an audible recommendation, an alarm, or the like. In some cases, the recommendation may cause the output device to generate a visual element, such as turning on a light or the like.The output device 206 may be an electronic device, e.g., a computer, a telephone, or the like. The output device 206 may include an electronic display, a light such as a light emitting diode (LED), a speaker, or the like. In this regard, the output device 206 may be configured to display a recommendation, generate a visual element such as turning on the light in response to receiving a recommendation, generate a sound in response to receiving a recommendation, or the like. In some cases, the output device 206 may include a vibration element, and the output device 206 may vibrate using the vibration element in response to a recommendation.Although it is an output device, the examples are not limited thereto. In this regard, the output device 206 may include or be communicatively coupled to an input device, such as a mouse, keyboard, touch screen, or the like. Input from a customer may be received at such input devices and passed to computing device 202. For example, in some cases, a customer may make an input to permit or reject a recommendation, and the computing device 202 may implement or not implement a solution based on that input.In some examples, recommendation generator 209 may generate a recommendation that may be automatically implemented by computing device 202, for example. As an illustrative example, in response to determining the recommendation generator 209 that the carbon efficiency metric may be enhanced by migration of a workload, the computing device 202 may implement the workload migration (e.g., over the data center). To this end, the computing device 202 may be configured to direct a component of the data center 100, e.g., a server 106, to offload the workload to another component of the data center 100. A visual representation of workload migration 232 is shown as migration of workload from server 106B to server 106A. In some examples, computing device 202 may perform workload migration in response to a customer's approval, which may be received, for example, via input to output device 206.As described above, the recommendation generator 209 may determine a recommendation based on the identification of a solution that satisfies a rule. In some examples, recommendation generator 209 may identify multiple different solutions that meet the rule. Recommendation generator 209 may summarize these solutions into a single recommendation. In this context, the recommendation may recommend the implementation of multiple solutions. Additionally or alternatively, the recommendation generator 209 may prioritize the determined solutions. Recommendation generator 209 may support the priority of the solutions to cost-benefit analysis (e.g., prioritizing solutions with greater cost-benefit ratio), based on a customer preference that may be specified in the SLA, based on a simple implementation (e.g., prioritizing solutions that do not require adding or removing hardware over those that do so), or the like. The recommendation generator 209 may make a recommendation based on the solution having the highest priority or make a recommendation including a plurality of solutions indicating the respective priorities. FIG. 2 shows an example of a prioritized recommendation 250 for improving a carbon efficiency metric associated with a data center. As shown, the prioritized recommendation may include a first recommendation 252 (e.g., based on a first solution) and a second recommendation 254 (e.g., based on a second solution) that are ordered by their respective priority. The dashed edge of the second recommendation 254 illustrates that the second recommendation 254 may be optional. In this regard, in some cases, the prioritized recommendation 250 may include only the first recommendation 252, which may correspond to a solution with the highest priority.Although the examples described herein generally relate to solutions affecting the components of data center 100, computing device 202 may change its own operation based on recommendation generator 209. For example, if the recommendation generator 209 determines that a carbon efficiency metric can be improved, the computing device 202 can adjust the configurable collection rate 230 of the real-time energy monitor 208. The rate may be decreased, for example, to reduce power consumption of the computing device 202 for collecting the data. In some cases, the rate may be increased to better detect changes in power consumption and / or carbon dioxide efficiency associated with data center 100 once they occur. Computing device 202 may further adjust the rate at which the computing device updates database 204. The reduction in the update rate of the database 204 may reduce the power consumption of the computing device 202. In some examples, additionally or alternatively, the computing device 202 may update the data in the database 204 at more regular or less regular intervals.The time series analyzer 210 may help the recommendation generator 209 refine a recommendation determined by the recommendation generator 209. In particular, the time-series analyzer 210 may determine whether a carbon efficiency metric is associated with a temporary event (e.g., whether the data center 100 experiences a temporary event), and the recommendation generator 209 may determine a recommendation based on this determination. In a case where the time-series analyzer 210 determines that the carbon efficiency metric is associated with a temporary event, the recommendation generator 209 may prevent a recommendation from being provided to the output device 206 (e.g., not sending a recommendation) or adjust the recommendation for the application of the temporary event. For example, a recommendation to install new hardware may not be well suited for a time-limited event because the time frame for the purchase and installation of the hardware may exceed the duration of the event. The recommendation generator 209 may change such a recommendation into an alternative recommendation, e.g., migration of a workload if migration is possible. Additionally or alternatively, the recommendation generator 209 may change the priority of a solution when the time series analyzer 210 determines that an event is transient. In some cases, recommendation generator 209 may override a recommendation (e.g., prevent the recommendation from being sent) if no other alternative solutions are available. In some cases, the recommendation generator 209 may override a recommendation based on a configurable setting, e.g., a setting that may be set or adjusted by a customer, thereby reducing the number of recommendations that customers obtain.The time series analyzer 210 may include a time series-based machine learning model. Examples of such a machine learning model include a dynamic regression model, a long-term memory (e.g., a type of recurrent neural network), an ARIMA (Autoregressive Integrated Moving Average) model, and the like. At a high level, the time-series analyzer 210 may use a machine learning model to predict whether a particular carbon efficiency metric will improve without the implementation of recommendations (e.g., adding hardware or migrating workload). Specifically, the time series analyzer 210 may use the machine learning model to predict whether there is a transient event, such as a seasonal event (e.g., an event occurring at a regular time interval) or an event with a limited duration (e.g., a period of six months or less, a period of three months or less, a month or less, a week or less, a day or less, or the like). In a simplified example, the machine learning model may make such a prediction based on what has occurred the corresponding time in an earlier interval (e.g., the last year, quartal, month, or the like). As another example, the machine learning model may make such a prediction based on data (e.g., features) associated with the event, e.g., a change in power consumption of an infrastructure device or data center, a rate of change in power consumption of the infrastructure or data center, or the like.In some cases, the time series analyzer 210 may use a time series data set 228. The time-series dataset 228 may include traces of data such as power consumption, component (e.g., resource and / or processing) efficiencies, measurements associated with hardware or workload operation on a device, or carbon efficiency metrics over time. The time-series data set 228 may include this data at the granularity level of the data center 100, at the granularity level of an infrastructure device within the data center 100, or the like. Moreover, the time series record 228 may include this data (e.g., tracks) at the level of a particular customer, group of customers, industry wide, or the like. The time-series data set 228 may include tracks of the above-described data that were captured at regular (e.g., periodic) intervals and time stamped at the time the data was captured. As an example, a customer's data may be tracked over a period of time, e.g., a year, and stored in the time-series dataset 228. The time-series dataset 228 may be collected via an API associated with the particular infrastructure device from which the data is collected (e.g., via management software). The time series dataset 228 may include data at different levels of granularity, such as the levels of granularity described herein, and / or the time series analyzer 210 may determine data at the different levels of granularity using the time series dataset 228. In some examples, transient events may additionally or alternatively be input directly to the time-series dataset 228. Thus, for example, federation, planned maintenance work and / or downtime and / or the like can be stored in the time series data record 228 as temporary events.The time series dataset 228 may be used to train the machine learning model. In this context, the machine learning model may use lanes (e.g., historical data) from data center 100 or similar data centers (e.g., in-industry data centers or for various customers) to learn patterns of power consumption and / or carbon efficiency. Based on this learning process, the model may predict whether an event is transient, which may correspond to a peak in power consumption or carbon inefficiency, or is persistent. The time series analyzer 210 and / or the machine learning model may also take into account the transient events input directly. For example, the machine learning model may be trained to recognize the directly input temporary events as such, or the time series analyzer 210 may override a prediction of the machine learning model that an event is persistent based on the directly input temporary events. In some cases, a model trained for one customer (e.g., from a time series dataset for the customer) may be deployed for another customer, e.g., for a customer in the same industry or with similar data center requirements to predict whether the carbon efficiency metrics associated with the other customer are transient.In some cases, the time-series analyzer 210 may also predict whether a carbon efficiency metric associated with the data center 100 will fall below a threshold in the future, such as a threshold set in a customer's SLA. In some examples, the time-series analyzer 210 may make this prediction based on a certain amount of time (e.g., a quarter, six months, a year, or the like), e.g., a defined interval, and determine whether the metric will fall below the threshold within or at the end of the time period. In some examples, the time series analyzer 210 may predict when (e.g., a predicted date or time period) the carbon efficiency score will fall below the threshold. Moreover, the time-series analyzer 210 may make predictions corresponding to different levels of granularity, such as the levels described herein. By predicting whether and / or when a carbon efficiency score will fall below a threshold, computing device 202 may predict a recommendation for a customer to make a change before the carbon efficiency score falls below the threshold.The time-series analyzer 210 may use the time-series dataset 228 to make a prediction regarding the carbon efficiency metric in the future. For example, the time-series analyzer 210 may make the prediction based on tracking customer data, which may include workload and / or usage data, power consumption data, carbon efficiency metric data, or the like over time. In some cases, the time series analyzer 210 may use a statistical model such as a linear regression model or a machine learning model to make the prediction. For example, using a linear regression model, the time-series analyzer 210 may determine a line of best fit for a customer's data and use the line to predict future values of the customer's data, such as a future carbon efficiency metric. The machine learning model may be the same or different model than the model used to determine whether an event is transient. The machine learning model may be trained on the customer data from the time-series dataset 228, and the trained model may be used to predict future values of the customer data, e.g., a future carbon efficiency score, to determine whether and / or when the score will fall below a threshold. Using the above techniques, the time-series analyzer 210 may directly predict a future carbon efficiency score or predict a future power consumption and performance, which may then be used to determine the carbon efficiency score.To determine a recommendation to improve a future carbon efficiency score (e.g., to make the future carbon efficiency score meet the threshold), the recommendation generator 209 may apply a similar technique as described above, wherein the carbon efficiency score is determined based on the data of the real-time energy monitor 208 (e.g., a current carbon efficiency score). However, instead of the measured power consumption, the recommendation generator 209 may use a power consumption predicted by the time series analyzer 210. The recommendation generator 209 may then determine a solution, using the operational data 222, capable of providing an improved carbon efficiency metric (e.g., capable of providing the same or better performance with less energy consumption) for a given granularity, and the recommendation generator 209 may output a recommendation based on that solution. The recommendation generator 209 may also perform cost-benefit analysis before issuing the recommendation.While some of the examples described herein relate to monitoring power consumption and providing recommendations for a particular component of data center 100, the examples are not limited thereto. Instead, in some examples, monitoring carbon efficiency and / or recommendations may be provided at different levels of granularity. For example, the monitoring and / or recommendations can be done at the level of the node, server, racks, containers, data centers, or the like. For example, a server 106 may be identified at a first granularity level, a rack may be identified at a second granularity level, a data center 100 may be identified at a third granularity level, and so forth. The infrastructure tagger 211 can take over the identification of components of the data center 100. As described herein, "marking" a component of data center 100 may refer to the association of that component with a hierarchy or feature (e.g., a project, business entity or department, workload, or the like). In this regard, marking a component may include setting an attribute or field associated with the component in management software. The infrastructure tagger 211 may identify components within the data center 100 based on customer input. For example, the customer may specify how to group the components under common or different tags. Additionally or alternatively, the infrastructure tagger 211 may identify components automatically, e.g., based on a standard tagging scheme. A standard tagging scheme may tag components at least at one level per device. A visual example of the label is shown in dashed lines in FIG. 1.More specifically, the dashed lines of the storage device 108 included in the rack 102A represent a designation of the storage device 108 at a first granularity level, e.g., at the level of a single device (e.g., a component or resource). The dashed lines of box 112 represent a common identifier of the two storage devices 108 at a second granularity level, e.g., at the level of a group of devices. The dashed lines of rack 102A represent the identification of the individual devices within rack 102A (e.g., switch 104 and the two storage devices 108) at a third granularity level, e.g., a rack level. The dashed lines of box 114 may represent the identification of the individual devices in the two racks 102A-B at a fourth level of granularity, e.g., at the data center level. The infrastructure devices can be identified via software for managing the data center.The energy data aggregator 212 may further facilitate monitoring and / or evaluating the data center at different levels of granularity. As described herein, the real-time energy monitor may collect performance data from individual components within the data center 100. The energy data aggregator monitor 212 may aggregate the energy data from these components according to the identifier implemented by the infrastructure tagger 211. Based on example 1 shown in FIG. 1, energy data aggregator 212 may aggregate the energy data from the two storage devices 108 to generate aggregated energy data representative of the identifier shown by box 112, energy data aggregator 212 may aggregate the energy data from each of the devices within rack 102A to generate aggregated energy data representative of the rack-level identifier for rack 102A, and energy data aggregator 212 may aggregate the energy data from each of the devices within data center 100 to generate aggregated energy data representative of the data center-level identifier for data center 100 (e.g., as shown by box 114).In some examples, recommendation generator 209 may determine recommendations at a granularity corresponding to the identifier and aggregated power data provided by infrastructure tagger 211 and power data aggregator 212, respectively. For example, when labeled at rack level, recommendation generator 209 may identify a solution at a corresponding rack level of granularity. More specifically, recommendation generator 209 may identify an alternative rack, including components included in the rack, such as servers 106, switches 104, storage devices 108, or the like, to replace an existing rack in data center 100. The recommendation generator 209 may identify such a solution based on the operational data 222, the solution-based architectural data 226, or a combination thereof. For example, in some examples, solution-based architectural data 226 includes carbon dioxide efficiency data at various levels of granularity, including a solution level. In this regard, the solution-based architecture 226 may include power consumption, performance, carbon efficiency metrics, and / or the like for a rack-based solution, and the recommendation generator 209 may use such information to compare a currently implemented rack in the data center 100 with an alternative rack that may be available as a substitute for the implemented rack.In some examples, the solution-based architectural data 226 may be updated manually to include information at solution levels (e.g., at different granularity levels). For example, the data may be manually input to database 204. In some examples, computing device 202 may gather operational data 222 for components in a potential solution to create solution-based architectural data 226. The computing device 202 may perform such operations automatically. Additionally or alternatively, computing device 202 may retrieve information for solution-based architectural data 226 from a private or public repository, for example, via a network connection.In some cases, the automated resource orchestrator 213 takes over the resource orchestrator for the computing device 202. In this regard, the automated resource orchestrator 213 may handle interactions between the function blocks 208- 212 such as exchange of data, balancing computing resources, balancing power requirements, and the like.FIG. 3 is a flow diagram illustrating a method 300 for determining a recommendation to improve a carbon efficiency metric, according to an example. For illustrative purposes, method 300 will be described in connection with system 200 of FIG. 1. The method 300 may include method blocks 302, 304, 306, 308, and 310 (hereinafter collectively referred to as blocks 302- 310) that may be executed by a processor-based system such as the computing device 202. In particular, the operations in each of the method blocks 302- 310 may be performed by the computing device 202 by executing the instructions stored on a machine readable medium, as described below with reference to FIG. 8. Moreover, it should be appreciated that in some examples, the order of execution of blocks 302- 310 may be different than depicted in FIG. 3. For example, blocks may be added or omitted, and blocks 302- 310 may be executed in series, in parallel, or in a series-parallel combination.At block 302, the computing device 202 may determine a carbon efficiency metric associated with a data center, such as the data center 100. The carbon efficiency metric may be representative of a carbon efficiency metric of a component or group of components within the data center 100. In this regard, the metric may be associated with a subset of infrastructure devices in data center 100 or with each of the infrastructure devices in data center 100. In some cases, the group or subset of infrastructure devices associated with the carbon efficiency metric may be identified by labeling, for example, via infrastructure tagger 211.FIG. 4 illustrates a flowchart depicting operations for determining a carbon efficiency metric associated with a data center according to an example of block 302 (FIG. 3 ). As described with reference to FIG. 3, method blocks 402, 404, and 406 (hereinafter collectively referred to as blocks 402- 406) may be executed by a processor-based system, such as computing device 202. Further, it should be appreciated that in some examples, the order of execution of blocks 402- 406 may vary from the order illustrated in FIG. 4. For example, blocks may be added or omitted, and blocks 402- 406 may be executed in series, in parallel, or in a series-parallel combination.In block 402, the computing device 202 may determine the power consumption of an infrastructure equipment. As described in FIG. 1, the real-time power monitor 208 of the computing device 202 may determine the power consumption in real-time or near real-time. The real-time power monitor 208 may collect the power consumption data via an API connected to the infrastructure device. The real-time energy monitor 208 may capture the energy consumption data according to a configurable capture rate 230 that may be specified by a customer (e.g., via an SLA, via an input to the output device 206, or the like), or automatically adjusted by the computing device 202.At block 404, the computing device 202 may estimate the performance of the infrastructure equipment based on the determined power consumption. As described in FIG. 1, the recommendation generator 209 may estimate the power based on the determined power consumption and the data in the database 204, e.g., the operational data 222, which may include a power-to-power mapping for infrastructure devices. Based on a reverse consideration of the operational data 222, the recommendation generator 209 may estimate a power of the infrastructure equipment corresponding to the amount of power consumption of the equipment.At block 406, the computing device 202 may determine a carbon efficiency metric based on the estimated power. In some examples, the recommendation generator 209 may determine the estimated power as a carbon efficiency metric. In some examples, recommendation generator 209 may use the power consumption and the power to determine the carbon efficiency metric. For example, the recommendation generator 209 may determine the carbon efficiency score by determining a relationship between the determined power consumption and the estimated power.In some cases, determining the carbon efficiency metric associated with the data center includes determining a carbon efficiency metric associated with a group of infrastructure devices, such as a group identified by the infrastructure tagger 211. In some examples, determining the carbon efficiency metric associated with a group of infrastructure devices may include repeating the operations associated with block 302, as represented by arrow 408. Arrow 204 is indicated as optional by dashed lines. The operations may be repeated after a single step or within each step (e.g., repeating the operations of block 404), after performing multiple steps (e.g., performing the operations of block 402, block 404, and block 606, and then repeating the process), or a combination thereof. In some examples, the determination of the carbon efficiency metric associated with a group of infrastructure devices includes, at block 402, acquiring the power consumption data for each device in the marked group with the real-time power monitor 208. Block 402 may also include the energy data aggregator 212 aggregating the energy consumption data acquired for each device in the identified group.Returning to FIG. 3, at block 304, the computing device 202 may determine a recommendation to improve the carbon efficiency metric. In some examples, computing device 202 may determine the recommendation in accordance with the operations illustrated in FIG. 5. In some examples, the computing device 202 performs the operations to determine the recommendation to improve the carbon efficiency metric in response to the carbon efficiency metric not satisfying a threshold. For example, in response to the carbon efficiency metric falling below a threshold, such as a threshold indicated in a customer's SLA, the computing device 202 may determine the recommendation according to block 304. In some examples, computing device 202 determines the recommendation without considering a threshold for the carbon efficiency metric.FIG. 5 illustrates a flowchart depicting operations for determining a recommendation to improve the carbon efficiency metric according to an example of block 304 (FIG. 3 ). Method blocks 502, 504, and 506 (hereinafter collectively referred to as blocks 502- 506) may be executed by a processor-based system, such as computing device 202. Further, it should be appreciated that in some examples, the order of execution of blocks 502- 506 may vary from the order illustrated in FIG. 5. For example, blocks may be added or omitted, and blocks 502- 506 may be executed in series, in parallel, or in a series-parallel combination. In particular, in some examples, the operations associated with the blocks in FIG. 5 may be performed in response to a satisfied condition, as described in more detail below.At block 502, the computing device 202 may identify a solution that satisfies a rule for determining the recommendation. The solution may include migration of the workload to or from an infrastructure device in data center 100, adding an infrastructure device to data center 100, removing an infrastructure device from data center 100, and / or the like. In some examples, the rule that the solution needs to satisfy is that the solution achieves the same or better performance than the estimated performance with a lower power consumption than the determined power consumption. As described in FIG. 1, the recommendation generator 209 of the computing device 202 may identify solutions that meet the rule (e.g., rule-based solutions) based on information in the database 204, such as operational data 222, solution-based architectural data 226, a customer's SLA, and / or the like. As further described herein, in some cases, recommendation generator 209 may determine solutions for recommendation at different levels of granularity, e.g., granularity corresponding to the identifier and aggregated performance data provided by infrastructure tagger 211 and performance data aggregator monitor 212, respectively.In some cases, the recommendation generator 209 may override the recommendation if it determines that no solution satisfies the rule. As explained in more detail below, a recommendation that is disabled may be prevented from being issued or implemented to the output device 206. In some cases, the recommendation generator 209 may generate a recommendation that informs the customer that no current solutions meet the rule.At block 504, the computing device 202 may perform cost-benefit analysis to determine the recommendation. In some cases, the cost-benefit analysis at block 504 may be performed in response to successfully determining a solution at block 502. To this end, cost-benefit analysis may be performed in response to the recommendation in block 502 not being invalidated.In some cases, the recommendation generator 209 of the computing device 202 may perform the cost-benefit analysis using the capital cost and operating costs associated with a solution identified in block 502. In particular, the recommendation generator 209 may determine whether an estimated cost of operation realized by the solution compensates for the capital costs associated with implementing the solution based on the solution-based architectural data 226 and the energy cost data 224. In some cases, performing the cost-benefit analysis may include determining the recommendation based on the cooling cost associated with implementing a solution, which may be determined based on, for example, the energy cost data 224.In some cases, recommendation generator 209 may override the recommendation if it determines that the cost of implementing a solution is overwoken by the benefit. For example, the recommendation generator 209 may override the recommendation if it determines that the reduction in operating costs does not offset the capital cost of the solution or does not exceed the capital cost by a certain amount (e.g., a flat or percentage price difference). As will be discussed in more detail below, a recommendation that is agreed upon may be prevented from being issued or implemented to the output device 206. In some cases, recommendation generator 209 may generate a recommendation that informs the customer that an identified solution failed cost-benefit analysis.At block 506, the computing device 202 may predict whether the carbon efficiency metric is associated with a temporary event to determine the recommendation. A transient event may be a seasonal event, a limited duration event, a scheduled or intended event such as a scheduled maintenance day, or the like.In some cases, the prediction of whether the carbon efficiency score is associated with a transient event may be made in block 506 in response to a cost benefit analysis in which the benefit predominates in cost (e.g., if the reduction in operating costs predominates in investment expenses). To this end, at block 504, cost-benefit analysis may be performed in response to the recommendation not being invalidated. In other cases, the computing device 202 may make the prediction regardless of the result of the cost-benefit analysis performed in block 504.In some examples, computing device 202 may predict whether the carbon efficiency metric is associated with a temporary event based on the operations illustrated in FIG. 6.Turning now to FIG. 6, a flowchart is shown illustrating the operations for predicting whether the carbon efficiency metric is associated with a temporary event, according to an example of block 506 (FIG. 5 ). Method blocks 602, 604, and 606 (hereinafter collectively referred to as blocks 602- 606) may be executed by a processor-based system, such as computing device 202. Further, it should be appreciated that in some examples, the order of execution of blocks 602- 606 may be different than depicted in FIG. 6. For example, blocks may be added or omitted, and blocks 602- 606 may be executed in series, in parallel, or in a series-parallel combination.At block 602, the computing device 202 may track relevant data over a certain period of time (e.g., track a time-series dataset). The relevant data may include power consumption, performance, component usage (e.g., resource and / or processing usage), measurements associated with hardware or workload operation on a device, or carbon efficiency metrics associated with one or more infrastructure devices in data center 100. The relevant data may also include directly entered temporary events, such as temporary events scheduled by the customer or data center manager. In some cases, the relevant data may include, for example, a schedule or calendar with items. The relevant data may correspond to data from the data center 100 for which the recommendation is made (e.g., the customer's data center), data from another data center connected to the customer, data from a data center connected to another customer, data connected to a customer's industry, or the like.The tracking of the data may include tracking the values of the relevant data over time using the time-series analyzer 210 of the computing device. For example, the time-series analyzer 210 may determine the values of the relevant data at regular intervals over the period of time and associate these values with a timestamp indicating when the value was determined. The period of time may be several months, one year, several years or the like. The time-series analyzer 210 may determine the values based on data manually acquired from the device and input to the computing device 202 and / or via an API connected to the respective infrastructure device from which the data was acquired (e.g., via management software). In some examples, the time series analyzer 210 may store tracked data in the database 204 as the time series dataset 228.At block 604, the computing device 202 may train a machine learning model based on the tracked data. The machine learning model may be a dynamic regression model, a long-term memory (e.g., a type of recurrent neural network), an ARIMA (Autoregressive Integrated Moving Average) model, or the like. To train the machine learning model, it may be necessary to provide the model with a first set of the tracked data as a training set and with another, second set of the tracked data as a test set. Moreover, in some cases, a third set of the tracked data may be used as a validation set for the model. Moreover, training the machine learning model may include training the machine learning model to identify a discrete output based on the time series dataset, such as an output indicating that an event is "transient" or "persistent", an output indicating that the question of whether an event is transient is "true" or "false", or the like. Additionally or alternatively, training the machine learning model may include training the machine learning model to predict a value of relevant data (including, but not limited to, performance, energy consumption, and / or carbon efficiency metric) after a transient duration (e.g., after a few hours, days, weeks, months, and / or the like). In some cases, the machine learning model may make the prediction based on a predefined duration that a customer may indicate as "transient.".In some examples, a machine learning model may be trained for one data center or customer and then deployed for another, similar data center or customer. For example, a machine learning model trained on a time series dataset 228 for a first customer may be used to make predictions for a second customer. The similar data center or customer may be similar to the data center or customer for which the machine learning model was originally trained, as the similar data center or customer includes similar infrastructure facilities, serves a similar purpose (e.g., operates in a similar industry), has similar requirements, or the like.At block 606, the computing device 202 may predict whether the carbon efficiency metric is associated with a temporary event using the trained machine learning model. In some examples, use of the machine learning model may include input of data associated with the event, such as energy consumption data, performance data, carbon efficiency metric data, or the like, associated with one or more infrastructure devices in data center 100. Date information (e.g., the time of year) may also be provided to the machine learning model for prediction. In some examples, the information input to the machine learning model may be stored in the time series dataset 228 as data to which the machine learning model has not been trained. In some examples, the trained machine learning model may provide output indicating whether an event is transient (e.g., output indicating "transient" or "persistent", output indicating that the question of whether an event is transient is "true" or "false", or the like). In some examples, the trained machine learning model may provide a prediction of a future performance, energy consumption, and / or CO2 effizienz metric after a transient duration, such as a predefined duration indicated by a customer as "transient," and the computing device 202 may determine that an event was transient based on the predicted value being lower (e.g., lower) than the corresponding current value.In some examples, recommendation generator 209 may override the recommendation when it determines that the carbon efficiency metric is associated with a transient event. For example, the recommendation generator 209 may determine that a solution is in this case not implementable (e.g., not practical implementable, not feasible, not worthwhile with respect to cost-benefit analysis, or the like) because the carbon efficiency score may improve when the event ends regardless of whether the solution is being implemented. Accordingly, the recommendation generator 209 may prevent the recommendation from being output or implemented to the output device 206.Alternatively, in response to determining that the carbon efficiency score is associated with a transient event, the recommendation generator 209 may generate a recommendation that informs the customer that the carbon efficiency score is associated with a transient event. Additionally or alternatively, the recommendation generator 209 may adjust the recommendation output to the output device 206 based on the prediction. For example, as described below, the recommendation generator 209 may adjust a prioritization of the identified solutions in cases where multiple solutions are identified in block 502.In some cases, recommendation generator 209 may override a recommendation (e.g., prevent the recommendation from being sent) when a single solution has been identified that is not feasible during the transient event (e.g., the installation of new hardware) and no other alternative solutions are available. In some cases, the recommendation generator 209 may override a recommendation based on a configurable setting, e.g., a setting that may be set or adjusted by a customer, thereby reducing the number of recommendations that customers obtain. For example, a customer may adjust that no recommendations are given in transient events.In some examples, block 602 and block 604 may be performed as part of initialization of the machine learning model, and once the machine learning model is initialized, predicting whether the carbon efficiency metric is associated with a temporary event may include predicting whether the carbon efficiency metric is associated with a temporary event at block 506 of FIG. 5 using the trained machine learning model. In other examples, the machine learning model may be continuously trained and / or retrained on tracked data. In this regard, the time series analyzer 210 may continue to track relevant data from a data center 100 while operating, and thus may update the time series data set 228 with more up-to-date data over time. The time-series analyzer 210 may further retraining the machine learning model using the most recent tracked data in the time-series dataset 228 at block 604. Accordingly, the predictions of the machine learning model may be refined continuously (e.g., iteratively).Returning to FIG. 5, although not shown, the operations to determine a recommendation may also include determining a priority of solutions if multiple solutions are identified at block 502. The priority may be determined in any combination of blocks 502- 506. In some examples, block 502 may include determining a priority of the identified solutions based on, for example, a customer preference (e.g., SLA preferences), a simple implementation of the solution (e.g., prioritizing solutions that do not require adding or removing hardware over those that do so), the expected carbon efficiency metric, and / or the ratio of power to power consumption of the solution (e.g., prioritizing solutions that are expected to provide greatest power at least power consumption), or the like. The recommendation generator 209 may determine the recommendation based on the highest priority solution or determine the solution based on the prioritized list of solutions (e.g., recommend each of the solutions in a priority-based ranking).Additionally or alternatively, the recommendation generator 209 may determine the prioritization of the identified solutions based on the cost-based analysis of block 504. For example, recommendation generator 209 may prioritize solutions with greater compensation for capital costs by reducing operating costs over those with less compensation. In some examples, the identified solutions are prioritized not in block 502 but in block 504 (e.g., based on cost-benefit analysis). In other examples, the identified solutions may be prioritized at block 502 and the prioritization may be adjusted at block 504.Recommendation generator 209 may also determine the prioritization of the identified solutions based on the prediction of block 506. For example, based on a prediction that the carbon efficiency metric is associated with a transient event, the recommendation generator 209 may prioritize solutions that can be implemented more quickly over others, such as migration of a workload over adding or removing hardware. Based on a prediction that the carbon efficiency metric is not associated with a temporary event, the recommendation generator 209 may prioritize the solutions according to the techniques described above with reference to blocks 502 and 504. To this end, in some examples, the solutions are not prioritized in block 502 and / or block 504, but in block 506. In other examples, the identified solutions may be prioritized at block 502 and / or block 504, and the prioritization may be adjusted at block 506.Returning to FIG. 3, at block 306, the computing device 202 may determine whether the determined recommendation has been disabled. As described above, the recommendation generator 209 may override the recommendation if it determines that no solution satisfies the rule at block 502, if it determines that the cost of implementing a solution predominates over the benefits if it determines that the carbon efficiency score is associated with a transient event, and / or the like. If, at block 306, the computing device 202 determines that the recommendation has not been disabled, the computing device 202 may proceed to provision and / or implement the recommendation at block 308. On the other hand, if the computing device 202 determines that the recommendation has been invalidated, the computing device 202 may proceed to invalidated the recommendation in block 310.In block 308, the computing device 202 may provide the recommendation by transmitting the recommendation to the output device 206. In some examples, the recommendation generator 209 may determine (e.g., at block 304) a recommendation that, when provided to the output device 206, causes the output device 206 to generate a visual element (e.g., display of a message, blinking of a light, or the like), an audio element (e.g., generation of a sound or alarm), or a combination thereof.In some cases, the recommendation generator 209 may determine (e.g., at block 304) a recommendation that may be automatically implemented by the computing device 202, for example. The computing device 202 may therefore implement the recommendation by adjusting the operation of the computing device 202 itself or an infrastructure device of the data center 100 in response to the determination of the recommendation. For example, in response to the recommendation, the computing device 202 may adjust the rate of capture of the real-time energy monitor 208, the frequency with which data is updated in the database 204, and / or the like. Additionally or alternatively, computing device 202 may implement a recommendation that does not require physical intervention in data center 100. As an illustrative example, in response to recommendation generator 209 determining that the carbon efficiency metric is reached by migration of a workload, computing device 202 may perform the migration of the workload. To this end, the computing device 202 may be configured to direct a component of the data center 100, e.g., a server 106, to offload the workload to another component of the data center 100. In some examples, computing device 202 may implement a recommendation, such as a workload migration recommendation, that responds to a customer's approval, which may be received, for example, via input to output device 206.At block 310, the computing device 202 may override the recommendation. As described herein, override of the recommendation may mean preventing the recommendation from being transmitted to the output device 206. The computing device 202 may also prevent the recommendation from being implemented in the computing device 202.FIG. 7 shows a flow diagram illustrating a method 700 for determining a recommendation to improve a future carbon efficiency metric, according to an example. For illustrative purposes, method 700 will be described in connection with system 200 of FIG. 1. The method 700 may include method blocks 702, 704, and 706 (hereinafter collectively referred to as blocks 702- 706) executable by a processor-based system, such as the computing device 202. In particular, the operations in each of the method blocks 702- 706 may be performed by the computing device 202 by executing the instructions stored on a machine readable medium, as described below with reference to FIG. 8. Moreover, it should be appreciated that in some examples, the order of execution of blocks 702- 706 may vary from the order shown in FIG. 7. For example, blocks may be added or omitted, and blocks 702- 706 may be executed in series, in parallel, or in a series-parallel combination.At block 702, the computing device 202 may predict whether a future carbon efficiency metric associated with the data center satisfies a threshold. The computing device 202 may make this prediction for a certain duration from a current date. For example, the information processing device 202 may predict whether the carbon efficiency score will meet the threshold in six months, one year, two years, or the like from the current time point. The computing device 202 may make the prediction based on a predefined duration that may be specified by the customer (e.g., in an SLA). The computing device 202 may predict the carbon efficiency score for a future date and determine whether the predicted future carbon efficiency score satisfies the threshold. Additionally or alternatively, the computing device 202 may predict when (e.g., a predicted date or time period) the future carbon efficiency score will fall below the threshold. In this case, the computing device 202 will predict that the future carbon efficiency metric will not meet the threshold and may determine when this error may occur.To make such predictions, the computing device 202 may apply operations similar to those described in block 602 and block 604 of FIG. 6. In particular, the computing device 202 may track relevant data over time and train a machine learning model based on the tracked data. The data determined for prediction of the future carbon efficiency score may be different from the data determined for prediction of whether the carbon efficiency score is associated with a transient event. In some examples, computing device 202 may track power consumption data, carbon efficiency metrics, workload and / or usage data, customer requirements related data, such as application requirements, or the like over time, and store the tracked data as part of time-series dataset 228.In some cases, the time-series analyzer 210 of the computing device 202 may use a statistical model, such as a linear regression model, or a machine learning model, such as a neural network, to make the prediction. The machine learning model may be the same or different model than the model used to determine whether an event is transient. The machine learning model may be trained on the tracked data in the time-series dataset 228, and the trained model may be used to make predictions regarding the future carbon efficiency metric. In some examples, the machine learning model may be trained for a first customer or data center (e.g., a pre-trained model) and then used for another, second customer or data center.At block 704, the computing device 202 may determine a recommendation to improve the future carbon efficiency metric associated with the data center. In some examples, computing device 202 may perform the operations associated with block 704 in response to predicting that the future carbon efficiency metric does not meet the threshold, such as a threshold indicated in a customer's SLA.To determine the recommendation, the computing device 202 may apply operations similar to those described in block 502 and block 504 of FIG. 5. More specifically, the computing device 202 may identify a solution that corresponds to a rule. Computing device 202 may also perform cost-benefit analysis for an identified solution. In identifying a solution, the computing device 202 may determine whether there are solutions that provide the same or better performance at a lower power consumption, each as compared to the expected values associated with the future carbon efficiency metric. That is, the computing device 202 may identify a solution with an improved carbon efficiency metric compared to the future carbon efficiency metric, for example. The computing device 202 may perform cost-benefit analysis for the identified solution, as similarly described in block 504 of FIG. 5. In some examples, computing device 202 may override the recommendation to improve the future carbon efficiency metric when no solution can be identified or when the cost predominates in cost-benefit analysis.At block 706, the computing device 202 may provide and / or implement the recommendation to improve the future carbon efficiency metric. Computing device 202 may provide the recommendation to improve the future carbon efficiency metric by forwarding the recommendation to output device 206 as described above in a similar manner with respect to block 308 of FIG. 3. Further, in some examples, in response to determining the recommendation (e.g., at block 704), the computing device 202 may implement the recommendation by adjusting operation of the computing device 202 itself or an infrastructure device of the data center 100, as described above in a similar manner with respect to block 308 of FIG. 3. The computing device 202 may provide and / or implement the recommendation in response to determining that the recommendation has not been disabled.Although the method 700 is shown separately from the method 300 in FIG. 3, the two methods may be combined. Thus, in some examples, the operations of blocks 702- 706 may follow block 308 and / or block 310 of method 300. More specifically, in response to resolving the recommendation to improve the carbon efficiency metric at block 302, computing device 202 may proceed to perform method 700 (e.g., predicting whether the future carbon efficiency metric will meet the threshold at block 702). Additionally or alternatively, computing device 202 may continue to perform method 700 in response to providing and / or implementing the recommendation to improve the carbon efficiency metric. Moreover, in some examples, the operations of method 300 and method 700 may be combined. In such cases, a single output may be provided to the output device 206, and this output may include a recommendation to improve the carbon efficiency metric (e.g., the current carbon efficiency metric) and a recommendation to improve a future carbon efficiency metric, which may be the same as or different from the recommendation for the current carbon efficiency metric.Referring now to FIG. 8, a block diagram 800 is shown illustrating a computing device 202 including a processor 802 and memory 804 with example instructions to facilitate the operations described herein. The memory 804 may be a machine readable medium, may be non-transitory, and may alternatively be referred to as a non-transitory machine readable medium 804. In some examples, memory 804 may be accessed by processor 802.The memory 804 may be any electronic, magnetic, optical, or other physical storage device capable of storing data and / or executable instructions. Therefore, the memory 804 may be, for example, a RAM, an EEPROM, a storage drive, a flash memory, a CD-ROM, or the like. As described in detail herein, the memory 804 may be encoded with executable instructions 806, 808, 810, and 812 (hereinafter collectively referred to as instructions 806- 812) for performing the method 300 described in FIG. 3. Although not shown, in some examples, memory 804 may be encoded with certain additional executable instructions to perform the operations of block 302, including blocks 402- 406 shown in FIG. 4, the operations of block 304, including blocks 502- 506 shown in FIG. 5, the operations of block 506, including blocks 602- 606 shown in FIG. 6, method 700 described in FIG. 7, and / or any other operations performed by computing device 202, without limiting the scope of the present disclosure. For example, in some examples, memory 804 may be encoded with executable instructions to implement the methods described herein using function blocks 208- 213 shown in FIG. 1. Further, the memory 804 may include information such as operational data 222, energy cost data 224, solution-based architectural data 226, and / or time series datasets 228 stored in the database 204 in FIG. 1.The processor 802 may be a physical device, e.g., one or more central processing units (CPUs), one or more semiconductor-based microprocessors, one or more graphics processing units (GPUs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), other hardware devices capable of retrieving and executing the instructions 806- 812 stored in the memory 804, or combinations thereof. In some examples, processor 802 may fetch, decode, and execute instructions 806- 812 stored in memory 804 to determine a recommendation to improve a carbon efficiency metric associated with data center 100. In certain examples, alternatively or in addition to fetching and executing instructions 806- 812, processor 802 may include at least one integrated circuit (IC), other control logic, other electronic circuits, or combinations thereof that include a number of electronic components for executing the functions to be executed by computing device 202 of FIG. 1.The instructions 806, when executed by the processor 802, may cause the processor 802 to determine a carbon efficiency metric associated with a data center 100. Further, the instructions 808, when executed by the processor 802, may cause the processor 802 to determine a recommendation to improve the carbon efficiency metric. The instructions 810, when executed by the processor 802, may cause the processor 802 to provide and / or implement the recommendation to improve carbon efficiency. The instructions 812, when executed by the processor 802, may cause the processor 802 to override the recommendation to improve the carbon efficiency metric.FIG. 9 is a block diagram illustrating a computer readable storage medium 900 having example instructions to facilitate the operations described herein. The computer readable storage medium may be non-transitory and may alternatively be referred to as non-transitory machine readable medium 900.The computer readable storage medium 900 may be any electronic, magnetic, optical, or other physical storage device capable of storing data and / or executable instructions. Therefore, the computer readable storage medium 900 may be, for example, a RAM, an EEPROM, a storage drive, a flash memory, a CD-ROM, and the like. As described in detail herein, the computer readable storage medium 900 may be encoded with executable instructions 902, 904, and 906 (hereinafter collectively referred to as instructions 902- 906). Although instructions 902, 904, and 906 are shown, in some examples, instructions may be omitted, added, and / or combined. Although not shown, in some examples, the computer readable storage medium 900 may be encoded with certain executable instructions to perform the operations to perform the method 300 described in FIG. 3, including blocks 402- 406 shown in FIG. 4, including blocks 502- 506 shown in FIG. 5, including blocks 602- 606 shown in FIG. 6, method 700 described in FIG. 7, and / or any other operations performed by the computing device 202, without limiting the scope of the present disclosure. For example, in some examples, the computer readable storage medium 900 may be encoded with executable instructions to implement the methods described herein using the function blocks 208- 213 shown in FIG. 1. Further, the computer readable storage medium 900 may include information such as operational data 222, energy cost data 224, solution based architectural data 226, and / or time series datasets 228 stored in the database 204 in FIG. 1.The instructions 902 may include instructions to cause (when executed by a processor) a processor to determine a carbon efficiency metric associated with a data center based on: determining a power consumption of an infrastructure device of the data center; and estimating a performance of the infrastructure device based on the power consumption. The instructions 904 may include instructions to cause (when executed by a processor) the processor to determine a recommendation to change the data center to improve the carbon efficiency metric, based on the prediction, using a machine learning model, and based on a time-series dataset, whether the carbon efficiency metric is associated with a temporary event. Instructions 906 may include instructions to cause (when executed by a processor) the processor to provide the recommendation to an output device.Although certain implementations have been shown and described above, various changes in form and details may be made. For example, some features and / or functions described with respect to an implementation and / or process may be transferred to other implementations. In other words, processes, features, components, and / or characteristics described with respect to an implementation may also be useful in other implementations. Moreover, it should be appreciated that the systems and methods described herein may include various combinations and / or sub-combinations of the components and / or features of the various implementations described.In the foregoing description, numerous details are set forth in order to facilitate understanding of the subject matter disclosed herein. However, the reaction may be carried out without some or all of these details. Other implementations may include modifications, combinations, and variations of the details described above. It is intended that the following claims cover such modifications and variations.

Claims

A non-transitory computer readable storage medium having stored thereon executable computer program instructions that, when executed by a processor, cause the processor to: determine a carbon efficiency metric associated with a data center based on: determining power consumption of an infrastructure device of the data center; and estimate performance of the infrastructure device based on the power consumption; determine a recommendation to modify the data center to improve the carbon efficiency metric based on the prediction, using a machine learning model, and based on a time series dataset, whether the carbon efficiency metric is associated with a temporary event; and forward the recommendation to an output device.The non-transitory computer readable storage medium of claim 1, wherein the executable computer program instructions, when executed by the processor, further cause the processor to perform implementing the change at the data center based on the recommendation, wherein the change comprises migrating a workload of the data center.The non-transitory computer readable storage medium of claim 1, wherein the executable computer program instructions, when executed by the processor, cause the processor to acquire energy consumption data from the infrastructure device at a configurable acquisition rate to determine the energy consumption of the infrastructure device.The non-transitory computer readable storage medium of claim 1, wherein the executable computer program instructions, when executed by the processor, cause the processor to determine the carbon efficiency metric associated with the data center further based on: determining a second power consumption of another, second infrastructure device of the data center; and estimating a second power of the second infrastructure device based on the second power consumption.The non-transitory computer readable storage medium of claim 1, wherein the executable computer program instructions, when executed by the processor, cause the processor to determine the recommendation further based on: identifying another, second infrastructure facility based on operational data that is assumed to have a higher carbon efficiency metric than the carbon efficiency metric associated with the data center.The non-transitory computer readable storage medium of claim 5, wherein the executable computer program instructions, when executed by the processor, cause the processor to determine the recommendation further based on: determining that capital investment for the second infrastructure facility is compensated for by a decrease in operating costs associated with the second infrastructure facility.The non-transitory computer readable storage medium of claim 1, wherein the recommendation identifies a second infrastructure facility as being suitable to replace the infrastructure facility in the data center to improve the carbon efficiency metric.The non-transitory computer readable storage medium of claim 1, wherein the infrastructure device comprises a server and wherein the recommendation identifies a workload suitable for migrating from the server to another, second server in the data center to improve the carbon efficiency metric.A system comprising: a processor to process operations; and a memory to store data including operational data associated with one or more solutions, a time-series dataset associated with a data center, and instructions that, when executed, cause the processor to: determine a carbon efficiency metric associated with the data center; a recommendation to modify the data center to improve the carbon efficiency metric based on: identifying, based on the carbon efficiency metric and the operational data, a solution from the one or more solutions; and predicting, using a machine learning model and based on the time-series dataset, whether the carbon efficiency metric is associated with a temporary event; and forward the recommendation to an output device.The system of claim 9, wherein the instructions, when executed, cause the processor to determine the recommendation further based on: identifying a second solution other than the one or more solutions based on the operational data, the recommendation comprising a priority of the solution and the second solution.The system of claim 10, wherein the instructions, when executed, cause the processor to determine the recommendation further based on: determining the priority of the solution and the second solution in response to determining that the carbon efficiency metric is associated with a temporary event.The system of claim 9, wherein the system further comprises a server, and wherein the carbon efficiency metric associated with the data center comprises a carbon efficiency metric associated with the server.The system of claim 9, wherein the time series data set comprises a trace of past carbon efficiency metrics associated with the data center over a particular period of time.The system of claim 9, wherein the time series data set comprises a trace of past carbon efficiency metrics associated with another data center over a particular period of time.The system of claim 9, wherein the instructions, when executed by the processor, further cause the processor to: provide the recommendation to the output device in response to predicting that the carbon efficiency metric is not associated with a temporary event.The method of claim 9, wherein the instructions, when executed, further cause the processor to cause the processor to: change the recommendation in response to predicting that the carbon efficiency score is not associated with a transient event; and provide the recommendation to the output device in response to the change in the recommendation.A method comprising: determining a current carbon efficiency metric of an infrastructure equipment in a heterogeneous data center based on: determining power consumption of the infrastructure device; and estimating performance of the infrastructure equipment based on the power consumption; determining a recommendation to modify the heterogeneous data center to improve the current carbon efficiency metric based on identifying a solution of the one or more solutions based on the current carbon efficiency metric and operational data associated with the one or more solutions; and providing the recommendation to improve the current carbon efficiency metric to an output device.The method of claim 17, wherein the operational data comprises a mapping associated with the infrastructure equipment, and wherein estimating the power comprises estimating the power further based on the mapping.The method of claim 17, wherein identifying the solution comprises: determining, based on the operational data, that a carbon efficiency metric associated with the solution is greater than the current carbon efficiency metric.The method of claim 17, further comprising: predicting, based on the time series dataset associated with the heterogeneous data center, whether a future carbon efficiency metric associated with the heterogeneous data center will meet a threshold; determining a second recommendation to modify the heterogeneous data center to improve the future carbon efficiency metric; and providing the second recommendation to the output device.