IP Library › Granted Patent US 12,028,878
Granted Patent B2
US 12,028,878 · App. 17/572,973 · Granted Jul 2, 2024

Method and apparatus for allocating GPU to software package

Inventors: Cheolgyu Jin (Suwon-si, KR); Changbae Yoon (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
H04W72/52H04W72/0473H04W72/121H04W72/23
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,028,878
App. No.
17/572,973
Granted
Jul 2, 2024
Kind
B2
Abstract

A method, performed by a network entity, of executing a software package in a wireless communication system, is provided. The method includes identifying package information of each of a plurality of software packages and graphics processing unit (GPU) state information used by the plurality of software packages with respect to a plurality of user equipments (UEs) connected to the network entity, when a workload of at least one of the plurality of packages is changed, determining to change a GPU usage profile, based on the package information and the GPU state information, determining the number of packages to process the workload, identifications (IDs) of GPUs to be allocated to the packages, and usage locations of the GPUs, based on the package information and the GPU state information, updating the GPU usage profile, according to the determined IDs of the GPUs and the determined usage locations of the GPUs, and allocating the GPUs to the plurality of software packages, based on the updated GPU usage profile.

Claims (57)

1. A method, performed by a network entity, of executing a software package in a wireless communication system, the method comprising:

identifying package information of each of a plurality of software packages and graphics processing unit (GPU) state information used by the plurality of software packages with respect to a plurality of user equipments (UEs) connected to the network entity;

when a workload of at least one of the plurality of software packages is changed, determining to change a GPU usage profile, based on the package information and the GPU state information;

determining a number of software packages to process the workload, identifications (IDs) of GPUs to be allocated to the determined software packages, and usage locations of the GPUs, based on the package information and the GPU state information;

updating the GPU usage profile, according to the determined IDs of the GPUs and the determined usage locations of the GPUs; and

allocating the GPUs to the plurality of software packages, based on the updated GPU usage profile.

2. The method of claim 1 ,

wherein the package information comprises information about a computation amount and a GPU usage amount and information about a package latency requirement of each of the plurality of software packages,

wherein the GPU state information comprises information about use or non-use, a usage amount, a usage location, and power consumption of a GPU, and

wherein the GPU usage profile comprises information about a number of GPUs used by a software package, IDs of the GPUs, a usage ratio of each of the GPUs, and a usage location of each of the GPUs.

3. The method of claim 2 , wherein the determining to change the GPU usage profile comprises comparing the package latency requirement with a processing time of the software package.

4. The method of claim 2 , wherein the determining to change the GPU usage profile comprises comparing the power consumption of the GPU with a power consumption requirement of a system.

5. The method of claim 1 ,

wherein the determining to change the GPU usage profile comprises determining a GPU allocation mode, and

wherein the GPU allocation mode comprises a latency priority mode or a power priority mode.

6. The method of claim 5 , further comprising:

determining the GPU allocation mode based on a factor that has a greater effect on operation of a system from among latency or power consumption; and

determining a number of GPUs to be allocated to each package, based on the GPU allocation mode.

7. The method of claim 1 , wherein the determining of the IDs of the GPUs and the usage locations of the GPUs comprises:

determining a number of GPUs to be allocated to each of the plurality of software packages; and

according to the determined number of GPUs, determining IDs and usage ratios of the GPUs to be respectively allocated to the plurality of software packages.

8. The method of claim 1 , wherein the determining of the IDs of the GPUs and the usage locations of the GPUs comprises, based on the package information, determining GPU allocation priorities among the plurality of software packages.

9. The method of claim 1 , wherein the determining of the IDs of the GPUs and the usage locations of the GPUs comprises, based on the GPU state information, determining allocation priorities among the GPUs.

10. The method of claim 1 , wherein the software packages perform at least one of a virtualized radio access network (vRAN) function, a mobile edge computing (MEC) function, or a user plane function (UPF).

11. The method of claim 1 , wherein a component management (CM) package obtains hardware usage information about all software packages included in a server.

12. The method of claim 1 ,

wherein a GPU comprises a virtualized hardware resource, and

wherein a preset percentage or computation amount of each hardware resource is used to process a task of a particular software package.

13. A non-transitory computer-readable recording medium having recorded thereon a program for performing the method of claim 1 , on a computer.

14. A network entity for executing a software package in a wireless communication system, the network entity comprising:

a communicator;

a memory storing a plurality of instructions; and

at least one processor configured to execute the plurality of instructions to:

identify package information of each of a plurality of software packages and graphics processing unit (GPU) state information used by the plurality of software packages with respect to a plurality of user equipments (UEs) connected to the network entity,

when a workload of at least one of the plurality of software packages is changed, determine to change a GPU usage profile, based on the package information and the GPU state information,

determine a number of software packages to process the workload, identifications (IDs) of GPUs to be allocated to the determined software packages, and usage locations of the GPUs, based on the package information and the GPU state information,

update the GPU usage profile, according to the determined IDs of the GPUs and the determined usage locations of the GPUs, and

allocate the GPUs to the plurality of software packages, based on the updated GPU usage profile.

15. The network entity of claim 14 ,

wherein the package information comprises information about a computation amount and a GPU usage amount and information about a package latency requirement of each of the plurality of software packages,

wherein the GPU state information comprises information about use or non-use, a usage amount, a usage location, and power consumption of a GPU, and

wherein the GPU usage profile comprises information about a number of GPUs used by a software package, IDs of the GPUs, a usage ratio of each of the GPUs, and a usage location of each of the GPUs.

16. The network entity of claim 14 ,

wherein the at least one processor is further configured to execute the plurality of instructions to determine a GPU allocation mode so as to determine whether to change the GPU usage profile, and

wherein the GPU allocation mode comprises a latency priority mode or a power priority mode.

17. The network entity of claim 15 , wherein the at least one processor is further configured to execute the plurality of instructions to determine whether to change the GPU usage profile, by comparing the package latency requirement with a processing time of the software package.

18. The network entity of claim 15 , wherein the at least one processor is further configured to execute the plurality of instructions to determine whether to change the GPU usage profile, by comparing the power consumption of the GPU with a power consumption requirement of a system.

19. The network entity of claim 14 , wherein the at least one processor is further configured to:

execute the plurality of instructions to, in order to determine the IDs of the GPUs and the usage locations of the GPUs;

determine a number of GPUs to be allocated to each of the plurality of software packages; and

according to the determined number of GPUs, determine IDs and usage ratios of the GPUs to be respectively allocated to the plurality of software packages.

20. The network entity of claim 14 , wherein the at least one processor is further configured to:

execute the plurality of instructions to, in order to determine the IDs of the GPUs and the usage locations of the GPUs; and

determine GPU allocation priorities among the plurality of software packages, based on the package information.

21. The network entity of claim 14 , wherein the at least one processor is further configured to:

execute the plurality of instructions to, in order to determine the IDs of the GPUs and the usage locations of the GPUs; and

determine allocation priorities among the GPUs, based on the GPU state information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2022
From: JIN, CHEOLGYU; YOON, CHANGBAE
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 058618/0429 →
Priority Claims (1)
KR 10-2020-0151325 · Nov 12, 2020 · national
Continuity (2)
Continuation PCTKR2021016467 · Nov 11, 2021
Related Publication 20220150898A1 · May 12, 2022
Cited By (1)
US 12,298,880