Machine learning of relationships between ambient air temperature and power consumption

By analyzing inlet air temperature data through machine learning models, the optimal ambient temperature and power requirements for data center network equipment are automatically determined, solving the uncertainty problem for network administrators when configuring ambient temperature and realizing precise power management and energy efficiency improvement in data centers.

CN121996048APending Publication Date: 2026-05-08JUNIPER NETWORKS INC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
JUNIPER NETWORKS INC
Filing Date
2025-11-05
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

In data centers, network administrators often struggle to accurately determine the ambient temperature configuration for network devices, leading to power consumption uncertainty and potential power waste or shortages. Traditional methods that rely on external weather conditions to configure ambient temperature are prone to errors.

Method used

By analyzing historical ingress air temperature data of network devices through machine learning models, the system automatically determines and recommends the optimal ambient temperature for each network device. Combined with the current business load to estimate power demand, it generates a total estimated power usage value and provides a precise power management solution.

Benefits of technology

It enables more accurate power prediction, reduces power waste and power outages, improves data center energy efficiency, and reduces operating costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121996048A_ABST
    Figure CN121996048A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to machine learning of a relationship between ambient air temperature and power consumption. Example apparatus and techniques are described. An example apparatus includes one or more processors and one or more memories storing instructions. When executed, the instructions cause the one or more processors to determine a respective configuration ambient temperature for each of the plurality of network devices. The instructions cause the one or more processors to determine a respective current traffic load on each of the plurality of network devices. The instructions cause the one or more processors to determine, for each of the plurality of network devices and based on a respective configuration ambient temperature and a respective current traffic load, a respective estimated power usage value. The instructions cause the one or more processors to sum the respective estimated power usage values to generate a total estimated power usage value and output a representation of the total estimated power usage value.
Need to check novelty before this filing date? Find Prior Art

Description

Cross-references to related applications

[0001] This application claims the benefit of U.S. Patent Application No. 19 / 341,916, filed September 26, 2025, entitled “MACHINE LEARNING OF RELATIONSHIP BETWEEN AMBIENT AIR TEMPERATURE AND POWER CONSUMPTION”, and Indian Provisional Patent Application No. 202441085971, filed November 8, 2024, entitled “MACHINE LEARNING OF RELATIONSHIP BETWEEN AMBIENT AIR TEMPERATURE AND POWER CONSUMPTION”, the entire contents of each of which are incorporated herein by reference. Technical Field

[0002] This disclosure relates to computer network facilities that use electricity. Background Technology

[0003] In a typical cloud data center environment, there exists a large collection of interconnected servers providing computing and / or storage capacity to run a variety of applications. For example, a data center may include facilities that host applications and services for subscribers (e.g., customers of the data center). A data center may, for example, host all infrastructure equipment such as networking and storage systems, redundant power supplies, and environmental controls. In a typical data center, clusters of storage servers and application servers (compute nodes) are interconnected via a high-speed switching fabric provided by one or more layers of physical network switches and routers. More complex data centers provide user support facilities located in various physical host facilities for infrastructures spread across the globe.

[0004] As data centers become larger, their energy consumption increases. Some large data centers require high power (e.g., around 100 megawatts), enough to power a large number of homes (e.g., around 80,000). Data centers also run computationally and data-intensive application workloads, such as cryptography and machine learning applications, which consume significant amounts of energy. With this increased energy consumption, both data center customers and data center providers themselves are becoming more concerned about the efficient use of power. Summary of the Invention

[0005] Generally, techniques for power management of network devices are described. Specifically, techniques for determining the recommended chassis ambient temperature (e.g., recommended maximum operating temperature) for network devices and for power estimation based on ambient temperature using machine learning are described. Network devices typically have a maximum operating temperature that can be set by a network administrator, which may sometimes be referred to as the ambient temperature. The maximum fan speed can be determined by configuring the ambient temperature. As the fan speed increases, the device's power consumption also increases. At higher temperatures, the device typically consumes more power because the fan must run at a higher speed to keep the chassis temperature within set limits (e.g., below the maximum operating temperature).

[0006] Traditionally, administrators monitor external weather temperatures and adjust the ambient temperature of network devices accordingly. If administrators forget or neglect to configure the ambient temperature based on external conditions, the network may waste power. This is especially concerning when the external temperature is significantly lower than the currently configured ambient temperature.

[0007] Furthermore, because the power consumption of network devices and the network as a whole is affected by ambient temperature, network administrators often struggle to allocate appropriate amounts of power without knowing the power requirements associated with different environmental settings. Traditionally, network administrators can often rely on external weather conditions to determine the appropriate ambient temperature for each network device in a network configuration. However, once such ambient temperature values ​​are established, network administrators may still be unsure how that configuration will affect power consumption. This uncertainty can lead to over- or under-booking of power at the grid, resulting in wasted energy and increased costs, or conversely, power shortages in traditional networks.

[0008] The technology disclosed herein can determine the recommended ambient temperature for network equipment and / or estimate power requirements related to current business loads based on (multiple) ambient temperatures. Therefore, the technology disclosed herein can provide specific improvements to computer-related fields of power management for computer networks and data centers that may have one or more practical applications. For example, when the cool air supplied to a data center or other network facility has a low temperature, such a technology can reduce power consumption compared to conventional data center power facilities by lowering the ambient temperature and thereby reducing the fan speed of the equipment. Such a technology can also lead to power savings (reduction in power waste) and / or reduction in (multiple) power outages or (multiple) power drops at the data center or other network facility by enabling more accurate prediction of the actual power demand of the data center or other network facility. Therefore, network equipment in a data center or facility employing the technology disclosed herein can be more energy-efficient and consume less power than conventional network equipment.

[0009] In one example, this disclosure describes a computing device including one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the one or more processors to: determine a corresponding configuration ambient temperature for each of a plurality of network devices; determine a corresponding current traffic load on each of the plurality of network devices; determine a corresponding estimated power usage value for each of the plurality of network devices and based on the corresponding configuration ambient temperature and the corresponding current traffic load; generate a total estimated power usage value based at least in part on the corresponding estimated power usage value; and output a representation of the total estimated power usage value.

[0010] In another example, this disclosure describes a method comprising: determining, by one or more processors, a corresponding configuration ambient temperature for each of a plurality of network devices; determining, by the one or more processors, a corresponding current service load on each of the plurality of network devices; determining, by the one or more processors, for each of the plurality of network devices and based on the corresponding configuration ambient temperature and the corresponding current service load, a corresponding estimated power usage value; generating, by the one or more processors, a total estimated power usage value based at least in part on the corresponding estimated power usage value; and outputting, by the one or more processors, a representation of the total estimated power usage value to an output device.

[0011] In another example, this disclosure describes a computer-readable medium storing instructions that, when executed, cause one or more processors to: determine a corresponding configuration ambient temperature for each of a plurality of network devices; determine a corresponding current traffic load on each of the plurality of network devices; determine a corresponding estimated power usage value for each of the plurality of network devices and based on the corresponding configuration ambient temperature and the corresponding current traffic load; generate a total estimated power usage value based at least in part on the corresponding estimated power usage value; and output a representation of the total estimated power usage value.

[0012] Details of one or more examples of this disclosure are set forth in the accompanying drawings and the following description. Other features, objects, and advantages will be apparent from the specification, the drawings, and the claims. Attached Figure Description

[0013] Figure 1 This is a block diagram illustrating an example network system with computing infrastructure in which the technologies described herein can be implemented.

[0014] Figure 2 This is a block diagram illustrating an example computing device based on the technology described herein.

[0015] Figure 3 This is a block diagram of an example data center.

