US2020210242A1PendingUtilityA1
Method and system for gpu virtualization based on container
Est. expiryDec 26, 2038(~12.4 yrs left)· nominal 20-yr term from priority
G06F 9/5027G06F 9/5055G06F 2009/45562G06T 1/20G06F 2009/4557G06F 9/45558G06F 9/54G06F 9/5077
51
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A GPU virtualization method based on a container comprises the steps of: transmitting, if the container is created, a configuration file including GPU resource constraint information and an API profile to the container, by a node controller; and implementing a virtual GPU, when the container is executed, by intercepting a library call and changing an argument related to a GPU resource amount by a library controller provided in the container, and by intercepting a system call and changing argument and return values by a system call controller.
Claims
exact text as granted — not AI-modified1 . A graphics processing unit (GPU) virtualization method for dynamically allocating and sharing resources of a physical GPU through a virtualization of an operating system, the GPU virtualization method comprising:
creating, by the operating system in communication with the physical GPU, a container comprising a library controller and a system call controller; transmitting a configuration file including GPU resource constraint information and an API profile to the container, by a node controller of the operating system; and implementing, by the container, a virtual GPU by:
the library controller intercepting a library call and changing one or more arguments of the library call related to a GPU resource amount, as the system call controller intercepts a system call and changes arguments and return values of the system call,
wherein operations of the node controller, in conjunction with the implementing the virtual GPU, comprise:
confirming GPU resource availability,
initializing resource information of the node controller,
reporting the resource availability to a manager,
receiving a job assigned by the manager, the job including a requested resource amount, and
updating resource availability information of the node controller by subtracting the requested resource amount of the job,
wherein operations of the library controller, with respect to intercepting the library call and changing the one or more arguments of the library call related to the GPU resource amount, comprise:
determining, when a library function call event of a user application is received by the library controller, whether the library function call event is an API call related to an inquiry and allocation of the resources;
changing at least one value among an argument, a structure field, and a return value related to GPU resource amounts within the library function call event when the library function call event is determined to be the API call, and
calling an original library function of the library function call event when the library function call event is not determined to be the API call,
wherein operations of the system call controller, with respect to intercepting the system call and changing the arguments and return values of the system call, comprise:
determining, when a system call event of the user program is received by the system call controller, whether the system call event is a system call of at least one of permission, block, and change according to the system call/API profile, and
changing, before and after a call of an original system function of the system call event, arguments and the return values of the system call event according to rules of the system call/API profile when the system call event is determined to be the system call.
2 . (canceled)
3 . The method according to claim 1 , wherein the node controller stores the configuration file including resource constraint information in the container when the container is created, and collects the resources as much as a requested amount and updates the resource availability information of the node controller if an end of executing the container is sensed.
4 - 5 . (canceled)
6 . A graphics processing unit (GPU) virtualization system comprising:
a physical GPU; an operating system comprising a node controller; a container comprising a library controller and a system call controller, the container dynamically allocating and sharing resources of the physical GPU through a virtualization of the operating system to implement a virtual GPU by: the library controller intercepting a library call and changing one or more arguments of the library call related to a GPU resource amount, as the system call controller intercepts a system call and changes arguments and return values of the system call, wherein the node controller, in conjunction with the implementing the virtual GPU:
transfers a configuration file including resource constraint information and a system call/application programming interface (API) profile to the container,
initializes resource information by confirming occupation and availability of the resources,
reports the resource information,
receives a job, and
updates the resource information by subtracting a requested resource amount of the job from the available resource amount,
wherein the library controller, with respect to intercepting the library call and changing the one or more arguments of the library call related to the GPU resource amount:
determines, when a library function call event of a user application is received by the library controller, whether the library function call event is an API call related to an inquiry and allocation of the resources;
changes at least one value among an argument, a structure field, and a return value related to GPU resource amounts within the library function call event when the library function call event is determined to be the API call, and
calls an original library function of the library function call event when the library function call event is not determined to be the API call,
wherein the system call controller, with respect to intercepting the system call and changing the arguments and the return values of the system call:
determines, when a system call event of the user program is received by the system call controller, whether the system call event is a system call of at least one of permission, block, and change according to the system call/API profile, and
changes, before and after a call of an original system function of the system call event, arguments and the return values of the system call event according to rules of the system call/API profile when the system call event is determined to be the system call.Join the waitlist — get patent alerts
Track US2020210242A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.