Power management for virtualized ran

CN117377041BActive Publication Date: 2026-09-04HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211313361.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-06-30
Filing Date
2022-10-25
Publication Date
2026-09-04
Estimated Expiration
2042-10-25

Smart Images

  • Figure CN117377041B_ABST
    Figure CN117377041B_ABST
Patent Text Reader

Abstract

Various embodiments of the present disclosure relate to power management of virtualized RANs. A dynamic, context-specific power dormancy and management architecture for a virtualized RAN, including a PHY layer on an expansion card. The architecture includes (1) a power control agent in a programmable environment on the expansion card that obtains data from subcomponents in the programmable environment on the expansion card, correlates the data with at least a first power control policy stored on the expansion card, implements the relevant first power control policy on the expansion card; and facilitates transfer of selected relevant data and / or raw data to a non-transitory computer readable medium at a data center; (2) a power control policy function at the data center that obtains data from vRAN infrastructure at the data center and develops optimized power control policies that can be shared with the vRAN; and (3) an out-of-band management channel that allows direct communication between the power control agent and the data center.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] Radio access network (RAN) infrastructure is used in mobile telecommunications networks (such as mobile broadband networks) to connect user equipment (UEs) to the core network. The RAN handles functions such as radio signal processing, radio resource control, and signaling processing to enable subscribers to use services from the core network. Recently, RAN technology has been virtualized so that it can run alongside various functional components on a general-purpose computing platform. Attached Figure Description

[0002] Various objects, features, aspects and advantages of the subject matter of this invention will become more apparent from the following description and the accompanying drawings, wherein like reference numerals denote like parts.

[0003] Figure 1 The diagram illustrates an overview of a vRAN system that can communicate over a network, based on an example.

[0004] Figure 2 The illustration shows a computational instance communicating with a data center used for distributed hibernation management, based on an example.

[0005] Figure 3 The diagram illustrates the inline architecture for a vRAN compute instance, based on an example.

[0006] Figure 4 The diagram illustrates a flowchart of the steps performed by a power control agent operating on an expansion card in the vRAN, according to an example.

[0007] Figure 5 The diagram illustrates a flowchart of the steps performed by a power control agent operating on an expansion card in the vRAN, according to another example.

[0008] Figure 6 The diagram illustrates a flowchart of steps for a vRAN power control policy function, such as on a computer-readable medium, such as a data center, according to an example.

[0009] Figure 7 The diagram illustrates a block diagram of a distributed computer system that can be used to implement one or more aspects of various examples.

[0010] Although examples have been described with reference to the accompanying drawings, the drawings are intended to be illustrative, and various other examples are consistent with the spirit of this disclosure and within its scope. Detailed Implementation

[0011] This disclosure relates to a system, method, and computer-readable medium that provides a novel dynamic, context-specific power hibernation and management architecture. In various examples, this management architecture can be used specifically with virtualized radio access networks (vRANs) that include physical layer functions performed in a peripheral programming environment, such as a peripheral component interconnect rapid (PCIe) expansion card.

[0012] Recent changes to the vRAN architecture have shifted the vRAN's physical layer from primarily executing on the processors of computer instances to executing on expansion cards. As a result, the power consumption of expansion cards has increased significantly. Furthermore, expansion cards have only a limited number of sleep states, and because they must communicate via processors with low-latency CPUs, they typically must remain active most of the time, even under low load conditions, such as at night or other times. To address this issue, a new architecture for communicating with data centers has been implemented on the vRAN. Data centers are centralized collections of computing resources, both physical and virtual, used for data processing, storage, and distribution. The new architecture generates and implements customized, context-specific sleep and power control policies that reflect the actual power consumption across multiple vRANs. Unlike standard hierarchical PCIe power control mechanisms, the power control policies in this architecture are not based on static logic but are dynamically created and adjusted for a given network segment, providing a platform for further innovation in power control. In this way, the vRAN can sleep under low load conditions, thereby reducing power consumption. Furthermore, it should be understood that the power control policies described below may include monitoring and control of parameters that control sleep states.

[0013] This architecture relies on generating optimized hibernation and power management policies for use by the vRAN based on updated data compiled from the vRAN. In one example, the overall architecture may include one or more of the following:

[0014] (1) A power control agent, located in a programmable environment on an expansion card (such as a PCIe card) or other peripheral device coupled to a computing instance. PCIe cards provide an exemplary solution as expansion cards because they use a serial bus expansion standard with relatively high bandwidth, high data transfer rates between peripheral devices and computing instances, and low latency. The power control agent obtains data from a sub-component in the programmable environment on the expansion card, associates the data with at least a first power control policy stored on the expansion card, executes the associated first power control policy on the expansion card, and facilitates communication of selected relevant data and / or raw data to a non-transitory computer-readable medium in the data center, from which it can then receive one or more new dynamic, context-specific power control policies, at least in part based on the relevant data and / or raw data transmitted to the data center;

[0015] (2) Power control policy functions residing on computer-readable media (such as in a data center), wherein data is obtained from various vRAN infrastructures (i.e., compute instances, and in particular peripherals coupled to the compute instances) and the optimized power control policy of the vRAN is formulated based on the obtained data; and

[0016] (3) Out-of-band management channels, which allow direct communication between the power control agent and the data center, and are included in other locations on expansion cards and compute instances. This data may include recently collected data as well as historically collected data from the vRAN infrastructure. Data compiled and passed to the base station to determine power policies may include, for example, load data, power status (e.g., fully active, idle or standby, low-power sleep and off), and power consumption, which can be collectively referred to as power consumption data. Policies may take into account, for example, different times of day for PCIe or different usage patterns on different days, actual and predicted loads, etc.

