Data center carbon efficiency optimization
通过监测和分析数据中心组件的功耗和性能,生成改进碳效率度量的推荐,解决了数据中心高碳排放的问题,实现了能源消耗和碳排放的减少,同时提高了数据中心的整体性能和 efficiency.
Patent Information
- Application Number
- CN202410456293.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-31
- Filing Date
- 2024-04-16
- Publication Date
- 2025-02-14
AI Technical Summary
In the process of providing computing performance and storage services, data centers consume a large amount of energy, resulting in high carbon emissions, and the prior art is difficult to effectively monitor and optimize the carbon efficiency of data centers.
By monitoring component power consumption in a data center, estimating performance, using databases to store mapped information and operational data, generate recommendations for improving carbon efficiency metrics, including replacing components with alternative hardware, adding or removing hardware, migrating workloads, etc.
Real-time monitoring and optimization of the carbon efficiency of data centers is achieved, energy consumption and carbon emissions are reduced, and the overall performance and efficiency of data centers are improved.
Smart Images

Figure CN119440937A_ABST
Abstract
Description
Background Art
[0001] The data center industry provides data storage and management, as well as the ability to process digital transactions. Data center resources (such as servers and storage devices) consume energy to operate and provide computing performance. Data centers also consume energy to keep these resources cool. For example, a data center may consume energy to cool the air within the data center or to cool a liquid that is pumped through at least a portion of the data center. BRIEF DESCRIPTION OF THE DRAWINGS
[0002] These and other features, aspects and advantages of the present specification will be better understood when the following detailed description is read with reference to the accompanying drawings, in which like characters refer to like parts throughout the figures, and in which:
[0003] Figure 1 A system for monitoring and providing recommendations for improving carbon efficiency metrics associated with a data center according to one example is depicted;
[0004] Figure 2 delineates recommendations for improving carbon efficiency metrics associated with data centers;
[0005] Figure 3 is a flow chart depicting a method for determining a recommendation for improving a carbon efficiency metric according to one example;
[0006] Figure 4 is a flow chart depicting a method for determining a carbon efficiency metric associated with a data center according to another example;
[0007] Figure 5 is a flow chart depicting a method for determining a recommendation for improving a carbon efficiency metric according to another example;
[0008] Figure 6 is a flow chart depicting a method for predicting whether a carbon efficiency metric is associated with a temporary event according to another example;
[0009] Figure 7 is a flow chart depicting a method for determining recommendations for improving future carbon efficiency metrics according to another example;
[0010] Figure 8 is a block diagram depicting a data processing apparatus according to one example, the data processing apparatus including a processor and a memory encoded with example instructions for monitoring and providing recommendations for improving a carbon efficiency metric associated with a data center; and
[0011] Fig. 9 is a block diagram depicting a computer-readable storage medium including instructions according to one example.
[0012] It should be emphasized that in the drawings, the various features are not drawn to scale. In fact, in the drawings, the sizes of the various features have been arbitrarily increased or reduced for clarity of discussion. DETAILED DESCRIPTION
[0013] The following detailed description refers to the accompanying drawings. Where possible, the same reference numerals are used in the drawings and the following description to refer to the same or similar parts. It should be clearly understood that the drawings are for illustration and description purposes only. Although several examples are described in this document, modifications, adaptations and other implementations are also possible. Therefore, the following detailed description does not limit the disclosed examples. On the contrary, the proper scope of the disclosed examples can be defined by the appended claims.
[0014] The terms used herein are to describe specific examples, not restrictive. As used herein, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" should also include plural forms. The term "another" used herein is defined as at least the second or more. The term "coupling" used herein is defined as connection, whether directly connected without any intervening element, or indirectly connected with at least one intervening element, unless otherwise specified. For example, two elements can be coupled mechanically, electrically or communicatively through a communication channel, path, network or system. In addition, the term "and / or" used herein refers to and encompasses any and all possible combinations of related listed items. It should also be understood that although the terms first, second, third, fourth, etc. can be used to describe various elements in this article, these elements should not be limited by these terms, because unless otherwise specified or the context indicates otherwise, these terms are only used to distinguish one element from another element. As used herein, the term "includes" means including but not limited to, and the term "including" means including but not limited to. The term "based on" means at least partially based on.
[0015] Product Carbon Footprint (PCF) represents the carbon emissions of a product over the entire life cycle of the product. Taking a server as an example, the life cycle starts with the design of the server, covers the use of the server, and ends with the disposal of the server. In some cases, the carbon emissions generated by the use of the server are approximated by estimating the amount of carbon that a server operating at a specific static utilization (e.g., CPU and / or resource utilization) level (e.g., 30% utilization level) will emit. Although such an approximation can provide a general impression of the carbon emissions of a server, the actual carbon emissions of a server can vary widely based on the actual utilization level of the server. For example, a server operating at a lower utilization level is likely to operate at a relatively low carbon efficiency, while a server running at 100% utilization is likely to operate at a higher carbon efficiency. In addition, the utilization of a server may vary throughout its life cycle. This change may be caused by changes in customer requirements. In addition, due to technical limitations associated with the workload, some workloads may not be suitable for running on a server whose utilization exceeds a certain threshold. In addition, in some cases, the server can be operated at less than 100% utilization to reduce the risk of hardware failure and increase the total life of the server.
[0016] As described herein, the term "carbon efficiency" refers to using less energy (or producing fewer carbon emissions) to produce the same results, and may be used interchangeably with the term "energy efficiency." In the context of a data center, carbon efficiency refers to the power consumption required to provide a particular level of performance (e.g., operational and / or computing performance). A higher carbon efficiency corresponds to achieving a certain level of performance with lower power consumption, while a lower carbon efficiency corresponds to achieving the same or worse level of performance with higher power consumption. In related regard, the term "carbon efficiency metric" may refer to a value related to the performance of one or more devices in a data center, such as a measure of device performance, or a ratio between device power consumption and performance. As described herein, the performance of a device may refer to the throughput of the device (e.g., the number of operations a component can complete in a given interval divided by the duration of the interval).
[0017] The examples described herein relate to optimizing the carbon efficiency of a data center, and more specifically, monitoring a carbon efficiency metric associated with a data center when the data center is used (e.g., operated), and providing a change recommendation for the data center, such as replacing components of the data center with alternative hardware to improve the carbon efficiency metric. At a high level, in order to monitor the carbon efficiency metric associated with the data center, the power consumption of one or more devices (e.g., components) (such as servers, storage devices, etc.) of the data center can be collected. The performance of the device can be estimated based on a mapping of power consumption and performance (e.g., based on a reverse lookup). The mapped information can be stored in a database, and data such as Standard Performance Evaluation Corporation (SPEC) benchmark data can be used. The database can also store operational data associated with one or more solutions (e.g., potential changes to the data center), which can include information about options that can be used to reduce the energy consumed by the data center while maintaining or improving performance. For example, the operational data associated with the solution can include power consumption, performance and / or carbon efficiency information of an alternative hardware solution, such as a generation of servers that can be used to replace components that are different from the servers currently in the data center. Based on determining that a carbon efficiency metric associated with the data center can be improved (e.g., based on identifying a solution that can improve the carbon efficiency metric), a recommendation can be provided at an output device such as an electronic display device, etc. The recommendation can inform replacement of a component of the data center with alternative hardware, addition or removal of hardware from the data center, or migration of a workload to or from a component.
[0018] In some cases, a customer's carbon-inefficient use of a data center may be temporary, and while recommendations to improve a data center's carbon efficiency are often appropriate when a data center reaches a certain level of inefficiency, such recommendations may not be practical or appropriate for a temporary event. Using an e-commerce website as an example of a data center customer, a customer may see higher utilization peaks for its website and the data center during the holidays. Using a social media website as another example of a data center customer, a customer may see higher utilization peaks in the summer, when users are more likely to travel and post pictures. In either case, the peak may reduce the carbon efficiency of the data center during the relevant season, but after the season has passed, the data center may recover or move toward its previous carbon efficiency. As used herein, the terms "temporary" and "temporary event" may refer to a duration of a limited nature, such as 6 months or less, 3 months or less, a month or less, a week or less, a day or less, etc. In some cases, "temporary" may be less than a predefined duration, such as a duration indicated by a customer (e.g., within an SLA).
[0019] In some examples, recommendations about carbon inefficiencies that may otherwise be sent to customers may be adjusted based on a determination that the carbon inefficiency (e.g., a carbon efficiency metric) is associated with a temporary event. In particular, it may be determined whether the carbon inefficiency is persistent or temporary based on a time series data set. In this regard, time series analysis may be used to determine whether the carbon efficiency metric is associated with a temporary event. Recommendations for inefficiencies that are determined to be associated with a temporary event (e.g., a carbon efficiency metric that can be improved) may be overturned. Time series analysis may be performed using a time series-based machine learning model. Overturning a recommendation may involve blocking the provision of a recommendation (e.g., not sending the recommendation). In some cases, blocking the provision of a recommendation may be implemented when no other alternative recommendations are available, or it may be implemented as a configurable setting so that the customer receives fewer recommendations. As an alternative to overturning the recommendation, the recommendation may be adjusted based on a temporary event use case. For example, a recommendation to purchase new hardware may not be well suited for a temporary event because the timeline for purchasing and installing the hardware may exceed the duration of the event. Such a recommendation may be modified to an alternative recommendation, such as migrating a workload (if migration is available).
[0020] In some cases, the time series data set includes a trace of past carbon efficiency metrics for the data center over a time period. Additionally or alternatively, the time series data set may include a trace of carbon efficiency metrics for a different data center, such as another customer's data center or another data center used by the same customer. In this regard, the machine learning model can use historical data from the data center or similar data centers to learn patterns in power consumption and / or carbon efficiency. For example, based on this learning, the model can predict whether an event is temporary (which may correspond to a peak in power consumption for an e-commerce customer over a holiday weekend) or persistent (which may correspond to an increase in the number of members for a social media customer).
[0021] In addition, a data center that currently meets a desired level of carbon efficiency (e.g., which may be specified in a service level agreement (SLA)) may still become inefficient in the future. For example, growth in application business may change the power and / or performance requirements of the data center, which may affect the carbon efficiency of the data center. Therefore, in some examples, it is possible to predict in advance when future carbon inefficiencies (e.g., a carbon efficiency metric that fails to meet a threshold) will occur, and recommendations can be provided to customers so that changes can be made before the inefficiency is realized. As an illustrative example, a recommendation to purchase new hardware can be sent to a customer based on a prediction that the customer will begin operating with lower carbon efficiency. For example, a recommendation can be provided based on a predicted future carbon efficiency metric falling below a threshold (such as a threshold efficiency level specified in the customer's SLA). By providing this recommendation prior to a carbon-inefficient operating state, the customer can implement changes that avoid the inefficiency or reduce the duration of the inefficiency, such as installing new hardware. Future carbon inefficiencies can be predicted using time series analysis, such as a time series-based machine learning model.
[0022] Data centers are typically configured as heterogeneous environments, which also increases the complexity of dealing with carbon efficiency in data centers. 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 different power utilization requirements and energy efficiency, depending on the configuration and use of the equipment. As with the above example of servers operating at different utilization levels, different configurations and operations of infrastructure devices may affect the carbon efficiency of the equipment. In addition, even servers of the same generation with the same processing power may have different carbon efficiency distributions due to differences in their form factors (e.g., server height), cooling components (e.g., the absence, presence, or performance differences of cooling components), etc. For example, a server with one rack height unit (1U) may have a different carbon efficiency than a similar server with two rack height units (2U).
[0023] Thus, monitoring carbon efficiency associated with a data center may involve monitoring the power consumption of one or more components of the data center and estimating the corresponding performance of each component. In this regard, in some examples, individual components of the data center may be monitored. In addition, the database may include operational data of various infrastructure devices, and may include data of various workload types, such as scientific workloads, virtualization workloads, deep learning workloads, Java workloads, etc. The information included in the database may be pre-populated (e.g., during the development phase), manually updated (e.g., via manual upload of information), and / or automatically updated. For example, data may be extracted from a private or public repository.
[0024] In addition, in some examples, carbon efficiency monitoring and / or recommendations can be provided at different levels of granularity. For example, monitoring and / or recommendations can be performed at the node, server, rack, container, data center level, etc. In this regard, data from multiple components can be aggregated to determine carbon efficiency at a higher level of abstraction, and recommendations can be provided at that level. In some examples, components of a data center can be tagged, and a hierarchy can be determined based on the tags (e.g., based on the level of granularity of the tags). The hierarchy can be used for aggregation of data and providing recommendations at a desired level of granularity.
[0025] In some examples, the power consumption of one or more components of a data center may be monitored via an application programming interface (API) (e.g., a representational state transfer (REST) or The power consumption data may be collected using a data center data center API. The power consumption data may be collected at a configurable rate. The rate may be set via a user setting. In some examples, the configurable rate may be automatically adjusted based on the carbon efficiency associated with the data center. For example, the rate may be reduced to reduce energy consumption associated with data collection.
[0026] In some examples, recommendations for adding hardware to a data center or replacing hardware may be determined based on information stored in a database, such as capital and operating expenditures for the hardware. For example, such recommendations may be provided when it is estimated that the reduction in operating costs that occurs with the addition or replacement of the hardware offsets the capital expenditures for the hardware. The capital expenditures may include purchase and installation costs associated with the hardware. The reduction in operating costs may include the difference in operating costs associated with operating a data center with and without the hardware. A reduction in operating costs may exist when the power consumed by the hardware used as a replacement is less than the power consumed by the hardware being replaced. The operating costs may include the cost of cooling the hardware, such as the cost of the power consumed for cooling purposes.
[0027] Now referring to the accompanying drawings, Figure 1A system 200 for monitoring and providing recommendations for improving a carbon efficiency metric associated with a data center 100 is depicted. The system may include the data center 100, a data processing device 202, a database 204 (e.g., a memory), and an output device 206. Although shown separately, the data processing device 202 may be included within the data center 100, such as within one or more infrastructure devices of the data center 100. For example, the data processing device 202 may be a server 106, a group of servers, etc. In some cases, the data processing device 202 may include a storage device 108. In addition, the database 204 may be included within the data processing device 202, such as within a memory of the data processing device 202, or may be a separate component communicatively coupled to the data processing device 202. In some cases, the data processing device 202 and / or the database 204 may be a separate device (e.g., distinct from the data center 100), local, remote, and / or accessible via a cloud.
[0028] As shown by arrows 216, 218, and 220, the components of system 200 may be communicatively coupled. For example, arrow 216 shows a communicatively coupling between data processing device 202 and data center 100. Arrow 218 shows a communicatively coupling between data processing device 202 and database 204, and arrow 220 shows a communicatively coupling between data processing device 202 and output device 206. The communicatively coupling represented by arrows 216, 218, and / or 220 may include a wired coupling, a wireless coupling (e.g., a network connection, a Bluetooth connection, etc.), or a combination thereof.
[0029] As described herein, data center 100 can be used for data storage and / or management. For example, a customer can use data center 100 to host websites, process information, store information, and so on. As shown, data center 100 may include various infrastructure devices (e.g., components) for hosting applications and storing information, such as racks 102, switches 104, servers 106, storage devices 108 (e.g., hard drives, solid-state drives (SSDs), etc.), and so on. For example, data center 100 may include one or more racks, such as a first rack 102A and a second rack 102B. Rack 102 can accommodate switches 104, servers 106, storage devices 108, and so on. For simplicity, Figure 1 The illustrated data center 100 depicts infrastructure devices that may be present in the data center 100, such as servers 106, storage devices 108, racks 102, and switches 104, without reference to their arrangement within the data center 100. Furthermore, while two racks 102, two switches 104, two storage devices 108, and two servers 106 are shown, it is understood that the data center 100 may include any number or combination of such infrastructure devices.
[0030] As described herein, the use of the data center 100 consumes electricity, which may result in carbon emissions from the operation of the data center 100. The power consumption of the data center 100 depends on the power consumption of its components (such as servers 106, storage devices 108, and switches 104). The power consumption and carbon efficiency of these devices may vary based on the type and configuration of the device. The configuration of the device may involve the generation of the device, the components included in the device (such as processing components), the form factor of the device (e.g., the server height of the device, the arrangement of components within the device, etc.), the cooling equipment associated with the device, etc. For example, a server 106A having a first configuration may have different power consumption and carbon efficiency than a storage device 108 and a server 106B having a second configuration. The power consumption and carbon efficiency of these devices may further depend on how they are used. Using the server 106 as an illustrative example, a server 106 operating at a first utilization level (e.g., a first utilization level) of its available processing resources may exhibit different power consumption and carbon efficiency than a server 106 operating at a second utilization level. The server 106 may operate at different utilization levels due to a variety of different reasons (such as workload requirements, changes in customer demand, etc.). For example, the servers 106 may vary in utilization and / or power consumption levels based on hosting different workload types. Examples of different workload types include, but are not limited to, scientific workloads, Java workloads, virtualized workloads, deep learning workloads, database workloads, structured query language (SQL) workloads, online transaction processing (OLTP) workloads, decision support system (DSS) workloads, and other workloads. With each of the above factors, the carbon efficiency of the infrastructure equipment, and therefore the carbon efficiency of the data center 100, may fluctuate during operation.
[0031] Examples described herein relate to determining and improving carbon efficiency metrics associated with a data center 100. In some examples, power consumption and / or carbon efficiency metrics can be determined at different levels of granularity within the data center 100. For example, the power consumption of an individual storage device 108 can be determined, or the total power consumption of a grouping of infrastructure devices (such as a group of multiple storage devices 108 or the grouping described below with reference to dashed box 112, rack 104A, and dashed box 114) can be determined. Determining carbon efficiency metrics at different levels of granularity can help illustrate the carbon efficiency of components of a heterogeneous data center (such as the data center 100 shown), as well as the overall carbon efficiency of the heterogeneous data center.
[0032] A heterogeneous data center may include a variety of different infrastructure devices, such as different types of devices and / or different variations of a particular device. For example, the data center 100 shown is heterogeneous because it includes both a server 106 and a storage device 108, and the data center 100 is also heterogeneous because the composition of the devices included in the first rack 102A is different from the composition of the devices included in the second rack 102B. The data center 100 is also heterogeneous because it includes a server 106A having a first configuration and a server 106B having a different second configuration. As an illustrative example, the server 106A having the first configuration may have a first server height, such as one rack height unit (1U), and the server 106B having the second configuration may have a second server height, such as two rack height units (2U). Although depicted as a heterogeneous data center, the example is not limited thereto. On the contrary, for example, the system may include a homogeneous data center that may include a single type of infrastructure device.
[0033] At a high level, data processing device 202 can monitor power consumption of one or more components (e.g., infrastructure equipment) of data center 100. Data processing device 202 can determine recommendations to improve carbon efficiency metrics based on information in database 204 and carbon efficiency metrics determined using power consumption. Data processing device 202 can implement the recommendations and / or output the recommendations to output device 206.
[0034] The data processing device 202 may include a real-time energy monitor 208, a recommendation generator 209, a time series analyzer 210, an infrastructure marker 211, a power data aggregator monitor 212, and an automated resource orchestrator 213. The data processing device 202 is shown as including functional blocks 208-213. The functional 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, it is understood that the functional blocks 208-213 may be implemented by a data processing device 202 having a processor and a memory, as described below with reference to Figure 8 described.
[0035] The database 204 may include various information, such as operational data 222, power cost data 224, solution-based architecture data 226, and time series data sets 228. In general, the information stored in the database may be related to options that can be used to reduce the energy consumed by the data center 100 while maintaining or improving the performance of the data center 100. For example, the database 204 may include power consumption, performance, carbon efficiency metrics, cooling information, power costs, etc. of alternatives to solutions currently implemented in the data center. The information included in the database 204 may be pre-filled (e.g., during the development and / or database initialization phase), manually updated (e.g., via manually uploading information to the database 204), and / or automatically updated. For example, data may be extracted from a private or public repository (e.g., via a network connection). In some examples, the data stored in the database 204 may be stored in an intermediate format. For example, the data processing device 202 may parse the information extracted from the repository from a first format into a different second format that requires less storage (e.g., fewer bits of information). That is, for example, the data processing device 202 may abstract the data into a more lightweight format. As an illustrative example, data processing device 202 may encode the information string into one or more bits representing the information. In some examples, data processing device 202 may use the second format directly, or may reparse the data from database 204 into the first format.
[0036] To monitor the power consumption of one or more components of the data center 100, the real-time energy monitor 208 can collect power consumption data from the data center 100. In one example, the real-time energy monitor 208 can access the data center 100 via an application programming interface (API) (such as a REST or The data processing device may be communicatively coupled to the data center 100 via a software API. The API may be available via management software associated with (e.g., capable of accessing) infrastructure devices of the data center 100. In this regard, arrow 216 may further represent that the data processing device is communicatively coupled to the data center 100 via a software API.
[0037] In some examples, the data processing device 202 can monitor individual hardware components independently. For example, the data processing device 202 can collect first power consumption data from a first server 106A in the data center and can collect second power consumption data from a second server 106B in the data center. In some cases, the data processing device 202 can collect power consumption data from each hardware device in the data center 100 or a subset of the data center (such as within a rack 102 or a group of racks 102).
[0038] In some examples, the real-time energy monitor 208 can collect power consumption data while the data center 100 is operating (e.g., while the data center 100 is being used). In this regard, the real-time energy monitor 208 can capture the power consumption of data center components (such as server 106) corresponding to the current utilization of the server and can dynamically update the power consumption when the power consumption changes, rather than determining a static estimate of the power consumption of the component. The real-time energy monitor 208 can collect power consumption in real time (e.g., in milliseconds from when the power consumption data is created) or near real time. The data processing device can collect power consumption data at a configurable rate. The rate can be set via user settings. In some examples, the configurable rate can be automatically adjusted based on the carbon efficiency associated with the data center. For example, the rate can be reduced to reduce the energy consumption associated with data collection.
[0039] The recommendation generator 209 can use the power consumption data collected by the real-time energy monitor 208 to determine a carbon efficiency metric associated with the data center 100. In some examples, the carbon efficiency metric associated with the data center 100 can correspond to an individual component (e.g., infrastructure equipment) of the data center 100, such as an individual server 106, or a group of components of the data center 100. Using an individual component as an example, in order to determine the carbon efficiency metric, the recommendation generator 209 can estimate the performance of the component. The carbon efficiency metric can be a value associated with the performance, or can be a ratio between power utilization and performance. As described herein, the performance of a component can refer to the throughput of the component (e.g., the number of operations that the component can complete in a given interval divided by the duration of the interval). As a non-limiting illustrative example, the performance can be characterized as the number of operations per second. By estimating the performance of the component, the recommendation generator 209 can avoid accessing or analyzing the customer's data, information, or applications stored or running on the component. Therefore, the recommendation generator can maintain the privacy of the customer.
[0040] In some examples, recommendation generator 209 can estimate the performance of a component based on power consumption data collected from the component. In particular, recommendation generator 209 can estimate performance based on a mapping of power consumption and performance (e.g., an operational mapping or a benchmark mapping). Information for mapping can be stored in database 204 as operational data 222. Operational data 222 can include data such as Standard Performance Evaluation Corporation (SPEC) benchmark data. Typically, operational data 222 can include a corresponding mapping of performance to power for each of various infrastructure devices at a certain utilization (e.g., load) level. Operational data 222 can include these mappings of infrastructure devices currently being used by customers, such as those implemented in data center 100, and infrastructure devices that can be used by customers, such as products available to customers. Using operational data 222, recommendation generator 209 can use a reverse lookup (e.g., mapping power to performance based on a performance to power mapping) to estimate the performance of the component corresponding to the power consumption level of the component.
[0041] In some examples, operational data 222 may include data for various different workloads, such as scientific workloads, Java workloads, virtualized workloads, deep learning workloads, database workloads, and the like. For example, operational data 222 may include SPEC CPU benchmarks, SPECpower_ssj benchmarks, SPECvirt benchmarks, MLperf benchmarks, TPC benchmarks, and the like. Thus, operational data 222 may map performance to power for a given workload, such as a Java workload. In some examples, recommendation generator 209 may further perform a reverse lookup based on the workload of the component. Thus, recommendation generator 209 may use operational data 222 corresponding to a given workload to estimate the likely performance of the component for a component that processes a given workload at a specific power consumption level. Recommendation generator 209 may determine the workload of a component based on information from a customer (e.g., a customer's SLA) and / or information indicating how the component behaves that may be collected by data processing device 202 (e.g., via a real-time energy monitor). For example, a data processing device may collect such information via the APIs described herein and / or via counters associated with components (eg, counters for CPU, memory, etc.).
[0042] In some examples, recommendation generator 209 can estimate the performance of a component based on power consumption data collected from the component. In particular, recommendation generator 209 can estimate performance based on a mapping of power consumption and performance (e.g., an operational mapping or a benchmark mapping). Information for mapping can be stored in database 204 as operational data 222. Operational data 222 can include data such as Standard Performance Evaluation Corporation (SPEC) benchmark data. Typically, operational data 222 can include a corresponding mapping of performance to power for each of various infrastructure devices at a certain utilization (e.g., load) level. Operational data 222 can include these mappings of infrastructure devices currently being used by customers, such as those implemented in data center 100, and infrastructure devices that can be used by customers, such as products available to customers. Using operational data 222, recommendation generator 209 can use a reverse lookup (e.g., mapping power to performance based on a performance to power mapping) to estimate the performance of the component corresponding to the power consumption level of the component.
[0043] In some examples, operational data 222 may include data for various different workloads, such as scientific workloads, Java workloads, virtualized workloads, deep learning workloads, database workloads, and the like. For example, operational data 222 may include SPEC CPU benchmarks, SPECpower_ssj benchmarks, SPECvirt benchmarks, MLperf benchmarks, TPC benchmarks, and the like. Thus, operational data 222 may map performance to power for a given workload, such as a Java workload. In some examples, recommendation generator 209 may further perform a reverse lookup based on the workload of the component. Thus, recommendation generator 209 may use operational data 222 corresponding to a given workload to estimate the likely performance of the component for a component that processes a given workload at a specific power consumption level. Recommendation generator 209 may determine the workload of a component based on information from a customer (e.g., a customer's SLA) and / or information indicating how the component behaves that may be collected by data processing device 202 (e.g., via a real-time energy monitor). For example, a data processing device may collect such information via the APIs described herein and / or via counters associated with components (eg, counters for CPU, memory, etc.).
[0044] In some examples, recommendation generator 209 may use performance as a carbon efficiency metric. In some examples, recommendation generator 209 may use power consumption and performance for the carbon efficiency metric. For example, the carbon efficiency metric may be a ratio of power consumption and performance. Thus, recommendation generator 209 may determine a carbon efficiency metric for a component based on an estimate of the performance of the component.
[0045] In some examples, operational data 222 may be manually updated to include data such as benchmarks. For example, operational data 222 may be manually provided to database 204 (e.g., based on input to data processing device 202 and / or database 204). In some examples, data processing device 202 may automatically extract information for operational data 222 from a private or public repository (e.g., a public online repository), for example, via a network connection. For example, data processing device 202 may update operational data 222 at regular intervals (e.g., periodically) by extracting new data from a private or public repository.
[0046] The recommendation generator 209 may also determine recommendations to improve the carbon efficiency metric. The recommendations to improve the carbon efficiency metric may identify solutions (e.g., changes to the data center), such as replacing a component of the data center with an alternative hardware, adding or removing hardware from the data center, migrating a workload to a component or migrating a workload from a component (e.g., reallocating a workload), etc. 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, such as the operational data 222. In this regard, the recommendation generator may determine the recommendation based on identifying solutions from the database 204 that satisfy the rule. An example rule is that the solutions included in the recommendation achieve the same or better performance at reduced power (e.g., options with improved carbon efficiency metrics) compared to current components of the data center. Based on the rule, the recommendation generator 209 may identify that a first server 106 operating at a first carbon efficiency metric should be replaced with a different second server 106 capable of operating at a greater second carbon efficiency metric, such as a different model of server, a new generation server, etc.
[0047] In the case where a recommendation is determined based on a solution involving replacing a component, such as replacing a first component with a second component, the recommendation generator 209 may compare the carbon efficiency metric determined for the first component as described above with corresponding operational data 222 associated with the second component. For example, the carbon efficiency metric of the first component may be compared with a baseline carbon efficiency metric of the second component for a corresponding workload, utilization load, or combination thereof. To this end, the recommendation generator 209 may use the operational data 222 to determine whether the second component can achieve the same or better performance with the same or lower power consumption as the first component.
[0048] In the case where a recommendation is determined based on a solution involving migrating a workload from a component (e.g., reallocating a workload), the recommendation generator 209 may compare the carbon efficiency metric determined for the first component with corresponding operational data 222 associated with the first component at an alternative utilization load. For example, the carbon efficiency metric determined for the first component operating at a first utilization level may be compared with a baseline carbon efficiency metric for the first component for a second utilization level (e.g., a higher or lower utilization level). To this end, the recommendation generator 209 may use the operational data 222 to determine whether the first component when operating at the second utilization level is able to achieve the same or better performance at the same or lower power consumption as the first component when operating at the first utilization level. In general, the carbon efficiency of servers that are underutilized (e.g., operating at too low a utilization level) or overutilized (e.g., operating at too high a utilization level) may be improved. In some cases, the recommendation generator 209 may further determine the recommendation to migrate the workload based on the customer's SLA. For example, the recommendation generator 209 may evaluate whether the recommendation to migrate the workload is feasible given the customer's SLA. A recommendation to migrate a workload may not be suitable (eg, violate the SLA) for an SLA that requires a virtual machine or container to remain isolated, whereas such a recommendation may be suitable for an SLA that lacks such a requirement. Information associated with the SLA may be stored in database 204 .
[0049] In some examples, the recommendation generator 209 may determine a recommendation involving a combination of solutions or recommendations. For example, the recommendation generator 209 may recommend adding hardware (e.g., removing or not removing hardware) in conjunction with migrating workloads. In this regard, the recommendation may identify that the workload may be migrated to new hardware (when added). As an illustrative example, the recommendation generator 209 may determine such a recommendation for a set of overused services operating at a relatively low carbon efficiency metric. In this case, adding additional servers and migrating workloads from overused servers may improve the overall carbon efficiency of the data center. The recommendation generator 209 may recommend removing hardware (e.g., adding or not adding hardware) in conjunction with migrating workloads from removed hardware. As an illustrative example, the recommendation generator 209 may determine such a recommendation for underutilized servers. In this case, removing underutilized servers and migrating workloads from underutilized servers to other servers in the data center may improve the overall carbon efficiency of the data center.
[0050] In some examples, the recommendation generator 209 determines a recommendation if there is a solution (e.g., a change to a data center) that satisfies the rule (e.g., a solution that achieves the same or better performance with reduced power). For example, the recommendation generator 209 can determine whether a solution exists, and in response to determining that a solution exists, can create a recommendation based on the solution. In some cases, the recommendation generator 209 determines a recommendation based on the carbon efficiency metric not satisfying a threshold (such as a predetermined threshold or a threshold indicated by a customer's SLA). For example, in response to the carbon efficiency metric being below a threshold, the recommendation generator determines a recommendation based on the solution satisfying the rule.
[0051] In some examples, the recommendation generator 209 further determines the recommendation based on a cost-benefit analysis, which may include consideration of capital expenditures and operating expenditures associated with the solution. Capital expenditures may include purchase and / or installation costs associated with solutions such as hardware solutions. Operating expenditures include costs such as the cost of electricity consumed by the solution and auxiliary power (such as the power required for cooling the solution). Information associated with the capital expenditures and operating expenditures of the solution may be stored in the database 204. Capital expenditures associated with hardware devices may be included in the solution-based architecture data 226. Regarding operating expenditures, the recommendation generator 209 may use power cost data 224, which may include a price charged per unit of electricity. The price per unit of electricity may correspond to a price in a geographic location (e.g., city, state, country) of the data center 100, such as an average price in the area or a price currently or previously charged at the data center 100. In some cases, the recommendation generator 209 may determine the operating expenditure of the solution based on the price per unit of electricity included in the power cost data 224 and the baseline 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 electricity consumed by the solution over a time period (such as an hour, a day, a month, etc.).
[0052] The recommendation generator may further determine the operating expenditure of the solution based on the price per unit of electricity included in the power cost data 224 and information associated with the cooling solution, such as the power consumption involved in running fans or pumping cooling fluid in the vicinity of the solution. The information associated with the cooling solution may be stored in the solution-based architecture data 226. As an illustrative example, in the case of a solution involving replacing a component with alternative hardware, such as replacing one server 106 in a rack 102 with another server, the solution-based architecture data 226 may include information about the cooling capacity associated with the rack 102, such as whether the rack is equipped with fans or cooling fluid and the power consumption of the cooling components of the rack 102. In this regard, the recommendation generator 209 may use the power cost data 224 and the solution-based architecture data 226 to determine the cost of the cooling solution over a time period, such as an hour, a day, a month, etc.
[0053] In some examples, the recommendation generator 209 can provide a recommendation when it is estimated that the operational cost reduction achieved by the solution offsets the capital expenditure of the hardware. The operational cost reduction can include the difference in operational costs associated with operating a data center with and without the solution. An operational cost reduction can exist when the power consumed by the solution is less than the power consumed before the solution was implemented.
[0054] In addition to or in lieu of determining recommendations based on a cost-benefit analysis, the recommendation generator 209 can take into account the customer's preferences and / or business use cases. For example, the customer's preferences can indicate that improving the carbon efficiency metric and / or carbon efficiency of the data center 100 takes precedence over the costs associated with making such improvements. The recommendation generator 209 can prioritize improving the carbon efficiency metric and / or carbon over the costs associated with the improvements (e.g., over the cost-benefit analysis) based on the preferences. As a result, the recommendation generator 209 can provide recommendations that are consistent with the customer's preferences. The customer's preferences can be provided in the SLA, or can be provided via input transmitted to the data processing device 202 (such as an input provided at the output device 206).
[0055] For the identified solution, the recommendation generator 209 can create a recommendation to be output to the output device 206. In some examples, the 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 message to implement the solution. The recommendation can additionally or alternatively cause the output device to generate a sound, such as an audible recommendation, an alarm, etc. In some cases, the recommendation can cause the output device to generate a visual element, such as turning on a light, etc.
[0056] Output device 206 may be an electronic device such as a computer, a phone, etc. Output device 206 may include an electronic display, a light such as a light emitting diode (LED), a speaker, etc. In this regard, output device 206 may be configured to display the recommendation, generate a visual element (such as turning on a light) in response to receiving the recommendation, generate a sound in response to receiving the recommendation, etc. In some cases, output device 206 may include a vibration element, and output device 206 may vibrate using the vibration element in response to the recommendation.
[0057] Although described as an output device, examples are not limited thereto. In this regard, output device 206 may include or be communicatively coupled to an input device, such as a mouse, keyboard, touch screen, etc. Input from a customer may be received at such an input device and may be transmitted to data processing device 202. For example, in some cases, a customer may provide input for approving or disapproving a recommendation, and data processing device 202 may implement or refrain from implementing a solution, respectively, based on the input.
[0058] In some examples, recommendation generator 209 can generate a recommendation that can be automatically implemented, for example, by data processing device 202. As an illustrative example, in response to recommendation generator 209 determining that the carbon efficiency metric can be improved by migrating the workload, data processing device 202 can implement workload migration (e.g., changing the data center via workload migration). To this end, data processing device 202 can be configured to instruct components of data center 100 (such as server 106) to offload workloads to different components of data center 100. The visual representation of workload migration 232 is shown as migrating the workload from server 106B to server 106A. In some examples, data processing device 202 can implement the workload migration in response to a customer's approval, which can be received, for example, via an input to output device 206.
[0059] As described above, the recommendation generator 209 may determine a recommendation based on identifying solutions that satisfy the rules. In some examples, the recommendation generator 209 may identify multiple different solutions that satisfy the rules. The recommendation generator 209 may combine these solutions into a single recommendation. In this regard, the recommendation may inform the implementation of multiple solutions. Additionally or alternatively, the recommendation generator 209 may prioritize the identified solutions. The recommendation generator 209 may prioritize the solutions based on a cost-benefit analysis (e.g., giving priority to solutions with greater cost benefits), based on the preferences of the customer that may be indicated in the SLA, based on ease of implementation (e.g., giving priority to solutions that do not involve adding or removing hardware over solutions that do involve adding or removing hardware), and the like. The recommendation generator 209 may determine a recommendation based on the solution with the highest priority, or may determine a recommendation that includes multiple solutions and includes an indication of their respective priorities. Figure 2 An example of a prioritized recommendation 250 for improving a carbon efficiency metric associated with a data center is shown. As shown, the prioritized recommendations can 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 based on their respective priorities. The dashed boundary of the second recommendation 254 shows that the second recommendation 254 can be optional. In this regard, in some cases, the prioritized recommendations 250 can include only the first recommendation 252, which can correspond to a solution with the highest priority.
[0060] Furthermore, while the examples described herein generally relate to solutions that affect components of the data center 100, the data processing device 202 may change its own operation based on the recommendation generator 209. For example, in response to the recommendation generator 209 determining that the carbon efficiency metric can be improved, the data processing device 202 may adjust the configurable collection rate 230 of the real-time energy monitor 208. For example, the rate may be reduced to reduce the power consumed by collecting data at the data processing device 202. In some cases, the rate may be increased to better identify changes in power consumption and / or carbon efficiency associated with the data center 100 when these changes occur. The data processing device 202 may further adjust the rate at which the data processing device updates the database 204. Reducing the update rate of the database 204 may reduce the power consumed by the data processing device 202. In some examples, the data processing device 202 may additionally or alternatively update the data in the database 204 on a more regular or less regular basis.
[0061] The time series analyzer 210 can help the recommendation generator 209 refine the recommendations determined by the recommendation generator 209. In particular, the time series analyzer 210 can determine whether the carbon efficiency metric is associated with a temporary event (e.g., whether the data center 100 is experiencing a temporary event), and the recommendation generator 209 can determine the recommendation based on the determination. In the event that the time series analyzer 210 determines that the carbon efficiency metric is associated with a temporary event, the recommendation generator 209 can prevent the recommendation from being provided to the output device 206 (e.g., not sending the recommendation), or can tailor the recommendation to the temporary event use case. For example, a recommendation to add new hardware may not be suitable for a temporary event because the timeline for purchasing and installing the hardware may exceed the duration of the event. The recommendation generator 209 can modify such a recommendation to an alternative recommendation, such as migrating the workload (if migration is available). Additionally or alternatively, the recommendation generator 209 can change the priority of solutions based on the time series analyzer 210's determination that the event is temporary. In some cases, the recommendation generator 209 can override the recommendation (e.g., prevent the recommendation from being sent) when no other alternative solutions are available. In some cases, the recommendation generator 209 may override recommendations based on configurable settings (such as settings that may be set or adjusted by the customer), which may reduce the number of recommendations that the customer receives.
[0062] The time series analyzer 210 may include a machine learning model based on time series. Examples of such machine learning models include dynamic regression models, long short-term memory (e.g., a type of recursive neural network), autoregressive integrated moving average (ARIMA) models, etc. At a high level, the time series analyzer 210 may use a machine learning model to predict whether the determined carbon efficiency metric will improve without implementing any recommendations (e.g., adding hardware or migrating workloads). In particular, the time series analyzer 210 may use a machine learning model to predict whether there are temporary events, such as seasonal events (e.g., events that occur at regular time intervals) or events with a limited duration (e.g., 6 months or less, 3 months or less, a month or less, a week or less, a day or less, etc.). In a simplified example, the machine learning model may make such predictions based on what happened around the corresponding time in a previous interval (e.g., in the last year, quarter, month, etc.). As an additional example, the machine learning model may make such predictions based on data (e.g., features) associated with the event, such as changes in power consumption of infrastructure equipment or data centers, rates of change in power consumption of infrastructure or data centers, etc.
[0063] In some cases, the time series analyzer 210 may use a time series data set 228. The time series data set 228 may include traces of data over time, such as power consumption, component utilization (e.g., resource and / or processing utilization) levels, measurements associated with hardware or workload operations on a device, or carbon efficiency metrics. The time series data set 228 may include this data at a granular level of the data center 100, a granular level of infrastructure devices within the data center 100, and the like. In addition, the time series data set 228 may include this data (e.g., traces) at a level of a specific customer, a group of customers, an entire industry, and the like. The time series data set 228 may include traces of the above data collected at regular (e.g., periodic) intervals and associated with a timestamp of the time when the data was collected. As an illustrative example, a customer's data may be tracked over a time period (such as a year) and may be stored in the time series data set 228. The time series data set 228 may be collected via an API associated with the corresponding infrastructure device from which the data is collected (e.g., via management software). The time series data set 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 different levels of granularity using the time series data set 228. In some examples, temporary events may additionally or alternatively be directly input into the time series data set 228. For example, holidays, planned maintenance and / or downtime, etc. may be stored in the time series data set 228 as temporary events.
[0064] The time series dataset 228 can be used to train a machine learning model. In this regard, the machine learning model can use traces (e.g., historical data) from the data center 100 or similar data centers (e.g., data centers within the industry or corresponding to different customers) to learn patterns of power consumption and / or carbon efficiency. Based on this learning, the model can predict whether the event is temporary (which can correspond to a peak in power consumption or carbon efficiency) or persistent. The time series analyzer 210 and / or the machine learning model can also consider directly input temporary events. For example, the machine learning model can be trained so that directly input temporary events are identified as such, or the time series analyzer 210 can overturn the machine learning model's prediction of the event being persistent based on directly input temporary events. In some cases, a model trained for one customer (e.g., a model trained on the customer's time series dataset) can be deployed for different customers, such as customers in the same industry or with similar data center requirements, to predict whether carbon efficiency metrics associated with different customers are temporary.
[0065] In some cases, the time series analyzer 210 may also predict whether the carbon efficiency metric associated with the data center 100 will fall below a threshold in the future, such as a threshold specified in a customer's SLA. In some examples, the time series analyzer 210 may make this prediction based on a duration (e.g., a quarter, 6 months, a year, etc.) (such as a defined interval) to determine whether the metric will fall below the threshold during or at the end of the duration. In some examples, the time series analyzer 210 may predict when the carbon efficiency metric will fall below the threshold (e.g., a predicted date or time period). In addition, 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 the carbon efficiency metric will fall below the threshold, the data processing device 202 may make recommendations to the customer to implement changes before the carbon efficiency metric falls below the threshold.
[0066] The time series analyzer 210 may use the time series data set 228 to make predictions about future carbon efficiency metrics. For example, the time series analyzer 210 may make the prediction based on traces of customer data, which may include workload and / or utilization data, power consumption data, carbon efficiency metric data, etc. 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 predictions. For example, using a linear regression model, the time series analyzer 210 may determine a best fit line for the customer data and use the line to predict future values of the customer data, such as future carbon efficiency metrics. The machine learning model may be the same or different from the model used to determine whether an event is temporary. The machine learning model may be trained on customer data from the time series data set 228, and the trained model may be used to predict future values of customer data, such as future carbon efficiency metrics, to determine whether and / or when the metric will fall below a threshold. Using the above techniques, the time series analyzer 210 may directly predict future carbon efficiency metrics, or may predict future power consumption and future performance, which may then be used to determine the carbon efficiency metric.
[0067] To determine recommendations for improving the future carbon efficiency metric (e.g., so that the future carbon efficiency metric meets a threshold), the recommendation generator 209 may use techniques similar to those described above, where the carbon efficiency metric is determined based on data from the real-time energy monitor 208 (e.g., the current carbon efficiency metric). However, instead of using measured power consumption, the recommendation generator 209 may use power consumption predicted by the time series analyzer 210. The recommendation generator 209 may then use the operational data 222 to determine a solution that can provide an improved carbon efficiency metric for a given level of granularity (e.g., can provide the same or better performance at lower power consumption), and the recommendation generator 209 may output a recommendation based on the solution. The recommendation generator 209 may also perform a cost-benefit analysis before outputting a recommendation.
[0068] Although some of the examples described herein relate to monitoring power consumption and providing recommendations for specific components of the data center 100, the examples are not limited thereto. Instead, in some examples, monitoring and / or recommendations for carbon efficiency may be provided at different granularity levels. For example, monitoring and / or recommendations may be performed at the level of nodes, servers, racks, containers, data centers, and the like. For example, the server 106 may be labeled at a first level of granularity, the rack may be labeled at a second level of granularity, the data center 100 may be labeled at a third level of granularity, and so on. The infrastructure tagger 211 may process the tagging components of the data center 100. As described herein, "tagging" a component of the data center 100 may refer to associating the component with a hierarchy or characteristic (e.g., a project, a business unit or department, a workload, etc.). In this regard, tagging a component may involve setting an attribute or field associated with the component in the management software. The infrastructure tagger 211 may tag components within the data center 100 based on input from a customer. For example, a customer may specify how to group components under a common or different label. Additionally or alternatively, for example, the infrastructure tagger 211 may automatically tag components based on a default tagging scheme. The default labeling scheme labels components at least at the per-device level. Visual examples of labeling are in Figure 1 It is shown using dashed lines.
[0069] More specifically, the dashed line of the storage device 108 included in the rack 102A represents tagging the storage device 108 at a first level of granularity, such as an individual device (e.g., component or resource) level. The dashed line of the box 112 represents tagging the two storage devices 108 together at a second level of granularity, such as a device group level. The dashed line of the rack 102A represents tagging each of the devices within the rack 102A (e.g., the switch 104 and the two storage devices 108) at a third level of granularity, such as a rack level. The dashed line of the box 114 may represent tagging each of the devices within the two racks 102A-B at a fourth level of granularity, such as a data center level. The infrastructure devices may be tagged via data center management software.
[0070] The power data aggregator monitor 212 can further facilitate monitoring and / or assessing the data center at different levels of granularity. As described herein, the real-time energy monitor can collect power data from individual components within the data center 100. The power data aggregator monitor 212 can aggregate power data from these components based on tags implemented by the infrastructure tagger 211. Figure 1 In the example shown, the power data aggregator 212 can aggregate power data from two storage devices 108 to create aggregated power data representing the tag represented by box 112, the power data aggregator 212 can aggregate power data from each of the devices within rack 102A to create aggregated power data representing rack-level tags of rack 102A, and the power data aggregator 212 can aggregate power data from each of the devices within the data center 100 to create aggregated power data representing data center-level tags of data center 100 (e.g., as shown in box 114).
[0071] In some examples, the recommendation generator 209 may determine recommendations at granularities corresponding to the tags and aggregated power data provided by the infrastructure tagger 211 and the power data aggregator monitor 212, respectively. For example, for rack-level tags, the recommendation generator 209 may identify solutions at the corresponding rack granularity level. More specifically, the recommendation generator 209 may identify alternative racks, including components contained within the racks, such as servers 106, switches 104, storage devices 108, etc., to replace existing racks within the data center 100. The recommendation generator 209 may identify such solutions based on the operational data 222, the solution-based architecture data 226, or a combination thereof. For example, in some examples, the solution-based architecture data 226 includes carbon efficiency data at different granularity levels, including at the solution level. In this regard, the solution-based architecture 226 may include power consumption, performance, carbon efficiency metrics, etc. for rack-based solutions, and the recommendation generator 209 may use such information to compare racks currently implemented in the data center 100 with alternative racks that can be used to replace the implemented racks.
[0072] In some examples, solution-based architecture data 226 may be manually updated to include information at a solution level (e.g., different levels of granularity). For example, data may be manually provided to database 204. In some examples, data processing device 202 may aggregate operational data 222 of components in potential solutions to construct solution-based architecture data 226. Data processing device 202 may perform such operations in an automated manner. Additionally or alternatively, for example, data processing device 202 may extract information of solution-based architecture data 226 from a private or public repository via a network connection.
[0073] In some cases, automated resource orchestrator 213 handles resource orchestration of data processing device 202. In this regard, automated resource orchestrator 213 may handle interactions between functional blocks 208-212, such as exchanging data, balancing computing resources, balancing power requirements, and so forth.
[0074] Reference now Figure 3 , according to one example, a flow chart depicting a method 300 for determining a recommendation for improving a carbon efficiency metric is shown. For purposes of illustration, Figure 1Method 300 is described with reference to system 200 of FIG. Method 300 may include method blocks 302, 304, 306, 308, and 310 (hereinafter collectively referred to as blocks 302-310), which may be performed by a processor-based system (such as data processing device 202). In particular, the operations at each of method blocks 302-310 may be performed by data processing device 202 by executing instructions stored in a machine-readable medium, as described below with reference to FIG. Figure 8 Furthermore, it should be noted that in some examples, the order in which blocks 302-310 are executed may be different from Figure 3 For example, blocks may be added or omitted, and blocks 302-310 may be performed in series, in parallel, or in a combination of series and parallel.
[0075] At block 302, data processing device 202 may determine a carbon efficiency metric associated with a data center, such as data center 100. The carbon efficiency metric may represent a carbon efficiency metric for a component or a group of components within data center 100. In this regard, the metric may be associated with a subset of infrastructure devices in data center 100, or may be associated 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 a tag, for example, via infrastructure tagger 211.
[0076] Go to Figure 4 , according to block 302 ( Figure 3 ), a flowchart depicting operations for determining a carbon efficiency metric associated with a data center is shown. Figure 3 As described, method blocks 402, 404, and 406 (hereinafter collectively referred to as blocks 402-406) may be performed by a processor-based system, such as data processing device 202. In addition, it should be noted that in some examples, the order in which blocks 402-406 are performed may be different from Figure 4 For example, blocks may be added or omitted, and blocks 402-406 may be performed in series, in parallel, or in a combination of series and parallel.
[0077] At block 402, the data processing device 202 may determine the power consumption of the infrastructure device. Figure 1 As described, the real-time energy monitor 208 of the data processing device 202 can determine the power consumption in real time or near real time. The real-time energy monitor 208 can collect the power consumption data via an API associated with the infrastructure device. The real-time energy monitor 208 can collect the power consumption data according to a configurable collection rate 230, which can be set by the customer (e.g., via an SLA, via an input to the output device 206, etc.) or can be automatically adjusted by the data processing device 202.
[0078] At block 404, the data processing device 202 may estimate the performance of the infrastructure device based on the determined power consumption. Figure 1 As described, recommendation generator 209 can estimate performance based on the determined power consumption and data in database 204, such as operational data 222, which can include a mapping of performance to power of the infrastructure device. Based on a reverse lookup of operational data 222, recommendation generator 209 can estimate the performance of the infrastructure device corresponding to the power consumption level of the device.
[0079] At block 406, the data processing device 202 may determine a carbon efficiency metric based on the estimated performance. In some examples, the recommendation generator 209 may determine the estimated performance as the carbon efficiency metric. In some examples, the recommendation generator 209 may determine the carbon efficiency metric using power consumption and performance. For example, the recommendation generator 209 may determine the carbon efficiency metric by determining a ratio of the determined power consumption to the estimated performance.
[0080] In some cases, determining a carbon efficiency metric associated with a data center involves determining a carbon efficiency metric associated with a group of infrastructure devices (such as the group tagged by infrastructure tagger 211). In some examples, determining a carbon efficiency metric associated with a group of infrastructure devices may involve repeating the operations associated with box 302, as shown by arrow 408. Arrow 204 is indicated by a dashed line as optional. The operations may be repeated after a single step or within each step (e.g., repeating the operations of box 404), after the execution of multiple steps (e.g., performing the operations of box 402, box 404, and box 606, and then repeating the process), or a combination thereof. For example, in some examples, at box 402, determining a carbon efficiency metric associated with a group of infrastructure devices involves collecting power consumption data for each device in the tagged group using real-time energy monitor 208. Box 402 may also involve power data aggregator monitor 212 aggregating the power consumption data collected for each device in the tagged group.
[0081] Return now Figure 3 At block 304, data processing device 202 may determine a recommendation to improve the carbon efficiency metric. In some examples, data processing device 202 may determine a recommendation to improve the carbon efficiency metric based on Figure 5 In some examples, data processing device 202 performs operations to determine a 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 an SLA for a customer), data processing device 202 may determine a recommendation according to block 304. In some examples, data processing device 202 determines the recommendation without considering a threshold for the carbon efficiency metric.
[0082] Go to Figure 5 , according to block 304 ( Figure 3 ), a flowchart depicting operations for determining recommendations for improving carbon efficiency metrics is shown. Method blocks 502, 504, and 506 (hereinafter collectively referred to as blocks 502-506) may be performed by a processor-based system, such as data processing device 202. In addition, it should be noted that in some examples, the order in which blocks 502-506 are performed may be different from Figure 5 For example, blocks 502-506 may be performed in series, in parallel, or in a combination of series and parallel. More specifically, in some examples, Figure 5 The operations associated with the blocks may be performed in response to the conditions being met, as described in more detail below.
[0083] At block 502, data processing device 202 may identify a solution that satisfies the rule to determine a recommendation. The solution may involve migrating a 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 so on. In some examples, the rule to be satisfied by the solution is that the solution achieves the same or better performance as the estimated performance with less power consumption than the determined power consumption. Figure 1 As described, the recommendation generator 209 of the data processing device 202 can identify solutions that satisfy the rules (e.g., rule-based solutions) based on information in the database 204 (such as the operational data 222, the solution-based architecture data 226, the customer's SLA, etc.). As further described herein, in some cases, the recommendation generator 209 can determine the recommended solutions at different levels of granularity, such as the granularity corresponding to the tag and aggregated power data provided by the infrastructure tagger 211 and the power data aggregator monitor 212, respectively.
[0084] In some cases, the recommendation generator 209 may overturn a recommendation in response to determining that no solution satisfies the rule. As discussed in more detail below, the overturned recommendation may be prevented from being output to the output device 206 or being implemented. In some cases, the recommendation generator 209 may generate a recommendation that informs the client that no current solution satisfies the rule.
[0085] At block 504, data processing device 202 may perform a cost-benefit analysis to determine a recommendation. In some cases, the cost-benefit analysis may be performed at block 504 in response to successfully identifying a solution at block 502. To this end, the cost-benefit analysis may be performed in response to the recommendation not being overturned at block 502.
[0086] In some cases, the recommendation generator 209 of the data processing device 202 may perform a cost-benefit analysis using the capital expenditures and operating expenditures associated with the solution identified at block 502. In particular, the recommendation generator 209 may determine whether the operational cost reduction estimated to be achieved by the solution offsets the capital expenditure associated with implementing the solution based on the solution's architectural data 226 and the power cost data 224. In some cases, performing the cost-benefit analysis may involve determining a recommendation based on cooling costs associated with implementing the solution, which may be determined based on the power cost data 224, for example.
[0087] In some cases, the recommendation generator 209 may override the recommendation in response to determining that the costs of implementing the solution exceed the benefits. For example, the recommendation generator 209 may override the recommendation in response to determining that the reduction in operating costs does not offset the capital expenditure of the solution or is not offset by the capital expenditure by a certain margin (e.g., based on a break-even or percentage price difference). As discussed in more detail below, the overturned recommendation may be prevented from being output to the output device 206 or from being implemented. In some cases, the recommendation generator 209 may generate a recommendation that informs the customer that the identified solution does not pass the cost-benefit analysis.
[0088] At block 506, the data processing device 202 may predict whether the carbon efficiency metric is associated with a temporary event to determine a recommendation. A temporary event may be a seasonal event, an event of limited duration, a planned or scheduled event such as a scheduled maintenance day, or the like.
[0089] In some cases, the prediction of whether the carbon efficiency metric is associated with the temporary event can be performed at block 506 in response to a cost-benefit analysis that the benefits outweigh the costs (e.g., the reduction in operating costs offsets the capital expenditure). To this end, the cost-benefit analysis can be performed in response to the recommendation not being overturned at block 504. In other cases, the data processing device 202 can make the prediction regardless of the results of the cost-benefit analysis performed at block 504.
[0090] In some examples, data processing device 202 may be configured to: Figure 6 The operations shown are used to predict whether the carbon efficiency metric is associated with a temporary event.
[0091] Go to Figure 6 , according to block 506 ( Figure 5), a flowchart depicting operations for predicting whether a carbon efficiency metric is associated with a temporary event is shown. Method blocks 602, 604, and 606 (hereinafter collectively referred to as blocks 602-606) may be performed by a processor-based system, such as data processing device 202. In addition, it should be noted that in some examples, the order in which blocks 602-606 are executed may be different from Figure 6 For example, blocks may be added or omitted, and blocks 602-606 may be performed in series, in parallel, or in a combination of series and parallel.
[0092] At box 602, the data processing device 202 can track relevant data (e.g., track a time series data set) over a time period. The relevant data can include power consumption, performance, component utilization (e.g., resource and / or processing utilization) levels, measurements associated with hardware or workload operations on a device, or carbon efficiency metrics associated with one or more infrastructure devices in the data center 100. The relevant data can also include temporary events that are directly input, such as temporary events scheduled by a customer or a data center manager. For example, in some cases, the relevant data can include a schedule or calendar of holidays. The relevant data can correspond to data from the data center 100 for which the recommendation is generated (e.g., the customer's data center), data from another data center associated with the customer, data from a data center associated with another customer, data associated with the customer's industry, etc.
[0093] Tracking data may involve tracking the values of the relevant data over time using a time series analyzer 210 of the data processing device. For example, the time series analyzer 210 may determine the values of the relevant data after regular intervals within a time period, and may associate these values with a timestamp corresponding to the time when the value was determined. The time period may be several months, a year, multiple years, etc. The time series analyzer 210 may determine the value based on data manually collected from the device and input to the data processing device 202 and / or via an API associated with the corresponding infrastructure device from which the data was collected (e.g., via management software). In some examples, the time series analyzer 210 may store the tracking data in the database 204 as a time series data set 228.
[0094] At block 604, the data processing device 202 may train a machine learning model based on the tracking data. The machine learning model may be a dynamic regression model, a long short-term memory (e.g., a type of recursive neural network), an autoregressive integrated moving average (ARIMA) model, etc. Training the machine learning model may involve providing a first set of tracking data to the model as a training set, and providing a different second set of tracking data to the model as a test set. In addition, in some cases, a third set of tracking data may be used as a validation set for the model. In addition, training the machine learning model may involve training the machine learning model to identify discrete outputs based on a time series data set, such as an output indicating whether an event is "temporary" or "persistent", an output indicating whether the question of whether the event is temporary is "true" or "false", etc. Additionally or alternatively, training the machine learning model may involve training the machine learning model to predict the value of relevant data (including but not limited to performance, power consumption, and / or carbon efficiency metrics) after a temporary duration (e.g., after several hours, days, weeks, months, etc.). In some cases, the machine learning model may make predictions based on a predefined duration, which the customer may indicate as "temporary".
[0095] In some examples, a machine learning model can be trained for one data center or customer and then can be deployed for different similar data centers or users. For example, a machine learning model trained on a time series dataset 228 associated with a first customer can be used to make predictions for a second customer. Similar data centers or customers can be similar to the data center or customer for which the machine learning model was originally trained, because similar data centers or customers can include similar infrastructure equipment, serve similar purposes (e.g., operate in similar industries), have similar requirements, and so on.
[0096] At block 606, the data processing device 202 may use the trained machine learning model to predict whether the carbon efficiency metric is associated with a temporary event. In some examples, using the machine learning model may involve inputting data associated with the event, such as power consumption data, performance data, carbon efficiency metric data, etc. associated with one or more infrastructure devices in the data center 100. Date information (e.g., 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 data set 228 as data on which the machine learning model is not trained. Under some examples, the trained machine learning model may provide an output indicating whether the event is temporary (e.g., an output indicating "temporary" or "ongoing", an output indicating whether the question of whether the event is temporary is "true" or "false", etc.). In some examples, the trained machine learning model may provide a prediction of future performance, power consumption, and / or carbon efficiency metrics after a temporary duration (e.g., a predefined duration indicated by a customer as "temporary"), and the data processing device 202 may determine that the event is temporary based on the predicted value being lower (e.g., less than) the corresponding current value.
[0097] In some examples, the recommendation generator 209 can override the recommendation in response to determining that the carbon efficiency metric is associated with a temporary event. For example, the recommendation generator 209 can determine that it is not worthwhile to implement the solution in this case (e.g., not worthwhile in practice, or not feasible in terms of cost-benefit analysis, etc.) because the carbon efficiency metric can be improved when the event is over regardless of whether the solution is implemented. Therefore, the recommendation generator 209 can prevent the recommendation from being output to the output device 206 or being implemented.
[0098] Alternatively, in response to determining that the carbon efficiency metric is associated with the temporary event, the recommendation generator 209 can generate a recommendation to inform the customer that the carbon efficiency metric is associated with the temporary event. Additionally or alternatively, the recommendation generator 209 can adjust the recommendations output to the output device 206 based on the prediction. For example, as described below, in the event that multiple solutions are identified at block 502, the recommendation generator 209 can adjust the priority of the identified solutions.
[0099] In some cases, the recommendation generator 209 can override a recommendation (e.g., prevent a recommendation from being sent) when a single solution is identified that is not feasible during a temporary event (e.g., installing new hardware) and no other alternative solutions are available. In some cases, the recommendation generator 209 can override a recommendation based on a configurable setting (such as a setting that can be set or adjusted by the customer), which can reduce the number of recommendations that the customer receives. For example, the customer can set the setting so that recommendations are not provided for temporary events.
[0100] In some examples, blocks 602 and 604 can be performed as part of initializing a machine learning model, and once the machine learning model is initialized, Figure 5 Predicting whether the carbon efficiency metric is associated with a temporary event at box 506 may involve using the trained machine learning model at box 606 to predict whether the carbon efficiency metric is associated with a temporary event. In other examples, the machine learning model may be continuously trained and / or retrained on the tracking data. In this regard, the time series analyzer 210 may continue to track relevant data from the data center 100 as it operates, and may thus update the time series dataset 228 with more current data over time. At box 604, the time series analyzer 210 may further retrain the machine learning model using the latest tracking data in the time series dataset 228. Thus, the predictions of the machine learning model may be continuously (e.g., iteratively) refined.
[0101] return Figure 5 Although not shown, operations for determining recommendations may also involve determining a priority of solutions when multiple solutions are identified at block 502. Priority may be determined at any combination of blocks 502-506. In some examples, block 502 may involve determining a priority of the identified solutions based on, for example, customer preferences (e.g., SLA preferences), ease of implementation of the solutions (e.g., prioritizing solutions that do not involve adding or removing hardware over those that do), an expected carbon efficiency metric and / or performance-to-power ratio of the solutions (e.g., prioritizing solutions that are expected to provide the greatest performance at the lowest power), etc. The recommendation generator 209 may determine recommendations based on the solutions with the highest priority, or may determine solutions based on a prioritized list of solutions (e.g., recommending each of the solutions in a ranked order based on priority).
[0102] Additionally or alternatively, the recommendation generator 209 may prioritize the identified solutions based on the cost-based analysis of block 504. For example, the recommendation generator 209 may prioritize solutions that have a greater capital expenditure offset through reduced operating costs over solutions that have a lower offset. In some examples, the identified solutions are not prioritized at block 502, but are prioritized at block 504 (e.g., based on a cost-benefit analysis). In other examples, the identified solutions may be prioritized at block 502, and the prioritization may be adjusted at block 504.
[0103] The recommendation generator 209 may also prioritize the identified solutions based on the predictions of box 506. For example, based on the prediction that the carbon efficiency metric is associated with a temporary event, the recommendation generator 209 may prioritize solutions that can be implemented faster than other solutions, such as prioritizing migrating workloads over adding or removing hardware. Based on the 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 boxes 502 and 504. To this end, in some examples, solutions are not prioritized at boxes 502 and / or boxes 504, but are prioritized at boxes 506. In other examples, the identified solutions may be prioritized at boxes 502 and / or boxes 504, and the prioritization may be adjusted at box 506.
[0104] Now return to Figure 3 At block 306, data processing device 202 may determine whether the determined recommendation has been overturned. As described above, recommendation generator 209 may overturn the recommendation in response to determining at block 502 that no solution satisfies the rule, in response to determining that the cost of implementing the solution exceeds the benefit, in response to determining that the carbon efficiency metric is associated with a temporary event, etc. If at block 306, data processing device 202 determines that the recommendation has not been overturned, data processing device 102 may continue to provide and / or implement the recommendation at block 308. On the other hand, if data processing device 202 determines that the recommendation has been overturned, at block 310, data processing device 102 may continue to overturn the recommendation.
[0105] At block 308, data processing device 202 may provide the recommendation by providing the recommendation to output device 206. In some examples, recommendation generator 209 may determine (e.g., at block 304) a recommendation that, when provided to output device 206, causes output device 206 to generate a visual element (e.g., display a message, flash a light, etc.), an audio element (e.g., generate a sound or an alarm), or a combination thereof.
[0106] In some cases, the recommendation generator 209 may determine (e.g., at block 304) a recommendation that, for example, may be automatically implemented by the data processing device 202. Thus, the data processing device 202 may implement the recommendation by adjusting the operation of the data processing device 202 itself or of infrastructure devices of the data center 100 in response to the determination of the recommendation. For example, the data processing device 202 may adjust the collection rate of the real-time energy monitor 208, adjust the frequency at which data in the database 204 is updated, etc. in response to the recommendation. Additionally or alternatively, the data processing device 202 may implement the recommendation without requiring physical intervention in the data center 100. As an illustrative example, in response to the recommendation generator 209 determining a carbon efficiency metric by migrating workloads, the data processing device 202 may implement workload migration. To this end, the data processing device 202 may be configured to instruct a component of the data center 100 (such as the server 106) to offload workloads to different components in the data center 100. In some examples, data processing device 202 may implement a recommendation, such as a recommendation for workload migration, in response to a customer's approval, which may be received via an input to output device 206 .
[0107] At block 310, data processing device 202 may override the recommendation. As described herein, overriding the recommendation may involve preventing the recommendation from being provided to output device 206. Data processing device 202 may also prevent the recommendation from being implemented at data processing device 202.
[0108] Reference now Figure 7 , according to one example, a flow chart depicting a method 700 for determining recommendations for improving future carbon efficiency metrics is shown. For illustration purposes, Figure 1 Method 700 is described with reference to system 200 of FIG. 700. Method 700 may include method blocks 702, 704, and 706 (hereinafter collectively referred to as blocks 702-706), which may be performed by a processor-based system (such as data processing device 202). In particular, the operations at each of method blocks 702-706 may be performed by data processing device 202 by executing instructions stored in a machine-readable medium, as described below with reference to FIG. Figure 8 In addition, it should be noted that in some examples, the order in which blocks 702-706 are executed may be different from Figure 7 For example, blocks may be added or omitted, and blocks 702-706 may be performed in series, in parallel, or in a combination of series and parallel.
[0109] At box 702, the data processing device 202 may predict whether a future carbon efficiency metric associated with the data center meets a threshold. The data processing device 202 may make this prediction within a set duration from the current date. For example, the data processing device 202 may predict whether a carbon efficiency metric six months, one year, two years, etc. from the current time meets a threshold. The data processing device 202 may make a prediction based on a predefined duration, which may be indicated by the customer (e.g., in an SLA). The data processing device 202 may predict a carbon efficiency metric corresponding to a future date, and may determine whether the predicted future carbon efficiency metric meets a threshold. Additionally or alternatively, the data processing device 202 may predict when the future carbon efficiency metric (e.g., a predicted date or time period) will fall below a threshold. In this case, the data processing device 202 will predict that the future carbon efficiency metric will fail to meet the threshold, and may determine when such a failure may occur.
[0110] To make such predictions, the data processing device 202 may use Figure 6 2 and 604. More specifically, the data processing device 202 may track the relevant data over time and may train the machine learning model based on the tracked data. The data tracked to make predictions about future carbon efficiency metrics may be the same as or different from the data tracked to predict whether the carbon efficiency metric is associated with a temporary event. In some examples, the data processing device 202 may track power consumption data, carbon efficiency metrics, workload and / or utilization data, data associated with customer requirements, such as application requirements, etc. over time, and may store the tracked data as part of the time series data set 228.
[0111] In some cases, the time series analyzer 210 of the data processing device 202 can use a statistical model (such as a linear regression model) or a machine learning model (such as a neural network) to make predictions. The machine learning model can be the same or different from the model used to determine whether the event is temporary. The machine learning model can be trained on the tracking data in the time series data set 228, and the trained model can be used to make predictions about future carbon efficiency metrics. In some examples, the machine learning model can be trained for a first customer or data center (e.g., a pre-trained model) and can then be used for a different second customer or data center.
[0112] At block 704, data processing device 202 may determine a recommendation to improve a future carbon efficiency metric associated with the data center. In some examples, data processing device 202 may perform operations associated with block 704 in response to predicting that the future carbon efficiency metric does not meet a threshold, such as a threshold indicated in a customer's SLA.
[0113] To determine the recommendation, the data processing device 202 may use Figure 5 . More specifically, the data processing device 202 may identify solutions that satisfy the rule. The data processing device 202 may also perform a cost-benefit analysis on the identified solutions. When identifying solutions, the data processing device 202 may determine whether there are any solutions that each provide the same or better performance at a lower power consumption than the expected value associated with the future carbon efficiency metric. That is, for example, the data processing device 202 may identify solutions that have an improved carbon efficiency metric compared to the future carbon efficiency metric. The data processing device 202 may perform a cost-benefit analysis on the identified solutions, such as reference Figure 5 In some examples, data processing device 202 can overrule a recommendation for improving future carbon efficiency metrics in response to a failure to identify a solution or in response to costs exceeding benefits in a cost-benefit analysis.
[0114] At block 706, the data processing device 202 may provide and / or implement the recommendation to improve future carbon efficiency metrics. The data processing device 202 may provide the recommendation to improve future carbon efficiency metrics by providing the recommendation to the output device 206, as described above with respect to Figure 3 In addition, in some examples, the data processing device 202 may, in response to determining the recommendation (e.g., at block 704), implement the recommendation by adjusting the operation of the data processing device 202 itself or an infrastructure device of the data center 100, as described above with respect to Figure 3 The data processing device 202 may provide and / or implement the recommendation in response to determining that the recommendation has not been overturned.
[0115] Although method 700 and Figure 3300, but it will be appreciated that the two methods may be combined. For example, in some examples, the operations of blocks 702-706 may be after blocks 308 and / or 310 of method 300. More specifically, in response to overturning the recommendation to improve the carbon efficiency metric at block 302, the data processing device 202 may continue to perform method 700 (e.g., continuing to predict whether the future carbon efficiency metric will meet the threshold at block 702). Additionally or alternatively, the data processing device 202 may continue to perform method 700 in response to providing and / or implementing the recommendation to improve the carbon efficiency metric. Furthermore, in some examples, the operations of method 300 and method 700 may be combined. In this case, a single output may be provided to the output device 206, and the output may include a recommendation to improve the carbon efficiency metric (e.g., the current carbon efficiency metric) and a recommendation to improve the future carbon efficiency metric, which may be the same as or different from the recommendation for the current carbon efficiency metric.
[0116] Move to Figure 8 , according to one example, a block diagram 800 depicting a data processing device 202 is shown, the data processing device including a processor 802 and a memory 804 having example instructions that facilitate the operations described herein. The memory 804 can be a machine-readable medium, can be non-transitory, and can alternatively be referred to as a non-transitory machine-readable medium 804. In some examples, the memory 804 can be accessed by the processor 802.
[0117] The memory 804 may be any electronic, magnetic, optical or other physical storage device that can store data and / or executable instructions. Thus, the memory 804 may be, for example, a RAM, an EEPROM, a storage drive, a flash memory, a CD-ROM, etc. As described in detail herein, the memory 804 may be used to execute Figure 3 300 (hereinafter collectively referred to as instructions 806-812). Although not shown, in some examples, memory 804 may be encoded with certain additional executable instructions to perform the operations of block 302 (including Figure 4 Blocks 402-406 shown), the operation of block 304 (including Figure 5 Blocks 502-506 shown), the operation of block 506 (including Figure 6 602-606), Figure 7 The method 700 shown, and / or any other operations performed by the data processing device 202, does not limit the scope of the present disclosure. For example, in some examples, the memory 804 may be encoded with executable instructions to use Figure 1The functional blocks 208-213 shown implement the methods described herein. In addition, the memory 804 may include information such as operational data 222, power cost data 224, solution-based architecture data 226, and / or time series data sets 228, such as Figure 1 As shown in database 204 in .
[0118] Processor 802 may be a physical device, such as 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 instructions 806-812 stored in memory 804, or a combination thereof. In some examples, processor 802 may fetch, decode, and execute instructions 806-812 stored in memory 804 to determine recommendations for improving a carbon efficiency metric associated with data center 100. In some examples, as an alternative or in addition to retrieving and executing instructions 806-812, processor 802 may include at least one integrated circuit (IC), other control logic, other electronic circuitry, or a combination thereof, including instructions for executing instructions intended by Figure 1 The data processing device 202 performs the functions of multiple electronic components.
[0119] Instructions 806, when executed by processor 802, may cause processor 802 to determine a carbon efficiency metric associated with data center 100. In addition, instructions 808, when executed by processor 802, may cause processor 802 to determine a recommendation to improve the carbon efficiency metric. Instructions 810, when executed by processor 802, may cause processor 802 to provide and / or implement the recommendation to improve carbon efficiency. Instructions 812, when executed by processor 802, may cause processor 802 to override the recommendation to improve the carbon efficiency metric.
[0120] Move to Fig. 9 , a block diagram depicting a computer-readable storage medium 900 having example instructions to facilitate the operations described herein is shown, according to one example. The computer-readable storage medium may be non-transitory and may alternatively be referred to as non-transitory machine-readable medium 900.
[0121] The computer-readable storage medium 900 may be any electronic, magnetic, optical, or other physical storage device that may store data and / or executable instructions. Thus, the computer-readable storage medium 900 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 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, it is understood that 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 execute instructions for executing a program. Figure 3 The operation of the method 300 includes Figure 4 Blocks 402-406 shown include Figure 5 Blocks 502-506 shown include Figure 6 As shown in boxes 602-606, Figure 7 The method 700 described in the present disclosure, and / or any other operations performed by the data processing 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 use Figure 1 The functional blocks 208-213 shown implement the methods described herein. In addition, the computer-readable storage medium 900 may include information such as operational data 222, power cost data 224, solution-based architecture data 226, and / or time series data sets 228, such as Figure 1 As shown in database 204 in .
[0122] Instructions 902 may include instructions for causing the processor to determine a carbon efficiency metric associated with a data center based on determining power consumption of infrastructure equipment of the data center and estimating performance of the infrastructure equipment based on the power consumption. Instructions 904 may include instructions for causing the processor to determine a recommendation to change the data center to improve the carbon efficiency metric based on predicting whether the carbon efficiency metric is associated with a temporary event based on a time series data set using a machine learning model (when executed by the processor). Instructions 906 may include instructions for causing the processor to provide the recommendation to an output device (when executed by the processor).
[0123] Although certain implementations have been shown and described above, various changes may be made to the form and details. For example, some features and / or functions that have been described with respect to one implementation and / or process may be relevant to other implementations. In other words, the processes, features, components, and / or properties described with respect to one implementation may be useful in other implementations. In addition, it should be understood that the systems and methods described herein may include various combinations and / or sub-combinations of the components and / or features of the different implementations described.
[0124] In the above description, many details are set forth to provide an understanding of the subject matter disclosed herein. However, implementations may be practiced without some or all of these details. Other implementations may include modifications, combinations, and variations of the above details. The following claims are intended to cover such modifications and variations.
Claims
1. A non-transitory computer readable storage medium having stored thereon executable computer program instructions which, when executed by a processor, cause the processor to: A carbon efficiency metric associated with a data center is determined based on: determining power consumption of infrastructure equipment of the data center; and estimating performance of the infrastructure equipment based on the power consumption; determining a recommendation to change the data center to improve the carbon efficiency metric based on: using a machine learning model to predict whether the carbon efficiency metric is associated with a temporary event based on a time series data set; as well as The recommendation is provided to an output device.
2. 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: The change to the data center is implemented based on the recommendation, wherein the change includes migrating a workload of the data center.
3. 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 power consumption of the infrastructure device to: Power consumption data is collected from the infrastructure devices at a configurable collection rate.
4. 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 further determine the carbon efficiency metric associated with the data center based on: determining a second power consumption of a different second infrastructure device of the data center; and A second performance of the second infrastructure device is estimated based on the second power consumption.
5. 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 further determine the recommendation based on: A different second infrastructure device is identified based on the operational data, the second infrastructure device being estimated to have a carbon efficiency metric greater than the carbon efficiency metric associated with the data center.
6. 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: It is determined that capital expenditures for the second infrastructure equipment will be offset by reductions in operating costs associated with the second infrastructure equipment.
7. The non-transitory computer-readable storage medium of claim 1, wherein the recommendation identifies a second infrastructure device as suitable for replacing the infrastructure device in the data center to improve the carbon efficiency metric.
8. 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 being migrated from the server to a different, second server in the data center to improve the carbon efficiency metric.
9. A system comprising: Processor, which is used to perform operations; as well as a memory to store data, the data including operational data associated with one or more solutions, a time series data set associated with a data center, and instructions that, when executed, cause the processor to: determining a carbon efficiency metric associated with the data center; Determining a recommendation to change the data center to improve the carbon efficiency metric based on: identifying a solution from the one or more solutions based on the carbon efficiency metric and the operational data; as well as using a machine learning model to predict whether the carbon efficiency metric is associated with a temporary event based on the time series data set; as well as The recommendation is provided to an output device.
10. The system of claim 9, wherein the instructions, when executed, cause the processor to determine the recommendation further based on: identifying a different second solution from the one or more solutions based on the operational data, The recommendation includes the solution and a priority of the second solution.
11. The system of claim 10, wherein the instructions, when executed, cause the processor to determine the recommendation further based on: The priorities of the solution and the second solution are determined in response to determining that the carbon efficiency metric is associated with a temporary event.
12. 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.
13. 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 time period.
14. The system of claim 9, wherein the time series data set comprises a trace of past carbon efficiency metrics associated with different data centers over a time period.
15. The system of claim 9, wherein the instructions, when executed by the processor, further cause the processor to: The recommendation is provided to the output device in response to predicting that the carbon efficiency metric is not associated with a temporary event.
16. The system of claim 9, wherein the instructions, when executed, further cause the processor to: modifying the recommendation in response to predicting that the carbon efficiency metric is not associated with a temporary event; and The recommendation is provided to the output device in response to modifying the recommendation.
17. A method comprising: The current carbon efficiency metrics for infrastructure equipment in heterogeneous data centers are determined based on: determining power consumption of the infrastructure equipment; as well as estimating performance of the infrastructure equipment based on the power consumption; determining a recommendation to change the heterogeneous data center to improve the current carbon efficiency metric based on: identifying a solution from the one or more solutions based on the current carbon efficiency metric and operational data associated with the one or more solutions; as well as The recommendation to improve the current carbon efficiency metric is provided to an output device.
18. The method of claim 17, wherein the operational data comprises a map associated with the infrastructure equipment, and wherein estimating the performance comprises estimating the performance further based on the map.
19. The method of claim 17, wherein identifying the solution comprises: A determination is made based on the operational data that a carbon efficiency metric associated with the solution is greater than the current carbon efficiency metric.
20. The method of claim 17, further comprising: predicting whether a future carbon efficiency metric associated with the heterogeneous data center will meet a threshold based on the time series data set associated with the heterogeneous data center; determining a second recommendation to change the heterogeneous data center to improve the future carbon efficiency metric; as well as The second recommendation is provided to the output device.