Information transmission method, apparatus, device, storage medium and computer program product

By adjusting the voltage configuration of FPGA devices in a wireless cloud network, the problems of increased power consumption and temperature after resource pooling were solved, resulting in extended device lifespan and reduced costs.

WO2026026655A1PCT designated stage Publication Date: 2026-02-05CHINA MOBILE COMM LTD RES INST +1
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/110276
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-30
Filing Date
2025-07-24
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

In wireless cloud network architecture, after FPGA resources are pooled, multiple models of devices coexist. In order to ensure the normal operation of the application, the highest operating voltage is usually selected in the existing technology, which leads to increased power consumption and temperature, affecting the life of the device and increasing operating costs.

Method used

The first network element receives the resource descriptor information of the application to be deployed, generates configuration information, and, in conjunction with the hardware resource information of the FPGA device, adjusts the voltage configuration to match the actual needs and reduces the operating voltage.

Benefits of technology

Significantly reduces dynamic power consumption and hardware operating temperature, extends equipment lifespan, and reduces operating costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025110276_05022026_PF_FP_ABST
    Figure CN2025110276_05022026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present disclosure are an information transmission method, an apparatus, a device, a storage medium and a computer program product. The method comprises: a first network element receives first information, wherein the first information represents a resource descriptor related to a field programmable gate array (FPGA) hardware resource required by an application to be deployed, and the first information is used for generating configuration information of a target FPGA device deploying said application.
Need to check novelty before this filing date? Find Prior Art

Description

Information transmission method and device, equipment, storage medium and computer program product

[0001] Cross-reference to Related Applications

[0002] The present disclosure claims priority from Chinese Patent Application No. 202411035949.5 filed on July 30, 2024 in China, the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0003] The present disclosure relates to the technical field of wireless communication, and particularly relates to an information transmission method and device, equipment, storage medium and computer program product. BACKGROUND

[0004] At present, in a wireless cloud network architecture, an open cloud platform (O-Cloud) is used to deploy wireless network functions after general physical resources are clouded or virtualized, the O-Cloud includes an O-Cloud infrastructure management service (IMS) and an O-Cloud deployment management service (DMS), and a virtualized network function (VNF) or a cloud native network function (CNF), and a service management and orchestration (SMO) is used to manage deployment of the O-Cloud infrastructure, the VNF or the CNF, and the like. In the wireless cloud network architecture, field programmable gate array (FPGA) resources are shared through resource pooling, and multiple types of FPGA devices and FPGA applications from different developers coexist in the network, and the O-Cloud deployment node is provided with the FPGA device, in order to ensure that the FPGA application deployed on the different types of FPGA devices can work normally, the working voltage of the FPGA device is usually selected as the highest value in the recommended working voltage range, but this results in an increase in FPGA power consumption and hardware working temperature, thereby reducing the service life of the device. SUMMARY

[0005] In view of this, the embodiments of the present disclosure expect to provide an information transmission method and device, equipment, storage medium and computer program product.

[0006] The technical scheme of the embodiments of the present disclosure is implemented as follows:

[0007] The embodiment of the disclosure provides an information transmission method, applied to a first network element, and the method comprises the following steps:

[0008] receiving first information;

[0009] The first information represents a resource descriptor related to FPGA hardware resources required by a to-be-deployed application; and the first information is used to generate configuration information of a target FPGA device for deploying the to-be-deployed application.

[0010] In addition, according to at least one embodiment of the disclosure, the method further comprises:

[0011] receiving second information;

[0012] The second information represents hardware resource information of the FPGA device, and the second information is used to generate the configuration information in combination with the first information.

[0013] In addition, according to at least one embodiment of the disclosure, the method further comprises:

[0014] sending the configuration information to a second network element; wherein the configuration information is generated based on the first information.

[0015] In addition, according to at least one embodiment of the disclosure, the method further comprises:

[0016] sending the configuration information to a second network element; wherein the configuration information is generated based on the first information and the second information.

[0017] In addition, according to at least one embodiment of the disclosure, the first information comprises at least one of the following:

[0018] whether the FPGA device is needed;

[0019] FPGA device board card model;

[0020] FPGA device chip model;

[0021] FPGA device logic gate number;

[0022] FPGA device clock frequency;

[0023] FPGA device voltage.

[0024] In addition, according to at least one embodiment of the disclosure, the second information comprises at least one of the following:

[0025] FPGA device clock frequency;

[0026] FPGA device voltage;

[0027] clock frequency and voltage relationship.

[0028] In addition, according to at least one of the embodiments of the present disclosure, the configuration information comprises at least one of:

[0029] an FPGA device board card model;

[0030] an FPGA device chip model;

[0031] an FPGA device logic gate number;

[0032] an FPGA device clock frequency;

[0033] an FPGA device voltage.

[0034] In addition, according to at least one of the embodiments of the present disclosure, the second information is sent by a second network element.

[0035] In addition, according to at least one of the embodiments of the present disclosure, the method further comprises:

[0036] determining, based on the first information and the second information, a target FPGA device for deploying the to-be-deployed application;

[0037] generating the configuration information for the target FPGA device.

[0038] In addition, according to at least one of the embodiments of the present disclosure, the generating the configuration information for the target FPGA device comprises:

[0039] determining, according to a clock frequency and voltage relationship contained in second information corresponding to the target FPGA device, a voltage corresponding to an FPGA device clock frequency contained in the first information;

[0040] generating the configuration information based on the determined voltage.

[0041] In addition, according to at least one of the embodiments of the present disclosure, the sending the configuration information to the second network element comprises:

[0042] determining, according to the target FPGA device, position information of a deployment node in the second network element;

[0043] sending the configuration information to the second network element; the configuration information carries the position information of the deployment node in the second network element.

[0044] In addition, according to at least one of the embodiments of the present disclosure, the method further comprises:

[0045] receiving third information sent by the second network element; the third information represents application deployment success or application deployment failure;

[0046] In a case where the third information represents a failure of application deployment, the configuration information is adjusted to obtain adjusted configuration information.

[0047] The adjusted configuration information is sent to the second network element.

[0048] At least one embodiment of the present disclosure provides an information transmission method applied to a second network element, the method comprising:

[0049] receiving configuration information of a target FPGA device for deploying a to-be-deployed application sent by a first network element;

[0050] The configuration information is generated by the first network element based on received first information; and the first information represents a resource descriptor related to FPGA hardware resources required by the to-be-deployed application.

[0051] In addition, according to at least one embodiment of the present disclosure, the configuration information is generated by the first network element based on received first information and second information; and the second information represents hardware resource information of the FPGA device.

[0052] In addition, according to at least one embodiment of the present disclosure, the first information comprises at least one of:

[0053] whether the FPGA device is needed;

[0054] a FPGA device board card model;

[0055] a FPGA device chip model;

[0056] a number of logic gates of the FPGA device;

[0057] a clock frequency of the FPGA device;

[0058] a voltage of the FPGA device.

[0059] In addition, according to at least one embodiment of the present disclosure, the second information comprises at least one of:

[0060] a clock frequency of the FPGA device;

[0061] a voltage of the FPGA device;

[0062] a relationship between the clock frequency and the voltage.

[0063] In addition, according to at least one embodiment of the present disclosure, the configuration information comprises at least one of:

[0064] a FPGA device board card model;

[0065] a FPGA device chip model;

[0066] FPGA device logic gate number;

[0067] FPGA device clock frequency;

[0068] FPGA device voltage.

[0069] In addition, according to at least one embodiment of the present disclosure, the second information is sent by a second network element.

[0070] In addition, according to at least one embodiment of the present disclosure, the receiving of the configuration information of the target FPGA device for deploying the to-be-deployed application sent by the first network element comprises:

[0071] receiving the configuration information of the target FPGA device for deploying the to-be-deployed application sent by the first network element; the configuration information carries position information of a deployment node in the second network element; wherein the position information of the deployment node in the second network element is determined by the first network element according to the target FPGA device.

[0072] In addition, according to at least one embodiment of the present disclosure, the method further comprises:

[0073] sending third information to the first network element; the third information represents application deployment success or application deployment failure;

[0074] in the case where the third information represents application deployment failure, receiving adjusted configuration information sent by the first network element.

[0075] At least one embodiment of the present disclosure provides an information transmission device, comprising:

[0076] a first receiving module configured to receive first information; wherein the first information represents a resource descriptor related to FPGA hardware resources required by a to-be-deployed application; and the first information is used to generate configuration information of a target FPGA device for deploying the to-be-deployed application.

[0077] At least one embodiment of the present disclosure provides an information transmission device, comprising:

[0078] a second receiving module configured to receive configuration information of a target FPGA device for deploying a to-be-deployed application sent by a first network element; wherein the configuration information is generated by the first network element based on received first information; and the first information represents a resource descriptor related to FPGA hardware resources required by the to-be-deployed application.

[0079] At least one embodiment of the present disclosure provides a first network element, comprising a processor and a memory for storing a computer program capable of running on the processor,

[0080] The processor is configured to execute the computer program to perform the steps of any one of the methods of the first network element.

[0081] At least one embodiment of the present disclosure provides a second network element, comprising a processor and a memory for storing a computer program capable of running on the processor,