[0017] Each of these features can be implemented by a single entity or by separate entities. For example, the policy control agent can be implemented by a first entity and the data center can be operated by a separate entity, while the out-of-band management channel can be operated separately or at least partially by one or more of the other entities.

[0018] I. Open vRAN architecture

[0019] The emergence of vRAN has revolutionized the business, operations, and technology of RAN technology. This is especially important because RAN constitutes a significant and capital-intensive part of mobile broadband infrastructure. Since vRAN (including its baseband functionality) is implemented on a general-purpose computing platform, from a hardware perspective, it is generally more cost-effective than traditional RAN, which is typically built by network equipment providers using their proprietary technologies.

[0020] While using vRAN can reduce hardware costs, predicting vRAN load, power states, and power consumption is difficult. This is because vRAN traffic is bursty, meaning traffic tends to occur in bursts at regular intervals. Power consumption is easier to manage during peak vRAN load periods. However, these peak load periods are finite, for example, around 10% of vRAN uptime. Most of the time, such as 90%, the vRAN infrastructure is underloaded—i.e., low load or idle. The goal is to reduce power consumption under underload while maintaining reasonable latency and vRAN traffic jitter. In reality, an underloaded vRAN cannot frequently enter predefined sleep states to reduce power consumption because the vRAN needs to meet the reasonable latency requirements of bursty traffic. Power consumption at the vRAN physical layer is particularly important, as the most demanding part of the vRAN workload is the physical layer of baseband processing. The vRAN physical layer consumes more than half of the overall computing resources and typically requires a maximum system latency of less than 10 microseconds.

[0021] The primary mechanisms for adjusting the power consumption of computing systems (such as those used with vRAN) to reduce load are power control and hibernation for the CPU and peripherals. However, vRAN workloads are extremely sensitive to processing latency and jitter. Therefore, any hibernation or power control mechanisms used to optimize power consumption should adhere to strict system latency and jitter targets.

[0022] Open vRAN hardware architectures have evolved for mobile broadband networks under the 5G standard. In one vRAN hardware architecture, the processor in the compute instance (such as the central processing unit (CPU) of a general-purpose computing system) handles most of the processing at the physical layer of the computer network, while one or more subordinate extension cards (such as PCIe cards coupled to the compute instance) handle a limited number of tasks. For example, the CPU of the compute instance handles functions such as baseband channel coding and decoding, and fronthaul and midhaul networking. Such functions and networking may include, for example, compression / decompression, scrambling / descrambling, modulation / demodulation, layer mapping (i.e., mapping codewords to layers), UL (uplink) channel estimation, UL equalization / IDFT (inverse discrete Fourier transform), DLBF (downlink beamforming) weight calculation and precoding, or ORAN M / C / S (Open RAN modulation and coding scheme). The limited set of physical layer functions offloaded to the extension cards may include, for example, network and synchronization peripherals, and FEC offloaded peripherals. Networking and synchronization peripherals can be coupled to the CPU and used to provide fronthaul (FH), midhaul (MH), and synchronization functions, as well as network interface controllers. FEC-offloading PCIe peripherals can also be coupled to the compute instance, such as the CPU with scrambling / descrambling capabilities, and used to perform forward error correction (FEC). In some examples, one or more peripherals may include accelerators. PCI peripherals can interface with the data link layer 2 and network link layer 3 (L2 / L3) of the computer network processed by the CPU. Therefore, this architecture distributes the physical layer across the CPU and peripherals of the compute instance and requires low-latency interaction between the CPU and peripherals.

[0023] Typical general-purpose computing systems currently use standard power and sleep management mechanisms for CPU processors (e.g., CPU C and P states) and standardized sleep mechanisms for PCIe peripherals (D, S, and L states). (C state = idle, no execution; P state = performing a function; D state = device state; S state = system state; L state = link power state). However, given the stringent latency requirements of baseband physical layer processing, these standard sleep and power control mechanisms are not well-suited for vRAN technology. This is because the latency and jitter effects of entering / exiting power control and sleep states take too long to exceed the overall allowable latency (i.e., the latency budget). In practice, this means that general-purpose computing systems handling vRAN workloads are locked into active high-power states for both the CPU and PCIe peripherals, regardless of the actual traffic being processed. This results in significant power consumption overhead under low-load and idle load conditions.

[0024] II. Next-generation inline vRAN architecture for communicating with data centers

[0025] In the next-generation vRAN architecture, physical layer functions previously performed by one or more processors (e.g., CPU chips) on a compute instance are moved to a PHY-programmable environment on an expansion card within the compute instance. By isolating most latency-sensitive processing in a single environment on the expansion card, latency and jitter targets for one or more processors (i.e., CPUs) of the compute instance are relaxed. The most latency-sensitive parts of the vRAN stack are confined to a single compute environment on the expansion card, eliminating the need for minimal latency interaction between the CPU and the expansion card. This enables more standard power and sleep control mechanisms (e.g., C-state, P-state) for one or more processors in the compute instance, allowing for more flexible tuning of the power consumption of one or more processors in the compute instance to actual traffic levels.

[0026] As the entire PHY layer processing is offloaded from the compute instance's CPU to one or more expansion cards coupled to the compute instance, the power consumption of the expansion cards increases significantly, further compounded by the cooling costs associated with them. Most of this power increase is due to the latency requirements of physical layer processing and the need for continuous communication between the expansion cards and out-of-band processing via the CPU. Current power control and sleep states are designed for expansion cards performing far fewer functions and disregarding the increased power consumption. Therefore, expansion cards must remain in a more active, high-power state and cannot be allowed to sleep for extended periods, if any. This results in a significant and wasteful increase in power consumption, especially when the compute instance has only low or idle loads. Therefore, it is desirable to address the power consumption issue in this newer vRAN architecture.

