Deployment of accelerated abstraction layers in cellular communication systems
By introducing accelerated abstraction layer deployment management services and accelerator programming services in the cellular communication system, dynamically manage hardware accelerator nodes, the problem of difficult to implement the dynamic AAL deployment mechanism is solved, resource usage and performance are optimized, and it is suitable for a variety of emerging applications.
Patent Information
- Application Number
- CN202280095866.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-30
- Publication Date
- 2024-12-27
AI Technical Summary
In cellular communication systems, especially 5G systems, it is difficult for the prior art to implement dynamic and flexible Acceleration Abstraction Layer (AAL) deployment mechanism, especially when open cloud nodes are running, resulting in waste of resources and insufficient performance.
By introducing accelerated abstraction layer deployment management services (DMS) and accelerator programming services in cellular communication systems, we dynamically manage hardware accelerator nodes, realize flexible deployment and programming of AAL, use the repository function to provide pre-compiled data plane artifacts, and use the repository function to provide pre-compiled data plane artifacts, and use the Service Management and Orchestration Components (SMOs) coordinate mapping and deployment processes.
It implements dynamic provision of AAL at runtime, optimizes the use of hardware accelerators, avoids resource waste, improves performance, and is suitable for edge computing and other emerging use cases such as Extended Reality (XR) applications.
Smart Images