[0082] The processor is configured to execute the computer program to perform the steps of any one of the methods of the second network element.

[0083] At least one embodiment of the present disclosure provides a computer readable storage medium having a computer program stored thereon, wherein the computer program is executed by a processor to implement the steps of any one of the methods of the first network element, or to implement the steps of any one of the methods of the second network element.

[0084] At least one embodiment of the present disclosure provides a computer program product comprising a computer program, wherein the computer program is executed by a processor to implement the steps of any one of the methods of the first network element, or to implement the steps of any one of the methods of the second network element.

[0085] The information transmission method, device, equipment, storage medium and computer program product provided by the embodiments of the present disclosure, the method comprises: a first network element receives first information; wherein the first information represents a resource descriptor related to FPGA hardware resources required by a to-be-deployed application; and the first information is used to generate configuration information of a target FPGA device for deploying the to-be-deployed application.

[0086] By adopting the technical solutions provided by the embodiments of the present disclosure, the first network element receives the first information, so that the first network element can generate configuration information based on the first information, that is, the voltage of the target FPGA device and the like can be configured according to the resource descriptor related to FPGA hardware resources required by the to-be-deployed application. Compared with the way of selecting the highest value in the recommended working voltage range of the FPGA device in the related art to ensure that the application deployed on different FPGA devices can work normally, the voltage of the target FPGA device and the like can be configured in combination with the actual needs of the application when deploying the application on a large scale in the network, which helps to significantly reduce the dynamic power consumption and the hardware working temperature, thereby prolonging the service life of the device. BRIEF DESCRIPTION OF DRAWINGS

[0087] FIG. 1 is a schematic diagram of a wireless cloud network architecture in the related art;

[0088] FIG. 2 is a schematic diagram of the implementation process of the information transmission method according to an embodiment of the present disclosure;

[0089] FIG. 3 is a schematic diagram of the implementation process of the information transmission method according to an embodiment of the present disclosure;

[0090] Figure 4 is a specific implementation flowchart of the information transmission method of the embodiment of the present disclosure;

[0091] Figure 5 is a specific implementation flowchart of the information transmission method of the embodiment of the present disclosure;

[0092] Figure 6 is a structural diagram of the information transmission device of the embodiment of the present disclosure;

[0093] Figure 7 is a structural diagram of the information transmission device of the embodiment of the present disclosure;

[0094] Figure 8 is a structural diagram of the first network element of the embodiment of the present disclosure;

[0095] Figure 9 is a structural diagram of the second network element of the embodiment of the present disclosure. DETAILED DESCRIPTION

[0096] Before introducing the technical solutions of the embodiments of the present disclosure, the related art is introduced.

[0097] In the related art, FPGA has a wide range of applications in existing wireless communication systems. Thanks to the high programmability, high parallelism, reconfigurability and other characteristics of FPGA, FPGA plays an important role in wireless communication networks and provides a flexible and high-performance hardware platform for the design and implementation of wireless communication devices. However, existing FPGAs usually face energy consumption problems when processing high-performance applications: the density of logic resources, storage units and other resources contained in the FPGA is high, the runtime power density is high, which leads to high device energy consumption and operating costs, and also causes the FPGA chip to generate a lot of heat when working, affecting the reliability and life of the FPGA. The power consumption of FPGA mainly comes from static power consumption and dynamic power consumption, and dynamic power consumption increases with the increase of clock frequency and operating voltage. The clock frequency and operating voltage used by the existing FPGA firmware are usually selected for a specific type of FPGA hardware during the development stage, that is, first, a circuit is designed for a specific type of FPGA hardware, then according to the delay requirement of the designed logic circuit, the logic level, and the performance of the FPGA of this type, a clock frequency that can meet the requirement is selected, and then a recommended value of the operating voltage of the FPGA of this type is selected according to the clock frequency. In fact, the voltage that can make the FPGA work normally is usually an interval range. When the voltage is reduced, the transistor level flip-flop speed of the FPGA becomes slower, the path delay of the logic circuit increases, and once the voltage is lower than a certain threshold, the logic circuit delay will eventually exceed the system clock period under the selected frequency, which will cause errors in the FPGA system. The working voltage range that meets a certain system clock frequency varies with the performance of different types of FPGA hardware.

[0098] In a wireless cloud network architecture, FPGA resources are shared through resource pooling, and FPGA devices of multiple types and FPGA applications from different developers coexist in the network, wherein the FPGA applications include any virtualized network function, containerized network function, and other third-party applications that need to use the FPGA devices, the virtualized network function refers to virtualizing the network function, the containerized network function refers to containerizing the network function, and the cloudized network function refers to cloudizing the network function. For example, the network function can be a centralized unit (CU) or a distributed unit (DU), and the other third-party applications can be virtual reality (VR) rendering, etc. There is a certain compatibility between FPGA devices of different types, the same logical function can run on hardware devices of different types, but the FPGA operating voltage range that meets the clock frequency selected when the logical function is designed is different for different types. In the related art, to ensure that the FPGA application migrated to different devices can work normally, the operating voltage of the FPGA hardware is usually selected as the highest value in the voltage range supported by the hardware to ensure that the transistor has sufficient level flipping speed. This results in higher FPGA dynamic power consumption and operating temperature than the actual demand, which not only causes unnecessary energy consumption overhead but also damages the service life of the FPGA hardware device.

[0099] FIG. 1 is a schematic diagram of a wireless cloud network architecture in the related art. As shown in FIG. 1, the existing wireless cloud network architecture fully virtualizes, pools, and uniformly manages and utilizes physical computing resources. In the Open Radio Access Network (O-RAN) architecture, an open cloud platform (O-Cloud) is defined to deploy wireless network functions after general physical resources are clouded or virtualized, including O-Cloud infrastructure management service (IMS) and O-Cloud deployment management service (DMS), as well as virtualized network function (VNF) or cloud native network function (CNF). Meanwhile, the O-Cloud interacts with a service management and orchestration (SMO) through an O2 interface, so that the SMO manages resources such as O-Cloud infrastructure, VNF, or CNF. The SMO performs infrastructure and cloud platform deployment and resource management through an O2ims interface, and performs VNF or CNF deployment and resource management through an O2dms interface.

[0100] However, the infrastructure management unit (such as O-Cloud IMS) in the existing wireless cloud network does not have information about the matching relationship between the clock frequency and the working voltage of the FPGA device in the network, so the SMO cannot obtain the information about the matching relationship between the clock frequency and the working voltage of the FPGA device through the O-Cloud IMS. Therefore, the SMO cannot reasonably configure the working voltage of the FPGA device according to the hardware performance of the FPGA device and the requirements of the application, and cannot issue messages related to the voltage configuration of the FPGA device to the deployment management unit (such as O-Cloud DMS) that deploys application functions. Therefore, in the related art, when deploying FPGA applications on different types of FPGA devices, most clouded and pooled FPGA devices work at a high voltage to ensure that the FPGA applications migrated to different types of FPGA devices can work normally, resulting in unnecessary power loss, affecting the service life of the FPGA device, and increasing the operating cost.

[0101] In the related art, on the one hand, in a wireless cloud network architecture, FPGA resources are shared through resource pooling, and FPGA devices of multiple types and FPGA applications from different developers coexist in the network. To ensure that the FPGA applications deployed on different FPGA devices in the open cloud platform can work normally, the working voltage of the FPGA device is usually selected as the highest value in the recommended working voltage range to ensure that the transistor has sufficient level flip speed, but this results in increased FPGA power consumption and increased hardware working temperature, thereby reducing the service life of the device. On the other hand, the SMO that manages the infrastructure in the wireless cloud network cannot configure the working voltage according to the hardware performance of the FPGA device and / or the demand of the application deployed on the FPGA device for the FPGA device, resulting in a high working voltage for most FPGA devices in the network, which in turn leads to energy waste and temperature rise, affecting the service life of the hardware device and increasing the operating cost.

[0102] Based on this, in the embodiments of the present disclosure, a first network element receives first information; wherein the first information represents a resource descriptor related to FPGA hardware resources required by a to-be-deployed application; and the first information is used to generate configuration information of a target FPGA device that deploys the to-be-deployed application.

[0103] Referring to FIG. 2, FIG. 2 is an implementation flowchart of the information transmission method of the embodiments of the present disclosure, applied to a first network element, as shown in FIG. 2, the method comprises step 201:

[0104] Step 201: receiving first information; wherein the first information represents a resource descriptor related to FPGA hardware resources required by a to-be-deployed application; and the first information is used to generate configuration information of a target FPGA device that deploys the to-be-deployed application.

[0105] As an example, in a wireless cloud network architecture, the first network element can refer to a service management and orchestration (SMO), which can also be described as a network management unit. Alternatively, it can also refer to an open cloud platform (O-Cloud).

[0106] As an example, the to-be-deployed application can refer to an FPGA application, wherein the FPGA application can include any virtualized network function, containerized network function, cloudified network function, and other third-party applications that need to use FPGA devices. Virtualized network function refers to virtualizing network functions, containerized network function refers to containerizing network functions, and cloudified network function refers to cloudifying network functions. For example, the network function can be a centralized unit (CU) or a distributed unit (DU), and other third-party applications can be virtual reality (VR) rendering, etc.

