Electronic device, method, and storage medium for allocating system resource
Patent Information
- Application Number
- PCT/KR2024/008099
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-01
- Filing Date
- 2024-06-12
- Publication Date
- 2025-02-13
Smart Images

Figure KR2024008099_13022025_PF_FP_ABST
Abstract
Description
Electronic device, method, and storage medium for allocating system resources
[0001] The following descriptions relate to electronic devices, methods, and storage media for allocating system resources.
[0002] Network devices implemented in hardware can be virtualized and configured to allow installation, removal, and / or modification as software on a server. Virtualized network devices allow businesses to manage their networks more quickly and flexibly.
[0003] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above is applicable as prior art related to the present disclosure.
[0004] According to one embodiment, an electronic device for a distributed unit (DU) may include at least one processor and a memory storing instructions. The instructions, when executed by the at least one processor, may cause the electronic device to obtain, from a first application for providing one or more physical (PHY) functions for at least one cell of the DU, a first message including information regarding a first amount of central processing unit (CPU) resources for the one or more PHY functions, and a second message including information regarding a second amount of medium access control (MAC) resources for the one or more MAC functions, from a second application for providing one or more MAC functions for the at least one cell. The instructions, when executed by the at least one processor, may cause the electronic device to allocate, based on the first message and the second message, a first portion of a CPU resource pool corresponding to the first amount of CPU resources and a second portion of the CPU resource pool corresponding to the second amount of CPU resources. The first portion of the CPU resource pool may be used to perform one or more PHY functions for the at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions for the at least one cell.
[0005] According to one embodiment, a method performed by a distributed unit (DU) may include obtaining, from a first application for providing one or more physical (PHY) functions for at least one cell of the DU, a first message comprising information regarding a first amount of central processing unit (CPU) resources for the one or more PHY functions, and from a second application for providing one or more medium access control (MAC) functions for the at least one cell, a second message comprising information regarding a second amount of CPU resources for the one or more MAC functions. The method may include allocating, based on the first message and the second message, a first portion of a CPU resource pool corresponding to the first amount of CPU resources, and a second portion of the CPU resource pool corresponding to the second amount of CPU resources. The first portion of the CPU resource pool may be used to perform the one or more PHY functions for the at least one cell. The second portion of the CPU resource pool may be used to perform the one or more MAC functions for the at least one cell.
[0006] According to one embodiment, a non-transitory computer-readable storage medium may store one or more programs. The one or more programs may include instructions that, when executed by at least one processor of an electronic device, cause the electronic device to obtain, from a first application for providing one or more physical (PHY) functions for at least one cell of the DU, a first message comprising information regarding a first amount of central processing unit (CPU) resources for the one or more PHY functions, and a second message comprising information regarding a second amount of CPU resources for the one or more medium access control (MAC) functions, from a second application for providing one or more MAC functions for the at least one cell. The one or more programs may include instructions that, when executed by at least one processor of the electronic device, cause the electronic device to allocate, based on the first message and the second message, a first portion of a CPU resource pool corresponding to the first amount of CPU resources and a second portion of the CPU resource pool corresponding to the second amount of CPU resources. The first portion of the CPU resource pool may be used to perform one or more PHY functions for the at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions for the at least one cell.
[0007] FIG. 1 illustrates a wireless communication system according to one embodiment.
[0008] FIG. 2 illustrates an example of a structure for managing one or more cells, according to one embodiment.
[0009] FIG. 3a illustrates an example of the configuration and operation of a distributed unit (DU) for forming a cell according to one embodiment.
[0010] FIG. 3b illustrates an example of the configuration and operation of a DU for forming a cell according to one embodiment.
[0011] FIG. 4 illustrates an example of a configuration of a virtualized DU according to one embodiment.
[0012] FIG. 5 illustrates an example of operations performed in a modem processing unit of a DU according to one embodiment.
[0013] FIG. 6 illustrates an example of operations performed in a modem processing unit for cell setup according to one embodiment.
[0014] FIG. 7a illustrates an example in which a central processing unit (CPU) resource pool is used, according to one embodiment.
[0015] Figure 7b illustrates an example in which a CPU resource pool is used, according to one embodiment.
[0016] FIG. 8a is a diagram showing the number of CPU cores allocated according to the number of cells, according to one embodiment.
[0017] FIG. 8b is a diagram showing the number of CPU cores allocated according to the number of cells, according to one embodiment.
[0018] FIG. 8c is a diagram showing the number of CPU cores allocated according to the number of cells, according to one embodiment.
[0019] FIG. 9 illustrates a flowchart of the operation of an electronic device for a DU, according to one embodiment.
[0020] The terms used in this disclosure are used only to describe specific embodiments and may not be intended to limit the scope of other embodiments. The singular expression may include plural expressions unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by those of ordinary skill in the art described in this disclosure. Terms defined in general dictionaries among the terms used in this disclosure may be interpreted as having the same or similar meaning in the context of the relevant technology, and shall not be interpreted in an idealized or overly formal sense unless explicitly defined in this disclosure. In some cases, even if a term is defined in this disclosure, it cannot be interpreted to exclude embodiments of the present disclosure.
[0021] The various embodiments of the present disclosure described below illustrate a hardware-based approach as an example. However, since the various embodiments of the present disclosure include techniques utilizing both hardware and software, the various embodiments of the present disclosure do not exclude a software-based approach.
[0022] In the following description, terms referring to signals (e.g., signal, information, symbol, message, signaling, RS (reference signal), data)), terms referring to resources (e.g., symbol, slot, subframe, radio frame, subcarrier, RE (resource element), RB (resource block), BWP (bandwidth part), occasion, system resource, CPU (central processing unit) resource), terms for operational states (e.g., step, operation, procedure), terms referring to data (e.g., packet, user stream, information, bit, symbol, codeword), terms referring to channels, terms referring to entities (e.g., node, point, server, component), terms referring to components of devices, etc., are examples for convenience of description. Therefore, the present disclosure is not limited to the terms described below, and other terms having equivalent technical meanings may be used.
[0023] In addition, in the present disclosure, expressions such as "more than" or "less than" may be used to determine whether a specific condition is satisfied or fulfilled, but this is merely a description for expressing an example and does not exclude descriptions such as "more than" or "less than." A condition described as "more than" may be replaced with "more than," a condition described as "less than" may be replaced with "less than," and a condition described as "more than and less than" may be replaced with "more than and less than." In addition, hereinafter, "A" to "B" mean at least one of elements from A (including A) to B (including B). hereinafter, "C" and / or "D" mean at least one of "C" or "D," that is, including {"C", "D", "C" and "D"}.
[0024] Although the present disclosure describes various embodiments using terms used in some communication standards (e.g., 3rd Generation Partnership Project (3GPP), extensible radio access network (xRAN), open-radio access network (O-RAN), etc.), these are merely examples for explanation. The various embodiments of the present disclosure can be easily modified and applied to other communication systems.
[0025] FIG. 1 illustrates a wireless communication system according to one embodiment.
[0026] Referring to FIG. 1, FIG. 1 illustrates a base station (110) and a terminal (120) as some of the nodes utilizing a wireless channel in a wireless communication system. Although FIG. 1 illustrates only one base station, the wireless communication system may further include other base stations identical or similar to the base station (110).
[0027] The base station (110) is a network infrastructure that provides wireless access to the terminal (120). The base station (110) has coverage defined based on the distance at which a signal can be transmitted. In addition to the base station, the base station (110) may be referred to as an 'access point (AP)', 'eNodeB (eNB)', '5th generation node', 'next generation nodeB (gNB)', 'wireless point', 'transmission / reception point (TRP)', or other terms having equivalent technical meanings.
[0028] The terminal (120) is a device used by a user and communicates with the base station (110) via a wireless channel. The link from the base station (110) to the terminal (120) is referred to as a downlink (DL), and the link from the terminal (120) to the base station (110) is referred to as an uplink (UL). In addition, although not shown in FIG. 1, the terminal (120) and another terminal may communicate with each other via a wireless channel. In this case, the link between the terminal (120) and another terminal (device-to-device link, D2D) is referred to as a sidelink, and the sidelink may be used interchangeably with the PC5 interface. In some other embodiments, the terminal (120) may be operated without the involvement of a user. According to one embodiment, the terminal (120) is a device that performs machine type communication (MTC) and may not be carried by the user. Additionally, according to one embodiment, the terminal (120) may be an NB (narrowband)-IoT (internet of things) device.
[0029] The terminal (120) may be referred to as a terminal, or other terms such as 'user equipment (UE),' 'customer premises equipment (CPE),' 'mobile station,' 'subscriber station,' 'remote terminal,' 'wireless terminal,' 'electronic device,' or 'user device,' or other terms having equivalent technical meanings.
[0030] According to one embodiment, the base station (110) of FIG. 1 may constitute at least one cell. Conventionally, in communication systems with relatively large cell radiuses of base stations, each base station was installed such that each base station included the functions of a digital processing unit (or distributed unit (DU)) and a radio frequency (RF) processing unit (or radio unit (RU)). However, as higher frequency bands are used in 4G (4th generation) and / or subsequent communication systems (e.g., 5G) and the cell coverage of base stations becomes smaller, the number of base stations to cover a specific area has increased. The burden of installation costs on operators for installing base stations has also increased. In order to minimize the installation costs of base stations, a structure has been proposed in which the DU and RU of a base station are separated, one or more RUs are connected to one DU through a wired network, and one or more RUs are geographically distributed to cover a specific area. In this way, the base station (110) may be composed of one or more network elements (NEs). In addition to the DUs and RUs, depending on the protocol stack, the base station may be implemented in a distributed deployment according to a centralized unit (CU) configured to perform functions of upper layers (e.g., packet data convergence protocol (PDCP), radio resource control (RRC)) and a distributed unit (DU) configured to perform functions of lower layers. For example, the NEs constituting the base station may include a central unit (CU), a distributed unit (DU), and / or a radio unit (RU).For example, a centralized unit (CU) can be connected to one or more DUs and can be responsible for functions at higher layers than the DU. For example, the CU can be responsible for functions at the RRC (radio resource control) and PDCP (packet data convergence protocol) layers, while the DU and RU can be responsible for functions at lower layers. The DU can perform functions at the RLC (radio link control), MAC (media access control), and some functions (high PHY) of the PHY (physical) layer, and the RU can be responsible for the remaining functions (low PHY) of the PHY layer.
[0031] In addition to the nodes constituting the access network, functional entities for the core network may also be referred to as NEs. For example, for a 5th generation core network (5GC), one or more NEs may include a user plane function (UPF), a session management function (SMF), an access and mobility management function (AMF), a user data management (UDM), a policy control function (PCF), an authentication server function (AUSF), and / or an authentication, authorization, and accounting (AAA). For example, for an evolved packet core network (EPC), one or more NEs may include a mobility management entity (MME), a serving gateway (S-GW), a packet gateway (P-GW), a policy charging rules function (PCRF), and / or a home subscriber server (HSS).
[0032] FIG. 2 illustrates an example of a structure for managing one or more cells, according to one embodiment.
[0033] Referring to FIG. 2, a DU (210), an RU (220), a CU (230), and a cell manager (240) may be configured to manage one or more cells. This is merely for convenience of explanation, and the present disclosure is not limited thereto. In other words, embodiments of the present disclosure may also be applied to a fronthaul structure between one DU and multiple RUs. For example, embodiments of the present disclosure may be applied to a fronthaul structure between one DU and two RUs. Furthermore, embodiments of the present disclosure may also be applied to a fronthaul structure between one DU and three RUs.
[0034] For example, DU (210) and RU (220) may be included in the base station (110). The fronthaul between DU (210) and RU (220) may be operated via an Fx interface. For the operation of the fronthaul, interfaces such as eCPRI (enhanced common public radio interface) and ROE (radio over ethernet) may be used, for example.
[0035] As communication technology advances, mobile data traffic increases, significantly increasing the bandwidth requirements for the fronthaul between the digital unit and the wireless unit. In a deployment such as a centralized / cloud radio access network (C-RAN), the DU (210) performs functions for the packet data convergence protocol (PDCP), radio link control (RLC), media access control (MAC), and physical (PHY) layer, and the RU can be implemented to perform additional functions for the PHY layer in addition to the RF (radio frequency) function.
[0036] DU (210) may be responsible for upper layer functions of a wireless network. For example, DU (210) may perform functions of the MAC layer and a part of the PHY layer. Here, a part of the PHY layer refers to functions performed at a higher level among the functions of the PHY layer, and may include, for example, channel encoding (or channel decoding), scrambling (or descrambling), modulation (or demodulation), and layer mapping (or layer demapping). According to an embodiment, if DU (210) complies with the O-RAN standard, it may be referred to as O-DU (O-RAN DU). DU (210) may be replaced with a first network entity for a base station (e.g., gNB) in embodiments of the present disclosure, if necessary.
[0037] The RU (220) may be responsible for lower layer functions of a wireless network. For example, the RU (220) may perform a part of the PHY layer, an RF function. Here, a part of the PHY layer refers to functions of the PHY layer that are performed at a relatively lower level than the DU (210), and may include, for example, iFFT transformation (or FFT transformation), CP insertion (CP removal), and digital beamforming. The RU (220) may be referred to as an 'access unit (AU)', an 'access point (AP)', a 'transmission / reception point (TRP)', a 'remote radio head (RRH)', a 'radio unit (RU)', or other terms having an equivalent technical meaning thereto. According to an embodiment, when the RU (220) complies with the O-RAN standard, it may be referred to as an O-RU (O-RAN RU). RU (220) may be represented as a second network entity for a base station (e.g., gNB) in embodiments of the present disclosure, as needed.
[0038] For example, DU (210) and RU (220) may constitute one site. DU (210) and RU (220) may be configured in one site.
[0039] The CU (230) may be connected to one or more DUs (e.g., the DU (210)) and may be responsible for functions of a higher layer than the DU. For example, the CU (230) may be responsible for functions of the RRC (radio resource control) and PDCP (packet data convergence protocol) layers, and the DU (210) and RU (220) may be responsible for functions of lower layers. The DU (210) may perform some functions (high PHY) of the RLC (radio link control), MAC (media access control), and PHY (physical) layers, and the RU (220) may be responsible for the remaining functions (low PHY) of the PHY layer.
[0040] The cell manager (240) can register or manage the DU (210) and the RU (220). For example, based on the activation of the operation of the cell manager (240), at least one available DU and / or at least one RU can be registered. Based on the registration of at least one available DU and / or at least one RU, the cell manager (240) can identify at least one available cell. The cell manager (240) can add a cell based on at least one of frequency information (e.g., center frequency information), antenna information (e.g., number of antennas), cell number information, and information about an RU to be added. For example, the cell manager (240) can transmit a message for cell setup to the CU (230). The CU (230) can transmit a message for cell setup to the DU (210) based on the received message. Specific operations for performing cell setup in DU (210) will be described in FIG. 6. The cell manager (240) may be referred to as a unified system manager (USM) in terms of managing a system including one or more cells provided from DU (210).
[0041] FIG. 3a illustrates an example of the configuration and operation of a DU for forming a cell according to one embodiment.
[0042] FIG. 3b illustrates an example of the configuration and operation of a DU for forming a cell according to one embodiment.
[0043] Referring to FIG. 3A, the DU (210) may include chips configured based on a system on chip (SoC). For example, the DU (210) may include a first chip (311), a second chip (312), and a third chip (313). Hereinafter, an example in which the DU (210) provides three cells is described in the present disclosure, but embodiments of the present disclosure are not limited thereto.
[0044] The DU (210) can configure the first cell (321). The DU (210) can configure the first cell (321) through the first chip (311). The first chip (311) can be configured to perform functions and processes related to the protocol stack for the first cell (321). Although not illustrated, the DU (210) can control an RU for configuring the first cell (321) through the first chip (311). The DU (210) can configure the first cell (321) based on controlling the RU for configuring the first cell (321) through the first chip (311).
[0045] The DU (210) can configure a second cell (322). The DU (210) can configure the second cell (322) through the second chip (312). The second chip (312) can be configured to perform functions and processes related to a protocol stack for the second cell (322). Although not illustrated, the DU (210) can control an RU for configuring the second cell (322) through the second chip (312). The DU (210) can configure the second cell (322) based on controlling the RU for configuring the second cell (322) through the second chip (312).
[0046] DU (210) can configure a third cell (323). DU (210) can configure a third cell (323) through a third chip (313). The third chip (313) can be configured to perform functions and processes related to the protocol stack for the first cell (323). Although not illustrated, DU (210) can control an RU for configuring the third cell (323) through the third chip (313). DU (210) can configure the third cell (323) based on controlling an RU for configuring the third cell (323) through the third chip (313).
[0047] As described above, the DU (210) can form a single cell through a single physically configured chip. When a single cell is formed through a single physically configured chip, load balancing between the cells cannot be performed. For example, if the number of user equipment (UE) within the first cell (321) exceeds a specified number, the DU (210) may not be able to distribute the load.
[0048] Referring to FIG. 3B, the DU (210) may be virtualized. For example, the DU (210) may be referred to as a vDU (virtualized DU). Instead of being implemented through physical hardware, the DU (210) may be implemented as software within an electronic device (e.g., a server). Since the processing functions related to the DU (210) are implemented as software within the electronic device, the processing functions may be performed within the electronic device instead of being performed in hardware units. A plurality of CPU resources may be required to execute the processing functions. Hereinafter, the CPU resources of the processing functions for the DU (210) may be referred to as a CPU resource pool (350). The CPU resource pool (350) may be configured for the DU (210). The DU (210) may configure one or more cells using the CPU resource pool (350). For example, DU (210) can configure a first cell (361), a second cell (362), and a third cell (363) through a CPU resource pool (350).
[0049] The DU (210) can configure a first cell (361). The DU (210) can configure the first cell (361) using the first part (351) of the CPU resource pool (350). The first part (351) of the CPU resource pool (350) can be configured to perform functions and processes related to a protocol stack for the first cell (361). Although not illustrated, the DU (210) can control an RU for configuring the cell (361) through the first part (351) of the CPU resource pool (350). The DU (210) can configure the cell (361) based on controlling the RU for configuring the first cell (361) through the first part (351) of the CPU resource pool (350).
[0050] The DU (210) can configure a second cell (362). The DU (210) can configure the second cell (362) using the second part (352) of the CPU resource pool (350). The second part (352) of the CPU resource pool (350) can be configured to perform functions and processes related to the protocol stack for the second cell (362). Although not illustrated, the DU (210) can control an RU for configuring the second cell (362) through the first part (352) of the CPU resource pool (350). The DU (210) can configure the second cell (362) based on controlling an RU for configuring the second cell (362) through the second part (352) of the CPU resource pool (350).
[0051] DU (210) can configure a third cell (363). DU (210) can configure the third cell (363) using the third part (353) of the CPU resource pool (350). The third part (353) of the CPU resource pool (350) can be configured to perform functions and processes related to the protocol stack for the third cell (363). Although not illustrated, DU (210) can control an RU for configuring the third cell (363) through the third part (353) of the CPU resource pool (350). DU (210) can configure the third cell (363) based on controlling an RU for configuring the third cell (363) through the third part (353) of the CPU resource pool (350).
[0052] When a CPU resource pool (350) is used to configure a cell, the DU (210) can divide and use the CPU resource pool (350) according to the load of the cell. In the present disclosure, allocating a portion of the CPU resource pool (350) to a processing function (e.g., one or more PHY functions or one or more MAC functions) may be referred to as CPU pooling. Since CPU resources are consumed rather than separate hardware being configured to execute the processing functions of the DU (210), the DU (210) can perform CPU pooling for adaptive CPU resource allocation. In the following specification, technical features for allocating resources for configuring a cell within the CPU resource pool, as shown in FIG. 7b, will be described.
[0053] According to one embodiment, the above-described DU may be configured based on a virtualized RAN (vRAN). The virtualized vRAN may support predefined performance based on fixed CPU resources (e.g., cores) between frequency division duplex (FDD) and time division duplex (TDD). However, the system configurations (or flavors) supported by the vRAN may be configured in various ways based on the cell ratio between TDD and FDD and the bandwidth configuration of cells for TDD and FDD. Accordingly, various system configurations (or flavors) configured based on the cell ratio between TDD and FDD and the bandwidth configuration of cells for TDD and FDD may be implemented. In this case, the operational complexity may increase. As the operational complexity increases, there is a problem that may cause operator errors (i.e., human errors). In addition, as the number of system configurations increases, development and verification procedures are required, and thus a method to simplify these procedures may be required. For example, applications included in a virtualized modem system may operate based on the Data Plane Development Kit (DPDK). Therefore, allocated cores may be used regardless of the actual cell operating status, potentially reducing power efficiency.
[0054] According to one embodiment, a virtualized platform may be configured based on Kubernetes. Applications may perform high-performance processing through resources (e.g., CPU cores) allocated to pods. The resources may be dynamically allocated. In this case, resources may be allocated based on status information or service information between different devices. However, according to the above-described embodiment, resources may not be allocated between applications within the same device. For example, it may be difficult to allocate resources between applications based on specific information. In other words, the method of allocating resources between applications may only be performed using specific metrics and / or for specific services.
[0055] The following specification will describe technical features for dynamically allocating CPU resources to effectively utilize allocated resources in a virtualized radio access network (e.g., a virtualized radio access network (vRAN). For example, technical features for dynamically allocating resources between applications in a DU will be described.
[0056] For example, one or more PHY functions and one or more MAC functions may be performed based on a virtualized DU through one or more applications for the DU. One or more PHY functions may be performed through a first application. One or more MAC functions may be performed through a second application. As an example, one or more PHY functions may include functions performed at the PHY layer. One or more MAC functions may include functions performed at the MAC layer.
[0057] For example, CPU resources (e.g., cores) may be dynamically allocated to a first application for providing one or more PHY functions and a second application for providing one or more MAC functions. Based on the services provided by each application, the size of the resources may be identified and allocated to each application through a neutral resource manager (or adaptive core allocation manager). The resources allocated to each application may be distinct from radio resources. The resources allocated to each application may be resources related to a CPU core for acquiring processing power.
[0058] Figure 4 illustrates an example of a configuration of a virtualized DU according to one embodiment. Terms such as "...unit" and "...unit" used hereinafter refer to a unit that processes at least one function or operation, which may be implemented using hardware, software, or a combination of hardware and software.
[0059] Referring to FIG. 4, DU (400) may include at least one of a modem processing unit (410), a connection management unit (420), or a system management unit (430).
[0060] The modem processing unit (410) may provide one or more physical (PHY) functions and / or one or more medium access control (MAC) functions. The specific configuration and operation of the modem processing unit (410) will be described in FIG. 5. The connection management unit (420) may be used to obtain or provide information from another component distinct from the DU (400) (e.g., the CU (230) or RU (220) of FIG. 2). The connection management unit (420) may be used for call processing. The system management unit (430) may be used to perform at least one operation distinct from the operations of the modem processing unit (410) and the connection management unit (420).
[0061] According to one embodiment, the modem processing unit (410) may be configured based on DPDK. The connection management unit (420) and the system management unit (430) may be configured based on software (e.g., Linux) that is distinct from DPDK.
[0062] According to one embodiment, the modem processing unit (410), the connection management unit (420), and / or the system management unit (430) may be configured based on pods. For example, a pod may mean the smallest deployable computing unit.
[0063] FIG. 5 illustrates an example of operations performed in a modem processing unit of a DU according to one embodiment.
[0064] Referring to FIG. 5, the DU (400) may include a modem processing unit (410). The modem processing unit (410) may include a plurality of applications (510) and a resource management unit (520). For example, the plurality of applications (510) may process data based on their respective allocated CPU resources. The resource management unit (520) may allocate CPU resources to each of the plurality of applications (510). For example, the resource management unit (520) may be configured based on pods within the DU (400). For example, the resource management unit (520) may be referred to as one of an adaptive core allocation manager (ACM), a resource management manager, and a CPU resource management unit.
[0065] The plurality of applications (510) may include a first application (511), a second application (512), and a third application (513). The first application (511) may be configured to provide one or more PHY functions. The second application (512) may be configured to provide one or more MAC functions. The third application (513) may be configured to provide functions distinct from one or more PHY functions and one or more MAC functions.
[0066] According to one embodiment, multiple applications (510) and a resource management unit (520) can request CPU resources, allocate CPU resources, and release CPU resources based on a designated application program interface (API).
[0067] The resource management unit (520) may be configured to allocate CPU resources to each of a plurality of applications. For example, the resource management unit (520) may obtain a first message from a first application (511) that includes information regarding a first amount of CPU resources for one or more PHY functions. The resource management unit (520) may obtain the first message based on an inter-process communication (IPC) interface. For example, the resource management unit (520) may obtain a second message from a second application (512) that includes information regarding a second amount of CPU resources for one or more MAC functions. The resource management unit (520) may obtain the second message based on the IPC interface. For example, the IPC interface may be configured based on a ring buffer. The ring buffer may provide a low-latency message queue for OPC.
[0068] The resource management unit (520) may allocate a first portion of the CPU resource pool corresponding to the first amount of CPU resources and a second portion of the CPU resource pool corresponding to the second amount of CPU resources based on the first message and the second message. The first portion of the CPU resource pool may be used for one or more PHY functions. The second portion of the CPU resource pool may be used for one or more MAC functions.
[0069] As described above, CPU resources can be dynamically allocated based on application requests. The resource management unit (520) can allocate CPU resources based on the CPU resource request. Therefore, rather than manually allocating resources based on resource information requests between devices or load monitoring by an administrator, the resource management unit (520) can allocate the resources required by each application.
[0070] FIG. 6 illustrates an example of operations performed in a modem processing unit for cell setup according to one embodiment.
[0071] Referring to FIG. 6, the DU (400) can receive (or acquire) a message for cell setup from a CU (e.g., CU (230) of FIG. 2). The connection management unit (420) of the DU (400) can transmit the message for cell setup to the modem processing unit (410). The modem processing unit (410) can acquire (or receive) the message for cell setup from the connection management unit (420). For example, the message for cell setup can include a message for adding (or configuring, expanding) at least one cell.
[0072] The second application (512) of the modem processing unit (410) may transmit (or provide) a request message for performing an operation for cell setup to the first application (511) based on a message for cell setup. The first application (511) may obtain (or receive) the request message for performing an operation for cell setup from the second application (512). The first application (511) may identify a first amount of CPU resources for performing one or more PHY functions based on the request message. For example, the first application (511) may identify the number of CPU cores for performing one or more PHY functions as the first number based on the request message.
[0073] For example, the first application (511) may identify the number (or first number) of CPU cores for performing one or more PHY functions based on at least one of information about a communication mode for at least one cell, radio resource information for at least one cell, and / or user information. The first application (511) may identify the number (or first number) of CPU cores for performing one or more PHY functions based on mathematical expression 1.
[0074]
[0075] Referring to mathematical expression 1, A is the number (or the first number) of CPU cores for performing one or more PHY functions. f(x) is a function for identifying the number of CPU cores for performing one or more PHY functions in the first application (511). layer is the number of layers (e.g., a layer based on MIMO (multiple-input and multiple-output)) configured within at least one cell. RB is the number of resource blocks for at least one cell. UEs is the number of UEs for at least one cell.
[0076] According to one embodiment, the first application (511) may transmit a cell setup configuration message to the second application (512). For example, the cell setup configuration message may include at least one of information about a communication mode for at least one cell, radio resource information, and / or user information. The cell setup configuration message may include at least one of information about the number of layers configured within at least one cell, information about the number of resource blocks for at least one cell, and information about the number of UEs for at least one cell.
[0077] The second application (512) may obtain (or receive) a cell setup configuration message from the first application (511). Based on the cell setup configuration message, the second application (512) may identify a second amount of CPU resources for performing one or more MAC functions. For example, based on the cell setup configuration message, the second application (512) may identify the number of CPU cores for performing one or more MAC functions as the second number.
[0078] For example, the second application (512) may identify the number (or second number) of CPU cores for performing one or more MAC functions based on at least one of information about a communication mode for at least one cell, radio resource information for at least one cell, and / or user information. The second application (512) may identify the number (or second number) of CPU cores for performing one or more MAC functions based on Equation 2.
[0079]
[0080] Referring to Equation 2, B is the number (or second number) of CPU cores for performing one or more MAC functions. f'(x) is a function for identifying the number of CPU cores for performing one or more MAC functions in the second application (512). Depending on the embodiment, f'(x) may be distinguished from f(x) of Equation 1. layer is the number of layers configured in at least one cell. RB is the number of resource blocks for at least one cell. UEs is the number of UEs for at least one cell.
[0081] According to one embodiment, a first application (511) may transmit a first message to a resource management unit (520) that includes information regarding a first amount of CPU resources for one or more PHY functions (e.g., information regarding a first number of CPU cores). A second application (512) may transmit a second message to a resource management unit (520) that includes information regarding a second amount of CPU resources for one or more MAC functions (e.g., information regarding a second number of CPU cores).
[0082] The resource management unit (520) can obtain a first message and a second message. For example, the resource management unit (520) can obtain the first message from the first application (511). The resource management unit (520) can obtain the second message from the second application (512).
[0083] The resource management unit (520) may allocate a first portion of the CPU resource pool corresponding to the first amount of CPU resources and a second portion of the CPU resource pool corresponding to the second amount of CPU resources based on the first message and the second message. For example, the resource management unit (520) may allocate a first portion of the CPU resource pool corresponding to the first amount of CPU resources based on the first message. The resource management unit (520) may allocate a second portion of the CPU resource pool corresponding to the second amount of CPU resources based on the second message.
[0084] A first application (511) may perform one or more PHY functions using a first portion of the CPU resource pool. A second application (512) may perform one or more MAC functions using a second portion of the CPU resource pool.
[0085] Below, the operations of applications (e.g., the first application (511) and the second application (512)) and the resource management unit (520) will be described according to various cases (or situations). For example, the DU (400) can set requirements of the applications of the DU (400) and the resource management unit (520) according to various cases (or situations).
[0086] According to one embodiment, the requirements of the applications and resource management unit (520) can be set as shown in Tables 1 to 11.
[0087] NumberUse-caseRequirement1The application (App) performs initialization tasks through the resource management unit. - Applications can run after being allocated resources from the resource management unit. - Applications can be allocated resources after the resource management unit is ready. - The application must register with the resource management unit with an App ID. - The resource management unit must be able to distinguish applications with the App ID. - The resource management unit can only allocate resources to registered applications.
[0088] Referring to Table 1, an application can perform initialization tasks through the resource management unit (520). For example, the application can operate after being allocated resources (or CPU resources) from the resource management unit (520). For example, the application can be allocated resources after the resource management unit (520) is ready. For example, an App ID can be set for each application. The application can perform registration spelling with the resource management unit (520) through the App ID. For example, the resource management unit (520) can distinguish applications based on the App ID. The resource management unit (520) can allocate CPU resources only to registered applications.
[0089] Number Use-caseRequirement2 Applications (Apps) are allocated cores through the resource management unit. - Apps and resource management unit must comply with the core allocation method below. > Request: Number of cores required > Assign: Number of cores to be allocated and core ID (number) - Resource management unit and App must be able to know the Sibling pair relationship for each core ID. - Resource management unit must consider possible Sibling pairs when allocating cores. - Apps must be able to explicitly request Sibling cores when they need to be allocated. - Resource management unit must allocate Sibling cores when explicitly requested to allocate Sibling cores, and must be able to handle failure if they are not possible. ※ In case of CPU Architecture without HT function, there is no sibling property, so there is no failure handling case. - Apps must be able to handle failure if they are not allocated resources. > Cell Setup Failure Handling (Day-1) > Feature On / Off (Day-2 ~ )
[0090] Referring to Table 2, an application can be allocated cores (or CPU cores) through the resource management unit (520). For example, the application can provide information on the number of cores required to the resource management unit (520). Based on the information on the number of required cores obtained from the application, the resource management unit (520) can provide the application with information on the number of allocated cores and information on core IDs. For example, the resource management unit (520) and the application can know the sibling pair according to the core ID. For example, when the HT (hyper threading) function is applied, two virtual cores corresponding to one physical core can operate. For one physical core, two core IDs can be logically allocated. The two core IDs can be configured as a sibling pair. The resource management unit (520) can allocate cores to the application based on the sibling pair. For example, an application may request the resource management unit (520) to be allocated cores (or sibling cores) that are configured as a sibling pair. When the resource management unit (520) is requested to allocate sibling cores, it may allocate sibling cores to the application. If the sibling cores are not allocated, it may be identified (or determined) that resource allocation has failed. If the application is not allocated resources, it may be identified (or determined) that resource allocation has failed. For example, if cores configured as a sibling pair are not allocated together, inefficiency in CPU resource usage may occur. Therefore, the resource management unit (520) may allocate sibling cores to the application.
[0091] Number Use-caseRequirement3 The application returns the core through the resource manager. - App and resource manager must follow the core return method below. > Return: Number of cores to be returned and core id (number) - App stops using the core to be returned and returns it to resource manager. - App must consider possible sibling pairs when returning cores. - Resource manager re-registers the returned cores in the available pool. - Resource manager must be able to check the returned cores and process false if there is a mismatch. > See use-case number 4 - App must be able to process errors based on the information obtained from resource manager when receiving false. > See use-case number 4
[0092] Referring to Table 3, an application can return cores through the resource management unit (520). For example, the application can provide the resource management unit (520) with information about the number of cores to be returned and information about the core ID. For example, the application can stop using the cores to be returned and return the cores to be returned to the resource management unit (520). For example, the application can return cores based on sibling pairs. The application can return cores that are sibling pairs together. For example, the resource management unit (520) can register the returned cores in an available pool (or CPU resource pool). The resource management unit (520) can identify the returned cores and, if a mismatch occurs for the returned cores, can identify (or determine) that the return has failed. For example, the application may identify (or determine) that an error has occurred based on information obtained from the resource management unit (520) based on the resource management unit (520) identifying that the return has failed.
[0093] Number Use-case Requirement 4 The application (App) verifies the consistency of the Core maps that it knows through the Resource Manager. *The Core map represents the mapping relationship between the App and the Core. - The App should be able to query the Core map assigned to the App through the Resource Manager on demand. - The Resource Manager should be able to manage the Core map for each App. - The App should be able to synchronize with the Resource Manager when there is a mismatch between the Core map and the Resource Manager. > Synchronization through reinitialization > Synchronization of only the Core map - The App should be able to query the entire Core map managed by the Resource Manager through the Resource Manager on demand.
[0094] Referring to Table 4, the application can identify whether the core map identified in the application is the same as the core map set in the resource management unit (520). For example, the application can identify the core map allocated to the application through the resource management unit (520). For example, the resource management unit (520) can manage the core map for each application. For example, the application can identify that a mismatch occurs between the core map identified in the application (hereinafter, referred to as the first core map) and the core map set in the resource management unit (520) (hereinafter, referred to as the second core map). The application can synchronize the core map based on the mismatch between the first core map and the second core map. For example, the application can synchronize the core map based on an initialization operation (or a reinitialization operation). For example, the application can synchronize only the core map. For example, the application can identify the entire core map managed by the resource management unit (520).
[0095] Number Use-caseRequirement5 The application releases all core resources through the resource manager before exiting. - The app stops using all cores and returns them to the resource manager. - The resource manager re-registers the returned cores to the available pool.
[0096] Referring to Table 5, an application can release all allocated core resources through the resource management unit (520) before the application is terminated. For example, the application can stop using all allocated cores and return the allocated cores to the resource management unit (520). For example, the resource management unit (520) can register the returned cores in an available pool (or CPU resource pool).
[0097] NumberUse-caseRequirement6The application may terminate. - The app must free all resources.
[0098] As shown in Table 6, an application can be terminated. For example, when an application is terminated, it can free all allocated resources.
[0099] Number Use-caseRequirement7 The application may terminate abnormally. - The app must follow a reset sequence after an abnormal termination. > See use-case number 8
[0100] Referring to Table 7, an application may be terminated abnormally. For example, a reset procedure may be performed based on a reset sequence based on an abnormal termination of the application.
[0101] NumberUse-caseRequirement8The application performs a reinitialization (or initialization) operation through the resource management unit at the moment of reset. - Apps perform the Initialization Sequence. - After the registration procedure, the App must perform a consistency check of the Core map and a synchronization procedure based on the resource management unit and the App.
[0102] Referring to Table 8, applications can perform initialization procedures (or reinitialization procedures) based on the reset procedure. For example, applications can perform initialization procedures based on the initialization sequence. For example, after the registration procedure, the application can check the consistency of the core map (or synchronization of the core map) and perform a synchronization procedure regarding the operation of the resource management unit (520) and the application.
[0103] NumberUse-caseRequirement9The application can send and process requests to the resource manager without any problem even when another application is already using the resource manager. - The resource manager must be able to process App requests sequentially without any dropouts. - The app must be able to receive responses from the resource manager. - The app must be able to re-request messages when a message is missed.
[0104] Referring to Table 9, an application can send a request message for an operation (e.g., resource allocation) to the resource manager (520) even when the resource manager (520) is being used by another application. For example, the resource manager (520) can sequentially process the request based on the request message received from the application. The application can receive a response message from the resource manager (520). For example, if a message (e.g., a response message) is missing, the application can request (or re-request) a message from the resource manager (520).
[0105] NumberUse-caseRequirement10The resource manager may be terminated. - The resource manager initializes all cores.
[0106] Referring to Table 10, the resource management unit (520) may be terminated. For example, the resource management unit (520) may initialize all cores based on the termination of the resource management unit (520).
[0107] NumberUse-caseRequirement11The resource management unit may terminate abnormally. - The resource management unit must be able to back up the core map data and restore the core map when restarted.
[0108] Referring to Table 11, the resource management unit (520) may be abnormally terminated. For example, if the resource management unit (520) is abnormally terminated, the resource management unit (520) may back up data related to the core map. The resource management unit (520) may restore the core map upon restart.
[0109] The requirements of the applications and resource management unit (520) described in Tables 1 to 11 described above may be configured to efficiently manage CPU resources. For example, the requirements described above may be configured to detect errors in CPU resource allocation and perform processes to resolve any errors that occur.
[0110] FIG. 7a illustrates an example in which a CPU resource pool is used, according to one embodiment.
[0111] Figure 7b illustrates an example in which a CPU resource pool is used, according to one embodiment.
[0112] Referring to Figure 7a, within a DU (400), all available CPU resource pools (700) can be utilized, regardless of cell capacity. For example, when cells are expanded, core resources can be identified and allocated based on maximum capacity. Therefore, all available CPU resources can be utilized, regardless of the actual serviceable expanded cell capacity.
[0113] For example, a first portion (710) of the CPU resource pool (700) may be allocated for a first application. A second portion (720) of the CPU resource pool (700) may be allocated for a second application. A third portion (730) of the CPU resource pool (700) may be allocated for a third application that is distinct from the first and second applications. The first portion (710), the second portion (720), and the third portion (730) of the CPU resource pool (700) may constitute the entire CPU resource pool (700). The first portion (710), the second portion (720), and the third portion (730) of the CPU resource pool (700) may be configured based on the maximum capacity required by each of the applications. For example, the first portion (710) may be set to be larger than the second portion (720). Even if the processing capacity of the second application is greater than that of the first application, the first portion (710), the second portion (720), and the third portion (730) of the CPU resource pool (700) may be maintained. In this case, CPU resources may be used inefficiently.
[0114] As described above, when the entire CPU resource pool (700) is utilized, the development process is relatively simplified, enabling stable operation and providing stable performance. However, when the entire CPU resource pool (700) is utilized, CPU resources may not be used flexibly. Furthermore, system operation may experience inconveniences due to the diversification of shapes (or flavors). Therefore, to ensure efficient use of CPU resources, CPU resources may be allocated as illustrated in FIG. 7b.
[0115] Referring to FIG. 7b, within the DU (400), a portion of the CPU resource pool (700) may be allocated according to the amount of resources required by each application. For example, each application may provide information on the amount of CPU resources required to the resource management unit (520). The resource management unit (520) may allocate CPU resources within the CPU resource pool (700) based on the information on the amount of CPU resources required obtained from each application. Unlike FIG. 7a, the CPU resource pool (700) may not be fully utilized, and the amount of CPU resources required by each application may be allocated.
[0116] For example, a first portion (760) of the CPU resource pool (700) may be allocated for a first application. A second portion (770) of the CPU resource pool (700) may be allocated for a second application. A third portion (780) of the CPU resource pool (700) may be allocated for a third application that is distinct from the first and second applications. The fourth portion (790) of the CPU resource pool (700) may not be used. In some embodiments, the third portion (780) of the CPU resource pool (700) allocated for the third application may be fixedly allocated. CPU resources for the first application for one or more PHY functions and the second application for one or more MAC functions may be allocated within the remaining portion of the CPU resource pool (700) excluding the third portion (780).
[0117] As described above, when the CPU resource pool (700) is used dynamically, some of the CPU resources may not be used. For example, at least one core among the multiple cores of the CPU of the DU (400) may not be used. At least one core may be set to an idle state. As at least one core is set to an idle state, the power used by the DU (400) may be reduced. For example, by cutting off or limiting the power of at least one core, the power used by the DU (400) may be reduced. In addition, when the CPU resource pool (700) is used dynamically, the number of system configurations (or flavors) may be reduced, and operational convenience may be increased.
[0118] FIG. 8a is a diagram showing the number of CPU cores allocated according to the number of cells, according to one embodiment.
[0119] FIG. 8b is a diagram showing the number of CPU cores allocated according to the number of cells, according to one embodiment.
[0120] FIG. 8c is a diagram showing the number of CPU cores allocated according to the number of cells, according to one embodiment.
[0121] Referring to Fig. 8a, graph (810) illustrates an example in which the entire available CPU resource pool is utilized within DU (400), regardless of the number of cells. In graph (810), even when the number of cells is 1, the entire CPU resource pool can be utilized. Therefore, as the number of cells increases, the allocated CPU resources can remain the same. For example, the operation of DU (400) according to graph (810) may be related to the operation of DU (400) described in Fig. 7a.
[0122] Referring to FIGS. 8b and 8c, graphs (820) and (830) illustrate examples in which a portion of a CPU resource pool is allocated according to the amount of resources required by each application within the DU (400).
[0123] For example, DU (400) can allocate resources necessary to achieve maximum performance each time a cell is added. Graph (820) illustrates an example in which resources necessary to achieve maximum performance are allocated each time a cell is added.
[0124] For example, DU (400) can allocate resources based on the average traffic model of the cell each time a cell is expanded. Graph (830) illustrates an example in which resources are allocated based on the average traffic model of the cell each time a cell is expanded.
[0125] Referring to FIG. 8b, the resource management unit (520) of the DU (400) can allocate resources (e.g., CPU resources) to achieve the same performance as when resources are fixedly allocated as in FIG. 8a. For example, the resource management unit (520) can allocate all resources necessary to achieve maximum performance each time a cell is added. As cells are added, the resource management unit (520) can allocate resources for each cell until all resources included in the resource pool are allocated (or exhausted). When all resources are allocated (or exhausted), resources can be used for the operation of each cell through a pooling procedure with the cells to be added. For example, when all resources included in the resource pool are allocated, the DU (400) can perform operations for one or more cells in the same or similar manner as the operations performed in FIG. 8a. For example, if all resources contained in a resource pool are allocated, resources may be allocated to each cell based on the maximum capacity required by each cell.
[0126] For example, the resource management unit (520) may increase the size of resources allocated for cells related to the DU (400) as the number of cells related to the DU (400) increases while the number of cells related to the DU (400) is less than or equal to a specified number (821). The resource management unit (520) may allocate all resources included in the resource pool based on the number of cells related to the DU (400) being the specified number (821). The resource management unit (520) may maintain a state in which all resources included in the resource pool are allocated based on the number of cells related to the DU (400) exceeding the specified number (821). As the number of cells for DU (400) increases while the number of cells for DU (400) is less than or equal to a specified number (821), there is an effect that power for resources corresponding to area (822) can be reduced when the size of resources allocated for cells for DU (400) increases as the number of cells for DU (400) increases.
[0127] Referring to FIG. 8c, the resource management unit (520) of the DU (400) can allocate resources (e.g., CPU resources) based on power saving. For example, when expanding cells, three sectors may be configured per carrier component. The DU (400) can allocate resources based on an average traffic model for all expandable cells. The DU (400) can allocate resources only to the extent that it can provide performance for the average traffic model through the resource management unit (520). Therefore, resource efficiency can be improved and power saving effects can be enhanced.
[0128] For example, the resource management unit (520) may increase the size of the resources allocated for the cells of the DU (400) as the number of cells of the DU (400) increases. The DU (400) (or each application) may increase the size of the resources based on an average traffic model for all expandable cells. In an embodiment, when three sectors are configured per carrier component, the resource management unit (520) may increase the size of the allocated resources by one-third (one over three) of the size of the resources increased as the number of cells increases in FIG. 8B. In an embodiment, the resource management unit (520) may increase the size of the allocated resources as the number of cells of the DU (400) increases up to the maximum number of cells that can be processed by the DU (400). For example, when the number of cells for DU (400) increases and the size of resources allocated for cells for DU (400) increases, there is an effect that power for resources corresponding to area (832) can be reduced.
[0129] When resources are allocated as in Fig. 8b, the same or similar performance as when resources are allocated as in Fig. 8a may be provided, but the power saving effect may be low because the resources of the resource pool are allocated faster than in the operation of Fig. 8c.
[0130] FIG. 9 illustrates a flowchart of the operation of an electronic device for a DU, according to one embodiment.
[0131] In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel. The electronic device described below may be configured for the DU (400) (or the resource management unit (520) of the DU (400)) described above. For example, the electronic device may be configured to perform the operation of the DU (400) (or the resource management unit (520) of the DU (400)). Operations 910 and 920 of FIG. 9 may be performed in the electronic device for the DU (400) (or the resource management unit (520) of the DU (400)). Hereinafter, for convenience of explanation, operations 910 and 920 of FIG. 9 may be described as being performed by the resource management unit (520) of the DU (400).
[0132] Referring to FIG. 9, in operation 910, the resource management unit (520) may obtain a first message from a first application and a second message from a second application. For example, the first message and the second message may be obtained based on an inter-process communication (IPC) interface.
[0133] For example, a first application may provide one or more PHY functions for at least one cell of a DU (400). The first application may transmit a first message including information about a first CPU resource amount for one or more PHY functions for at least one cell to a resource management unit (520). The resource management unit (520) may obtain the first message from the first application.
[0134] For example, a second application may provide one or more MAC functions for at least one cell of DU (400). The second application may transmit a second message including information about a second amount of CPU resources for one or more MAC functions for at least one cell to the resource management unit (520). The resource management unit (520) may obtain the second message from the second application.
[0135] According to one embodiment, the second application may obtain a message for cell setup from the connection management unit (420) of the DU (400). Based on the message for cell setup, the second application may transmit (or provide) a request message for performing an operation for cell setup to the first application.
[0136] For example, a first application may obtain (or receive) a request message from a second application to perform an operation for cell setup. Based on the request message, the first application may identify a first amount of CPU resources for performing one or more PHY functions. For example, based on the request message, the first application may identify the number of CPU cores for performing one or more PHY functions as the first number.
[0137] The first application may identify a first number of CPU cores for performing one or more PHY functions based on at least one of information about a communication mode for at least one cell, radio resource information for at least one cell, and / or user information.
[0138] For example, information about a communication mode for at least one cell may include information configured for communication within the at least one cell. Information configured for communication within the at least one cell may include at least one of the number of layers (e.g., layers based on MIMO), the number of antennas, whether to operate in FDD mode, whether to operate in TDD mode, or channel state information. For example, radio resource information for the at least one cell may include at least one of the number of RBs, the number of symbols, and the number of slots. For example, user information may include at least one of the number of UEs for the at least one cell, information about performance (e.g., reception performance) of UEs for the at least one cell, and information about services provided within the at least one cell.
[0139] A first application may transmit a cell setup configuration message to a second application. For example, the cell setup configuration message may include at least one of information about a communication mode for at least one cell, radio resource information, and / or user information. The cell setup configuration message may include at least one of information about the number of layers configured within at least one cell, information about the number of resource blocks for at least one cell, and information about the number of UEs for at least one cell.
[0140] A second application may obtain (or receive) a cell setup configuration message from the first application. Based on the cell setup configuration message, the second application may identify a second amount of CPU resources for performing one or more MAC functions. For example, based on the cell setup configuration message, the second application may identify the number of CPU cores for performing one or more MAC functions as the second number.
[0141] According to one embodiment, the resource management unit (520) may obtain a first message including information regarding a first CPU resource amount from the first application. The resource management unit (520) may obtain a second message including information regarding a second CPU resource amount from the second application. For example, the information regarding the first CPU resource amount may include information regarding a first number of cores for performing one or more PHY functions among a plurality of cores available for the DU (400). The information regarding the second CPU resource amount may include information regarding a second number of cores for performing one or more MAC functions among a plurality of cores available for the DU (400).
[0142] In operation 920, the resource management unit (520) may allocate a first portion of the CPU resource pool and a second portion of the CPU resource pool. For example, the resource management unit (520) may allocate a first portion of the CPU resource pool corresponding to a first amount of CPU resources and a second portion of the CPU resource pool corresponding to a second amount of CPU resources based on the first message and the second message.
[0143] According to one embodiment, a CPU resource pool may be configured based on the number of cores available for the DU (400). The resource management unit (520) may allocate resources for each application within the CPU resource pool. The resource management unit (520) may allocate resources within the CPU resource pool based on assigning a portion of the cores to each application.
[0144] For example, the resource management unit (520) may allocate a first portion of a CPU resource pool corresponding to a first amount of CPU resources. The resource management unit (520) may allocate the first portion of the CPU resource pool for a first application. The first portion of the CPU resource pool may be allocated based on a first number of cores. As an example, the resource management unit (520) may allocate the first number of cores for the first application. The first portion of the CPU resource pool may be used to perform one or more PHY functions for at least one cell.
[0145] For example, the resource management unit (520) may allocate a second portion of the CPU resource pool corresponding to the second amount of CPU resources. The resource management unit (520) may allocate the second portion of the CPU resource pool for the second application. The second portion of the CPU resource pool may be allocated based on the second number of cores. As an example, the resource management unit (520) may allocate the second number of cores for the second application. The second portion of the CPU resource pool may be used to perform one or more MAC functions for at least one cell.
[0146] According to one embodiment, the sizes of the first portion and the second portion of the CPU resource pool can be identified based on the number of at least one cell. For example, the resource management unit (520) (or DU (400)) can identify the sizes of the first portion and the second portion of the CPU resource pool based on the number of at least one cell. For example, a first application can identify information about a first number of cores based on the number of at least one cell. The resource management unit (520) can identify the first portion of the CPU resource pool based on the information about the first number of cores. For example, a second application can identify information about a second number of cores based on the number of at least one cell. The resource management unit (520) can identify the second portion of the CPU resource pool based on the information about the second number of cores.
[0147] For example, a CPU resource pool may be entirely allocated based on the number of at least one cell being greater than or equal to a specified number. The resource management unit (520) (or DU (400)) may entirely allocate a CPU resource pool based on the number of at least one cell being greater than or equal to a specified number. The resource management unit (520) may increase the size of resources allocated for cells related to the DU (400) as the number of cells related to the DU (400) increases while the number of cells related to the DU (400) is less than or equal to a specified number. The resource management unit (520) may entirely allocate resources included in a CPU resource pool based on the number of cells related to the DU (400) being a specified number. The resource management unit (520) may maintain a state in which all resources included in a CPU resource pool are allocated based on the number of cells related to the DU (400) exceeding a specified number.
[0148] For example, an unused portion (or an unallocated portion) of a CPU resource pool may be set to an idle state. The resource management unit (520) (or DU (400)) may set an unused portion (or an unallocated portion) of a CPU resource pool to an idle state. The power of the unused portion (or an unallocated portion) of a CPU resource pool may be cut off or limited. Based on the power of the unused portion (or an unallocated portion) of a CPU resource pool being cut off or limited, power usage may be reduced.
[0149] According to one embodiment, at least one cell may be removed from the DU (400). The resource management unit (520) (or DU (400)) may set the first portion and the second portion of the CPU resource pool to an idle state based on the removal of at least one cell. The resource management unit (520) may set the first portion and the second portion of the CPU resource pool allocated for the first application and the second application to an idle state based on the removal of at least one cell.
[0150] According to one embodiment, a network node (e.g., a DU) may include at least one processor comprising processing circuitry, and a memory storing instructions and comprising one or more storage media. The instructions, when individually or collectively executed by the at least one processor, may cause the network node to obtain, from a first application for providing one or more physical (PHY) functions for at least one cell of the network node, a first message comprising information regarding an amount of first central processing unit (CPU) resources for the one or more PHY functions, and a second message comprising information regarding an amount of second CPU resources for the one or more medium access control (MAC) functions for the one or more MAC functions. The instructions, when individually or collectively executed by the at least one processor, may cause the network node to allocate a first portion of a CPU resource pool corresponding to the first amount of CPU resources and a second portion of the CPU resource pool corresponding to the second amount of CPU resources, based on the first message and the second message. The first portion of the CPU resource pool may be used to perform the one or more PHY functions for the at least one cell. The second portion of the CPU resource pool may be used to perform the one or more MAC functions for the at least one cell.
[0151] According to one embodiment, the CPU resource pool may be set based on the number of cores available for the network node.
[0152] According to one embodiment, the information regarding the first amount of CPU resources may include information regarding a first number of cores among the plurality of cores for performing one or more PHY functions. The information regarding the second amount of CPU resources may include information regarding a second number of cores among the plurality of cores for performing one or more MAC functions.
[0153] According to one embodiment, the first number of cores for performing the one or more PHY functions may be acquired through the first application based on at least one of information about a communication mode for the at least one cell, radio resource information for the at least one cell, or user information. The second number of cores for performing the one or more MAC functions may be acquired through the second application based on at least one of information about a communication mode for the at least one cell, the radio resource information for the at least one cell, or the user information.
[0154] In one embodiment, the first portion of the CPU resource pool may be allocated based on the first number of cores. The second portion of the CPU resource pool may be allocated based on the second number of cores.
[0155] In one embodiment, the instructions, when individually or collectively executed by the at least one processor, may cause the network node to determine the sizes of the first portion and the second portion of the CPU resource pool based on the number of the at least one cell.
[0156] In one embodiment, the instructions, when individually or collectively executed by the at least one processor, may cause the network node to allocate the entire pool of CPU resources based on the number of the at least one cell being greater than or equal to a specified number.
[0157] In one embodiment, the instructions, when individually or collectively executed by the at least one processor, may cause the network node to set an unused portion of the CPU resource pool to an idle state.
[0158] In one embodiment, the instructions, when individually or collectively executed by the at least one processor, may cause the network node to set the first portion and the second portion of the CPU resource pool to the idle state based on the removal of the at least one cell.
[0159] According to one embodiment, the first message and the second message can be obtained based on an inter-process communication (IPC) interface.
[0160] According to one embodiment, a method performed by a network node (e.g., a DU) may include obtaining, from a first application for providing one or more physical (PHY) functions for at least one cell of the network node, a first message comprising information regarding a first amount of central processing unit (CPU) resources for the one or more PHY functions, and from a second application for providing one or more medium access control (MAC) functions for the at least one cell, a second message comprising information regarding a second amount of CPU resources for the one or more MAC functions. The method may include allocating, based on the first message and the second message, a first portion of a CPU resource pool corresponding to the first amount of CPU resources, and a second portion of the CPU resource pool corresponding to the second amount of CPU resources. The first portion of the CPU resource pool may be used to perform the one or more PHY functions for the at least one cell. The second portion of the CPU resource pool may be used to perform the one or more MAC functions for the at least one cell.
[0161] According to one embodiment, the CPU resource pool may be set based on the number of cores available for the network node.
[0162] According to one embodiment, the information regarding the first amount of CPU resources may include information regarding a first number of cores among the plurality of cores for performing one or more PHY functions. The information regarding the second amount of CPU resources may include information regarding a second number of cores among the plurality of cores for performing one or more MAC functions.
[0163] According to one embodiment, the first number of cores for performing the one or more PHY functions may be acquired through the first application based on at least one of information about a communication mode for the at least one cell, radio resource information for the at least one cell, or user information. The second number of cores for performing the one or more MAC functions may be acquired through the second application based on at least one of information about a communication mode for the at least one cell, the radio resource information for the at least one cell, or the user information.
[0164] According to one embodiment, a non-transitory computer-readable storage medium may store one or more programs. The one or more programs may include instructions that, when executed by at least one processor of a network node (e.g., a DU), cause the network node to obtain, from a first application for providing one or more physical (PHY) functions for at least one cell of the network node, a first message comprising information regarding an amount of first central processing unit (CPU) resources for the one or more PHY functions, and a second message comprising information regarding an amount of second CPU resources for the one or more medium access control (MAC) functions, from a second application for providing one or more MAC functions for the at least one cell. The one or more programs may include instructions that, when executed by the at least one processor, cause the network node to allocate a first portion of a CPU resource pool corresponding to the first amount of CPU resources and a second portion of the CPU resource pool corresponding to the second amount of CPU resources, based on the first message and the second message. The first portion of the CPU resource pool may be used to perform the one or more PHY functions for the at least one cell. The second portion of the CPU resource pool may be used to perform the one or more MAC functions for the at least one cell.
[0165] According to one embodiment, an electronic device for a distributed unit (DU) may include at least one processor and a memory storing instructions. The instructions, when executed by the at least one processor, may cause the electronic device to obtain, from a first application for providing one or more physical (PHY) functions for at least one cell of the DU, a first message including information regarding a first amount of central processing unit (CPU) resources for the one or more PHY functions, and a second message including information regarding a second amount of medium access control (MAC) resources for the one or more MAC functions, from a second application for providing one or more MAC functions for the at least one cell. The instructions, when executed by the at least one processor, may cause the electronic device to allocate, based on the first message and the second message, a first portion of a CPU resource pool corresponding to the first amount of CPU resources and a second portion of the CPU resource pool corresponding to the second amount of CPU resources. The first portion of the CPU resource pool may be used to perform one or more PHY functions for the at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions for the at least one cell.
[0166] For example, the CPU resource pool can be set based on the number of cores available for the DU.
[0167] For example, the information regarding the first amount of CPU resources may include information regarding a first number of cores among the plurality of cores for performing one or more PHY functions. The information regarding the second amount of CPU resources may include information regarding a second number of cores among the plurality of cores for performing one or more MAC functions.
[0168] For example, the first number of cores for performing the one or more PHY functions may be acquired, through the first application, based on at least one of information about a communication mode for the at least one cell, radio resource information for the at least one cell, or user information. The second number of cores for performing the one or more MAC functions may be acquired, through the second application, based on at least one of information about a communication mode for the at least one cell, the radio resource information for the at least one cell, or the user information.
[0169] For example, the first portion of the CPU resource pool may be allocated based on the first number of cores. The second portion of the CPU resource pool may be allocated based on the second number of cores.
[0170] For example, the instructions, when executed by the at least one processor, may cause the electronic device to determine the sizes of the first portion and the second portion of the CPU resource pool based on the number of the at least one cell.
[0171] For example, the instructions, when executed by the at least one processor, may cause the electronic device to allocate all of the CPU resource pool based on the number of the at least one cell being greater than or equal to a specified number.
[0172] For example, the instructions, when executed by the at least one processor, may cause the electronic device to set an unused portion of the CPU resource pool to an idle state.
[0173] For example, the instructions, when executed by the at least one processor, may cause the electronic device to set the first portion and the second portion of the CPU resource pool to the idle state based on the at least one cell being removed.
[0174] For example, the first message and the second message can be obtained based on an inter-process communication (IPC) interface.
[0175] According to one embodiment, a method performed by a distributed unit (DU) may include obtaining, from a first application for providing one or more physical (PHY) functions for at least one cell of the DU, a first message comprising information regarding a first amount of central processing unit (CPU) resources for the one or more PHY functions, and from a second application for providing one or more medium access control (MAC) functions for the at least one cell, a second message comprising information regarding a second amount of CPU resources for the one or more MAC functions. The method may include allocating, based on the first message and the second message, a first portion of a CPU resource pool corresponding to the first amount of CPU resources, and a second portion of the CPU resource pool corresponding to the second amount of CPU resources. The first portion of the CPU resource pool may be used to perform the one or more PHY functions for the at least one cell. The second portion of the CPU resource pool may be used to perform the one or more MAC functions for the at least one cell.
[0176] For example, the CPU resource pool can be set based on the number of cores available for the DU.
[0177] For example, the information regarding the first amount of CPU resources may include information regarding a first number of cores among the plurality of cores for performing one or more PHY functions. The information regarding the second amount of CPU resources may include information regarding a second number of cores among the plurality of cores for performing one or more MAC functions.
[0178] For example, the first number of cores for performing the one or more PHY functions may be acquired, through the first application, based on at least one of information about a communication mode for the at least one cell, radio resource information for the at least one cell, or user information. The second number of cores for performing the one or more MAC functions may be acquired, through the second application, based on at least one of information about a communication mode for the at least one cell, the radio resource information for the at least one cell, or the user information.
[0179] For example, the first portion of the CPU resource pool may be allocated based on the first number of cores. The second portion of the CPU resource pool may be allocated based on the second number of cores.
[0180] For example, the method may include an operation of determining the sizes of the first portion and the second portion of the CPU resource pool based on the number of the at least one cell.
[0181] For example, the method may include an operation of allocating the entire CPU resource pool based on the number of the at least one cell being greater than or equal to a specified number.
[0182] For example, the method may include an operation of setting an unused portion of the CPU resource pool to an idle state.
[0183] For example, the method may include setting the first portion and the second portion of the CPU resource pool to the idle state based on the removal of the at least one cell.
[0184] According to one embodiment, a non-transitory computer-readable storage medium may store one or more programs. The one or more programs may include instructions that, when executed by at least one processor of an electronic device, cause the electronic device to obtain, from a first application for providing one or more physical (PHY) functions for at least one cell of the DU, a first message comprising information regarding a first amount of central processing unit (CPU) resources for the one or more PHY functions, and a second message comprising information regarding a second amount of CPU resources for the one or more medium access control (MAC) functions, from a second application for providing one or more MAC functions for the at least one cell. The one or more programs may include instructions that, when executed by at least one processor of the electronic device, cause the electronic device to allocate, based on the first message and the second message, a first portion of a CPU resource pool corresponding to the first amount of CPU resources and a second portion of the CPU resource pool corresponding to the second amount of CPU resources. The first portion of the CPU resource pool may be used to perform one or more PHY functions for the at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions for the at least one cell.
[0185] According to the above-described embodiment, the system type or system configuration (or flavor) is reduced, which increases the convenience of operation and reduces development costs. According to the above-described embodiment, the power consumption is reduced by increasing the efficiency of resource use. According to the above-described embodiment, the system configuration according to the different resource allocation can be reduced by dynamically allocating CPU resources of a system that simultaneously supports FDD and TDD. The convenience of system operation is improved, and the test environment for product verification can be simplified. Accordingly, the environment construction and verification resources (e.g., human resources or material resources) for the system can be reduced. In addition, the operating cost can be reduced due to the reduced power consumption.
[0186] The methods according to the embodiments described in the claims or specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software.
[0187] When implemented in software, a computer-readable storage medium storing one or more programs (software modules) may be provided. The one or more programs stored in the computer-readable storage medium are configured for execution by one or more processors within an electronic device. The one or more programs include instructions that cause the electronic device to execute methods according to embodiments described in the claims or specification of the present disclosure. The one or more programs may be provided as a computer program product. The computer program product may be traded between a seller and a buyer as a commodity. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0188] These programs (software modules, software) may be stored in random access memory, non-volatile memory including flash memory, read only memory (ROM), electrically erasable programmable read only memory (EEPROM), magnetic disc storage devices, compact disc-ROM (CD-ROM), digital versatile discs (DVDs) or other forms of optical storage devices, magnetic cassettes, or may be stored in memories formed by a combination of some or all of these. In addition, each configuration memory may include multiple copies.
[0189] Additionally, the program may be stored on an attachable storage device that is accessible via a communication network, such as the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a storage area network (SAN), or a combination thereof. Such a storage device may be connected to a device performing an embodiment of the present disclosure via an external port. Additionally, a separate storage device on the communication network may be connected to a device performing an embodiment of the present disclosure.
[0190] In the specific embodiments of the present disclosure described above, components included in the disclosure are expressed in the singular or plural form, depending on the specific embodiment presented. However, the singular or plural expressions are selected to suit the presented situation for convenience of explanation, and the present disclosure is not limited to singular or plural components. Components expressed in the plural form may be composed of singular elements, or components expressed in the singular form may be composed of plural elements.
[0191] According to embodiments, one or more of the components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., modules or programs) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0192] Meanwhile, although the detailed description of the present disclosure has described specific embodiments, it is obvious that various modifications are possible within the scope of the present disclosure.
[0193] The embodiments of this document and the terminology used herein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among the phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another component (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0194] In one embodiment of this document, the term "module" used may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
Claims
1. In a network node, At least one processor comprising a processing circuit; and A memory storing instructions and including one or more storage media, The above instructions, when individually or collectively executed by the at least one processor, From a first application for providing one or more PHY (physical) functions for at least one cell of the network node, a first message including information about an amount of first CPU (central processing unit) resources for the one or more PHY functions is obtained, and from a second application for providing one or more MAC (medium access control) functions for the at least one cell, a second message including information about an amount of second CPU resources for the one or more MAC functions is obtained, Causing the network node to allocate a first portion of the CPU resource pool corresponding to the first amount of CPU resources and a second portion of the CPU resource pool corresponding to the second amount of CPU resources, based on the first message and the second message; The first part of the above CPU resource pool is, used to perform one or more of the PHY functions for at least one cell; The second part of the above CPU resource pool is, used to perform said one or more MAC functions for said at least one cell, Network node.
2. In the first paragraph, the CPU resource pool is Set based on the number of multiple cores available for the above network node, Network node.
3. In the second paragraph, information about the amount of the first CPU resource is: Includes information about a first number of cores for performing one or more PHY functions among the plurality of cores, Information about the amount of the above second CPU resources, comprising information about a second number of cores for performing one or more MAC functions among the plurality of cores; Network node.
4. In the third paragraph, the first number of cores for performing one or more of the PHY functions, Through the first application, information about a communication mode for the at least one cell is obtained based on at least one of radio resource information or user information for the at least one cell, The second number of cores for performing one or more of the above MAC functions, Through said second application, information about a communication mode for said at least one cell, at least one of said radio resource information for said at least one cell or said user information is obtained. Network node.
5. In the fourth paragraph, the first part of the CPU resource pool, is allocated based on the first number of cores above, The second part of the above CPU resource pool is, Based on the second number of cores allocated, Network node.
6. In the first paragraph, when the instructions are individually or collectively executed by the at least one processor, Causing the network node to determine the sizes of the first portion and the second portion of the CPU resource pool based on the number of said at least one cell; Network node.
7. In the sixth paragraph, when the instructions are individually or collectively executed by the at least one processor, Causing the network node to allocate all of the CPU resource pool based on the number of at least one cell being greater than or equal to a specified number; Network node.
8. In the first paragraph, when the instructions are individually or collectively executed by the at least one processor, Causing the network node to set an unused portion of the above CPU resource pool to an idle state; Network node.
9. In the 8th paragraph, when the instructions are individually or collectively executed by the at least one processor, Causing the network node to set the first portion and the second portion of the CPU resource pool to the idle state based on the removal of at least one cell; Network node.
10. In the first paragraph, the first message and the second message, Obtained based on the IPC (inter-process communication) interface, Network node.
11. In a method performed by a network node, An operation of obtaining, from a first application for providing one or more physical (PHY) functions for at least one cell of the network node, a first message including information about an amount of first central processing unit (CPU) resources for the one or more PHY functions, and from a second application for providing one or more medium access control (MAC) functions for the at least one cell, a second message including information about an amount of second CPU resources for the one or more MAC functions; and An operation of allocating a first portion of a CPU resource pool corresponding to the first amount of CPU resources and a second portion of the CPU resource pool corresponding to the second amount of CPU resources, based on the first message and the second message, The first part of the above CPU resource pool is, used to perform one or more of the PHY functions for at least one cell; The second part of the above CPU resource pool is, used to perform said one or more MAC functions for said at least one cell, method.
12. In clause 11, the CPU resource pool is Set based on the number of multiple cores available for the above network node, method.
13. In the 12th paragraph, information about the amount of the first CPU resource is: Includes information about a first number of cores for performing one or more PHY functions among the plurality of cores, Information about the amount of the above second CPU resources, comprising information about a second number of cores for performing one or more MAC functions among the plurality of cores; method.
14. In the 13th paragraph, the first number of cores for performing one or more of the PHY functions, Through the first application, information about a communication mode for the at least one cell is obtained based on at least one of radio resource information or user information for the at least one cell, The second number of cores for performing one or more of the above MAC functions are: Through said second application, information about a communication mode for said at least one cell, at least one of said radio resource information for said at least one cell or said user information is obtained. method.
15. In a non-transitory computer-readable storage medium storing one or more programs, the one or more programs, when executed by at least one processor of a network node, From a first application for providing one or more PHY (physical) functions for at least one cell of the network node, a first message including information about an amount of first CPU (central processing unit) resources for the one or more PHY functions is obtained, and from a second application for providing one or more MAC (medium access control) functions for the at least one cell, a second message including information about an amount of second CPU resources for the one or more MAC functions is obtained, Including instructions for causing the network node to allocate a first portion of the CPU resource pool corresponding to the first amount of CPU resources and a second portion of the CPU resource pool corresponding to the second amount of CPU resources, based on the first message and the second message; The first part of the above CPU resource pool is, used to perform one or more of the PHY functions for at least one cell; The second part of the above CPU resource pool is, used to perform said one or more MAC functions for said at least one cell, A non-transitory computer-readable storage medium.
Citation Information
Patent Citations
connector for implant
KR102529182B1
Apparatus, method, and system to dynamically deploy wireless infrastructure
US20190272187A1
Wireless Communications Using Virtualized Base Stations Network
US20190320487A1
System with multiple virtual radio units in a radio unit that is remote from at least one baseband controller
US20200044670A1
Optimizing ran compute resources in a vertically scaled vran deployment
US20220291961A1
Cited By
Apparatus and method for mining coins on basis of resource control in network system
WO2026205700A1