[0027] The primary mechanisms for adjusting computing system power consumption to reduce load are power control and CPU and peripheral device hibernation. However, vRAN workloads are extremely sensitive to processing latency and jitter. Therefore, any hibernation or power control mechanism used to optimize power consumption should adhere to strict system latency and jitter targets.

[0028] III. vRAN network

[0029] Figure 1The diagram illustrates an overview of a system comprising multiple vRANs according to an example. In the example shown, system 100 includes three vRANs 102, 104, and 106, which may or may not be operated by the same entity. A power control agent may be implemented at each vRAN. Each vRAN includes its own computing instance and may be used as a distributed unit (DU) of the vRAN. The vRAN also includes radio units / transceivers (not shown) and centralized units (CUs) (not shown). vRANs 102, 104, and 106 are implemented in a mobile network to wirelessly connect user equipment (UEs) such as the illustrated mobile phones 110 and 114, and other mobile-enabled devices such as laptop computer 112, to the core network 120 via link 107. For example, depending on their location relative to the mobile network, mobile phone 102 may be linked to vRAN 102 via radio link 102a, mobile phone 106 may be linked to vRAN 106 via radio link 106a, and laptop computer 112 may be linked to vRAN 102 via radio link 102b. In this example, system 100 also includes a data center 124 in which power control policy functions can be executed.

[0030] vRAN can communicate with data center 124 using out-of-band management channel 103 and link 105. Out-of-band means that this connection uses channels not used for the primary connection to core network 120. Therefore, Figure 1 An out-of-band management channel 103 is shown for communication between vRANs such as vRAN 102 and an out-of-band wide area network (WAN) 122. Additional corresponding out-of-band management channels 103a and 103b may be provided to enable mobile communication between corresponding vRANs 104 and 106 via the out-of-band WAN 122 and a link 105 to data center 124. See the following reference... Figure 2 As explained, the vRAN in system 100 may include elements of the corresponding OOB management channel.

[0031] In some examples, data centers are shared between vRANs, such as those that can be shared between vRANs 102, 104, and 106. Figure 1 Data center 124. This enables the compilation of data from multiple vRANs, the development of power control strategies that take into account power consumption data at multiple vRANs, and the sharing of power control strategies developed in the data center across one or more vRANs.

[0032] An example of a computing system on which the present invention can be implemented is the HPE ProLiant DL 110 server from HewlettPackard Enterprises in Spring, Texas.

[0033] Figure 2The diagram illustrates a distributed sleep and power management architecture for vRAN, which reduces power consumption, particularly for vRANs with inline architectures. Figure 2 In the example shown, there are two vRANs using a distributed hibernation and power management architecture, namely compute instance 200 and compute instance 202. Both the PHY programmable environment 210 and the PHY environment BMC 230 are implemented on expansion card 214, such as on a PCIe card. Although only two vRANs are illustrated, it should be understood that more than two vRANs can exist. Although only elements of compute instance 200 are shown, it should be further understood that the elements of compute instance 202 can be similar.

[0034] As mentioned above, Figure 2 The distributed hibernation and power management architecture shown includes three main components: (1) a power control agent 212, (2) an out-of-band management channel 228, which may include a PHY environment board management controller (BMC), an optional system BMC 240, wherein data is transmitted via paths 234 and 236, and an out-of-band wide area network (OOB WAN), and (3) a power control policy function 250. The out-of-band management channel 228 in... Figure 2 The elements are indicated by dashed boxes. Each of these elements will be described further below.

[0035] For more detailed information, please refer to [link / reference]. Figure 2For example, the first computing instance 200 of the vRAN includes an expansion card 214, which includes a programmable environment 210 (e.g., a PHY programmable environment). The programmable environment 210 is part of the expansion card 214 and can be programmed using instructions executable by a processor within the programmable environment. The programmable environment 210 may also include a system baseboard management controller (BMC) 240, which includes a special processor for monitoring the status of the expansion card and the metrics and policies used and transmitting them to the data center 260. Therefore, the system BMC can be considered part of an out-of-band management channel 228. The PHY programmable environment 210 includes a PHY environment processor 216, a non-transitory computer-readable storage 214, and a PHY environment BMC 230 that can be considered part of the out-of-band management channel 228. The expansion card 214 may also include one or more sub-components 217, 218, 219 required to maintain the operation of the expansion card, such as a digital signal processor (DSP), a radio frequency system-on-a-chip (RFSoC), a heatsink, or a capacitor, to name a few. Sub-components may be located within the illustrated PHY programmable environment 210 or elsewhere on the expansion card 214. The PHY programmable environment 210 may also include a PHY processing pipeline 270, which performs non-power control functions and processes mobile traffic at 275. In this example, the processing pipeline 270 is a representation of how data is transmitted and processed via a pipeline. In embodiments, the PHY processing pipeline 270 may be provided by a vendor other than those providing distributed sleep and power management architectures.

[0036] The power control agent 212 operates autonomously within the PHY programmable environment 210 using the PHY environment processor 216. It is autonomous, operating without interacting with the processors of compute instances (such as one of compute instances 200 or 202). The power control agent 212 includes one or more vRAN power control policies 220, 222 (shown as policy 1 and policy N), an associated engine 224, and a collection / exposure function 226. The collection / exposure function 226 collects (compiles) power consumption data / load metrics from internal sub-components 217, 218, 219 of the PHY programmable environment 210 via path 227. The compiled data includes, but is not limited to, load, power consumption, power state, throughput, resource block utilization, DSP core utilization and frequency, RF-on-chip (RFSoC) utilization, silicon utilization, or network chip utilization. Therefore, for example, the collection / exposure function 226 obtains the utilization and power consumption of the sub-components, and if the utilization is low for that time period, it is used to determine whether the system is allowed to enter a lower sleep state or even an idle state and for how long the system is allowed to enter a lower sleep state or even an idle state.