[0107] As an example, the first network element can receive the first information provided by an application developer.

[0108] In actual application, in order to ensure that the FPGA application deployed on different FPGA devices can work normally, the working voltage of the FPGA device is usually selected as the highest value in the recommended working voltage range, which leads to the increase of the power consumption of the FPGA device. Therefore, in the embodiment of the present disclosure, the first network element can generate the configuration information based on the requirements of the to-be-deployed application and send it to the second network element, so that the second network element configures the voltage and the like of the target FPGA device for deploying the to-be-deployed application.

[0109] Based on this, in some embodiments, the method further comprises:

[0110] sending the configuration information to the second network element; wherein the configuration information is generated based on the first information.

[0111] It should be noted that when the configuration information is generated based on the first information, the first information at least contains the FPGA device voltage required by the to-be-deployed application, and the configuration information at least contains the FPGA device voltage, that is, when the configuration information is generated based on the first information, the FPGA device voltage required by the to-be-deployed application contained in the first information is taken as the FPGA device voltage in the configuration information.

[0112] As an example, in a wireless cloud network architecture, the second network element can refer to an open cloud platform (O-Cloud), which includes an O-Cloud IMS (which can also be described as an infrastructure management unit) and an O-Cloud DMS (which can also be described as a deployment management unit), and can also refer to a hardware accelerator manager (Hardware Accelerated Manager, HAM).

[0113] It should be noted that in the wireless cloud network architecture, the application developer provides the first information to the SMO, so that the SMO can reasonably configure the working voltage of the FPGA device according to the actual FPGA voltage requirements of the to-be-deployed application, and issue the configuration information to the O-Cloud. The O-Cloud DMS included in the O-Cloud can configure the target FPGA device for deploying the to-be-deployed application according to the configuration information.

[0114] In actual application, in order to ensure that the FPGA application deployed on different FPGA devices can work normally, the working voltage of the FPGA device is usually selected as the highest value in the recommended working voltage range, which causes the power consumption of the FPGA device to increase. Therefore, in the embodiment of the present disclosure, the first network element can also generate configuration information based on the requirements of the to-be-deployed application and the second information obtained from the second network element, and send the configuration information to the second network element, so that the second network element configures the voltage and the like of the target FPGA device for deploying the to-be-deployed application.

[0115] Based on this, in some embodiments, the method further comprises:

[0116] receiving second information;

[0117] The second information represents the hardware resource information of the FPGA device, and is used to generate the configuration information in combination with the first information.

[0118] In some embodiments, the method further comprises:

[0119] sending the configuration information to the second network element; wherein the configuration information is generated based on the first information and the second information.

[0120] In some embodiments, the first information comprises at least one of the following:

[0121] whether the FPGA device is needed;

[0122] the FPGA device board card model;

[0123] the FPGA device chip model;

[0124] the number of logic gates of the FPGA device;

[0125] the clock frequency of the FPGA device;

[0126] the voltage of the FPGA device.

[0127] Here, the FPGA device can also be described as an FPGA device.

[0128] Here, the FPGA device board card model (which can also be described as an FPGA device board card model) can be understood as the accelerator board card model required by the to-be-deployed application.

[0129] Here, the FPGA device chip model (which can also be described as an FPGA device board card model) can be understood as the FPGA chip model required by the to-be-deployed application.

[0130] Here, the FPGA device logic gate number (may also be described as the FPGA device logic gate number) can be understood as the number of logic gates required by the logic function of the application to be deployed.

[0131] Here, the FPGA device clock frequency (may also be described as the FPGA clock frequency) can be understood as the clock frequency or clock frequency range required for the logic function of the application to be deployed to run normally.

[0132] Here, the FPGA device voltage (may also be described as the FPGA voltage) can be understood as the operating voltage or operating voltage range required for the logic function of the application to be deployed to run normally.

[0133] In some embodiments, the second information includes at least one of:

[0134] FPGA device clock frequency;

[0135] FPGA device voltage;

[0136] Clock frequency and voltage relationship.

[0137] Here, the FPGA device can also be described as an FPGA device.

[0138] Here, the FPGA device clock frequency (may also be described as the FPGA clock frequency) can be understood as the clock frequency supported by the FPGA device, or can also be understood as the clock frequency range supported by the FPGA device.

[0139] Here, the FPGA device voltage (may also be described as the FPGA voltage) can be understood as the operating voltage of the FPGA device, or can also be understood as the operating voltage range supported by the FPGA device.

[0140] In some embodiments, the configuration information includes at least one of:

[0141] FPGA device board model;

[0142] FPGA device chip model;

[0143] FPGA device logic gate number;

[0144] FPGA device clock frequency;

[0145] FPGA device voltage.

[0146] In some embodiments, the second information is sent by a second network element.

[0147] As an example, in a wireless cloud network architecture, the second information can be sent by an O-Cloud IMS included by the second network element (O-Cloud) to the first network element.

[0148] In some embodiments, the method further comprises:

[0149] determining, based on the first information and the second information, a target FPGA device for deploying the to-be-deployed application;

[0150] generating the configuration information for the target FPGA device.

[0151] Here, determining, based on the first information and the second information, a target FPGA device for deploying the to-be-deployed application can comprise:

[0152] determining whether an FPGA device voltage required by the to-be-deployed application included in the first information matches an FPGA device voltage included in the second information, and determining whether an FPGA device clock frequency required by the to-be-deployed application included in the first information matches an FPGA device clock frequency included in the second information;

[0153] if the FPGA device voltage required by the to-be-deployed application included in the first information matches the FPGA device voltage included in the second information, and the FPGA device clock frequency required by the to-be-deployed application included in the first information matches the FPGA device clock frequency included in the second information, then taking the FPGA device corresponding to the second information as the target FPGA device.

[0154] For example, assuming that the FPGA device voltage required by the to-be-deployed application is V1 and the FPGA device clock frequency required by the to-be-deployed application is F1, if the FPGA device voltage included in the second information is V1 and the FPGA device clock frequency included in the second information is F1, then it indicates that the FPGA device can be taken as the target FPGA device. Alternatively, assuming that the FPGA device voltage required by the to-be-deployed application is V1 and the FPGA device clock frequency required by the to-be-deployed application is F1, if the FPGA device voltage included in the second information is V2 (V1 is within the voltage range corresponding to V2) and the FPGA device clock frequency included in the second information is F2 (F1 is within the clock frequency range corresponding to F2), then it indicates that the FPGA device can be taken as the target FPGA device.

[0155] In some embodiments, the generating the configuration information for the target FPGA device comprises:

[0156] determining, according to a clock frequency and voltage relationship included in the second information corresponding to the target FPGA device, a voltage corresponding to the FPGA device clock frequency included in the first information.

[0157] generate the configuration information based on the determined voltage.

[0158] It should be noted that when the configuration information is generated based on the first information and the second information, the first information at least includes the FPGA device voltage required by the to-be-deployed application and the FPGA device clock frequency required by the to-be-deployed application, the second information at least includes the FPGA device voltage, the FPGA device clock frequency, and the clock frequency and voltage relationship, and the configuration information at least includes the FPGA device voltage. That is, first, the target FPGA device for deploying the to-be-deployed application is determined based on the first information and the second information, and then the FPGA device voltage in the configuration information is obtained by using the clock frequency and voltage relationship included in the second information corresponding to the target FPGA device and the FPGA device clock frequency included in the first information.

[0159] In some embodiments, the sending of the configuration information to the second network element includes:

[0160] determining, according to the target FPGA device, position information of a deployment node in the second network element;

[0161] sending the configuration information to the second network element; the configuration information carries the position information of the deployment node in the second network element.

[0162] Here, the deployment node in the second network element is a deployment node provided with the target FPGA device.

[0163] Here, the first network element can also select the position of the deployment node in the second network element for the target FPGA device according to the first information and the second information provided by the developer.

[0164] Specifically, the deployment node with the target FPGA device in the second network element can be taken as a candidate deployment position. If the number of candidate deployment positions with the target FPGA device in the second network element is not less than two, the deployment node with the minimum FPGA device voltage matching the FPGA clock frequency required by the to-be-deployed application is selected as the final deployment position to achieve energy saving.

[0165] It should be noted that when the configuration information is generated based on the first information, the FPGA device with the working voltage matching the FPGA device voltage required by the to-be-deployed application in the second network element can be taken as the target FPGA device, and the deployment node provided with the target FPGA device in the second network element can be taken as the candidate deployment position.

[0166] In some embodiments, the method further includes:

[0167] receiving third information sent by the second network element; the third information represents that the application deployment is successful or the application deployment fails;

[0168] in the case that the third information represents that the application deployment fails, adjusting the configuration information to obtain adjusted configuration information;

[0169] sending the adjusted configuration information to the second network element.

[0170] Here, the case that the application deployment fails can include: one possibility is that there is other running application on the FPGA device, which prohibits any form of any range of voltage configuration of the FPGA device or the allowed configuration range does not contain the current configuration, for example, the FPGA virtualization partition is simultaneously requested by multiple applications, causing conflict. Another possibility is that the application does not have enough access permission to the FPGA virtualization partition, for example, the current configuration of voltage and frequency causes timing error due to other unknown interference of specific deployment environment, at this time, it can be necessary to adjust at least one of the clock frequency and the device voltage in the configuration to a more reliable value, for example, appropriately reduce the clock frequency and / or increase the voltage.