[0016] Figure 4 This is a block diagram of an example system for determining a recommended chassis ambient temperature according to one or more aspects of this disclosure.

[0017] Figure 5 It is a block diagram illustrating the inputs and outputs of a machine learning model according to one or more aspects of this disclosure.

[0018] Figure 6 This is a flowchart illustrating an example operation for generating a recommended chassis ambient temperature according to one or more aspects of this disclosure.

[0019] Figure 7 This is a conceptual diagram illustrating an example of the power usage of a network equipment rack over time in relation to ambient temperature.

[0020] Figure 8 This is a conceptual diagram illustrating example power usage over time of a network equipment rack in relation to ambient temperature, according to one or more aspects of this disclosure.

[0021] Figures 9A-9B This is a flowchart illustrating an example operation for estimating power consumption based on ambient temperature using machine learning techniques, according to one or more aspects of this disclosure.

[0022] Figure 10 This is a flowchart illustrating an example operation for estimating ambient temperature according to one or more aspects of this disclosure.

[0023] Figure 11 This is a flowchart illustrating an example operation for estimating network power consumption according to one or more aspects of this disclosure.

[0024] Throughout the specification and drawings, the same reference numerals denote the same components. Detailed Implementation

[0025] Figure 1This is a block diagram illustrating an example network system 8 with computing infrastructure in which the technologies described herein can be implemented. Typically, data center 10 provides an operating environment for one or more customer sites 11 (illustrated as "Customer 11") having one or more customer networks coupled to the data center via a service provider network 7. Data center 10 may, for example, host infrastructure equipment such as networking and storage systems, redundant power supplies, and environmental controls. Service provider network 7 is coupled to a public network 4, which may represent one or more networks managed by other providers and thus may form part of a large-scale public network infrastructure (e.g., the Internet). Public network 4 may represent, for example, a local area network (LAN), a wide area network (WAN), the Internet, a virtual LAN (VLAN), an enterprise LAN, a Layer 3 virtual private network (VPN), an Internet Protocol (IP) intranet operated by the service provider operating service provider network 7, an enterprise IP network, or some combination thereof.

[0026] While customer site 11 and public network 4 are primarily shown and described as edge networks of service provider network 7, in some examples, one or more of customer site 11 and public network 4 may be tenant networks within data center 10 or another data center. For example, data center 10 may host multiple tenants (customers), each associated with one or more virtual private networks (VPNs), each VPN potentially implementing one customer site within customer site 11.

[0027] Service provider network 7 provides packet-based connectivity to affiliated customer sites 11, data centers 10, and public network 4. Service provider network 7 can represent a network owned and operated by a service provider to interconnect multiple networks. Service provider network 7 can implement Multiprotocol Label Switching (MPLS) forwarding and in this case can be referred to as an MPLS network or MPLS backbone. In some cases, service provider network 7 represents multiple interconnected autonomous systems, such as the Internet, that provide services from one or more service providers.

[0028] In some examples, data center 10 can represent one of many geographically distributed network data centers. For example... Figure 1As illustrated, data center 10 can be a facility that provides network services to customers. The customers of the service provider can be collective entities such as businesses and governments or individuals. For example, a network data center can provide network services to a number of businesses and end users. Other exemplary services may include data storage, virtual private networks, business engineering, file services, data mining, scientific computing, or supercomputing. Although illustrated as a separate edge network of service provider network 7, components of data center 10, such as one or more physical network functions (PNFs) or virtualized network functions (VNFs), may be included within the core of service provider network 7.

