Budget-based time slice assignment for multiple virtual functions
AssigneesAdvanced Micro Devices, Inc., ATI Technologies ULC
InventorsYuping Shen, Min Zhang, Yinan Jiang, Jeffrey G. Cheng
Life of this patent
Estimating the term…
Abstract
A host processing system assigns unequal time slices at a parallel processor to virtual functions based on profiles of applications executing at the virtual functions and an available budget of the parallel processor. The host processing system calculates a world switch cycle interval and assesses an available processing budget of the parallel processor. The available budget indicates the amount of graphics processing time the parallel processor has not yet allocated to virtual functions for each world switch cycle interval.
Claims18
A method comprising:
- selectively assigning a first time slice that is at least a minimum duration at a parallel processor to a first virtual function based on a current available budget of the parallel processor and a profile of a first application executing at the first virtual function, the profile including a parallel processor budget requirement of the first application, the selectively assigning comprising comparing the parallel processor budget requirement to a minimum time slice duration;
- updating the current available budget;
- and
- selectively assigning a second time slice at the parallel processor to a second virtual function based on the updated current available budget and a profile of a second application executing at the second virtual function.
A method comprising:
- selectively assigning a first time slice at a parallel processor to a first virtual function based on a current available budget of the parallel processor and a profile of a first application executing at the first virtual function, wherein the first time slice has at least a minimum duration is based on a ratio of world switch overhead to usable time of the parallel processor;
- updating the current available budget;
- and
- selectively assigning a second time slice at the parallel processor to a second virtual function based on the updated current available budget and a profile of a second application executing at the second virtual function.
A method comprising:
- assigning time slices at a parallel processor to a plurality of virtual functions, wherein a duration of each time slice is selectively assigned based on a current available budget of the parallel processor and a profile of an application executing at each of the virtual functions, the profile including a parallel processor budget requirement of the application, wherein the assigning comprises comparing the parallel processor budget requirement to a minimum time slice duration and based on the comparison, setting each assigned time slice to a duration that is at least the minimum time slice duration;
- and
- updating the current available budget in response to assigning the time slices.
A method comprising:
- assigning time slices at a parallel processor to a plurality of virtual functions, wherein a duration of each time slice is assigned based on a profile of an application executing at each of the virtual functions, the profile including a parallel processor budget requirement of the application and an available budget of the parallel processor, wherein each assigned time slice has at least a minimum duration based on a ratio of world switch overhead to usable time of the parallel processor.
A device comprising:
- a parallel processor configured to execute requests from virtual functions;
- and
- a virtual function manager configured to selectively assign time slices at the parallel processor to a plurality of virtual functions, wherein a duration of each time slice is based on a current available budget of the parallel processor and a profile of an application executing at each of the virtual functions, the profile including a parallel processor budget requirement of the application;
- wherein the virtual function manager is configured to compare the parallel processor budget requirement to a minimum time slice duration to ensure each assigned time slice has a duration that is at least the minimum time slice duration;
- and
- wherein the virtual function manager is further configured to update the current available budget in response to the assigned time slices.
A method comprising:
- selectively assigning a first time slice at a parallel processor to a first virtual function based on a profile of a first application executing at the first virtual function and a current available budget of the parallel processor, wherein a maximum duration of the current available budget is defined as 100% of a world switch cycle interval;
- updating the current available budget;
- and
- selectively assigning a second time slice at the parallel processor to a second virtual function based on the updated current available budget and a profile of a second application executing at the second virtual function.
Dependencies are inferred from the claim text.