[0171] Here, in the case that the third information represents that the application deployment fails, the first network element can adjust the configuration information, that is, adjust the FPGA device voltage to obtain adjusted configuration information.

[0172] As an example, in the wireless cloud network architecture, in the case that the application deployment fails, the first network element (SMO) can receive the information fed back by the O-Cloud DMS included in the second network element (O-Cloud), adjust the configuration information according to the information fed back by the O-Cloud DMS to obtain adjusted configuration information, and send to the O-Cloud for the O-Cloud DMS included in the O-Cloud to reconfigure the target FPGA device of the to-be-deployed application.

[0173] In the embodiments of the present disclosure, the following advantages are provided:

[0174] (1) In the deployment of the to-be-deployed application, the first network element can obtain the first information.

[0175] Therefore, the first network element can generate configuration information based on the first information, that is, the voltage of the target FPGA device and the like can be configured according to the hardware requirements of the to-be-deployed application. Compared with the way that the working voltage of the FPGA device in the related art is usually selected as the highest value in the recommended working voltage range, the working voltage of the pooled FPGA device in the cluster can be reduced as a whole when the FPGA application is deployed on a large scale in the network, which helps to significantly reduce the dynamic power consumption and the hardware working temperature, thereby prolonging the service life of the device and reducing the operation cost.

[0176] (2) In the deployment of the to-be-deployed application, the first network element can obtain the first information and the second information.

[0177] Therefore, the first network element can generate configuration information based on the first information and the second information, that is, the voltage of the target FPGA device and the like can be configured according to the hardware requirements of the to-be-deployed application and the hardware performance of the FPGA device. Compared with the way that the working voltage of the FPGA device in the related art is usually selected as the highest value in the recommended working voltage range, the working voltage of the pooled FPGA device in the cluster can be reduced as a whole when the FPGA application is deployed on a large scale in the network, which helps to significantly reduce the dynamic power consumption and the hardware working temperature, thereby prolonging the service life of the device and reducing the operation cost.

[0178] Referring to FIG. 3, FIG. 3 is a flowchart of an implementation of the information transmission method of the embodiment of the present disclosure, which is applied to a second network element. As shown in FIG. 3, the method comprises the following step 301:

[0179] Step 301: receiving configuration information of a target FPGA device for deploying a to-be-deployed application sent by a first network element; wherein the configuration information is generated by the first network element based on received first information; and the first information represents a resource descriptor related to FPGA hardware resources required by the to-be-deployed application.

[0180] As an example, in a wireless cloud network architecture, the first network element can refer to a service management orchestration (SMO), which can also be described as a network management unit, or can also refer to an open cloud platform (O-Cloud).

[0181] As an example, the second network element can refer to an open cloud platform (O-Cloud), or can also refer to a hardware accelerator manager (HAM).

[0182] As an example, the to-be-deployed application can refer to an FPGA application, wherein the FPGA application can include any virtualized network function, containerized network function, cloudized network function and other third-party applications that need to use an FPGA device, the virtualized network function refers to virtualizing a network function, the containerized network function refers to containerizing a network function, the cloudized network function refers to cloudizing a network function, for example, the network function can be a centralized unit (CU) or a distributed unit (DU), and the other third-party application can be virtual reality (VR) rendering, etc.

[0183] As an example, the first network element can receive the first information provided by an application developer.

[0184] In actual application, considering that in the related art, in order to ensure that the FPGA application deployed on different FPGA devices can work normally, the working voltage of the FPGA device is usually selected as the highest value in the recommended working voltage range, thereby causing the power consumption of the FPGA device to increase. Therefore, in the embodiment of the present disclosure, the first network element can generate the configuration information based on the requirements of the to-be-deployed application and send it to the second network element, so that the second network element configures the target FPGA device for deploying the to-be-deployed application.

[0185] It should be noted that when the configuration information is generated based on the first information, the first information at least contains the FPGA device voltage required by the to-be-deployed application, and the configuration information at least contains the FPGA device voltage, that is, when the configuration information is generated based on the first information, the FPGA device voltage required by the to-be-deployed application contained in the first information is taken as the FPGA device voltage in the configuration information.

[0186] It should be noted that in the wireless cloud network architecture, the application developer provides the first information to the SMO, so that the SMO can reasonably configure the working voltage of the FPGA device according to the actual FPGA voltage requirements of the to-be-deployed application, and issue the configuration information to the O-Cloud, and the O-Cloud DMS included in the O-Cloud can configure the voltage and the like of the target FPGA device for deploying the to-be-deployed application according to the configuration information.

[0187] In actual application, in order to ensure that the FPGA application deployed on different FPGA devices can work normally, the working voltage of the FPGA device is usually selected as the highest value in the recommended working voltage range, which causes the power consumption of the FPGA device to increase. Therefore, in the embodiment of the present disclosure, the first network element can also generate the configuration information based on the requirements of the to-be-deployed application and the second information obtained from the second network element, and send the configuration information to the second network element, so that the second network element configures the voltage and the like of the target FPGA device for deploying the to-be-deployed application.

[0188] In some embodiments, the configuration information is generated by the first network element based on the received first information and second information; and the second information represents the hardware resource information of the FPGA device.

[0189] In some embodiments, the first information includes at least one of the following:

[0190] Whether the FPGA device is needed;

[0191] The FPGA device board card model;

[0192] The FPGA device chip model;

[0193] The number of logic gates of the FPGA device;

[0194] The clock frequency of the FPGA device;

[0195] The voltage of the FPGA device.

[0196] Here, the FPGA device can also be described as an FPGA device.

[0197] Here, the FPGA device board card model (which can also be described as an FPGA device board card model) can be understood as the accelerator board card model required by the to-be-deployed application.

[0198] Here, the FPGA device chip model (which can also be described as an FPGA device board card model) can be understood as the FPGA chip model required by the to-be-deployed application.

[0199] Here, the number of logic gates of the FPGA device (which can also be described as the number of logic gates of the FPGA device) can be understood as the number of logic gates required by the logic function of the to-be-deployed application.

[0200] Here, the FPGA device clock frequency (which can also be described as the FPGA clock frequency) can be understood as the clock frequency or clock frequency range required for the logic function of the to-be-deployed application to normally run.

[0201] Here, the FPGA device voltage (may also be described as FPGA voltage) can be understood as the working voltage or working voltage range required for the logic function of the application to be deployed to run normally.

[0202] In some embodiments, the second information includes at least one of:

[0203] FPGA device clock frequency;

[0204] FPGA device voltage;

[0205] Clock frequency and voltage relationship.

[0206] Here, the FPGA device can also be described as FPGA device.

[0207] Here, the FPGA device clock frequency (may also be described as FPGA clock frequency) can be understood as the clock frequency supported by the FPGA device, or can also be understood as the clock frequency range supported by the FPGA device.

[0208] Here, the FPGA device voltage (may also be described as FPGA voltage) can be understood as the working voltage of the FPGA device, or can also be understood as the working voltage range supported by the FPGA device.

[0209] In some embodiments, the configuration information includes at least one of:

[0210] FPGA device board model;

[0211] FPGA device chip model;

[0212] FPGA device logic gate number;

[0213] FPGA device clock frequency;

[0214] FPGA device voltage.

[0215] In some embodiments, the second information is sent by a second network element.

[0216] As an example, in a wireless cloud network architecture, the second information can be sent by the O-Cloud IMS included in the second network element (O-Cloud) to the first network element.

[0217] It should be noted that, when the configuration information is generated based on the first information and the second information, the first information at least includes the FPGA device voltage required by the to-be-deployed application and the FPGA device clock frequency required by the to-be-deployed application, the second information at least includes the FPGA device voltage, the FPGA device clock frequency, and the clock frequency and voltage relationship, and the configuration information at least includes the FPGA device voltage. That is, the target FPGA device for deploying the to-be-deployed application is determined based on the first information and the second information, and then the FPGA device voltage in the configuration information is obtained by using the clock frequency and voltage relationship included in the second information corresponding to the target FPGA device and the FPGA device clock frequency included in the first information.

[0218] In some embodiments, the receiving of the configuration information of the target FPGA device for deploying the to-be-deployed application sent by the first network element comprises:

[0219] The configuration information of the target FPGA device for deploying the to-be-deployed application sent by the first network element is received. The configuration information carries the location information of the deployment node in the second network element. The location information of the deployment node in the second network element is determined by the first network element according to the target FPGA device.

[0220] It should be noted that, when the configuration information is generated based on the first information, the FPGA device with the working voltage matched with the FPGA device voltage required by the to-be-deployed application in the second network element can be taken as the target FPGA device. When the configuration information is generated based on the first information and the second information, the target FPGA device for deploying the to-be-deployed application can be determined based on the first information and the second information.

[0221] Here, the determination of the target FPGA device for deploying the to-be-deployed application based on the first information and the second information can comprise:

[0222] It is judged whether the FPGA device voltage required by the to-be-deployed application included in the first information is matched with the FPGA device voltage included in the second information, and whether the FPGA device clock frequency required by the to-be-deployed application included in the first information is matched with the FPGA device clock frequency included in the second information.