[0029] In this example, data center 10 includes storage and / or compute servers interconnected via a switching fabric 14 provided by one or more layers of physical network switches and routers to servers 12A-12X (referred to herein as "server 12") depicted as coupled to top-of-rack (TOR) switches 16A-16N. Server 12 may also be referred to herein as a "host" or "host device". Data center 10 may include numerous additional servers coupled to other TOR switches 16 of data center 10. Server 12 and TOR switches 16 may be deployed across multiple racks ( Figure 1 (Not shown in the text)

[0030] The switching structure 14 in the example shown includes interconnected top-of-rack (or other "leaf") switches 16A-16N (collectively referred to as "TOR switches 16"), which are coupled to a distribution layer of chassis (or "spine" or "core") switches 18A-18M (collectively referred to as "chassis switches 18"). Although not shown, data center 10 may also include, for example, one or more non-edge switches, routers, hubs, gateways, security devices such as firewalls, intrusion detection and / or intrusion prevention devices, servers, computer terminals, laptops, printers, databases, wireless mobile devices such as cellular phones or personal digital assistants, wireless access points, bridges, cable modems, application accelerators, or other network devices.

[0031] In this example, TOR switch 16 and chassis switch 18 provide redundant (multihomed) connectivity to server 12 to IP fabric 20 and service provider network 7. Chassis switch 18 aggregates traffic and provides connectivity between TOR switches 16. TOR switch 16 may be a network device providing Layer 2 (MAC) and / or Layer 3 (e.g., IP) routing and / or switching capabilities. TOR switch 16 and chassis switch 18 may each include one or more processors and memory, and may execute one or more software processes. Chassis switch 18 is coupled to IP fabric 20, which may perform Layer 3 routing to route network traffic between data center 10 and customer site 11 via service provider network 7. The switching architecture of data center 10 is merely an example. Other switching architectures may have more or fewer switching layers, for example.

[0032] Each server 12 may be a compute node, application server, storage server, or other type of server. For example, each of the servers 12 may represent a computing device configured to operate according to the techniques described herein, such as an x86 processor-based server. Server 12 may provide Network Functions Virtualization Infrastructure (NFVI) for a Network Functions Virtualization (NFV) architecture.

[0033] Server 12 hosts endpoints for one or more virtual networks that operate on the physical network represented here by IP structure 20 and switching structure 14. Although described primarily in the context of a data center-based switching network, other physical networks such as service provider network 7 may support one or more virtual networks.

[0034] In some examples, each of servers 12 may include at least one network interface card (NIC) among NICs 13A-13X (collectively referred to as "NIC 13"), each NIC 13A-13X including at least one port for exchanging packets via the port to send and receive packets over a communication link. For example, server 12A includes NIC 13A. NIC 13 provides connectivity between the server and the switching fabric. In some examples, NIC 13 includes additional processing units within the NIC itself to offload at least some processing from the main CPU (e.g., the CPU of the server including the NIC) to the NIC, such as for enforcing policies and other advanced functions, referred to as a "data path".

[0035] In some examples, each NIC 13 provides one or more virtual hardware components for virtualized input / output (I / O). The virtual hardware components for I / O can be virtualizations of the physical NIC 13 (“physical functions”). For example, in Single Root I / O Virtualization (SR-IOV) as described in the Peripheral Component Interconnect Professional Organization SR-IOV specification, the PCIe physical functions of a network interface card (or “network adapter”) are virtualized to present one or more virtual network interface cards as “virtual functions” for use by corresponding endpoints executing on server 12. In this way, virtual network endpoints can share the same PCIe physical hardware resources, and the virtual function is an example of a virtual hardware component. As another example, one or more servers 12 may implement Virtio, a paravirtualization framework available for, for example, Linux operating systems, which provides emulated NIC functions as types of virtual hardware components. As yet another example, one or more servers 12 may implement Open vSwitch to perform distributed virtual multi-tier switching between one or more virtual NICs (vNICs) used to host virtual machines, where such vNICs can also represent types of virtual hardware components. In some examples, the virtual hardware component is a virtual I / O (e.g., NIC) component. In some cases, the virtual hardware component is an SR-IOV virtual function and can provide SR-IOV with direct procedural userspace access based on the Data Plane Development Kit (DPDK).

[0036] In some examples, including Figure 1 As shown in the example, one or more NICs 13 may include multiple ports. NICs 13 may be connected to each other via the ports and communication links of NICs 13 to form a NIC structure 23 with a NIC structure topology. NIC structure 23 is a collection of NICs 13 connected to at least one other NIC 13.

[0037] In some examples, NIC 13 each includes a processing unit to offload aspects of the data path. The processing unit in the NIC may be, for example, a multi-core ARM processor with hardware acceleration provided by a data processing unit (DPU), a field-programmable gate array (FPGA), and / or an ASIC. Alternatively, NIC 13 may be referred to as a SmartNIC or a GeniusNIC.

[0038] The edge service controller 28 can partially orchestrate services executed by the processing unit 25 (e.g., such as...) Figure 2The services shown (233) manage the operation of the edge service platform within NIC 13; deploy the application programming interface (API) driven services 233 on NIC 13; add, delete, and replace NIC 13 within the edge service platform; monitor services 233 and other resources on NIC 13; and manage the connections between various services 233 running on NIC 13.

[0039] Edge service controller 28 can transmit information describing the services available on NIC 13, the topology of NIC architecture 13, or other information about the edge service platform to an orchestration system (not shown) or network controller 24. Example orchestration systems include OpenStack, VMware's vCenter, or Microsoft's System Center. Example network controller 24 includes a controller for JUNIPER NETWORKS or Tungsten Fabric's Contrail. Additional information regarding the cooperative operation of network controller 24 with other devices or other software-defined networks of data center 10 can be found in International Application No. PCT / US2013 / 044378, entitled “PHYSICAL PATH DETERMINATION FOR VIRTUAL NETWORK PACKETFLOWS”, filed June 5, 2013; and in U.S. Patent No. 9,571,394, entitled “TUNNELED PACKET AGGREGATION FOR VIRTUAL NETWORKS”, granted February 14, 2017, each of which is incorporated herein by reference as fully set forth herein.

[0040] In some examples, network controller 24 can determine an estimated (e.g., predicted) ambient temperature for a network device (e.g., server 12, TOR switch 16, chassis switch 18) based on air temperature. The ambient temperature of the network device can be the highest operating temperature that can be configured to affect the fan speed of the network device. Network controller 24 can output a representation of the estimated ambient temperature of the network device. For example, network controller 24 can output the estimated ambient temperature via a user interface as a suggestion applied by an administrator to the network device, and / or can output a command to the network device to reconfigure the ambient temperature of the network device to be equal to the estimated ambient temperature.

[0041] In some examples, network controller 24 can determine a corresponding configuration ambient temperature for each of multiple network devices associated with a facility (e.g., data center 10). Network controller 24 can determine the current service load on the multiple network devices. Network controller 24 can determine estimated power usage based on the corresponding configuration ambient temperature and the current service load. Network controller 24 can output a representation of the estimated power usage to an output device such as a display device, audio device, or other type of user feedback device.

[0042] A centralized chassis thermal controller 32, which can be implemented in network controller 24, can recommend and / or control the ambient temperature of network devices within data center 10. The centralized chassis thermal controller 32 can estimate the power usage of network devices within data center 10 based on the configured ambient temperature and current business load. In some examples, the centralized chassis thermal controller 32 may include one or more machine learning models configured to perform any of the techniques disclosed herein.

[0043] exist Figure 1 In the example, data center 10 may obtain energy from one or more power sources 30 for its use. Although shown inside data center 10, it should be understood that power generation equipment for power sources 30 (e.g., power plants, solar panels, wind turbines, etc.) may be located outside data center 10.

[0044] Figure 2 This is a block diagram illustrating an example computing device based on the technology described herein. Figure 2 The computing device 200 may represent a network controller 24, an edge service controller 28, or may represent Figure 1 This is an example of any server 12. In this example, computing device 200 includes a bus 242 that couples hardware components of the computing device 200 hardware environment. Bus 242 couples an SR-IOV-enabled NIC 230, a storage disk 246, and a microprocessor 210. In some cases, the front-side bus may couple the microprocessor 210 and a memory device 244. In some examples, bus 242 may couple the memory device 244, the microprocessor 210, and the NIC 230. Bus 242 may represent a Peripheral Component Interface (PCI) High Speed ​​(PCIe) bus. In some examples, a Direct Memory Access (DMA) controller may control DMA transfers between components coupled to bus 242. In some examples, components coupled to bus 242 control DMA transfers between components coupled to bus 242.

[0045] Microprocessor 210 may include one or more processors, each processor including an independent execution unit (“processing core”) to execute instructions conforming to an instruction set architecture. The execution unit may be implemented as a separate integrated circuit (IC) or may be combined within one or more multi-core processors (or “many-core” processors), each of which is implemented using a single IC (i.e., a chip multiprocessor).

[0046] Disk 246 represents a computer-readable storage medium, which includes volatile and / or non-volatile, removable and / or non-removable media implemented in any method or technique for storing information such as processor-readable instructions, data structures, program modules, or other data. Computer-readable storage media include, but are not limited to, random access memory (RAM), read-only memory (ROM), EEPROM, flash memory, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic tape cassettes, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible by microprocessor 210.

[0047] Memory device 244 includes one or more computer-readable storage media, which may include random access memory (RAM), such as various forms of dynamic RAM (DRAM) (e.g., DDR2 / DDR3 SDRAM) or static RAM (SRAM), flash memory, or any other form of fixed or removable storage medium that can be used to carry or store required program code and program data in the form of instructions or data structures and is accessible by a computer. Memory device 244 provides a physical address space consisting of addressable memory locations.

[0048] Network interface card (NIC) 230 includes one or more interfaces 232 configured to exchange packets using links of the underlying physical network. Interface 232 may include a port interface card with one or more network ports. NIC 230 also includes, for example, on-card memory 227 for storing packet data. Direct memory access transfers between NIC 230 and other devices coupled to bus 242 can read from / write to memory 227.

[0049] Storage device 244, NIC 230, storage disk 246 and microprocessor 210 provide an operating environment for the software stack that executes hypervisor 214 and one or more virtual machines 228 managed by hypervisor 214.

[0050] Typically, virtual machines provide a virtualized / guest operating system for executing applications in an isolated virtual environment. Because virtual machines are virtualized from the physical hardware of the host server, the execution of applications is hardware-isolated from the host and other virtual machines.

[0051] The alternative to virtual machines is virtualized containers, such as those provided by the open-source DOCKER container application. Like virtual machines, each container is virtualized and can remain isolated from the host and other containers. However, unlike virtual machines, each container can omit a separate operating system and only provides an application suite and application-specific libraries. Containers are executed by the host as independent user-space instances and can share the operating system and common libraries with other containers running on the host. Therefore, containers may require less processing power, storage, and network resources than virtual machines. As used in this article, containers can also be referred to as virtualization engines, virtual private servers, silos, or jails. In some examples, the techniques described in this article involve containers and virtual machines or other virtualization components.

[0052] Although Figure 2 Virtual network endpoints in the context of virtual machines are illustrated and described relative to virtual machines, but other operating environments such as containers (e.g., Docker containers) can implement virtual network endpoints. Operating system kernel ( Figure 2 (Not shown in the image) can be executed in kernel space 243 and can include, for example, Linux, Berkeley Software Suite (BSD), other Unix-like kernels, or Windows server operating system kernels available from Microsoft.

[0053] Computing device 200 executes hypervisor 214 to manage virtual machines 228 in user space 245. Example hypervisors include Kernel-based Virtual Machines (KVM) for Linux kernels, Xen (available from VMware ESXi), Windows Hyper-V (available from Microsoft), and other open-source and proprietary hypervisors. Hypervisor 214 may represent a Virtual Machine Manager (VMM).

[0054] Virtual machine 228 can host one or more applications, such as Virtual Network Functions (VNFs). In some examples, virtual machine 228 can host one or more VNFs, where each VNF is configured to apply network functions to packets.

[0055] The hypervisor 214 includes a physical driver 225 that uses the physical functions 221 provided by the network interface card 230. In some cases, the network interface card 230 may also implement SR-IOV to enable the sharing of physical network functions (I / O) between virtual machines. Each port of the NIC 230 can be associated with a different physical function. Shared virtual devices (also called virtual functions) provide dedicated resources, allowing each of the virtual machines 228 (and their respective guest operating systems) to access the dedicated resources of the NIC 230, thus appearing as a dedicated NIC to each virtual machine. A virtual function can represent a lightweight PCIe function that shares physical resources with physical functions and other virtual functions. According to the SR-IOV standard, the NIC 230 can have thousands of available virtual functions, but for I / O-intensive applications, the number of configured virtual functions is typically much smaller.

[0056] Virtual machine 228 includes a corresponding virtual NIC 229 directly presented in the guest operating system of virtual machine 228, thereby providing direct communication between NIC 230 and virtual machine 228 via bus 242 using the virtual functions allocated to the virtual machine. This reduces the overhead of hypervisor 214 involved in software-based VIRTIO and / or vSwitch implementations, in which hypervisor 214 memory address space of storage device 244 stores packet data, and copying packet data from NIC 230 to hypervisor 214 memory address space and copying packet data from hypervisor 214 memory address space to virtual machine 228 memory address space consumes microprocessor 210 cycles.

[0057] NIC 230 may also include a hardware-based Ethernet bridge 234 (which may include an embedded switch). Ethernet bridge 234 can perform Layer 2 forwarding between the virtual and physical functions of NIC 230. Therefore, Ethernet bridge 234, in certain situations, provides hardware acceleration for inter-virtual machine packet forwarding and packet forwarding between the hypervisor 214 and any virtual machine via bus 242, with the hypervisor 214 accessing physical functions via physical driver 225. Ethernet bridge 234 may be physically decoupled from processing unit 25.

[0058] Computing device 200 can be coupled to a physical network switching infrastructure including an overlay network that extends the switching infrastructure from physical switches to software or "virtual" routers, including virtual router 220, coupled to physical servers. The virtual router can be a physical server (e.g., Figure 1A server 12) executes a process or thread or component thereof that dynamically creates and manages one or more virtual networks that can be used for communication between virtual network endpoints. In one example, the virtual router uses an overlay network to implement each virtual network, which provides the ability to decouple the virtual address of an endpoint from the physical address (e.g., IP address) of the server on which that endpoint executes. Each virtual network can use its own addressing and security scheme and can be considered orthogonal to the physical network and its addressing scheme. Various techniques can be used to transmit packets within and across virtual networks over the physical network. At least some of the functions of the virtual router can be performed as one of services 233.

[0059] exist Figure 2 In the example computing device 200, the virtual router 220 is executed within the hypervisor 214 that uses physical functions 221 for I / O, but the virtual router 220 may be executed within one of the hypervisor, the host operating system, the host application, the virtual machine 228 and / or the processing unit 25 of the NIC 230.

[0060] Typically, each virtual machine 228 can be assigned a virtual address for use within a corresponding virtual network, where each virtual network can be associated with a different virtual subnet provided by the virtual router 220. The virtual machine 228 may be assigned its own Layer 3 (L3) IP address, for example, for sending and receiving communications, but may not know the IP address of the computing device 200 on which the virtual machine is executing. In this way, the "virtual address" is the address of the application, which is different from the logical address of the underlying physical computer system (e.g., computing device 200).

[0061] In one implementation, computing device 200 includes a Virtual Network (VN) agent (not shown) that controls the coverage of virtual networks within computing device 200 and coordinates packet routing within computing device 200. Typically, the VN agent communicates with a virtual network controller for multiple virtual networks, which generates commands to control packet routing. The VN agent can act as a proxy for control plane messages between virtual machine 228 and a virtual network controller (e.g., controller 24). For example, a virtual machine may request to send a message via the VN agent using its virtual address, and the VN agent may then send the message and request to receive a response for the virtual address of the virtual machine that initiated the first message. In some cases, virtual machine 228 may invoke program or function calls presented by the application programming interface of the VN agent, and the VN agent may also handle message encapsulation, including addressing.

[0062] In one example, network packets, such as Layer 3 (L3) IP packets or Layer 2 (L2) Ethernet packets generated or consumed by an application example executed by virtual machine 228 within a virtual network domain, can be encapsulated within another packet (e.g., another IP or Ethernet packet) transmitted over the physical network. Packets transmitted within the virtual network may be referred to herein as “internal packets,” while physical network packets may be referred to herein as “external packets” or “tunneled packets.” Virtual router 220 can perform encapsulation and / or decapsulation of virtual network packets within physical network packets. This functionality is referred to herein as tunneling and can be used to create one or more overlay networks. Besides IP-in-IP, other example tunneling protocols that can be used include IP based on Generic Routing Encapsulation (GRE), VxLAN, GRE-based Multiprotocol Label Switching (MPLS), UDP-based MPLS, and so on.

[0063] As described above, a virtual network controller can provide a logically centralized controller to facilitate the operation of one or more virtual networks. The virtual network controller can, for example, maintain a routing information base, such as one or more routing tables storing routing information for the physical network and one or more overlay networks. The virtual router 220 of the hypervisor 214 implements Network Forwarding Tables (NFTs) 222A-222N for N virtual networks, with the virtual router 220 running the N virtual networks as tunnel endpoints. Typically, each NFT 222 stores forwarding information for the corresponding virtual network and identifies where packets will be forwarded and whether packets will be encapsulated in a tunneling protocol, for example, using a tunnel header that may include one or more headers for different layers of the virtual network protocol stack. Each NFT 222 can be an NFT for a different routing example (not shown) implemented by the virtual router 220.

[0064] The edge service platform utilizes the processing unit 25 of the NIC 230 to enhance the processing and networking capabilities of the computing device 200. The processing unit 25 includes processing circuitry 231 for executing services orchestrated by the edge service controller 28. The processing circuitry 231 can represent any combination of processing cores, ASICs, FPGAs, or other integrated circuits and programmable hardware. In one example, the processing circuitry can include a system-on-a-chip (SoC) having, for example, one or more cores, a network interface for high-speed packet processing, one or more acceleration engines for dedicated functions such as security / cryptography, machine learning, and storage, programmable logic, integrated circuits, etc. Such a SoC can be referred to as a data processing unit (DPU). The DPU can be an example of the processing unit 25.

[0065] In the example NIC 230, processing unit 25 executes operating system kernel 237 and user space 241 for services. The kernel may be a Linux kernel, Unix or BSD kernel, real-time operating system (OS) kernel, or other kernel used to manage the hardware resources of processing unit 25 and manage user space 241.

[0066] According to the technology described in this disclosure, service 233 may include networking, security, storage, data processing, collaborative processing, machine learning, or other services, such as ambient air temperature and / or power consumption services. Processing unit 25 may execute service 233 and edge service platform (ESP) agent 236 as processes and / or within virtual execution elements such as containers or virtual machines. As described elsewhere herein, service 233 may enhance the processing power of the host processor (e.g., microprocessor 210) by enabling computing device 200 to offload packet processing, security, or other operations that would otherwise be performed by the host processor.

[0067] Processing unit 25 executes Edge Services Platform (ESP) agent 236 to exchange data and control data with the edge services controller of the edge services platform. Although shown in user space 241, in some cases the ESP agent 236 may be a kernel module 237.

[0068] As an example, ESP agent 236 can collect and send telemetry data generated by service 233 to the ESP controller. This telemetry data describes services in the network (e.g., service load), availability of computing device 200 or network resources, resource availability of processing unit 25 resources (e.g., memory or core utilization), and / or resource energy usage. As another example, ESP agent 236 can receive from the ESP controller service codes for executing any of the services in service 233, service configurations for configuring any of the services in service 233, and packets or other data for injecting into the network.

[0069] Edge service controller 28 manages the operation of processing unit 25 by, for example, orchestrating and configuring services 233 executed by processing unit 25; deploying services 233; adding, deleting, and replacing NICs 230 within the edge service platform; monitoring services 233 and other resources on NICs 230; and managing connections between various services 233 running on NICs 230. Example resources on NIC 230 include memory 227 and processing circuitry 231. In some examples, edge service controller 28 may execute any technology described herein that pertains to network controller 24.

[0070] Now let's discuss chassis ambient temperature recommenders.

[0071] Network devices typically have a maximum operating temperature that can be set by the network administrator, known as the ambient temperature. The maximum fan speed can be determined and / or influenced by this temperature setting. As fan speed increases, the device's power consumption also increases. At higher temperatures, the device typically consumes more power because the fan must run at a higher speed to keep the chassis temperature within set limits (e.g., below the maximum operating temperature).

[0072] Administrators can monitor external weather temperatures and adjust the ambient temperature of devices accordingly. If administrators forget or neglect to configure the ambient temperature based on external conditions, the network may waste power. This is especially concerning when the external temperature is significantly lower than the currently configured ambient temperature.

[0073] Figure 3 This is a block diagram of an example data center. (For example...) Figure 3 As shown, data center 300 includes racks 312, 314, and 316. Rack 312 includes computing devices 302A-302C (collectively referred to as "computing devices 302"), rack 314 includes computing devices 304A-304C (collectively referred to as "computing devices 304"), and rack 316 includes computing devices 306A-306C (collectively referred to as "computing devices 306"). Each of computing devices 302, 304, and 306 can have different (or the same) ambient temperatures. For example, cold air 320 can enter data center 300 near rack 312, while hot air 322 can leave data center 300 near rack 316. Air can flow through racks 312, 314, and 316 as the initial cold air 320 is heated by the computing devices in racks 312, 314, and 316. Therefore, the air temperature at computing device 306 may be higher than the air temperature at computing device 302.

[0074] exist Figure 3 The examples show sample ambient temperatures for each computing device. These ambient temperatures can be set manually and may not change with variations in external conditions. Therefore, the set ambient temperatures may be suboptimal. In some examples, the device administrator may determine the ambient temperature for each computing device in computing devices 302, 304, and 306 based on external weather conditions and may configure the ambient temperature for each computing device in computing devices 302, 304, and 306 taking into account the thermal characteristics of each particular device.

[0075] Such practices are time-consuming, prone to human error (including forgetting), and impractical or not particularly useful when dealing with sudden changes in external temperature, such as due to storms, climate change, etc.

[0076] According to the technology disclosed herein, a network controller can automatically determine, set, or recommend an ambient temperature (e.g., for any, any combination, or all of computing devices 302A-302N) based on the inlet air temperature of the computing device. The technology of this disclosure estimates or calculates the ambient temperature by utilizing an inlet temperature sensor on the computing device chassis.

[0077] In a data center, where devices are located in different racks, the air temperature can vary depending on the rack's location. The techniques disclosed herein may include analyzing historical inlet temperature data and the configured ambient temperatures of multiple (e.g., all) computing devices to obtain or learn the optimal ambient temperature for each such computing device.

[0078] Figure 4 This is a block diagram of an example system for determining a recommended chassis ambient temperature according to one or more aspects of this disclosure. Network controller 410 may include a centralized chassis thermal controller 420, multiple machine learning models 430, and a display / user interface 440. The multiple machine learning models 430 may include one or more machine learning models trained and / or to be trained to perform any of the techniques of this disclosure. Although shown outside of the centralized chassis thermal controller 420, in some examples, the machine learning model 430 may be part of the centralized chassis thermal controller 420. The display / user interface 440 may be a display and / or user interface configured to enable users such as administrators to interact with network controller 410.

[0079] Network controller 410 can use multiple machine learning models 430 that analyze historical data of external conditions to predict the optimal ambient temperature for each of the computing devices 302, 304, and 306. By identifying patterns of change over time between inlet and ambient temperature readings, network controller 410 can estimate the corresponding preferred or ideal ambient temperature for the operation of each of the computing devices 302, 304, and 306.

[0080] For example, after estimating or learning the ambient temperature based on the inlet air temperature, network controller 410 can recommend multiple updated ambient temperatures to the network administrator. The network administrator can obtain the recommended updated ambient temperature for any of the computing devices 302, 304, and 306 when accessing the user interface of network controller 410. With the network administrator's approval, centralized chassis thermal controller 420 can adjust (e.g., reset or reconfigure) the ambient temperature of any of the computing devices 302, 304, and 306.

[0081] There may be one or more temperature sensors 450A-450E. For example, temperature sensor 450A may be an external temperature sensor located outside the data center 300. For example, temperature sensor 450A may be located outdoors. Temperature sensor 450B may be a temperature sensor located inside the data center 300 but outside the computing device. For example, temperature sensor 450B may be mounted on rack 312. Temperature sensor 450C may be located at the entrance of the computing device (e.g., computing device 302A). Temperature sensors 450D and 450E may be located at different locations within the computing device, such as computing device 302A. It should be understood that any one of these temperature sensors or any combination thereof may be present. Temperature sensors 450A-450E may be configured to sense the air temperature around the temperature sensors. Network controller 410 may use temperature readings from any one of temperature sensors 450A-450E or any combination thereof to determine the entrance temperature of a particular network device (e.g., computing device 302A).

[0082] For example, the centralized chassis thermal controller 420 can adjust the ambient temperature of each computing device (or any computing device) in computing devices 302, 304, and 306 by reducing their ambient temperature by 10°C to match a room temperature decrease of approximately 10°C. For instance, when the cold air 320 decreases by 10°C, the centralized chassis thermal controller 420 can reduce the ambient temperature of each computing device in computing devices 302, 304, and 306 by 10°C. Since the inlet air temperature in the data center 300 also decreases by 10°C, and the same air circulates around racks 312, 314, and 316, the air temperature in the racks decreases accordingly. As a result, the ambient temperature of computing devices 302, 304, and 306 decreases by 10°C.

[0083] In some cases, if an administrator allows network controller 410 to configure the ambient temperature of computing devices 302, 304, and 306 via a display / user interface 440, network controller 410 can automatically configure the estimated optimal ambient temperature for computing devices 302, 304, and 306. Thus, the technology of this disclosure enables the network to achieve power savings by dynamically adjusting the ambient temperature of network devices to adapt to room temperature. For example, a centralized chassis thermal controller 420 can learn room temperature 422 and set the optimal ambient temperature for computing devices 302, 304, and 306 based on room temperature 422. Figure 4 As the example shows, the optimal ambient temperature for different computing devices can be the same or different. It should be noted that the optimal ambient temperature for one computing device does not necessarily have to be the same as the optimal ambient temperature for another computing device.

[0084] Figure 5This is a block diagram illustrating the inputs and outputs of a machine learning model according to one or more aspects of this disclosure. The trained machine learning model 500 can be... Figure 4 Examples of multiple machine learning models 400. A trained machine learning model 500 may receive inputs including inlet temperature sensor readings 502, device ambient temperature 504, fan or chassis speed (e.g., fan RPM) 506, and device power consumption 508. The trained machine learning model 500 may infer or predict and output the optimal ambient temperature 510 for the device based on the inputs.

[0085] For example, a trained machine learning model 500 can be used to infer or predict the optimal temperature for a device. When an administrator accesses the user interface of the network controller 410 or the centralized chassis thermal controller 420, the user interface can display the predicted optimal ambient temperature for one or more devices, or even the predicted value for each device in the network. When the administrator enables automatic configuration of ambient temperature, the network controller 410 or the centralized chassis thermal controller 420 can configure the chassis ambient temperature in a database using the predicted values.

[0086] Figure 6 This is a flowchart illustrating example operations for generating a recommended chassis ambient temperature according to one or more aspects of this disclosure. Network controller 410 can access and register network devices (600). For example, network controller 410 can access and register each of computing devices 302, 304, and 306.

[0087] Network controller 410 can periodically collect inlet temperature, device power consumption, and fan speed measurements (602). For example, the telemetry collector of network controller 410 can collect inlet temperature sensor values, device power consumption, and fan speed measurements from registered network devices such as computing devices 302, 304, and 306.

[0088] Network controller 410 can use data collected within a predetermined time window to train a machine learning model and deploy the trained machine learning model for inference (604). For example, network controller 410 can use data collected over a predetermined time period to train machine learning model 430. Training data may include inlet temperature sensor values, device power consumption metrics, and fan speed metrics collected from registered network devices such as computing devices 302, 304, and 306. Training data may also include device ambient temperatures (e.g., maximum operating temperatures) that may have been set by an administrator. Once machine learning model 430 is trained, network controller 410 can deploy machine learning model 430 so that machine learning model 430 can make inferences (e.g., estimates or predictions) based on the input data. In some examples, the trained machine learning model 430 may be part of a centralized chassis thermal controller 420.

[0089] Network controller 410 can periodically iterate over network devices to detect abnormal increases in power consumption or fan speed (606). For example, network controller 410 can periodically collect new inlet temperature sensor values, device power consumption metrics, and fan speed metrics from registered network devices such as computing devices 302, 304, and 306. Examples of iteration are shown in boxes 608-616.

[0090] For example, network controller 410 may determine whether the next device is available (608). For example, network controller 410 may determine whether computing device 302A is available. If the next device (e.g., computing device 302A) is not available, network controller 410 may wait for the device to become available, or skip the next device (e.g., computing device 302B) and continue to determine whether the device (e.g., computing device 302B) is available.

[0091] If the next device (e.g., computing device 302A) is available (from the "Yes" path in box 608), network controller 410 can analyze device power consumption and fan speed data (610). For example, network controller 410 can analyze the power consumption and fan speed data of computing device 302A. Network controller 410 can determine whether the power consumption of the device (e.g., computing device 302A) has increased abnormally (612). For example, network controller 410 can determine whether the increase in power consumption meets a threshold (e.g., greater than or equal to a threshold). In some examples, the threshold may be based on the power consumption of multiple networked devices in the facility (e.g., all, all of a specific model, all within a specific rack, etc.). In some examples, the threshold may be static or based on the past power consumption of a specific device (e.g., the next device). In some examples, network controller 410 may additionally or alternatively determine whether there is an abnormal increase in fan speed. For example, network controller 410 can determine whether the increase in fan speed is a threshold (e.g., greater than or equal to a threshold).

[0092] If the increase in power consumption is not anomalous (e.g., from the "No" path in box 612) or if power consumption does not increase, network controller 410 can check to see if the next device is available (608). For example, network controller 410 can check if computing device 302B is available. If the increase in power consumption is anomalous (from the "Yes" path in box 612), network controller 410 can request machine learning model 430 to infer the ambient temperature based on the current power consumption and fan speed data (614). For example, network controller 410 can input the current power consumption and fan speed of computing device 302A into machine learning model 430, and machine learning model 430 can infer (e.g., estimate or predict) the optimal ambient temperature (e.g., maximum operating temperature) for the network device.

[0093] Network controller 410 may store the inferred ambient temperature in a database and notify the administrator (616). For example, network controller 410 may change the maximum operating temperature entered, programmed, or configured in its database (or accessible by network controller 410) to include the inferred ambient temperature. Network controller 410 may also notify the administrator of the change, for example, via a display or message. In some examples, network controller 410 may output the inferred ambient temperature to an output device as a recommended chassis ambient temperature for computing device 302A. In some examples, network controller 410 may use the inferred ambient temperature to configure computing device 302A to either the maximum chassis ambient temperature or the target chassis ambient temperature.

[0094] We will now discuss power estimation based on ambient temperature using machine learning.

[0095] Figure 7 This is a conceptual diagram illustrating example power usage of a network equipment rack over time in relation to ambient temperature. Rack 700 is shown at different times (labeled 700A-700C). For example, rack 700 at time A is labeled rack 700A, rack 700 at time B is labeled rack 700B, and rack 700 at time C is labeled rack 700C. Rack 700 can be... Figures 3-4 Examples of any of the racks 312, 314 or 316.

[0096] Because the power consumption of network devices and the network as a whole is affected by ambient temperature, network administrators often struggle to allocate appropriate amounts of power without knowing the power requirements associated with different environmental settings for network devices within the data center. Typically, network administrators can rely on external weather conditions to determine the appropriate ambient temperature for each network device in the network configuration. However, once such ambient temperature values ​​are established, network administrators may still be unsure how that configuration will affect power consumption. This uncertainty can lead to over- or under-booking of power at the grid, resulting in wasted energy and increased costs, or conversely, power shortages.

[0097] For example, when the external temperature is also 35 degrees Celsius, the power used at time A due to the 35-degree ambient temperature can be equal to the amount of power allocated from the power reservations for the fans(s) operating the network equipment in rack 700A. At time B, the external temperature can be 27 degrees Celsius. If the ambient temperature of the network equipment in rack 700B is also 27 degrees Celsius, there may be an over-reservation of power for the fans allocated to operating the network equipment in rack 700B, resulting in the purchase of more power than is required to cool the network equipment in rack 700B. At time C, the external temperature can be 42 degrees Celsius. If the ambient temperature of the network equipment in rack 700B is also 42 degrees Celsius, there may be an under-reservation of power for the fans allocated to operating the network equipment in rack 700C, resulting in insufficient power because less power is purchased than is required to cool the network equipment in rack 700C.

[0098] The techniques disclosed herein include utilizing machine learning techniques to analyze power variations associated with various ambient temperature values. These techniques can utilize historical data from devices regarding ambient temperature, power usage, and network traffic load metrics to train one or more machine learning models. These trained machine learning models can achieve accurate predictions of the power requirements of network devices and the network under different ambient temperature configurations. The techniques disclosed herein can be integrated into network controllers (e.g., Figure 4 The network controller 410 can be used as a power estimation tool. For example, when a network administrator enables these technologies, the network administrator can input the ambient temperature via the user interface of the network controller 410, and the network controller 410 can estimate and display the estimated power demand based on the ambient temperature and the current service load through the user interface.

[0099] Figure 8 This is a conceptual diagram illustrating example power usage of a network equipment rack over time in relation to ambient temperature, according to one or more aspects of this disclosure. Rack 800 is shown at different times (labeled 800A-800C). For example, rack 800 at time A is labeled rack 800A, rack 800 at time B is labeled rack 800B, and rack 800 at time C is labeled rack 800C. Rack 800 may be... Figures 3-4 Examples of any of the racks in racks 312, 314, or 316.

[0100] exist Figure 8 In the example, (multiple) machine learning models can learn the power requirements of rack 800 at various times. In this case, the network administrator or network controller 410 ( Figure 4Network controllers can reserve the optimal amount of power predicted from the power grid, thus avoiding over- and under-reservation. This can reduce operating costs and save power. For example, network controller 410 can execute multiple machine learning models to determine the predicted optimal power consumption at different times of day, different days of week, etc. In such an example, the network administrator or network controller 410 can reserve appropriate predicted power amounts for times A, B, and C, such that the power use of racks 800A, 800B, and 800C is approximately equal to the power consumed.

[0101] For example, a network administrator can input various ambient temperature values ​​into a power estimation tool (such as network controller 410) to assess potential power variations before submitting a power grid reservation. This allows the network administrator to determine the optimal power required by the network at a selected ambient temperature. Once the power contract is signed, the network administrator can proceed to configure the network and / or network devices with the desired or correct ambient temperature. In some examples, if the administrator allows network controller 410 to configure the ambient temperature of network devices, network controller 410 can automatically configure the estimated optimal ambient temperature to the network devices (e.g., computing devices 302A-302C, 304A-304C, and 306A-306C).

[0102] Figures 9A-9B This is a flowchart illustrating an example operation for estimating power consumption based on ambient temperature using machine learning techniques, according to one or more aspects of this disclosure. (Reference) Figure 9A The network controller 410 can access and register network devices (900). For example, the network controller 410 can be on rack 700 and register each network device. Such network devices may include computing devices, such as computing devices 302, 304 and / or 306.

[0103] Network controller 410 can periodically collect device power consumption, ambient temperature, and device load metrics (902). For example, the telemetry collector of network controller 410 can collect device power consumption, ambient temperature, and device load metrics from registered network devices.

[0104] Network controller 410 can use data collected within a predetermined time window to train a machine learning model and deploy the trained machine learning model for inference (904). For example, network controller 410 can use data collected over a predetermined time period to train machine learning model 430. Training data may include device power consumption, ambient temperature, and device load metrics collected from registered network devices. Training data may also include device ambient temperatures (e.g., maximum operating temperatures) that may have been set by an administrator. Once machine learning model 430 is trained, network controller 410 can deploy machine learning model 430 so that machine learning model 430 can make inferences (e.g., estimates or predictions) based on the input data. In some examples, trained machine learning model 430 may be part of a centralized chassis thermal controller 420.

[0105] An administrator can open the network power estimator user interface screen (906). For example, network controller 410 may include a user interface that includes a network power estimator screen accessible to the administrator. The administrator can enter the ambient temperature for all network devices (908). For example, the administrator can enter the corresponding ambient temperature for each network device via the network power estimator user interface screen. The administrator can request a power estimate for the network (910). For example, the administrator can click a button or link to request a power estimate for the network.

[0106] The network controller 410 can iterate on the network device to estimate the power (912). Examples of iteration are shown in boxes 914-918.

[0107] For example, network controller 410 can determine whether the next device is available (914). For example, network controller 410 can determine whether computing device 302A is available. If the next device is available (from the "Yes" path of box 914), network controller 410 can request a trained machine learning model to infer (e.g., estimate or predict) the power consumption of past ambient temperature and workload (916). For example, network controller 410 can input past ambient temperature and workload metrics of computing device 302A into machine learning model 430. Machine learning model 430 can infer the power consumption of computing device 302A. Network controller 410 can store the inferred power consumption value of the device in a database (918). For example, network controller 410 can input or change the input inferred power consumption value of computing device 302A in (or in a database accessible to network controller 410) to introduce the inferred power consumption value of computing device 302A. In some examples, network controller 410 can also notify an administrator of the inferred power consumption value of the device, for example, via a display or message. Network controller 410 can then determine whether the next device is available (914). For example, network controller 410 can determine whether computing device 302B is available. This process can continue until all devices in the network have been checked.

[0108] If the next device is unavailable, network controller 410 can either wait for the next device to become available or skip the next device and continue determining whether the next device after the previous one is available. When every device in the network has been checked (from the "complete" path in box 914), network controller 410 can determine a power estimate for the network by summing the inferred power values ​​of the devices (920). For example, network controller 410 can sum the inferred power values ​​of all devices in the network to determine a power estimate for the network.

[0109] The network controller 410 can display the estimated network power consumption (922). For example, the network controller 410 can control the display to show the estimated network power consumption to, for example, an administrator.

[0110] While this article describes estimated network power consumption for the network as a whole, it should be understood that these techniques can be used to determine the power consumption of a portion of the network, such as racks, rack rows, or parts of a facility.

[0111] Figure 10This is a flowchart illustrating example operations for estimating ambient temperature according to one or more aspects of this disclosure. Network controller 410 can determine an estimated ambient temperature for a first network device among a plurality of network devices based on air temperature, the estimated ambient temperature including the programmable maximum operating temperature (1000) of the first network device. For example, network controller 410 can determine an estimated ambient temperature for computing device 302A. The estimated ambient temperature can be a prediction or estimate of the optimal ambient temperature for the first network device.

[0112] Network controller 410 can output a representation of the estimated ambient temperature of the first network device (1002). For example, network controller 410 can output a representation of the estimated ambient temperature of computing device 302A to display / user interface 440 for administrator viewing or other purposes.

[0113] In some examples, the air temperature includes at least one of the following: the inlet air temperature measured by a first temperature sensor located on or within the first network device; the average of multiple air temperatures measured by multiple temperature sensors located within the first network device; the inlet air temperature measured by a second temperature sensor located within the facility where the first network device is located; or the external temperature measured by a third temperature sensor located outside the facility where the first network device is located. In some examples, the air temperature may be based on any one of the foregoing or any combination thereof. For example, the air temperature may be the average of two or more of the following: the inlet air temperature measured by a temperature sensor located on or within the first network device; the average of multiple air temperatures measured by multiple temperature sensors located within the first network device; the inlet air temperature measured by a temperature sensor located within the facility where the first network device is located; or the external temperature located outside the facility where the first network device is located.

[0114] In some examples, the estimated ambient temperature of the network device includes the network device's recommended maximum operating temperature. In some examples, to determine the estimated ambient temperature of the network device, the network controller 410 may provide at least one of air temperature or the fan speed of the first network device to one or more machine learning models to obtain the estimated ambient temperature of the network device. In some examples, one or more machine learning models 430 are trained on at least two of historical air temperature data, historical fan speed data, or ambient temperatures configured for multiple network devices. In some examples, the representation of the estimated ambient temperature of the first network device includes at least one of the following: a visual representation of the recommended maximum operating temperature to be displayed via a user interface (e.g., display / user interface 440), or a command sent to the first network device to change the configured ambient temperature of the first network device to the estimated ambient temperature of the network device.

[0115] Figure 11This is a flowchart illustrating example operations of a technique for estimating network power consumption according to one or more aspects of this disclosure. Network controller 410 can determine a corresponding configuration ambient temperature (1100) for each of a plurality of network devices. For example, network controller 410 can determine a configuration ambient temperature for each of computing devices 302, 304, and 306, the configuration ambient temperature being input by an administrator or pre-filled by network controller 410.

[0116] Network controller 410 can determine the corresponding current service load on each of a plurality of network devices (1102). For example, network controller 410 can determine the service load of a given network device based on telemetry data received from the given network device.

[0117] Network controller 410 can determine a corresponding estimated power usage value (1104) for each of a plurality of network devices and based on the corresponding configured ambient temperature and the corresponding current service load. For example, network controller 410 can execute multiple machine learning models 430 to determine the corresponding estimated power usage value for each of the plurality of network devices. Network controller 410 can use the corresponding configured ambient temperature and the corresponding current service load as input to the multiple machine learning models 430.

[0118] Network controller 410 can generate a total estimated power usage value (1106) based at least in part on the respective estimated power usage values. For example, the network controller can calculate the sum of the respective estimated power usage values ​​to determine the total estimated power usage value.

[0119] Network controller 410 can output a representation of the total estimated power usage (1108). For example, network controller 410 can output the representation of the total estimated power usage to a display / user interface 440 for administrator viewing or other purposes.

[0120] In some examples, the configuration ambient temperature of the first network device among multiple network devices includes the highest configured operating temperature of the first network device. In some examples, to determine the corresponding estimated power usage value, network controller 410 may provide the corresponding configuration ambient temperature and the corresponding current service load to one or more machine learning models to obtain the corresponding estimated power usage value. In some examples, historical ambient temperature data, historical service load data, and historical power usage data are used to train machine learning model(s) 430.

[0121] The techniques described herein can be implemented in hardware, software, firmware, or any combination thereof. Various features described as modules, units, or components can be implemented together in an integrated logic device or individually as discrete but interoperable logic devices or other hardware devices. In some cases, various features of an electronic circuit can be implemented as one or more integrated circuit devices, such as integrated circuit chips or chipsets.

[0122] If implemented in hardware, this disclosure can guide devices such as processors or integrated circuit devices (e.g., integrated circuit chips or chipsets). Alternatively, or additionally, if implemented in software or firmware, the technology can be implemented at least in part by a computer-readable data storage medium including instructions that, when executed, cause a processor to perform one or more of the methods described above. For example, the computer-readable data storage medium may store such instructions that are executed by a processor.

[0123] Computer-readable media can form part of a computer program product, which may include packaging material. Computer-readable media may include computer data storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic or optical data storage media, etc. In some examples, the article of manufacture may include one or more computer-readable storage media.

[0124] In some examples, a computer-readable storage medium may include a non-transitory medium. The term "non-transitory" may mean that the storage medium is not contained in a carrier or propagating signal. In some examples, a non-transitory storage medium may store data that may change over time (e.g., in RAM or cache). The code or instructions may be software and / or firmware executed by processing circuitry, including one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Therefore, the term "processor" as used herein may refer to any of the foregoing structures or any other structure suitable for implementing the techniques described herein. Additionally, in some aspects, the functionality described in this disclosure may be provided within a software module or a hardware module.

Claims

1. A computing device, comprising: One or more processors; as well as One or more memories, the one or more memories storing instructions that, when executed by the one or more processors, cause the one or more processors to: Determine the appropriate configuration ambient temperature for each of the multiple network devices; Determine the corresponding current service load on each of the plurality of network devices; For each of the plurality of network devices, and based on the corresponding configured ambient temperature and the corresponding current service load, a corresponding estimated power usage value is determined; A total estimated power usage value is generated, at least in part, based on the corresponding estimated power usage values; and Output a representation of the total estimated power usage value.

2. The computing device according to claim 1, wherein the configuration ambient temperature of the first network device among the plurality of network devices includes the configuration maximum operating temperature of the first network device.

3. The computing device of claim 1, wherein, in order to determine the corresponding estimated power usage value, the instruction causes the computing device to provide the corresponding configured ambient temperature and the corresponding current service load to one or more machine learning models to obtain the corresponding estimated power usage value.

4. The computing device of claim 3, wherein the one or more machine learning models are trained using historical ambient temperature data, historical load data, and historical power usage data.

5. The computing device according to any one of claims 1 to 4, wherein the instructions further cause the computing device to: Based on air temperature, an estimated ambient temperature is determined for a first network device among the plurality of network devices, the estimated ambient temperature including the programmable maximum operating temperature of the first network device; and Output a representation of the estimated ambient temperature of the first network device.

6. The computing device of claim 5, wherein the air temperature includes at least one of the following: an inlet air temperature measured by a first temperature sensor located on or within the first network device, an average of a plurality of air temperatures measured by a plurality of temperature sensors located within the first network device, an inlet air temperature measured by a second temperature sensor located within the facility where the first network device is located, or an external temperature measured by a third temperature sensor located outside the facility where the first network device is located.

7. The computing device of claim 5, wherein the estimated ambient temperature of the network device includes the recommended maximum operating temperature of the network device.

8. The computing device of claim 5, wherein, in order to determine the estimated ambient temperature of the network device, the instruction causes the computing device to provide at least one of the air temperature or the fan speed of the first network device to one or more machine learning models to obtain the estimated ambient temperature of the network device.

9. The computing device of claim 8, wherein the one or more machine learning models are trained based on at least two of the following: historical air temperature data, historical fan speed data, or the configured ambient temperature for the plurality of network devices.

10. The computing device of claim 5, wherein the representation of the estimated ambient temperature of the first network device comprises at least one of the following: a visual representation of a recommended maximum operating temperature displayed via a user interface, or a command sent to the first network device to change the configured ambient temperature of the first network device to the estimated ambient temperature of the network device.

11. A calculation method, comprising: One or more processors determine the appropriate configuration ambient temperature for each of the multiple network devices. The corresponding current service load on each of the plurality of network devices is determined by the one or more processors; The one or more processors determine a corresponding estimated power usage value for each of the plurality of network devices, based on the corresponding configured ambient temperature and the corresponding current service load; A total estimated power usage value is generated by the one or more processors based at least in part on the respective estimated power usage values; as well as The one or more processors output a representation of the total estimated power usage value to the output device.

12. The calculation method according to claim 11, wherein the configuration ambient temperature of the first network device among the plurality of network devices includes the configuration maximum operating temperature of the first network device.

13. The calculation method of claim 11, wherein determining the corresponding estimated power usage value includes providing the corresponding configured ambient temperature and the corresponding current service load to one or more machine learning models to obtain the corresponding estimated power usage value.

14. The calculation method of claim 13, wherein the one or more machine learning models are trained using historical ambient temperature data, historical load data, and historical power usage data.

15. The calculation method according to any one of claims 11 to 14, further comprising: The estimated ambient temperature of a first network device among the plurality of network devices is determined based on air temperature, and the estimated ambient temperature includes the programmable maximum operating temperature of the first network device. as well as Output a representation of the estimated ambient temperature of the first network device.

16. The calculation method of claim 15, wherein the air temperature includes at least one of the following: an inlet air temperature measured by a first temperature sensor located on or within the first network device, an average of multiple air temperatures measured by multiple temperature sensors located within the first network device, an inlet air temperature measured by a second temperature sensor located within the facility where the first network device is located, or an external temperature measured by a third temperature sensor located outside the facility where the first network device is located.

17. The calculation method of claim 15, wherein determining the estimated ambient temperature of the network device comprises providing at least one of the air temperature or the fan speed of the first network device to one or more machine learning models to obtain the estimated ambient temperature of the network device.

18. The calculation method of claim 17, wherein the one or more machine learning models are trained based on at least two of the following: historical air temperature data, historical fan speed data, or the configured ambient temperature for the plurality of network devices.

19. The calculation method of claim 15, wherein the representation of the estimated ambient temperature of the first network device includes at least one of the following: a visual representation of a recommended maximum operating temperature displayed via a user interface, or a command sent to the first network device to change the configured ambient temperature of the first network device to the estimated ambient temperature of the network device.

20. A computer-readable storage medium encoded with instructions for causing one or more programmable processors to perform the method according to any one of claims 11 to 19.

Citation Information

Patent Citations

  • Tunneled packet aggregation for virtual networks

    US9571394B1