[0037] Power control agent 212 uses correlation engine 224 to correlate compiled power consumption data with a pattern of at least a first vRAN power control policy selected from one of the power control policies 220, 222 already located at the vRAN, the pattern being most closely related to the collected data. For example, an existing power control policy might allow the expansion card to idle after midnight if several measured utilization rates are below a certain threshold. Another power control policy might focus on underutilization as well as power consumption, allowing a different sleep policy to be set if power consumption is below a certain level but utilization is above a second threshold. The compiled data (metrics) will be compared by correlation engine 224 with existing power control policies 220, 222, and correlation engine 224 will determine which power control policy to implement at the expansion card at this time.

[0038] Power control agent 212 applies at least a first power control strategy to a set of policy-specific power and sleep controls of power control functions configured in the PHY programmable environment to perform power-saving actions within the PHY programmable environment. For example, if the policy is selected, settings based on policy 220 are transmitted to the PHY processing pipeline 270 via path 225. In some examples, power control settings may include at least one of DSP frequency and voltage, RFSoC voltage, network chip voltage, DSP core sleep state, or RFSoC sleep state, to name a few. Typically, as noted, the implemented power control strategy can be selected to optimize power consumption, latency, processing of actual and predicted loads, throughput, etc.

[0039] Computation instance 200 is communicatively coupled to data center 260. This means that raw power consumption data collected, or relevant data reflecting the current power control policy being implemented, can be transmitted to data center 260 via out-of-band management channel 228. At data center 260, the compiled data is used by power control policy function 250, which collects data from one or more vRANs and generates power control policies that can be transmitted back to one or more vRANs. For example, data center 260 may be located at the center of the vRAN, such as at a base station.

[0040] It should be understood that, although Figure 2 The illustration shows only a single PCIe expansion card, but the programming environment can include multiple expansion cards with similar policy control agents coupled to a single compute instance and communicating with Data Center 260.

[0041] One way to implement the power control agent 212 is to load it onto the expansion card 214. The power control agent 212 may be included on the expansion card at the time of sale, or it may be loaded onto the expansion card later via vRAN management software (not shown). In this example, fields related to load parameters, power status, power consumption readings, and other data may be included in the management software to compile data and implement settings as needed.

[0042] Out-of-band management channel 228 may include a baseboard management controller (BMC) 230 of the PHY programmable environment 210, a system BMC 240, and a communication protocol that may be an extension of the OOB communication protocol. Out-of-band management channel 228 facilitates the exchange of granular information related to power consumption data (which may include load and power status) and vRAN power control policies with a data center 260 having centralized power control policy functionality 254. The out-of-band communication protocol is a protocol used for information communication via a channel separate from the main communication channel. The BMC is a processor dedicated to monitoring the physical status of the hardware and communicating with the system administrator.

[0043] exist Figure 2 In the illustrated example, data from power control agent 212 to data center 260 via out-of-band management channel 228 is first transmitted via path 233 to PHY environment BMC 230, then via path 234 to system BMC 240, and then wirelessly transmitted via path 236 to out-of-band WAN 260. From there, data is wirelessly transmitted via path 238 to data center 260. Therefore, system BMC 240 is located between PHY environment BMC 230 and data center 260. Arrow 237 represents load and power data (metrics) and the currently used power control policy being transmitted to data center 260. In the opposite direction, the power control policy is transmitted from data center 260 back to power control 212, starting from path 239, through system BMC 240 to PHY environment BMC 230, and then to power control agent 212. Therefore, the out-of-band management channel facilitates the exchange of information regarding acquired power consumption data and vRAN power control policies.

[0044] The power control policy function 250 at data center 260 may include at least two programmable functions, and instructions for these two programmable functions may be stored on a non-transitory computer-readable medium, one example of which is... Figure 6As shown in the diagram. These functions include a data collection / exposure function 252 that obtains data from the vRAN and a policy optimization function 254 that generates optimized power control policies based at least in part on the data obtained from the vRAN. Data from the power control policy function 250 can be forwarded at 256 to the RAN Service Management and Orchestration (SMO) platform for open RAN radio resources. Once one or more new power control policies are generated at the data center 260, these policies are sent back to the power control agent 212 via the out-of-band management channel 228 as described. By considering the newly received one or more policies, the relevant engine can again determine which power control policy to apply. The new settings are then transmitted via path 225 to the PHY processing pipeline 270, along with any other elements (not shown) to be controlled by the power control policy.

[0045] As shown in the figure, the PCI environment processor 216 can perform power control functions. Instructions for performing the functions of the power control agent 212 can be stored in at least one non-transitory computer-readable storage device, such as persistent storage or main storage. Those skilled in the art will note that the data center 260 performing the power control policy functions may further include other systems, subsystems, and / or components (e.g., monitor, keyboard, mouse, speaker, buttons, battery, fan, motherboard, power supply, etc.) for implementing the various power policy functions described herein.

[0046] Figure 3 Additional details of a computing instance 300 with an inline architecture are illustrated. In the example, a processor 302 (e.g., a CPU) can perform functions for Layer 2 and Layer 3 (L2 / L3) 320. In this architecture, a PHY programmable environment 304 can include one or more processors, such as a PHY environment processor 216, which performs one or more data processing techniques, such as forward error correction (FEC) 306, scrambling / descrambling 308, modulation / demodulation 310, layer mapping 312, UL channel estimation, UL (uplink channel estimation), equalization / inverse discrete Fourier transform (IDFT) and downlink beamforming (DL BF) weights, computation and precoding 314, compression / decompression and ORAN M / C / S 316 (Open RAN modulation and coding scheme), as well as fronthaul (FH), midhaul (MH) and synchronization functions or network interface controllers (FH / MH / sync) and NIC 318. Most of these functions are performed by the CPU of a computing instance in the prior art. Examples of these techniques are known to those skilled in the art. The PHY programmable environment 304 may also include sub-components 322, 323, and 324, as well as a processor 330 and a computer-readable medium 332. Alternatively, the sub-components may reside on an expansion card 214 outside the PHY programmable environment 210. When computing instance 300 utilizes reference... Figure 2 When the sleep and power control architecture shown and described is enhanced, the programmable environment 304 also includes similar features. Figure 2 The power control agent shown is power control agent 320.