[0223] If the FPGA device voltage required by the to-be-deployed application included in the first information is matched with the FPGA device voltage included in the second information, and the FPGA device clock frequency required by the to-be-deployed application included in the first information is matched with the FPGA device clock frequency included in the second information, the FPGA device corresponding to the second information is taken as the target FPGA device.

[0224] For example, assuming that the FPGA device voltage required by the application to be deployed is V1, and the FPGA device clock frequency required is F1, if the FPGA device voltage included in the second information is V1, and the FPGA device clock frequency is F1, it indicates that the FPGA device can be used as the target FPGA device. Alternatively, assuming that the FPGA device voltage required by the application to be deployed is V1, and the FPGA device clock frequency required is F1, if the FPGA device voltage included in the second information is V2 (V1 is within the voltage range corresponding to V2), and the FPGA device clock frequency is F2 (F1 is within the clock frequency range corresponding to F2), it indicates that the FPGA device can be used as the target FPGA device.

[0225] Further, the deployment node in the second network element in which the target FPGA device is arranged can be used as a candidate deployment location. If the candidate deployment location of the target FPGA device in the second network element is not less than two, the deployment node with the FPGA device voltage matching the FPGA clock frequency required by the application to be deployed and the smallest FPGA device voltage is selected as the final deployment location to achieve energy saving.

[0226] In some embodiments, the method further comprises:

[0227] sending third information to the first network element; the third information indicating that the application deployment is successful or the application deployment fails;

[0228] In the case where the third information indicates that the application deployment fails, receiving the adjusted configuration information sent by the first network element.

[0229] Here, the case where the application deployment fails can include: one possibility is that there is another running application on the FPGA device, which prohibits any form of voltage configuration on the FPGA device or the allowed configuration range does not contain the current configuration, for example, the FPGA virtualization partition is simultaneously requested by multiple applications, causing a conflict. Another possibility is that the application does not have enough access rights to the FPGA virtualization partition, for example, the current configuration of the voltage and frequency causes a timing error due to other unknown interference of the specific deployment environment, at this time, at least one of the clock frequency and the device voltage in the configuration may need to be adjusted to a more reliable value, for example, appropriately reducing the clock frequency and / or increasing the voltage.

[0230] Here, in the case where the third information indicates that the application deployment fails, the first network element can adjust the configuration information, that is, increase or decrease the FPGA device voltage, to obtain the adjusted configuration information.

[0231] As an example, in the wireless cloud network architecture, in the case of application deployment failure, the SMO can receive the information fed back by the O-Cloud DMS included in the O-Cloud, adjust the configuration information according to the information fed back by the O-Cloud DMS, obtain adjusted configuration information, and send the adjusted configuration information to the O-Cloud, so that the O-Cloud DMS included in the O-Cloud reconfigures the target FPGA device on which the to-be-deployed application is to be deployed.

[0232] In the embodiments of the present disclosure, the following advantages are provided:

[0233] (1) The second network element can obtain the configuration information sent by the first network element.

[0234] Here, the first network element can generate configuration information based on the first information, that is, the voltage of the target FPGA device can be configured according to the hardware requirements of the to-be-deployed application. The first network element can also generate configuration information based on the first information and the second information, that is, the voltage of the target FPGA device can be configured according to the hardware requirements of the to-be-deployed application and the hardware performance of the FPGA device.

[0235] Referring to FIG. 4, FIG. 4 is a specific implementation flowchart of the information transmission method according to an embodiment of the present disclosure. As shown in FIG. 4, the method includes steps 401 to 408:

[0236] Step 401: The second network element (open cloud platform) reports second information to an infrastructure management unit included in the second network element; the second information represents hardware resource information of an FPGA device.

[0237] Here, in the wireless cloud network architecture, the second network element can refer to an open cloud platform (O-Cloud), and the infrastructure management unit included in the second network element can refer to an O-Cloud IMS.

[0238] The second information includes at least one of the following:

[0239] FPGA device clock frequency;

[0240] FPGA device voltage;

[0241] Clock frequency and voltage relationship.

[0242] Here, the FPGA device can also be described as an FPGA device.

[0243] Here, the FPGA device clock frequency (which can also be described as FPGA clock frequency) can be understood as the clock frequency supported by the FPGA device, or can also be understood as the clock frequency range supported by the FPGA device.

[0244] Here, the FPGA device voltage (may also be described as FPGA voltage) can be understood as the working voltage of the FPGA device, or can also be understood as the working voltage range supported by the FPGA device.

[0245] Here, the clock frequency and voltage relationship can be understood as the matching relationship between the clock frequency and the working voltage of the FPGA device, or can also be understood as the matching relationship between the system clock and the working voltage of the FPGA device.

[0246] Table 1 is a schematic of the second information. As shown in Table 1, the second information needs to include the clock frequency range supported by the FPGA device, the working voltage range supported by the FPGA device, and the matching relationship between the system clock and the working voltage, and other related information.

[0247] Table 1

[0248] Step 402: The infrastructure management unit included in the second network element submits the above-mentioned second information, i.e., the hardware resource information of the FPGA device, to the first network element (network management unit).

[0249] Here, in the wireless cloud network architecture, the first network element can refer to SMO.

[0250] Here, the first network element (network management unit) adds the second information to the hardware resource inventory (Inventory).

[0251] Step 403: The application developer submits the to-be-deployed application and the first information to the first network element (network management unit); the first information represents the resource descriptor related to the FPGA hardware resource required by the to-be-deployed application.

[0252] Here, the to-be-deployed application can refer to an FPGA application, wherein the FPGA application can include any virtualized network function, containerized network function, cloudized network function, and other third-party applications that need to use the FPGA device. The virtualized network function refers to virtualizing the network function, the containerized network function refers to containerizing the network function, and the cloudized network function refers to cloudizing the network function.

[0253] Here, the to-be-deployed application can carry a signed application data packet for the first network element to verify the format, structure, signature, etc. of the application data packet.

[0254] Here, the first information includes at least one of the following:

[0255] Whether the FPGA device is needed;

[0256] FPGA device board model;

[0257] FPGA device chip model;

[0258] FPGA device logic gate number;

[0259] FPGA device clock frequency;

[0260] FPGA device voltage.

[0261] Here, the FPGA device can also be described as FPGA device.

[0262] Here, the FPGA device board model (which can also be described as FPGA device board model) can be understood as the accelerator board model required to be used by the to-be-deployed application.

[0263] Here, the FPGA device chip model (which can also be described as FPGA device board model) can be understood as the FPGA chip model required to be used by the to-be-deployed application.

[0264] Here, the FPGA device logic gate number (which can also be described as FPGA device logic gate number) can be understood as the logic gate number required by the logic function of the to-be-deployed application.

[0265] Here, the FPGA device clock frequency (which can also be described as FPGA clock frequency) can be understood as the clock frequency or clock frequency range required for the logic function of the to-be-deployed application to run normally.

[0266] Here, the FPGA device voltage (which can also be described as FPGA voltage) can be understood as the operating voltage or operating voltage range required for the logic function of the to-be-deployed application to run normally.

[0267] Table 2 is an example of the first information, and the related information of the FPGA device needs to be included in the resource descriptor of the first information. As shown in Table 2, the first information includes at least one of the following: whether the FPGA device is required, the FPGA device board model, the FPGA device chip model, the FPGA device logic gate number, the FPGA device clock frequency, and the FPGA device voltage.

[0268] Table 2

[0269] Step 404: The first network element (network management unit) determines the target FPGA device for deploying the to-be-deployed application based on the first information and the second information.

[0270] Herein, determining the target FPGA device to deploy the to-be-deployed application based on the first information and the second information can include:

[0271] determining whether the FPGA device voltage required by the to-be-deployed application included in the first information matches the FPGA device voltage included in the second information, and determining whether the FPGA device clock frequency required by the to-be-deployed application included in the first information matches the FPGA device clock frequency included in the second information;

[0272] if the FPGA device voltage required by the to-be-deployed application included in the first information matches the FPGA device voltage included in the second information, and the FPGA device clock frequency required by the to-be-deployed application included in the first information matches the FPGA device clock frequency included in the second information, then taking the FPGA device corresponding to the second information as the target FPGA device.

[0273] For example, assuming that the FPGA device voltage required by the to-be-deployed application is V1, and the FPGA device clock frequency required by the to-be-deployed application is F1, if the FPGA device voltage included in the second information is V1, and the FPGA device clock frequency included in the second information is F1, then it indicates that the FPGA device can be taken as the target FPGA device. Alternatively, assuming that the FPGA device voltage required by the to-be-deployed application is V1, and the FPGA device clock frequency required by the to-be-deployed application is F1, if the FPGA device voltage included in the second information is V2 (V1 is within the voltage range corresponding to V2), and the FPGA device clock frequency included in the second information is F2 (F1 is within the clock frequency range corresponding to F2), then it indicates that the FPGA device can be taken as the target FPGA device.

[0274] Step 405: The first network element (network management unit) generates configuration information for the target FPGA device.

[0275] Herein, the configuration information includes at least one of the following:

[0276] an FPGA device board card model;

[0277] an FPGA device chip model;

[0278] an FPGA device logic gate number;

[0279] an FPGA device clock frequency;

[0280] an FPGA device voltage.

[0281] Specifically, the generating of the configuration information for the target FPGA device can include:

[0282] According to the clock frequency and voltage relationship contained in the second information corresponding to the target FPGA device, a voltage corresponding to the FPGA device clock frequency contained in the first information is determined; and the configuration information is generated based on the determined voltage.

[0283] Here, the first network element (network management unit) can generate an enhanced deployment description file, wherein the configuration information related to the FPGA voltage configuration can be added in the deployment description file to ensure that the FPGA chip in the FPGA device obtains the correct power supply voltage, thereby guaranteeing its stability and performance.

[0284] Here, according to the second information, the first network element (network management unit) finds the voltage corresponding to the FPGA device clock frequency in the description file of the required resources of the application submitted by the application developer in the clock frequency and voltage relationship contained in the second information.

[0285] Here, the first network element (network management unit) can also select the position of the deployment node of the target FPGA device in the second network element (open cloud platform) according to the first information provided by the developer, i.e., the resource descriptor related to the FPGA hardware resources required by the application to be deployed and the FPGA related field in the hardware resource list maintained by the first network element (network management unit).

[0286] Specifically, for the deployment node to be selected, the deployment node having the target FPGA device in the second network element (open cloud platform) can be taken as a candidate deployment position. If the candidate deployment position having the target FPGA device in the second network element (open cloud platform) is not less than two, the deployment node with the minimum FPGA device voltage matching the FPGA clock frequency required by the application to be deployed is selected as the final deployment position to achieve the purpose of energy saving.

[0287] Step 406: The first network element (network management unit) sends the configuration information to the deployment management unit included in the second network element.

[0288] Here, in the wireless cloud network architecture, the deployment management unit included in the second network element can refer to O-Cloud DMS.

[0289] Here, in the deployment instantiation phase, the first network element (network management unit) issues the enhanced deployment descriptor, i.e., the configuration information, to the deployment management unit included in the second network element.

[0290] Here, the first network element (network management unit) sends the configuration information to a deployment management unit included in the second network element; the configuration information can carry position information of a deployment node in the second network element (open cloud platform), wherein the deployment node in the second network element (open cloud platform) is a deployment node provided with the target FPGA device.

[0291] Table 3 is an example of configuration information, as shown in Table 3, the configuration information includes but is not limited to FPGA device board card model, FPGA device chip model, FPGA device logic gate number, FPGA device clock frequency, FPGA device voltage and other information.

[0292] Table 3

[0293] Step 407: The deployment management unit included in the second network element feeds back third information to the first network element (network management unit); the third information represents application deployment success or application deployment failure message.

[0294] Here, the deployment management unit included in the second network element deploys the application to be deployed in the target FPGA device in the deployment node according to the configuration information and the position information of the deployment node in the second network element (cloud platform).

[0295] Step 408: In the case of application deployment failure, the deployment management unit included in the second network element feeds back enhanced hardware resource change information to the first network element (network management unit). Wherein, the enhanced hardware resource change information can include the changed FPGA device voltage configuration.

[0296] Here, the case of application deployment failure can include: one possibility is that there is other running application on the FPGA device, which prohibits any form of any range of voltage configuration on the FPGA device or the allowed configuration range does not contain the current configuration, for example, FPGA virtualization partition is requested by multiple applications at the same time, causing conflict. It is also possible that the application does not have enough access permission to the FPGA virtualization partition, for example, the current configuration of voltage and frequency causes timing error due to other unknown interference of specific deployment environment, at this time, at least one of the clock frequency and the device voltage in the configuration may need to be adjusted to a more reliable value, for example, appropriately reducing the clock frequency and / or increasing the voltage.

[0297] As an example, in the wireless cloud network architecture, in the case that the third information characterizes the application deployment failure, the first network element (SMO) can receive the information fed back by the deployment management unit included in the second network element (O-Cloud), adjust the configuration information according to the fed back information, obtain the adjusted configuration information, and send the adjusted configuration information to the deployment management unit included in the second network element (O-Cloud) to configure the target FPGA device for deploying the application again.

[0298] In this example, the following advantages are achieved:

[0299] (1) It is proposed that the first network element (network management unit) configures the voltage and working frequency of the FPGA device when deploying virtualized network functions (VNFs) or containerized network functions (CNFs) or other third-party applications.

[0300] Specifically, the resource descriptor related to the FPGA hardware resources required by the application to be deployed, i.e., the first information, is enhanced, i.e., the related description of the FPGA hardware resources for the FPGA application requiring the use of the FPGA device is added. In addition, the FPGA hardware information collected by the infrastructure management unit (such as O-Cloud IMS) included in the second network element (O-Cloud) in the network, i.e., the second information, is added, and the first network element (SMO) obtains the clock frequency, working voltage, and clock frequency and voltage relationship supported by the pooled FPGA hardware in the network, i.e., the second information. In this way, the first network element (SMO) can generate the configuration information based on the first information and the second information, that is, the working voltage of the FPGA can be configured according to the actual demand of the application to be deployed and the hardware performance of the FPGA device. Compared with the way of usually selecting the highest value in the recommended working voltage range for the working voltage of the FPGA device in the related art, the working voltage of the pooled FPGA device in the cluster can be reduced as a whole when deploying the FPGA application on a large scale in the network, which helps to significantly reduce the dynamic power consumption and hardware working temperature, thereby prolonging the service life of the device and reducing the operating cost.

[0301] (2) The process of the first network element (SMO) in the network issuing configuration information to the deployment management unit (such as O-Cloud DMS) included in the second network element (O-Cloud) is added.

[0302] Here, the deployment management unit (such as O-Cloud DMS) included in the second network element (O-Cloud) in the network is added to obtain the configuration information. The deployment node selection strategy process in the second network element is enhanced, so that the first network element (SMO) can select the deployment node of the VNF or CNF or other third-party application in the second network element according to the clock frequency supported by different FPGA hardware devices.

[0303] Referring to FIG. 5, FIG. 5 is a schematic diagram of a specific implementation flow of an information transmission method according to an embodiment of the present disclosure. As shown in FIG. 5, the method comprises steps 501 to 509:

[0304] Step 501: In the onboarding stage, the service designer corresponding to the first network element (SMO) first obtains an application data packet of a cloud native network function (CNF) or a virtual network function (VNF) or a third-party application from an application developer.

[0305] Step 502: The service designer corresponding to the first network element (SMO) imports the application data packet to the first network element (SMO) and completes authorization and verification of the application data packet.

[0306] Here, the signed application data packet is uploaded to the service designer corresponding to the first network element (SMO) by the application developer, and the service designer corresponding to the first network element (SMO) checks the format and structure of the application data packet and verifies the validity of the signature.

[0307] Step 503: The first network element (SMO) adds the application data packet that passes the authorization and verification to a catalog.

[0308] Step 504: The first network element (SMO) obtains first information for the application data packet added to the catalog, and generates configuration information based on the first information; the first information represents a resource descriptor related to the FPGA hardware resource required by the to-be-deployed application.

[0309] Here, the first information comprises at least one of the following:

[0310] Whether an FPGA device is required;

[0311] FPGA device board model;

[0312] FPGA device chip model;

[0313] FPGA device logic gate quantity;

[0314] FPGA device clock frequency;

[0315] FPGA device voltage.

[0316] Here, the configuration information comprises at least one of the following:

[0317] FPGA device board model;

[0318] FPGA device chip model;

[0319] FPGA device logic gate number;

[0320] FPGA device clock frequency;

[0321] FPGA device voltage.

[0322] Step 505: The first network element (SMO) registers the corresponding descriptor in the catalog according to the enhanced resource descriptor, i.e., the first information.

[0323] Step 506: The first network element (SMO) feeds back information of successful registration of the application data packet to the corresponding service designer.

[0324] Step 507: In the deployment instantiation phase, the network function orchestrator (NFO) in the first network element (SMO) issues the enhanced deployment descriptor, i.e., the configuration information, to the DMS in the second network element (O-Cloud) through the O2dms interface.

[0325] Here, the first network element (SMO) can also determine the location information of the deployment node in the first platform by using the first information, send the configuration information to the second network element, and the configuration information carries the location information of the deployment node in the first platform.

[0326] Specifically, for the deployment node to be selected, it is judged whether the FPGA device voltage required by the application to be deployed matches the voltage supported by the FPGA device of the deployment node in the first platform, and whether the FPGA clock frequency required by the application to be deployed matches the clock frequency supported by the FPGA device of the deployment node in the first platform, and if both are satisfied, the deployment node can be used as a candidate deployment location. If the first platform (cloud platform) has no less than two candidate deployment locations, the deployment node with the smallest FPGA device voltage is selected as the final deployment location to achieve the purpose of energy saving.

[0327] Step 508: The DMS in the second network element (O-Cloud) performs deployment or pre-deployment (allocates and reserves corresponding hardware) of the VNF or CNF or third-party application according to the configuration information, i.e., the enhanced deployment descriptor, issued by the first network element (SMO).