Figure CN119213865A_ABST
Abstract
Description
Technical Field
[0001] Various example embodiments relate generally to cellular communication systems and, more particularly, to accelerating deployment of abstraction layers in such systems. Background Art
[0002] The acceleration abstraction layer AAL can be used to abstract, that is, distinguish the implementation details of dedicated hardware acceleration devices and expose standardized application programming interfaces API in various cellular communication systems (such as 5G systems). However, at least for 5G systems, it is necessary to provide a dynamic and flexible AAL deployment mechanism that works when an open cloud node is running. In the future, such improvements may also be useful in other cellular communication systems. Summary of the invention
[0003] According to some aspects, the subject matter of the independent claims is provided. Some example embodiments are defined in the dependent claims.
[0004] The scope of protection sought by various exemplary embodiments of the present invention is set out by the independent claims. Exemplary embodiments and features described in this specification that do not belong to the scope of the independent claims, if any, should be interpreted as examples that help understand the various exemplary embodiments of the present invention.
[0005] According to one aspect of the present invention, a device is provided, comprising: at least one processing core, at least one memory including computer program code, the at least one memory and the computer program code being configured to, together with the at least one processing core, enable the device to at least: receive an accelerator programming request from an acceleration abstraction layer AAL-deployment management service DMS network component, send a code retrieval request to a repository network component, and receive a code snippet in response, send a programming request with the code snippet to a hardware accelerator manager to request the hardware accelerator manager to program at least one hardware accelerator node, receive an indication indicating that the programming is successful in response to sending the programming request, and send an indication indicating that the accelerator programming is successful to the AAL-DMS.
[0006] The at least one memory and the computer program code may also be configured, together with the at least one processing core, to cause the apparatus to at least: operate as an accelerator programmed AP-DMS network component.
[0007] According to one aspect of the present invention, there is provided an apparatus, comprising: at least one processing core, at least one memory containing computer program code, wherein the at least one memory and the computer program code are configured, together with the at least one processing core, so that the apparatus at least: sends an accelerator programming request to an accelerator programming AP-deployment management service DMS network component, receives an indication indicating that the accelerator programming is successful from the AP-DMS, and sends a programming completion message to the deployment DMS.
[0008] The at least one memory and the computer program code may be configured to, together with the at least one processing core, cause the apparatus to at least: operate as an Acceleration Abstraction Layer AAL-DMS network component.
[0009] The at least one memory and the computer program code may be configured, together with the at least one processing core, to cause the apparatus to at least: receive a request for accelerator programming from the deployment DMS, and in response to receiving the request, send an accelerator programming request.
[0010] The accelerator programming request may be a request to program at least one hardware accelerator node.
[0011] The accelerator programming request may be a request for programming at least one hardware accelerator node of another network component. The other network component may be an application or a cloudified network function.
[0012] According to one aspect of the present invention, a system is provided, comprising: a system, the system comprising an acceleration abstraction layer AAL-deployment management service DMS network component, and an accelerator programming AP-DMS network component, wherein the AP-DMS network component is configured to: receive an accelerator programming request from the AAL-DMS network component, send a code retrieval request to the repository network component, and receive a code snippet in response, send a programming request with the code snippet to a hardware accelerator manager to request the hardware accelerator manager to program at least one hardware accelerator node, receive an indication indicating that the programming is successful in response to sending the programming request, and send an indication indicating that the accelerator programming is successful to the AAL-DMS; and the AAL-DMS network component is configured to: send an accelerator programming request to the AP-DMS network component, receive an indication indicating that the accelerator programming is successful from the AP-DMS, and send a program completion message to the deployment DMS.
[0013] The AAL-DMS network component may be configured to receive a request for accelerator programming from the deployment DMS, and in response to receiving the request, send the accelerator programming request.
[0014] The accelerator programming request may be a request to program at least one hardware accelerator node.
[0015] The accelerator programming request may be a request for programming at least one hardware accelerator node of another network component.
[0016] The other network component may be an application or a cloudified network function.
[0017] According to one aspect of the present invention, a first method is provided, comprising: receiving an accelerator programming request from an acceleration abstraction layer AAL-deployment management service DMS network component, sending a code retrieval request to a repository network component, and receiving a code snippet in response, sending a programming request with the code snippet to a hardware accelerator manager to request the hardware accelerator manager to program at least one hardware accelerator node, receiving an indication indicating that the programming is successful in response to sending the programming request, and sending an indication indicating that the accelerator programming is successful to the AAL-DMS.
[0018] According to one aspect of the present invention, a second method is provided, comprising: sending an accelerator programming request to an accelerator programming AP-deployment management service DMS network component, receiving an indication indicating that the accelerator programming is successful from the AP-DMS, and sending a programming completion message to the deployment DMS.
[0019] According to one aspect of the present invention, there is provided an apparatus, comprising components for executing a first method. According to one aspect of the present invention, there is provided an apparatus, comprising components for executing a second method.
[0020] According to one aspect of the present invention, there is provided a non-transitory computer readable medium having a computer readable instruction set stored thereon, which, when executed by at least one processor, causes a device to perform at least the first or second method. According to one aspect of the present invention, there is provided a computer program, comprising instructions, which, when executed by a device, causes the device to perform the first or second method. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 illustrates an architecture according to at least some example embodiments;
[0022] Figure 2 A first signaling diagram is shown according to at least some example embodiments;
[0023] Figure 3 showing a second signaling diagram according to at least some example embodiments;
[0024] Figure 4 An example apparatus capable of supporting at least some example embodiments is shown;
[0025] Figure 5 A flowchart illustrating a method according to at least some example embodiments; and DETAILED DESCRIPTION
[0026] The deployment of the acceleration abstraction layer AAL in a cellular communication system can be improved by the process described in this article. More specifically, the cellular communication system may include a mapping deployment management service DMS network component and a deployment DMS network component in an open cloud network of the cellular communication system. Then, a device operating as a service management and orchestration SMO network component can request the mapping DMS network component to map another network component to at least one hardware accelerator node in the open cloud network. The device can also request the deployment DMS to deploy at least one hardware accelerator node for the other network component. Therefore, during the operation of at least one hardware accelerator node, dynamic and flexible AAL deployment is enabled. In some example embodiments, acceleration can be used for base station packet processing.
[0027] Figure 1 An architecture according to at least some example embodiments is shown. Figure 1 In the embodiment, the cloudified network function CNF is represented by 110. The CNF 110 may be associated with an open radio access network O-RAN. The CNF 110 may also include an application 120, or at least be associated with an application 120. The application 120 may, for example, process an address space. The application 120 may be connected to a library and / or driver 130 via an AAL interface 125. The library and / or driver 130 may also be associated with a hardware HW accelerator 140 of an open cloud O-Cloud node 150, for example, via a vendor-specific interface, which may not be specified / standardized. Figure 1 The relationship between AAL, O-Cloud and applications may be shown, for example, as defined in O-RAN.WG6.AAL-GAnP-v01.05 “O-RAN Acceleration Abstraction Layer General Aspects and Principles” specification. AALI implementation is indicated by 160 .
[0028] Application 120 may access HW accelerator 140 through AAL interface 125, which may be exposed by library and / or driver 130, such as infrastructure software library and / or driver in user and / or kernel space of O-Cloud node 150 where application 120 resides. AAL interface 125 may conform to a standard, while the implementation of the abstraction layer of CNF 110 and its interface with HW accelerator 140 may be proprietary. In some example embodiments, it may be assumed that AAL is provided together with the O-Cloud node 150 with which it is interacting.
[0029] At least one challenge associated with AAL deployment is that, while fixed-function HW accelerators can be provided with corresponding AAL software from the outset, the situation is different for programmable devices and software-based acceleration. It can usually be assumed that acceleration of RAN functions, such as Figure 1The O-Cloud nodes 150 in the example can be deployed at edge or far edge locations, where a small footprint for server installation may cause resource constraints.
[0030] At the same time, such accelerated RAN functions at these edge locations may not be intended to be dedicated hosts for RAN functions, but also support various new edge computing use cases, such as extended reality XR applications, where proximity to users may be required. Therefore, it may be wise to deploy the AAL software only on programmable nodes when the O-Cloud node 150 itself and the programmable HW accelerator 140 within the O-Cloud node 150 are actually used to host RAN functions. Otherwise, a large amount of scarce edge resources may be wasted to run application programming interface API frameworks that are not used at all. Therefore, it is necessary to introduce a dynamic and flexible AAL deployment mechanism that can be used when the O-Cloud node 150 is running.
[0031] Therefore, embodiments of the present disclosure provide a solution that can be used to handle non-fixed HW accelerators, such as Figure 1 The programming of the HW accelerator 140 in the RAN and the dynamic provision of the corresponding AAL at runtime. At least some embodiments of the present invention may be standardized, for example, by O-RAN WG6.
[0032] In some example embodiments, an AAL-DMS is provided. The AAL-DMS may handle the deployment of the AAL software framework, which may also interact with programmable accelerators (such as HW accelerator 140) to implement programming functions and convert AAL interfaces (such as Figure 1 The AAL interface 125 in the AAL-DMS is exposed to an application, such as the application 120. The operation of the AAL-DMS and the AAL interface may be standardized.
[0033] In some example embodiments, an accelerator programming DMS, AP-DMS, is provided. The AP-DMS can handle artifact retrieval and acceleration programming at runtime and be initialized by the SMO, or directly by the AAL-DMS. The AP-DMS can also be standardized.
[0034] In some example embodiments, the repository functionality may be used to provide pre-compiled data plane artifacts. The pre-compiled data plane artifacts may be loaded onto a non-fixed function accelerator, e.g. Figure 1 The HW accelerator 140 in the embodiment of the present invention. For example, a field programmable gate array FPGA bitstream can be loaded to correspond to the required functions and devices.
[0035] Figure 21 shows a first signaling diagram according to at least some example embodiments. On the vertical axis, from left to right, SMO 210 and CNF 110 located outside O-Cloud network 200 of the cellular communication system are arranged. The O-Cloud network may also include mapping DMS 220, deployment DMS 230, AAL-DMS 240, and AAL 250. AAL 250 may be Figure 1 A practical implementation of layer 160 is shown in FIG. 1 . Time progresses from top to bottom.
[0036] More specifically, Figure 2 A high-level flow diagram is shown for SMO-triggered O-RAN application deployment onto an O-Cloud network 200 interacting with an AAL 250. The SMO 210 may be a network component in a cellular communication system. In some example embodiments, the deployment DMS 230 may be a Kubernetes API.
[0037] At step 201, SMO 210 may represent another network component of a cellular communication system (eg, Figure 1 ), sends a mapping request to the mapping DMS network component 220 in the O-Cloud network 200 of the cellular communication system, wherein the mapping request may be to map the other network component to at least one node in the O-Cloud network 200, for example Figure 1 . The mapping DMS 220 may map the CNF 110 to at least one node in the O-Cloud network, thereby exposing the requested AAL profile, such as a plurality of logical processing units LPUs and queues, where different O-Cloud clusters may have different AAL profiles. In response to the request, the SMO 210 may then receive an indication of a cluster of at least one node in the O-Cloud network 200, such as an identity, from the mapping DMS 220 at step 202.
[0038] At least one node may include a HW accelerator. The mapping request may be used to request that the HW of at least one HW accelerator node of the other network component be accelerated. In some example embodiments, the acceleration of the HW may refer to deploying AAL software on at least one node. That is, the AAL software may be installed on at least one node to accelerate its capabilities. At least one HW accelerator node may be a programmable accelerator node.
[0039] The mapping request may be sent during operation of the at least one HW accelerator node. That is, the mapping request may be sent while the at least one HW accelerator node is running, but not before, i.e., before starting operation. The mapping request may be sent, for example, via an AAL interface in a core network of the cellular communication system, for example, at least partially via the AAL interface 125.
[0040] In other words, SMO 210 may send a mapping request of CNF 110 or application 120 to mapping DMS 220, and mapping DMS 220 may provide SMO 210 with a suitable O-Cloud cluster depending on the parameters specified in the mapping request, such as the location, network and resource requirements of the other network component (such as CNF 110 and / or application 120). Mapping DMS 220 may maintain all available cloud nodes, such as Figure 1 The mapping DMS 220 may map / select an O-Cloud cluster for the other network component based on the parameters of the mapping request. The mapped / selected O-Cloud cluster and the nodes therein should have sufficient resources, such as the number of LPUs and queues, to comply with the mapping request. In response, the mapping DMS 220 may send an indication of the selected O-Cloud cluster back to the SMO 210.
[0041] At step 203, SMO 210 may send an AAL deployment request to AAL-DMS 240. AAL-DMS 240 may then deploy the AAL function on the selected nodes and further respond by sending a deployment response to SMO 210. The selected nodes may be indicated, for example, in the AAL deployment request.
[0042] Therefore, at step 203, there may be interaction between SMO 210 and AAL-DMS 240. SMO 210 may request AAL-DMS 240 to deploy the required AAL functions on the O-Cloud cluster / node selected by mapping DMS 220. Step 203 may be necessary only when the AAL software has not been deployed before, such as in the case of non-fixed function accelerators. After receiving the AAL deployment request, AAL-DMS 240 may deploy the required AAL functions on the selected nodes (such as AAL 250) and return the deployment status to SMO 210. The deployment of the required AAL functions may refer to, for example, starting the software process and / or library of the required AAL functions.
[0043] Once the AAL is up and running on the selected node(s) (e.g., AAL 250), deployment of the other network component may be triggered by deployment DMS 230. SMO 210 may send a deployment request at step 204 to deploy at least one hardware accelerator node for the other network component (e.g., deploy AAL 250 for CNF 110).
[0044] At step 205, the deployment DMS 230 may deploy the other network component after receiving the deployment request. At step 205, the deployment may include programming the AAL 250 according to the requirements of the CNF 110. For example, the deployment DMS 230 may program the AAL-DMS 240 with the required LPU functions on the accelerator. The AAL-DMS 240 may also retrieve the device-specific LPU image from the AAL 250, program the accelerator and expose the LPU. Thereafter, the AAL-DMS 240 may send a program completion response to the deployment DMS 230. At step 206, the deployment DMS 230 may send a deployment response to the SMO 210.
[0045] In some example embodiments, the other network component to be deployed may require HW acceleration, and the selected node on which the other network component should be deployed may include a non-fixed function accelerator. In this case, the HW accelerator may be programmed and properly configured onto the AALI implementation 160 so that the other network component (such as CNF 110) can offload tasks later. That is, the HW accelerator 140 may first be programmed to have basic acceleration capabilities, and then the AALI implementation 160 may be configured on or with the HW accelerator 140 to later deploy the CNF 110 via the AAL interface 125. The programming and configuration may be handled by the AP-DMS, such as in conjunction with Figure 3 Explain in more detail.
[0046] After the accelerator programming is successfully completed, the AAL 250 can be considered to be fully deployed on the selected node, such as Figure 1 207, CNF 110 may send an initialization request to AAL 250, and AAL 250 may respond by sending an initialization response back to CNF 110. Step 207 may need to be, for example, a bootstrap step to enable communication between CNF 110 and AAL 250.
[0047] At step 208, at least two different initialization alternatives may be performed. For example, if it is assumed that a fixed function accelerator is used and there has been no previous interaction with the accelerator or its hardware accelerator manager HAM (e.g., for programming), CNF 110 may send a request to AAL 250 to obtain available devices and receive a list of available AAL devices in response. Then, CNF 110 may send a request to obtain AAL device capabilities (AAL profile) and receive AAL device capabilities in response. Thereafter, CNF 110 may send a request to AAL 250 to set up and allocate AAL device queues and receive a setup response.
[0048] Alternatively, if the non-fixed function accelerator has been programmed by the AP-DMS and the non-fixed HW accelerator node is therefore known, the message sequence may be shortened. In this case, CNF 110 may send a request to AAL 250 to obtain available AAL devices and corresponding capabilities (AAL profiles), and in response receive a list of available AAL devices with capabilities from AAL 250. Then, CNF 110 may send a request to AAL 250 to set and allocate an AAL device queue and receive a setup response.
[0049] At step 209, CNF 110 may configure AAL 250 with the AAL device queue and receive a configuration response from AAL 250. After the AAL device queue is correctly configured, the initialization process may be considered complete and the operation of CNF 110 may begin at at least one accelerated HW node. Figure 1 When CNF 110 has an acceleration task to complete, it may send the task to the configured HW accelerator 140 , for example, via AAL interface 125 .
[0050] Figure 3 A second signaling diagram according to at least some example embodiments is shown. Arranged from left to right on the vertical axis are AAL-DMS 240, AP-DMS 310, repository 320, and HAM 330. Time progresses from the top downwards.
[0051] Figure 3 shows the signal for a situation where an accelerator (e.g. Figure 1The HW accelerator 140 of the AAL 250 needs to be programmed and correctly configured on the AAL 250 so that the other component (such as CNF 110) can offload the task later. At step 302, the AAL-DMS can send an accelerator programming request to the AP-DMS 310. After receiving the accelerator programming request, the AP-DMS 310 can send a code retrieval request to the repository 320 and receive a code snippet in response. That is, the AP-DMS 310 can retrieve the required artifacts deployed on the accelerator, i.e., the repository functions, from the repository 320.
[0052] At step 306, the AP-DMS 310 may then send a programming request with the code snippet to the HAM 330 to request the HAM 330 to program the accelerator. Upon receiving the programming request, the HAM 330 may program the accelerator and notify the AP-DMS 310 once the programming is successful. Thus, in response to sending the programming request, the AP-DMS 310 may receive an indication indicating that the programming is successful and send an indication indicating that the accelerator programming is successful to the AAL-DMS 240. That is, the AP-DMS 310 may interact with the HAM 330 of the accelerator device and push a code artifact (i.e., a code snippet, such as a piece of code) to the device and program it. In some example embodiments, the HAM 330 may be a proprietary function, in which case the programming itself will not be standardized.
[0053] At step 308, AP-DMS 310 may notify AAL-DMS 240 that programming of the accelerator has been successful. Thereafter, AAL-DMS 240 may confirm that programming of the accelerator device was successful.
[0054] Figure 4 An example apparatus capable of supporting at least some example embodiments is shown. Illustrated is a device 400, which may include, for example, a network component, such as SMO 210, AAL-DMS 240, or AP-DMS 310, or a device controlling its functions. The device 400 includes a processor 410, which may include, for example, a single-core or multi-core processor, wherein a single-core processor includes one processing core and a multi-core processor includes more than one processing core. The processor 410 may generally include a control device. The processor 410 may include more than one processor. The processor 410 may be a control device. The processor 410 may include at least one application-specific integrated circuit ASIC. The processor 410 may include at least one field-programmable gate array FPGA. For example, the processor 410 may include an Intel Xeon processor. The processor 410 may be a component of the device 400 for performing method steps, such as determining, causing transmission, and causing reception. The processor 410 may be configured at least in part by computer instructions to perform actions.
[0055] The processor may include a circuit system, or may constitute one or more circuit systems, one or more circuit systems configured to perform the execution phase of the method described in accordance with the example embodiments herein. As used in this application, the term "circuitry" may refer to one or more or all of the following: (a) a pure hardware circuit implementation, such as an analog and / or digital circuit implementation only, and (b) a combination of hardware circuits and software, such as, as applicable: (i) a combination of (multiple) analog and / or digital hardware circuits with software / firmware, and (ii) any portion of (multiple) hardware processors (including (multiple) digital signal processors), software and (multiple) memories with software, which work together to enable the device (e.g., network functions) to perform various functions, and (c) (multiple) hardware circuits and / or (multiple) processors, such as (multiple) microprocessors or a portion of (multiple) microprocessors, which require software (e.g., firmware) to operate, but when it is not required to operate, the software may not be present.
[0056] This definition of circuitry applies to all uses of the term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of only a hardware circuit or processor (or multiple processors) or a portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term "circuitry" also covers, for example, a baseband integrated circuit or processor integrated circuit for a mobile device, or a similar integrated circuit in a server, cellular network device, or other computing or network device, if applicable to the particular claim element.
[0057] Device 400 may include memory 420. Memory 420 may include random access memory and / or permanent memory. Memory 420 may include at least one RAM chip. For example, memory 420 may include solid-state, magnetic, optical and / or holographic memory. Memory 420 may be at least partially accessed by processor 410. Memory 420 may be at least partially included in processor 410. Memory 420 may be a component for storing information. Memory 420 may include computer instructions that processor 410 is configured to execute. When computer instructions configured to cause processor 410 to perform certain actions are stored in memory 420, and device 400 is generally configured to run under the guidance of processor 410 using computer instructions from memory 420, processor 410 and / or at least one of its processing cores may be considered to be configured to perform the certain actions. Memory 420 may be at least partially included in processor 410. Memory 420 may be at least partially located outside device 400, but device 400 may access it.
[0058] Device 400 may include a transmitter 430. Device 400 may include a receiver 440. Transmitter 430 and receiver 440 may be configured to transmit and receive information, respectively, according to at least one cellular standard. Transmitter 430 may include multiple transmitters. Receiver 440 may include multiple receivers. Transmitter 430 and / or receiver 440 may be configured to operate according to a suitable communication standard.
[0059] Device 400 may include a user interface UI 450. UI 450 may include at least one of a display, a keyboard, a touch screen, a vibrator that sends a signal to the user by vibrating device 400, a speaker, or a microphone. The user can operate device 400 via UI 450, for example, to configure device 400 and / or the functions it runs.
[0060] The processor 410 may be equipped with a transmitter that is arranged to output information from the processor 410 to other devices included in the device 400 via circuit leads inside the device 400. Such a transmitter may include a serial bus transmitter that is arranged to output information to the memory 420 for storage therein, for example, via at least one circuit lead. As an alternative to the serial bus, the transmitter may include a parallel bus transmitter. Similarly, the processor 410 may include a receiver that is arranged to receive information in the processor 410 from other devices included in the device 400 via circuit leads inside the device 400. Such a receiver may include a serial bus receiver that is arranged to receive information from a receiver 440, for example, via at least one circuit lead, for processing in the processor 410. As an alternative to the serial bus, the receiver may include a parallel bus receiver.
[0061] The device 400 may include Figure 4 In some example embodiments, device 400 lacks at least one of the above devices. For example, device 400 may not have UI 450.
[0062] The processor 410, the memory 420, the transmitter 430, the receiver 440 and / or the UI 450 may be interconnected in a variety of different ways via circuit leads within the device 400. For example, each of the aforementioned devices may be individually connected to a main bus within the device 400 to allow the devices to exchange information. However, as will be appreciated by those skilled in the art, this is merely an example, and depending on the exemplary embodiment, various ways of interconnecting at least two of the aforementioned devices may be selected without departing from the scope of the present invention.
[0063] Figure 5 is a flow chart of a first method according to at least some example embodiments. The stages of the first method shown may be performed by an apparatus including a network component, such as Figure 3 The AP-DMS 310 shown in FIG.
[0064] At step 510, the first method may include: receiving an accelerator programming request from an acceleration abstraction layer AAL-deployment management service DMS network component. At step 520, the first method may also include: sending a code retrieval request to a repository network component and receiving a code snippet in response. In addition, at step 530, the first method may include: sending a programming request with the code snippet to a hardware accelerator manager to request the hardware accelerator manager to program at least one hardware accelerator node. At step 540, the first method may include: receiving an indication indicating that the programming was successful in response to sending the programming request. Finally, at step 550, the first method may include: sending an indication indicating that the accelerator programming was successful to the AAL-DMS. The first method may also include operating the device AP-DMS 310, and in this case the operating steps may be performed by the device.
[0065] The second method may include: sending an accelerator programming request to an accelerator programming AP-deployment management service DMS network component, receiving an indication from the AP-DMS indicating that the accelerator programming was successful, and sending a program completion message to the deployment DMS. The second method may be performed by an apparatus including a network component, such as Figure 2 and Figure 3 The second method may further comprise operating the device AAL-DMS 240, and in this case the operating steps may be performed by the device.
[0066] In some example embodiments, the third method may include: a device in a cellular communication system operates as a service management and orchestration SMO network component; the device sends a request to a mapping deployment management service DMS network component in an open cloud network of the cellular communication system on behalf of another network component of the cellular communication system, wherein the request is a mapping request to map the other network component to at least one hardware accelerator node in the open cloud network; in response to the mapping request, the device receives an indication of a cluster of at least one hardware accelerator node in the open cloud network from the mapping DMS network component; the device sends a deployment request to a deployment DMS network component in the open cloud network of the cellular communication system to deploy at least one hardware accelerator node for the other network component; and the device receives a deployment response from the deployment DMS.
[0067] The other network component may be an application or a cloudified network function.
[0068] The third method may include sending, by the device, an acceleration abstraction layer AAL deployment request to an AAL-DMS network component, and receiving, by the device, a deployment response from the AAL-DMS network component.
[0069] At least one hardware accelerator node may include a hardware accelerator.
[0070] The mapping request may include the location, network and / or resource requirements of the other network component.
[0071] The mapping request may be used to request acceleration of hardware of at least one hardware accelerator node for the another network component.
[0072] The mapping request may be sent during execution of at least one hardware accelerator node.
[0073] At least one hardware accelerator node may be a programmable accelerator node.
[0074] It should be understood that the disclosed example embodiments are not limited to the specific structures, processing steps or materials disclosed herein, but extend to their equivalents recognized by ordinary technicians in the relevant field. It should also be understood that the terminology used herein is only used to describe specific example embodiments and is not intended to be limiting.
[0075] References to an exemplary embodiment or exemplary embodiments throughout this specification mean that a particular feature, structure, or characteristic described in connection with the exemplary embodiment is included in at least one exemplary embodiment. Thus, the phrases "in an exemplary embodiment" or "in an exemplary embodiment" appearing in various places throughout this specification do not necessarily all refer to the same exemplary embodiment. When terms such as approximately or substantially are used to refer to a numerical value, the exact numerical value is also disclosed.
[0076] As used herein, for convenience, multiple items, structural elements, assembly elements and / or materials may be presented in a public list. However, these lists should be interpreted as each member of the list being independently identified as a separate and unique member. Therefore, unless otherwise noted, the independent members in such lists should not be presented in a public group based solely on their performance as the de facto equivalent of any other member in the same list. In addition, various example embodiments and examples and alternatives of various components thereof may be cited herein. It should be understood that such example embodiments, examples and alternatives should not be interpreted as de facto equivalents to each other, but should be considered as separate and autonomous representations.
[0077] In an example embodiment, an apparatus including, for example, a network component such as SMO 210 may also include means for performing the above-described example embodiments and any combination thereof.
[0078] In an exemplary embodiment, a computer program may be configured to cause a method according to the above exemplary embodiments and any combination thereof. In an exemplary exemplary embodiment, a computer program product embodied on a non-transitory computer readable medium may be configured to control a processor to perform a process including the above exemplary embodiments and any combination thereof.
[0079] In an example embodiment, an apparatus including, for example, a network component (such as SMO 210) may also include at least one processor and at least one memory including computer program code, wherein the at least one memory and the computer program code are configured to, together with the at least one processor, cause the apparatus to perform at least the above-described example embodiments and any combination thereof.
[0080] In addition, the described features, structures or characteristics may be combined in one or more exemplary embodiments in any suitable manner. In the foregoing description, many specific details are provided, such as examples of length, width, shape, etc., to provide a thorough understanding of the exemplary embodiments of the present invention. However, those skilled in the relevant art will recognize that the present invention may be practiced without one or more of the specific details, or using other methods, components, materials, etc. In other cases, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the present invention.
[0081] Although the foregoing examples illustrate the principles of the exemplary embodiments in one or more specific applications, it is apparent to those skilled in the art that usage and implementation details may be modified without exerting creative talent and without departing from the principles and concepts of the present invention. Therefore, it is not intended to limit the present invention unless limited by the claims set forth below.
[0082] The verbs "comprise" and "include" are used in this document as open limitations that neither exclude nor require the presence of unrecited features. Unless expressly stated otherwise, the features recited in the dependent claims may be freely combined with each other. Furthermore, it should be understood that the use of "a" or "an" in this document, i.e. in the singular, does not exclude a plural number.
[0083] The expression "at least one of A or B" herein refers to A, or B, or both A and B.
[0084] Industrial Applicability
[0085] At least some example embodiments find industrial application in cellular communication systems (e.g., 5G systems), and possibly in the future in other cellular communication systems, where it is desirable to use a dynamic and flexible AAL deployment mechanism.
[0086] List of abbreviations
[0087] AAL Acceleration Abstraction Layer
[0088] AP Accelerator Programming
[0089] API Application Programming Interface
[0090] ASIC Application-Specific Integrated Circuit
[0091] CNF Cloud Network Function DMS Deployment Management Service FPGA Field Programmable Gate Array HAM Hardware Accelerator Manager HW Hardware LPU Logical Processing Unit O-RAN Open Radio Access Network O-Cloud Open Cloud RAN Radio Access Network SMO Service Management and Orchestration UI User Interface XR Extended Reality
[0092] Reference numerals list
[0093]
Claims
1. A device comprising: at least one processing core, at least one memory including computer program code, the at least one memory and the computer program code being configured to, together with the at least one processing core, cause the apparatus to at least: receiving an accelerator programming request from an acceleration abstraction layer AAL-deployment management service DMS network component; sending a code retrieval request to a repository network component and receiving a code snippet in response; Sending a programming request with the code snippet to a hardware accelerator manager to request the hardware accelerator manager to program at least one hardware accelerator node; In response to sending the programming request, receiving an indication that the programming was successful; and An indication is sent to the AAL-DMS indicating successful accelerator programming.
2. The apparatus of claim 1, wherein the at least one memory and the computer program code are further configured to, together with the at least one processing core, cause the apparatus to at least: Operates as an accelerator programmed AP-DMS network component.
3. A device comprising: at least one processing core, at least one memory including computer program code, the at least one memory and the computer program code being configured to, together with the at least one processing core, cause the apparatus to at least: Sending an accelerator programming request to an accelerator programming AP-deployment management service DMS network component; receiving an indication from the AP-DMS indicating successful accelerator programming; and Sends a program completion message to the deployment DMS.
4. The apparatus of claim 3, wherein the at least one memory and the computer program code are further configured to, together with the at least one processing core, cause the apparatus to at least: Operates as an Acceleration Abstraction Layer AAL-DMS network component.
5. The apparatus according to claim 3 or claim 4, wherein the at least one memory and the computer program code are further configured to, together with the at least one processing core, cause the apparatus to at least: receiving a request to program the accelerator from the deployment DMS; and In response to receiving the request, the accelerator programming request is sent.
6. The apparatus of any preceding claim, wherein the accelerator programming request is a request to program at least one hardware accelerator node.
7. The apparatus according to any of the preceding claims, wherein the accelerator programming request is a request for programming of at least one hardware accelerator node of another network component.
8. The apparatus of claim 7, wherein the another network component is an application or a cloudified network function.
9. A system comprising: Acceleration Abstraction Layer AAL-Deployment Management Service DMS network component, and Accelerator Programming AP-DMS network component, The AP-DMS network components are configured as follows: receiving an accelerator programming request from the AAL-DMS network component; sending a code retrieval request to a repository network component and receiving a code snippet in response; Sending a programming request with the code snippet to a hardware accelerator manager to request the hardware accelerator manager to program at least one hardware accelerator node; In response to sending the programming request, receiving an indication that the programming was successful; and sending an indication to the AAL-DMS indicating successful accelerator programming; and The AAL-DMS network components are configured to: Sending an accelerator programming request to the AP-DMS network component; receiving an indication from the AP-DMS indicating successful accelerator programming; and Sends a program completion message to the deployment DMS.
10. The system of claim 9, wherein the AAL-DMS network component is further configured to: receiving a request to program the accelerator from the deployment DMS; and In response to receiving the request, the accelerator programming request is sent.
11. The system of claim 9 or claim 10, wherein the accelerator programming request is a request to program at least one hardware accelerator node. 12 . The system according to claim 9 , wherein the accelerator programming request is a request for programming at least one hardware accelerator node of another network component.
13. The system of claim 12, wherein the another network component is an application or a cloudified network function.
14. A method comprising: receiving an accelerator programming request from an acceleration abstraction layer AAL-deployment management service DMS network component; sending a code retrieval request to a repository network component and receiving a code snippet in response; Sending a programming request with the code snippet to a hardware accelerator manager to request the hardware accelerator manager to program at least one hardware accelerator node; In response to sending the programming request, receiving an indication that the programming was successful; and An indication is sent to the AAL-DMS indicating successful accelerator programming.
15. The method according to claim 14, further comprising: Operates as an accelerator programmed AP-DMS network component.
16. A method comprising: Sending an accelerator programming request to an accelerator programming AP-deployment management service DMS network component; receiving an indication from the AP-DMS indicating successful accelerator programming; as well as Sends a program completion message to the deployment DMS.
17. The method according to claim 16, further comprising: Operates as an Acceleration Abstraction Layer AAL-DMS network component.
18. The method according to claim 16 or claim 17, further comprising: receiving a request to program the accelerator from the deployment DMS; as well as In response to receiving the request, the accelerator programming request is sent.
19. The method of any one of claims 14 to 18, wherein the accelerator programming request is a request to program at least one hardware accelerator node.
20. The method according to any one of claims 14 to 19, wherein the accelerator programming request is a request for programming of at least one hardware accelerator node of another network component.
21. The method of claim 20, wherein the another network component is an application or a cloudified network function.
22. An apparatus comprising: means for receiving an accelerator programming request from an acceleration abstraction layer AAL-deployment management service DMS network component; means for sending a code retrieval request to a repository network component, and means for receiving a code snippet in response; means for sending a programming request with the code snippet to a hardware accelerator manager to request the hardware accelerator manager to program at least one hardware accelerator node; means for receiving an indication indicating success of said programming in response to sending said programming request; as well as Means for sending an indication to said AAL-DM that accelerator programming was successful.
23. An apparatus comprising: A component for sending an accelerator programming request to an accelerator programming AP-deployment management service DMS network component; means for receiving an indication from said AP-DMS indicating successful accelerator programming; as well as Component used to send a program completion message to the deployment DMS.
24. A non-transitory computer readable medium having stored thereon a set of computer readable instructions which, when executed by at least one processor, cause an apparatus to at least: receiving an accelerator programming request from an acceleration abstraction layer AAL-deployment management service DMS network component; sending a code retrieval request to a repository network component and receiving a code snippet in response; Sending a programming request with the code snippet to a hardware accelerator manager to request the hardware accelerator manager to program at least one hardware accelerator node; In response to sending the programming request, receiving an indication that the programming was successful; and An indication is sent to the AAL-DMS indicating successful accelerator programming.
25. A non-transitory computer readable medium having stored thereon a set of computer readable instructions which, when executed by at least one processor, cause an apparatus to at least: Sending an accelerator programming request to an accelerator programming AP-deployment management service DMS network component; receiving an indication from the AP-DMS indicating successful accelerator programming; and Sends a program completion message to the deployment DMS.
26. A computer program configured to, when executed by an apparatus, cause at least one of the following to be performed: receiving an accelerator programming request from an acceleration abstraction layer AAL-deployment management service DMS network component; sending a code retrieval request to a repository network component and receiving a code snippet in response; Sending a programming request with the code snippet to a hardware accelerator manager to request the hardware accelerator manager to program at least one hardware accelerator node; In response to sending the programming request, receiving an indication that programming was successful; and An indication is sent to the AAL-DMS indicating successful accelerator programming.
27. A computer program configured to, when executed by an apparatus, cause at least one of the following to be performed: Sending an accelerator programming request to an accelerator programming AP-deployment management service DMS network component; receiving an indication from the AP-DMS indicating successful accelerator programming; and Sends a program completion message to the deployment DMS.