[0047] Figure 4 The diagram illustrates a flowchart 400 of a power control agent within a vRAN programming environment. In one example, the programming environment includes a processor that performs the following steps.

[0048] At step 410, obtain, for example, Figure 2 The power consumption data related to the programming environment of the sub-components shown includes load and power status. The power consumption data may include at least one of the following: data related to load, power consumption, power status, throughput, resource block utilization, digital signal processor (DSP) core utilization and frequency, radio frequency system-on-chip (RFSoC) utilization, or network chip utilization.

[0049] At step 420, the power consumption data is compared with at least one first power control strategy, such as residing in Figure 2 The power control policy is related to the policy in the memory of the programmable environment shown. This power control policy may be the only power control policy initially stored in the programmable environment, or there may be multiple power control policies stored in the programmable environment. At least the power control policy can be a default policy, such as a standard power control policy (including hibernation) implemented on an expansion card, a power control policy obtained from the data center, or a power control policy otherwise obtained and initially stored in the programmable environment.

[0050] Power consumption data, including actual power consumption, load, and power state, is compared with the settings of one or more policies to determine the correlation between policies in the programmable environment most closely related to the current power consumption. For example, a first policy might set sleep mode to idle for a specific power consumption. Actual power consumption is compared with the policies, and the policy that best approximates the actual situation is determined. In cases where components in the programmable environment experience high power consumption, an alternative power control policy with different sleep parameters can be implemented. Data centers can use this relevant data to generate power control policies.

[0051] At step 430, the out-of-band management channel facilitates the transmission of correlations to the data center, such as... Figure 2 The data center shown is an example. Data transmitted via out-of-band communication channels can be, for example, relevant data relating power consumption to policies. Using this data, the data center can generate data that is already present in computer instances (such as...). Figure 2 The strategies that take effect at the computational instance shown are different from the strategies.

[0052] At step 440, at least one second vRAN power control policy is obtained from the data center. At step 450, the power control agent can be configured on the compute instance (such as...) Figure 2 In the computational example shown, at least one power setting on at least one expansion card of the vRAN is adjusted based on at least one second vRAN power control policy. At least one first vRAN power control policy and at least one second vRAN power control policy provide adjustments to at least one of the following: DSP frequency and voltage, RFSoC voltage, network chip voltage, DSP core sleep state, or RFSoC sleep state. In some examples, at least one first vRAN power control policy and at least one second vRAN power control policy are dynamically created and adjusted for at least one segment of the telecommunications network. In other words, the policies change dynamically based on guarantees of power consumption data, load, power status, etc., and adjustments are made for at least one segment of the vRAN in the telecommunications network.

[0053] Power control strategies may include, for example, parameters such as power supply... Figure 2 The power control agent shown is used to evaluate current parameters (such as power consumption, load, power state, or other variables), whether or not they are power-related or otherwise used to correlate the power control agent with current actual values. The policy also includes power settings implemented on the expansion card based on the selected relevant policy. For example, the policy may vary depending on variables such as the time of day, week, or other date.

[0054] Another example of flowchart 500 is in Figure 5 As shown in the example, the out-of-band management channel facilitates the transmission of raw data, such as power consumption data of sub-components, to the data center. In this example, in addition to power consumption data, correlations may or may not be transmitted. Therefore, in... Figure 5 In the example, in step 510, power consumption data related to the programming environment is obtained, including load and power status, such as data from... Figure 2 The data of the sub-components shown. In step 520, the power consumption data is compared with at least one first power control strategy, such as residing in Figure 2 The policy is related to the memory of the programmable environment 210. In step 530, the out-of-band management channel facilitates the transmission of at least power consumption data to the data center. The data transmitted via the out-of-band communication channel may be, for example, relevant data that associates power consumption with a policy. Using this data, the data center can generate data that is already in use in computer instances (such as...). Figure 2 Different policies apply at the computing instance shown. In step 540, at least one second vRAN power control policy is obtained from the data center. Next, in step 550, the power control agent can apply different policies at the computing instance (such as...). Figure 2 The calculation example shown adjusts at least one power setting on at least one expansion card of the vRAN based on at least one second vRAN power control strategy.

[0055] exist Figure 4 and Figure 5 In the two examples shown, the data center can formulate strategies based on the relevant data received and / or the raw data provided to the data center.

[0056] Figure 6 It shows that it can be used in, for example Figure 2 The flowchart 600 shows the steps performed at the data center of the data center. Figure 6 This is illustrated from the perspective of an exemplary action performed at a data center. In the example, instructions for performing the steps of the flowchart are stored on a computer-readable medium 601. In step 610, power consumption data and its correlation with at least one first vRAN power control policy are received from at least one of the plurality of vRANs. (See, for example...) Figure 2 (Collection / exposure functions in the system). Power consumption data relates to the programmable environment on at least one expansion card (e.g., a PCIe card) at at least one vRAN. Power consumption data may also include the load and power status of at least one expansion card.

[0057] In step 620, at least one second vRAN power control strategy is generated, at least in part, based on the correlation between power consumption data and at least one first vRAN power control strategy. (See, for example, data is from vRAN and...) Figure 2 (As shown in the policy optimization function). At step 640, at least one second vRAN power control policy is transmitted to at least one of the plurality of vRANs. In addition to at least one second vRAN power control policy, additional vRAN power control policies may be generated.