[0328] Step 509: After the DMS in the second network element (O-Cloud) deploys the VNF or CNF or third-party application, it sends third information to the first network element (SMO).

[0329] Here, the third information includes: application deployment success or application deployment failure response or pre-deployment feedback reserved hardware parameters.

[0330] Here, in the case of application deployment failure, the DMS included in the second network element (O-Cloud) feeds back the adjusted configuration information to the first network element (SMO).

[0331] Here, the adjusted configuration information can also be described as enhanced hardware resource change information. Among them, the changed FPGA device voltage configuration can be included in the adjusted configuration information.

[0332] Here, for the case of being unable to directly deploy, the clock frequency and external circuit need to be determined according to the actual parameters of the running device allocated by the DMS to adjust the partial configurable parameters of the VNF or CNF or third-party application, and the DMS feeds back the device parameters allocated for running the CNF / VNF. The first network element (SMO) adjusts the partial configurable parameters of the VNF or CNF or third-party application according to the content of the feedback message, and issues a configuration request to the DMS after the adjustment is completed.

[0333] In this example, the following advantages are provided:

[0334] (1) FPGA voltage configuration is performed by the first network element (SMO) when deploying applications in the open RAN (O-RAN) architecture.

[0335] Taking the O-RAN architecture as an example, the SMO in the O-RAN is the first network element, the IMS and the DMS in the O-Cloud are the second network element, and the application to be deployed can include a virtualized network function or a containerized network function or a cloud network function or other third-party application.

[0336] To implement the information transmission method of the embodiments of the present disclosure, the embodiments of the present disclosure also provide an information transmission device arranged in a first network element. FIG. 6 is a schematic diagram of the composition structure of the information transmission device of the embodiments of the present disclosure. As shown in FIG. 6, the device includes:

[0337] The first receiving module 61 is configured to receive first information. The first information represents a resource descriptor related to FPGA hardware resources required by an application to be deployed. The first information is used to generate configuration information of a target FPGA device for deploying the application to be deployed.

[0338] In some embodiments, the first receiving module 61 is further configured to:

[0339] receive second information;

[0340] The second information represents hardware resource information of the FPGA device, and the second information is used to generate the configuration information in combination with the first information.

[0341] In some embodiments, the device is further configured to:

[0342] sending the configuration information to a second network element; wherein the configuration information is generated based on the first information.

[0343] In some embodiments, the apparatus is further configured to:

[0344] sending the configuration information to a second network element; wherein the configuration information is generated based on the first information and the second information.

[0345] In some embodiments, the first information comprises at least one of:

[0346] whether the FPGA device is needed;

[0347] a FPGA device board model;

[0348] a FPGA device chip model;

[0349] a FPGA device number of logic gates;

[0350] a FPGA device clock frequency;

[0351] a FPGA device voltage.

[0352] In some embodiments, the second information comprises at least one of:

[0353] a FPGA device clock frequency;

[0354] a FPGA device voltage;

[0355] a clock frequency and voltage relationship.

[0356] In some embodiments, the configuration information comprises at least one of:

[0357] a FPGA device board model;

[0358] a FPGA device chip model;

[0359] a FPGA device number of logic gates;

[0360] a FPGA device clock frequency;

[0361] a FPGA device voltage.

[0362] In some embodiments, the second information is sent by a second network element.

[0363] In some embodiments, the apparatus is further configured to:

[0364] determining, based on the first information and the second information, a target FPGA device to deploy the to-be-deployed application;

[0365] generate the configuration information according to the target FPGA device.

[0366] In some embodiments, the apparatus is further configured to:

[0367] determine a voltage corresponding to the FPGA device clock frequency included in the first information according to a clock frequency and voltage relationship included in second information corresponding to the target FPGA device;

[0368] generate the configuration information based on the determined voltage.

[0369] In some embodiments, the apparatus is further configured to:

[0370] determine location information of a deployment node in a second network element according to the target FPGA device;

[0371] send the configuration information to the second network element; the configuration information carries the location information of the deployment node in the second network element.

[0372] In some embodiments, the first receiving module 61 is further configured to:

[0373] receive third information sent by the second network element; the third information indicates application deployment success or application deployment failure;

[0374] in the case where the third information indicates application deployment failure, adjust the configuration information to obtain adjusted configuration information;

[0375] send the adjusted configuration information to the second network element.

[0376] In actual application, the first receiving module 61 can be implemented by a communication interface in an information transmission apparatus; and the processing unit can be implemented by a processor in the information transmission apparatus.

[0377] It should be noted that the information transmission apparatus provided in the above embodiments is only used as an example for illustrating the division of the above program modules, and in actual application, the above processing can be completed by different program modules according to needs, that is, the internal structure of the apparatus is divided into different program modules to complete all or part of the above processing. In addition, the information transmission apparatus and the information transmission method provided in the above embodiments belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.

[0378] To implement the information transmission method provided in the embodiments of the present disclosure, the embodiments of the present disclosure further provide an information transmission apparatus arranged in a second network element. FIG. 7 is a structural schematic diagram of the information transmission apparatus according to the embodiments of the present disclosure, as shown in FIG. 7, the apparatus includes:

[0379] The second receiving module 71 is configured to receive configuration information of a target FPGA device for deploying the to-be-deployed application, which is sent by the first network element; wherein the configuration information is generated by the first network element based on the received first information; and the first information represents a resource descriptor related to FPGA hardware resource required by the to-be-deployed application.

[0380] In some embodiments, the configuration information is generated by the first network element based on the received first information and second information; and the second information represents hardware resource information of the FPGA device.

[0381] In some embodiments, the first information comprises at least one of the following:

[0382] Whether the FPGA device is required;

[0383] A FPGA device board card model;

[0384] A FPGA device chip model;

[0385] A FPGA device logic gate number;

[0386] A FPGA device clock frequency;

[0387] A FPGA device voltage.

[0388] In some embodiments, the second information comprises at least one of the following:

[0389] A FPGA device clock frequency;

[0390] A FPGA device voltage;

[0391] A clock frequency and voltage relationship.

[0392] In some embodiments, the configuration information comprises at least one of the following:

[0393] A FPGA device board card model;

[0394] A FPGA device chip model;

[0395] A FPGA device logic gate number;

[0396] A FPGA device clock frequency;

[0397] A FPGA device voltage.

[0398] In some embodiments, the second information is sent by a second network element.

[0399] In some embodiments, the second receiving module 71 is further configured to:

[0400] receive configuration information of a target FPGA device to which the application is to be deployed, sent by the first network element; the configuration information carries location information of a deployment node in the second network element; wherein the location information of the deployment node in the second network element is determined by the first network element according to the target FPGA device.

[0401] In some embodiments, the apparatus is further configured to:

[0402] send third information to the first network element; the third information indicates that the application deployment is successful or the application deployment fails;

[0403] in the case where the third information indicates that the application deployment fails, receive adjusted configuration information sent by the first network element.

[0404] In actual application, the second receiving module 71 can be implemented by a communication interface in the information transmission apparatus; and the processing unit can be implemented by a processor in the information transmission apparatus.

[0405] It should be noted that the information transmission apparatus provided in the above embodiments is only used for example to illustrate the division of the above program modules, and in actual application, the above processing can be completed by different program modules according to needs, that is, the internal structure of the apparatus is divided into different program modules to complete all or part of the above processing. In addition, the information transmission apparatus and the information transmission method provided in the above embodiments belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.

[0406] The present disclosure also provides a first network element, as shown in FIG. 8, comprising:

[0407] a first communication interface 81 capable of information interaction with other devices;

[0408] a first processor 82 connected with the first communication interface 81, configured to execute the above-mentioned method provided by one or more technical solutions on the side of the first network element when running a computer program. The computer program is stored on a first memory 83.

[0409] It should be noted that the specific processing process of the first processor 82 and the first communication interface 81 is detailed in the method embodiments, which will not be repeated here.

[0410] Of course, in actual application, each component in the first network element 80 is coupled together through a bus system 84. It can be understood that the bus system 84 is used to realize the connection and communication between the components. In addition to the data bus, the bus system 84 also includes a power bus, a control bus and a state signal bus. However, in order to clearly illustrate, all kinds of buses are marked as the bus system 84 in FIG. 8.

[0411] The first memory 83 in the embodiments of the present disclosure is configured to store various types of data to support the operation of the first network element 80. Examples of the data include any computer programs used for operation on the first network element 80.

[0412] The method disclosed in the embodiments of the present disclosure can be applied to or implemented by the first processor 82. The first processor 82 can be an integrated circuit chip having a processing capability of signals. In the implementation process, each step of the above method can be completed by integrated logic circuits or instructions in the form of software in the first processor 82. The first processor 82 disclosed above can be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The first processor 82 can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present disclosure. The general-purpose processor can be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiments of the present disclosure, the execution can be directly completed by a hardware coding processor, or completed by a combination of hardware and software modules in the coding processor. The software module can be located in a storage medium, which is located in the first memory 83, and the first processor 82 reads the information in the first memory 83 and combines the hardware to complete the steps of the above method.

[0413] The embodiments of the present disclosure further provide a second network element, as shown in FIG. 9, comprising:

[0414] The second communication interface 91 is capable of exchanging information with other devices;