[0058] In relation to Figure 6 In the described example, at least one expansion card can be coupled to at least one compute instance at a vRAN, and at least one expansion card at a vRAN can be configured to communicate outside the compute instance without accessing the compute instance's CPU.

[0059] In an alternative example, power consumption data may be received at step 610 in place of related data or in addition to related data, and the power consumption data may be used at step 620 to generate at least one second VRAN power control strategy.

[0060] Because power control policies formulated at the data center are tailored to the current conditions within the vRAN, the power hibernation and management architecture described in this paper allows for customized and context-sensitive power consumption within the vRAN. Therefore, power control policies available in a programmable environment are adapted to the latency and jitter requirements at one or more vRANs communicating with the data center, rather than simply some predefined power control policies more suited to a programmable environment with lower loads on expansion cards. Furthermore, unlike standard hierarchical PCIe power and hibernation control mechanisms, this architecture places power control decision-making and enforcement mechanisms within the PHY processing environment itself. This architecture also eliminates the need for any interaction between the power control and hibernation control mechanisms and the processors of the compute instances, such as the CPUs of general-purpose computing systems. This achieves the latency required in power control mechanisms that respond to traffic loads.

[0061] Furthermore, the architecture described in this paper allows power control data to be shared via out-of-band management channels, enabling the large-scale collection of this data to further optimize power control strategies that correspond to the actual service profiles in specific network segments.

[0062] exist Figure 7 A high-level block diagram of an exemplary system that can be used to implement the systems and methods described herein is shown. System 700 is an example of an expansion card. System 700 includes a processor 710 operatively coupled to persistent storage device 720 and main storage device 730. In the example, processor 710 is located on expansion card 214. Processor 710 controls the overall operation of system 700 by executing computer program instructions that define such operations. The computer program instructions may be stored in persistent storage device 720 or other computer-readable medium and loaded into main storage device 730 when execution of the computer program instructions is required. Therefore, Figure 4 , 5 The method steps of 7 and 8 can be defined by computer program instructions stored in main storage device 730 and / or persistent storage device 720 and controlled by processor 710 that executes the computer program instructions. For example, the computer program instructions can be implemented as computer executable code programmed by those skilled in the art to perform the actions of... Figure 4 , 5 The method steps in section 6 define one or more algorithms. Therefore, by executing computer program instructions, processor 710 executes the algorithms defined by... Figure 4 , 5 The algorithm is defined by method steps 6. Additionally or alternatively, it can be used to implement the algorithm based on the published examples. Figure 4 , 5The instructions for method steps 6 can reside in computer program product 750. When processor 710 is executing the instructions of computer program product 750, the instructions or a portion thereof are typically loaded into main storage device 730, from which processor 710 can easily access these instructions.

[0063] System 700 or devices coupled thereto may also include one or more network interfaces 780, which can be used to communicate with a data center to obtain policy information. System 700 may also include one or more input / output devices 790, which enable users to interact with system 700 (e.g., monitor, keyboard, mouse, speaker, buttons, etc.).

[0064] Processor 710 may include general-purpose and special-purpose microprocessors and may be the sole processor of system 700 or one of multiple processors. Processor 710 may include one or more central processing units (CPUs) and one or more graphics processing units (GPUs), which may, for example, operate independently of one or more CPUs and / or multitask with one or more CPUs to accelerate processing, for example, for the various image processing applications described herein. Processor 710, persistent storage device 720, and / or main storage device 730 may include one or more application-specific integrated circuits (ASICs) and / or one or more field-programmable gate arrays (FPGAs), supplemented by or incorporated therein.

[0065] Persistent storage device 720 and main storage device 730 each include a tangible, non-transitory, computer-readable storage medium. Persistent storage device 720 and main storage device 730 may each include high-speed random access memory, such as dynamic random access memory (DRAM), static random access memory (SRAM), double data rate synchronous dynamic random access memory (DDR RAM), or other random access solid-state storage devices, and may include non-volatile memory, such as one or more disk storage devices, such as internal hard disks and removable disks, magneto-optical disk storage devices, optical disk storage devices, flash memory storage devices, semiconductor storage devices, such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), optical disc read-only memory (CD-ROM), digital versatile disc read-only memory (DVD-ROM), or other non-volatile solid-state storage devices.

[0066] Input / output device 790 may include peripheral devices coupled to system 700, such as printers, scanners, displays, etc. For example, input / output device 790 may include display devices for displaying information (e.g., DNA accessibility prediction results) to a user, such as cathode ray tube (CRT), plasma, or liquid crystal display (LCD) monitors, keyboards, and pointing devices such as mice or trackballs, through which the user can provide input to system 700.

[0067] Any or all of the systems discussed in this paper can be executed by and / or incorporated into systems such as System 700. Furthermore, System 700 can utilize one or more neural networks or other deep learning techniques in the systems and methods described herein.

[0068] Those skilled in the art will recognize that actual computer or computer system implementations can have other structures and may include other components (e.g., battery, fan, motherboard, power supply, etc.), and Figure 7 It is a high-level representation of certain components of such a computer for illustrative purposes.

[0069] It should be understood that the disclosed techniques offer many advantageous technical effects, including improved power consumption by generating context-sensitive sleep and control strategies. It should also be understood that the following description is not intended as a broad overview; therefore, concepts may be simplified for clarity and brevity.

[0070] Figure 1 and 2 The elements shown and the various functions belonging to each element, while exemplary, are described so only for ease of understanding. Those skilled in the art will understand that one or more functions belonging to the various elements can be performed by any of the other elements and / or by elements (not shown) configured to perform combinations of various functions. Therefore, it should be noted that any language used for programming environments targeting computing instances, client devices, power control policy functions, at least one processor, non-transitory (or persistent) storage devices, or main storage devices should be understood to include computing devices, including servers, interfaces, systems, databases, agents, peers, controllers, or any other type of computing device, individually or collectively, to perform the functions belonging to the various elements, in any suitable combination. Furthermore, those skilled in the art will understand that the description herein... Figure 1 One or more functions of the system can be executed in the context of a client-server relationship, such as by one or more servers, one or more client devices (e.g., one or more user devices), and / or by a combination of one or more server and client devices.