[0415] The second processor 92 is connected with the second communication interface 91, and is configured to execute the computer program to perform the method provided by one or more technical solutions on the side of the second network element. The computer program is stored in the second memory 93.

[0416] It should be noted that the specific processing procedures of the second processor 92 and the second communication interface 91 are described in the method embodiments, which will not be repeated here.

[0417] Of course, in actual application, each component in the second network element 90 is coupled together through the bus system 94. It can be understood that the bus system 94 is used to realize the connection and communication between the components. The bus system 94 includes not only a data bus, but also a power bus, a control bus and a status signal bus. However, in order to clearly illustrate, various buses are marked as the bus system 94 in FIG. 9.

[0418] The second memory 93 in the embodiments of the present disclosure is configured to store various types of data to support the operation of the second network element 90. Examples of the data include any computer programs used for operation on the second network element 90.

[0419] The method disclosed in the embodiments of the present disclosure can be applied to or implemented by the second processor 92. The second processor 92 can be an integrated circuit chip having a signal processing capability. In the implementation process, each step of the above method can be completed by the integrated logic circuit or the instruction in the form of software of the second processor 92. The second processor 92 can be a general-purpose processor, a digital signal processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc. The second processor 92 can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present disclosure. The general-purpose processor can be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiments of the present disclosure, the hardware decoding processor can be directly embodied to complete the execution, or the hardware and software modules in the decoding processor can be combined to complete the execution. The software module can be located in the storage medium, which is located in the second memory 93. The second processor 92 reads the information in the second memory 93 and combines the hardware to complete the steps of the above method.

[0420] In the exemplary embodiments, the first network element 80 and the second network element 90 can be implemented by one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, micro controller units (MCUs), microprocessors, or other electronic elements, to execute the above method.

[0421] It can be understood that the memory (the first memory 83, the second memory 93) of the embodiments of the present disclosure can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (Read Only Memory, ROM), a programmable read-only memory (Programmable Read-Only Memory, PROM), an erasable programmable read-only memory (Erasable Programmable Read-Only Memory, EPROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a ferromagnetic random access memory (ferromagnetic random access memory, FRAM), a flash memory (Flash Memory), a magnetic surface memory, an optical disc, or a compact disc read-only memory (Compact Disc Read-Only Memory, CD-ROM); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (Random Access Memory, RAM) used as an external cache. By way of example but not limitation, many forms of RAM can be used, such as static random access memory (Static Random Access Memory, SRAM), synchronous static random access memory (Synchronous Static Random Access Memory, SSRAM), dynamic random access memory (Dynamic Random Access Memory, DRAM), synchronous dynamic random access memory (Synchronous Dynamic Random Access Memory, SDRAM), double data rate synchronous dynamic random access memory (Double Data Rate Synchronous Dynamic Random Access Memory, DDR SDRAM), enhanced synchronous dynamic random access memory (Enhanced Synchronous Dynamic Random Access Memory, ESDRAM), synchronous link dynamic random access memory (SyncLink Dynamic Random Access Memory, SLDRAM), direct memory bus random access memory (Direct Rambus Random Access Memory, DRRAM).The memory described in the embodiments of the present disclosure is intended to include, but not limited to, these and any other suitable types of memory.

[0422] In the example embodiments, the embodiments of the present disclosure also provide a storage medium, specifically a computer readable storage medium, such as a memory storing a computer program, which can be executed by the first processor 82 of the first network element 80 to complete the steps of the aforementioned first network element side method. The computer readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.

[0423] By way of example, the embodiments of the present disclosure also provide a computer program product including a computer program, which can be executed by the first processor 82 of the first network element 80 to complete the steps of any of the aforementioned first network element side methods, and which can be executed by the second processor 92 of the second network element 90 to complete the steps of any of the aforementioned second network element side methods.

[0424] It should be noted that "first", "second", and the like are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence.

[0425] In addition, the technical solutions described in the embodiments of the present disclosure can be combined arbitrarily without conflict.

[0426] The above is only a preferred embodiment of the present disclosure, and is not intended to limit the protection scope of the present disclosure.

Claims

An information transmission method applied to a first network element, the method comprising: receiving first information; wherein the first information represents a resource descriptor related to a field programmable gate array (FPGA) hardware resource required by a to-be-deployed application; and the first information is used to generate configuration information of a target FPGA device for deploying the to-be-deployed application. The method according to claim 1, further comprising: receiving second information; wherein the second information represents hardware resource information of the FPGA device, and the second information is used to generate the configuration information in combination with the first information. The method according to claim 1, further comprising: sending the configuration information to a second network element; wherein the configuration information is generated based on the first information. The method according to claim 2, further comprising: sending the configuration information to a second network element; wherein the configuration information is generated based on the first information and the second information. The method according to any one of claims 1 to 4, wherein The first information comprises at least one of: whether the FPGA device is required; a FPGA device board card model; a FPGA device chip model; a FPGA device logic gate number; a FPGA device clock frequency; a FPGA device voltage. The method according to claim 2 or 4, wherein The second information comprises at least one of: a FPGA device clock frequency; a FPGA device voltage; a clock frequency and voltage relationship. The method according to any one of claims 1 to 4, wherein The configuration information comprises at least one of: a FPGA device board card model; a FPGA device chip model; a FPGA device logic gate number; a FPGA device clock frequency; a FPGA device voltage. The method of claim 2, wherein, The second information is sent by the second network element. The method according to claim 4, further comprising: determining a target FPGA device for deploying the to-be-deployed application based on the first information and the second information; generating the configuration information for the target FPGA device. The method of claim 9, wherein, The generating the configuration information for the target FPGA device comprises: determining a voltage corresponding to a FPGA device clock frequency contained in the first information according to a clock frequency and voltage relationship contained in second information corresponding to the target FPGA device; and generating the configuration information based on the determined voltage. The method according to claim 3 or 4, wherein The sending the configuration information to the second network element comprises: determining location information of a deployment node in the second network element according to the target FPGA device; and sending the configuration information to the second network element, wherein the configuration information carries the location information of the deployment node in the second network element. The method according to claim 3 or 4, further comprising: receiving third information sent by the second network element; the third information represents that application deployment is successful or that application deployment fails; in a case where the third information represents that application deployment fails, adjusting the configuration information to obtain adjusted configuration information; and sending the adjusted configuration information to the second network element. An information transmission method applied to a second network element, the method comprising: receiving configuration information of a target FPGA device for deploying a to-be-deployed application sent by a first network element; The configuration information is generated by the first network element based on received first information, and the first information represents a resource descriptor related to an FPGA hardware resource required by the application to be deployed. The method of claim 13, wherein The configuration information is generated by the first network element based on received first information and second information, and the second information represents hardware resource information of the FPGA device. The method according to claim 13 or 14, wherein The first information includes at least one of the following: Whether an FPGA device is required; An FPGA device board card model; An FPGA device chip model; An FPGA device logic gate quantity; An FPGA device clock frequency; An FPGA device voltage. The method of claim 14, wherein, The second information includes at least one of the following: An FPGA device clock frequency; An FPGA device voltage; A clock frequency and voltage relationship. The method according to claim 13 or 14, wherein The configuration information includes at least one of the following: An FPGA device board card model; An FPGA device chip model; An FPGA device logic gate quantity; An FPGA device clock frequency; An FPGA device voltage. The method of claim 14, wherein, The second information is sent by a second network element. The method according to claim 13 or 14, wherein The configuration information of the target FPGA device for deploying the application to be deployed is received by the first network element, and includes: The configuration information of the target FPGA device for deploying the application to be deployed is received by the first network element, and includes: The configuration information of the target FPGA device for deploying the application to be deployed is received by the first network element, and includes: The method of claim 13 or 14, further comprising: Sending third information to the first network element; The third information represents application deployment success or application deployment failure; In the case where the third information represents application deployment failure, receiving adjusted configuration information sent by the first network element. An information transmission device, comprising: A first receiving module for receiving first information, wherein the first information represents a resource descriptor related to an FPGA hardware resource required by an application to be deployed, and the first information is used to generate configuration information of a target FPGA device for deploying the application to be deployed. An information transmission device, comprising: A second receiving module for receiving configuration information of a target FPGA device for deploying an application to be deployed sent by a first network element, wherein the configuration information is generated by the first network element based on received first information, and the first information represents a resource descriptor related to an FPGA hardware resource required by the application to be deployed. wherein, A first network element, comprising a processor and a memory for storing a computer program capable of running on the processor, The processor is configured to execute the steps of the method of any one of claims 1 to 12 when running the computer program. wherein, A second network element, comprising a processor and a memory for storing a computer program capable of running on the processor, The processor is configured to execute the steps of the method of any one of claims 13 to 20 when running the computer program. A computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 12, or, implements the steps of the method according to any one of claims 13 to 20. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 12, or, implements the method according to any one of claims 13 to 20.

Citation Information

Patent Citations

  • FPGA equipment distribution method, device and equipment and storage medium

    CN111858035A

  • Equipment adaptation method and network management device

    CN112436964A

  • Method and equipment for configuring resources

    CN116781644A

  • Information transmission method, first network element, second network element, chip and storage medium

    CN117016005A

  • Information transmission method and device

    CN117998566A