[0071] The systems and methods described herein can be implemented using a computer program product tangibly embodied in an information carrier, such as a non-transitory machine-readable storage device, for execution by a programmable processor; and the method steps described herein include Figure 4 , 5 One or more steps shown in Figure 6 can be implemented using one or more computer programs executable by such a processor. A computer program is a set of computer program instructions that can be used directly or indirectly in a computer to perform an activity or produce a result. Computer programs can be written in any form of programming language (including compiled or interpreted languages) and can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0072] Various examples have been described with reference to the accompanying drawings, which form part of this document and illustrate, by way of illustration, specific ways of practicing these examples. However, this specification may be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these examples are provided to make this specification thorough and complete and to fully communicate the scope of these examples to those skilled in the art. This specification may be embodied as a method or an apparatus. Therefore, any example among the various examples herein may take the form of a completely hardware example, a completely software example, or an example combining software and hardware aspects. Therefore, the following specification should not be considered limiting.

[0073] Throughout the specification and claims, unless the context clearly specifies otherwise, the following terms shall have the meanings explicitly relevant herein:

[0074] The phrase “in one example” as used in this article does not necessarily refer to the same example, although it may. Therefore, as described below, various examples can be easily combined without departing from their scope or spirit.

[0075] As used herein, unless the context clearly specifies otherwise, the term "or" is an inclusive "or" operator and is equivalent to the term "and / or".

[0076] The term "based on" is not exclusive and allows for the use of other factors not described unless the context clearly specifies otherwise.

[0077] As used herein, unless the context otherwise requires, the term "coupled to" is intended to include both direct coupling (where two mutually coupled elements are in contact with each other) and indirect coupling (where at least one additional element is located between the two elements). Therefore, the terms "coupled to" and "coupled with" are used synonymously. In the context of a network environment where two or more components or devices are capable of exchanging data, the terms "coupled to" and "coupled with" are also used to indicate "communication coupling with," possibly via one or more intermediate devices.

[0078] Furthermore, throughout the specification, the meanings of “a,” “one,” and “the” include plural references, and the meaning of “in…” includes both “in…” and “on…”.

[0079] While some of the examples presented herein constitute a single combination of inventive elements, it should be understood that the subject matter of the invention is considered to include all possible combinations of the disclosed elements. Therefore, if one example includes elements A, B, and C, and another example includes elements B and D, the subject matter of the invention is also considered to include other remaining combinations of A, B, C, or D, even if not explicitly discussed herein. Furthermore, the transitional term "comprising" means as a part or member, or those parts or members. As used herein, the transitional term "comprising" is inclusive or open-ended and does not exclude additional, unlisted elements or method steps.

[0080] Throughout this discussion, references to servers, services, interfaces, clients, peers, portals, platforms, or other systems formed by computing devices are considered to refer to one or more computing devices having at least one processor (e.g., ASIC, FPGA, DSP, x86, ARM, ColdFire, GPU, multi-core processor, etc.) configured to execute software instructions stored on computer-readable tangible non-transitory media (e.g., hard disk drives, solid-state drives, RAM, flash memory, ROM, etc.). For example, a server may include one or more computers operating as web servers, database servers, or other types of computer servers to fulfill the described roles, responsibilities, or functions. It should be further understood that the disclosed computer-based algorithms, processes, methods, or other types of instruction sets may be embodied as a computer program product comprising a non-transitory tangible computer-readable medium storing instructions that cause a processor to perform the disclosed steps. Various servers, systems, databases, or interfaces may exchange data using standardized protocols or algorithms, possibly based on HTTP, HTTPS, AES, public-key exchange, Web service APIs, known financial transaction protocols, or other electronic information exchange methods. Data exchange can be conducted through packet-switched networks, circuit-switched networks, the Internet, LANs, WANs, VPNs, or other types of networks.

[0081] As used in the description herein and the appended claims, when a system, server, device or other computing element is described as being configured to perform or execute functions on data in memory, the meaning of "configured to" or "programmed to" is defined as one or more processors or cores of the computing element being programmed by a set of software instructions stored in the memory of the computing element to perform that set of functions on target data or data objects stored in memory.

[0082] It should be noted that any language referring to a computer or computing instance should be interpreted to include any suitable computing device or combination of computing devices, including, for example, one or more servers, interfaces, systems, databases, agents, peers, controllers, or other types of individual or collectively operating computing devices. It should be understood that a computing device includes a processor configured to execute software instructions stored on a tangible, non-transitory computer-readable storage medium (e.g., hard disk drives, FPGAs, PLAs, solid-state drives, RAM, flash memory, ROM, etc.) and may include various other components such as batteries, fans, motherboards, power supplies, etc. The software instructions configure or program the computing device to provide roles, responsibilities, or other functions, as discussed below regarding the disclosed systems. Furthermore, the disclosed technology may be embodied as a computer program product comprising a non-transitory computer-readable medium storing software instructions that cause a processor to perform the disclosed steps associated with an implementation of a computer-based algorithm, process, method, or other instructions. In some examples, various servers, systems, databases, or interfaces exchange data using standardized protocols or algorithms, possibly based on HTTP, HTTPS, AES, public-key exchange, Web service APIs, or other electronic information exchange methods. Data exchange between devices can be conducted through packet-switched networks, the Internet, LANs, WANs, VPNs, or other types of packet-switched networks (circuit-switched networks; cellular-switched networks; or other types of networks).

[0083] The foregoing description should be understood as illustrative and exemplary in every respect, not restrictive, and the scope of the examples disclosed herein is not determined by the description but by the claims as interpreted in accordance with the full scope permitted by patent law. It should be understood that the examples shown and described herein are merely illustrative of the principles of this disclosure, and various modifications can be made by those skilled in the art without departing from the scope and spirit of this disclosure. Various other combinations of features can be implemented by those skilled in the art without departing from the scope and spirit of this disclosure.

Claims

1. A system comprising: A virtualized radio access network (vRAN), wherein the vRAN includes: A computing instance, including at least one processor; and At least one expansion card coupled to the computing instance, the at least one expansion card including a programmable environment configured to communicate without accessing the at least one processor of the computing instance, the programmable environment including: The power control agent is configured as follows: Acquire power consumption data related to the programmable environment; Determine the correlation between the power consumption data and at least one first vRAN power control strategy; The correlation is facilitated to be transmitted to the data center via an out-of-band management channel, wherein the data center is configured to generate vRAN power control policies for multiple vRANs; Obtain at least one second vRAN power control policy from the data center, wherein the at least one second vRAN power control policy is at least partially based on the correlation; and Based on the at least one second vRAN power control strategy, adjust at least one power setting on at least one expansion card of the vRAN.

2. The system according to claim 1, wherein the at least one expansion card is a Peripheral Component Interconnect Fast PCIe card.

3. The system of claim 1, wherein the power consumption data includes at least one of the following: load, power consumption, power status, throughput, resource block utilization, digital signal processor (DSP) core utilization and frequency, radio frequency system-on-a-chip (RFSoC) utilization, or network chip utilization.

4. The system according to claim 1, wherein, The power control agent communicates with the data center via an out-of-band management channel, wherein the out-of-band management channel includes a baseboard management controller (BMC) and a communication protocol that facilitates the exchange of information related to the acquired power consumption data and the vRAN power control strategy.

5. The system of claim 4, further comprising a second BMC located on the computing instance between the BMC and the data center.

6. The system of claim 1, wherein the computing instance is communicatively coupled to the data center.

7. The system of claim 1, wherein the at least one first vRAN power control strategy and the at least one second vRAN power control strategy provide adjustments to at least one of the following: DSP frequency and voltage, RFSoC voltage, network chip voltage, DSP core sleep state, or RFSoC sleep state.

8. The system of claim 1, wherein the at least one first vRAN power control policy and the at least one second vRAN power control policy are dynamically created and adjusted for at least one segment of the telecommunications network.

9. The system of claim 1, wherein the at least one second vRAN power control strategy is shared among the plurality of vRANs.

10. The system of claim 1, wherein the programmable environment is configured to include a PHY processing pipeline that performs non-power control functions thereon.

11. A method comprising: Power consumption data relating to the programmable environment of at least one expansion card coupled to a computing instance is obtained at the virtualized radio access network (vRAN) via a power control agent without accessing at least one processor of the computing instance. Associate the power consumption data with at least one first vRAN power control strategy; Facilitating communication of at least the power consumption data to the data center, wherein the data center is configured to generate vRAN power control policies for multiple vRANs; At least one second vRAN power control policy is obtained from the data center, wherein the at least one second vRAN power control policy is based at least in part on the power consumption data; as well as The power control agent adjusts at least one power setting on at least one expansion card of the vRAN based on the at least one second VRAN power control strategy.

12. The method of claim 11, wherein the at least one expansion card is a Peripheral Component Interconnect Fast PCIe card.

13. The method of claim 11, wherein the power consumption data includes at least one of the following: data related to load, power consumption, power status, throughput, resource block utilization, digital signal processor (DSP) core utilization and frequency, radio frequency system-on-a-chip (RFSoC) utilization, or network chip utilization.

14. The method of claim 11, wherein the out-of-band management channel facilitates communication with the data center, and wherein the out-of-band management channel comprises: The baseboard management controller (BMC) and communication protocol facilitate the exchange of information related to at least one of power consumption data and vRAN power control strategies.

15. The method of claim 14, wherein the out-of-band management channel further comprises a second BMC located on the computing instance between the BMC and the power control agent.

16. The method of claim 11, wherein the at least one first vRAN power control strategy and the at least one second vRAN power control strategy include adjustments to at least one of the following: DSP frequency and voltage, RFSoC voltage, network chip voltage, DSP core sleep state, or RFSoC sleep state.

17. The method of claim 11, wherein the at least one first vRAN power control policy and the at least one second vRAN power control policy are dynamically created and adjusted for at least one segment of the telecommunications network, and wherein the at least one second vRAN power control policy is shared among the plurality of vRANs.

18. The method of claim 11, further comprising the computation instance performing non-power control functions via a PHY processing pipeline.

19. A non-transitory computer-readable medium, comprising: Computer-readable instructions, when executed by at least one processor coupled to at least one memory, cause the at least one processor to: The correlation between power consumption data and at least one first vRAN power control strategy is received from at least one vRAN among multiple virtualized radio access networks (vRANs), wherein the power consumption data is related to a programmable environment on at least one expansion card at the at least one vRAN; At least one second vRAN power control strategy is generated based at least in part on the correlation; as well as The at least one second vRAN power control policy is sent to the at least one vRAN among the plurality of vRANs.

20. The non-transitory computer-readable medium according to claim 19, The at least one expansion card is coupled to the at least one compute instance at the at least one vRAN, and the expansion card at the at least one vRAN is configured to communicate outside the compute instance without accessing the CPU of the compute instance.

Citation Information

Patent Citations

  • Dynamic energy-efficient transmit point (TP) muting for virtual radio access network (V-RAN)

    CN111132285A

  • Method and apparatus for executing virtualized network function

    CN113315648A