Data processing system, data processing method, and program
US-2015254105-A1 · Sep 10, 2015 · US
US9690626B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9690626-B2 |
| Application number | US-201414317790-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 27, 2014 |
| Priority date | Jun 27, 2014 |
| Publication date | Jun 27, 2017 |
| Grant date | Jun 27, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A computer implemented method for assigning workload slices from a workload to upcoming frames to be processed during the rendering of the upcoming frames. The processing time of upcoming frames and workload slices varies at runtime according to system resources The method determines an effective frame rate that estimates the duration of an upcoming frame and also determines an effective slice rate that estimates the time it takes to complete an upcoming workload slice. Based on the effective frame rate and the effective slice rate, the method then calculates the slice-to-frame ratio which defines the rate in which slices are assigned to upcoming frames. The slice-to-frame ratio can dynamically change to accommodate for changes to the processing time of rendered frames and completed workload slices.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for processing a workload in a single-threaded environment, comprising: detecting an input that initiates the workload to be processed in the single-threaded environment: determining, by a computing device, an effective frame rate based on at least one rendered frame in the single-threaded environment, the effective frame rate being used to estimate a duration of an upcoming frame; determining, by the computing device, an effective slice rate based on at least one completed workload slice, wherein each workload slice represents a portion of the workload to be processed in the single-threaded environment, the effective slice rate being used to estimate a time to complete an upcoming workload slice of the workload; calculating, by the computing device, a slice-to-frame ratio according to the effective frame rate and the effective slice rate during runtime of the single-threaded environment, wherein the slice-to-frame ratio defines a rate at which workload slices are assigned to one or more upcoming frames; dynamically assigning, by the computing device, one or more upcoming workload slices to be processed during the rendering of the one or more upcoming frames according to the calculated slice-to-frame ratio; and rendering, by the computing device, the one or more upcoming frames while processing the one or more upcoming workload slices at the rate defined by the calculated slice-to-frame ratio concurrently with the rendering of the one or more upcoming frames. 2. The computer-implemented method of claim 1 , further comprising: determining, by the computing device, an updated effective frame rate based on the one or more upcoming frames that were rendered; determining, by the computing device, an updated effective slice rate based on the one or more upcoming frames that were rendered; and dynamically adjusting, by the computing device, the slice-to-frame ratio according to the updated effective frame rate and the updated effective slice rate. 3. The computer-implemented method of claim 1 , wherein the workload is triggered from an event detected during presentation of the at least one rendered frame in the single-threaded environment. 4. The computer-implemented method of claim 1 , further comprising splitting, by the computing device, the workload into a plurality of substantially equal workload slices. 5. The computer-implemented method of claim 1 , wherein determining the effective frame rate comprises measuring, by the computing device, a duration of the at least one rendered frame. 6. The computer-implemented method of claim 1 , wherein determining the effective slice rate comprises measuring, by the computing device, a processing time of the at least one completed workload slice. 7. The computer-implemented method of claim 1 , wherein a workload slice from the at least one completed workload slice was processed along with a frame from the at least one rendered frame. 8. A non-transitory computer readable storage medium containing instructions for processing a workload in a single-threaded environment, that when executed, control a computer system to be configured for: detecting an input that initiates the workload to be processed in the single-threaded environment: determining an effective frame rate based on at least one rendered frame in a single-threaded environment, the effective frame rate being used to estimate a duration of an upcoming frame; determining an effective slice rate based on at least one completed workload slice, wherein each workload slice represents a portion of a workload to be processed in the single-threaded environment, the effective slice rate being used to estimate a time to complete an upcoming workload slice of the workload; calculating a slice-to-frame ratio according to the effective frame rate and the effective slice rate during runtime of the single-threaded environment, wherein the slice-to-frame ratio defines a rate at which workload slices are assigned to one or more upcoming frames; dynamically assigning one or more upcoming workload slices to be processed during the rendering of the one or more upcoming frames according to the calculated slice-to-frame ratio; and rendering the one or more upcoming frames while processing the one or more upcoming workload slices at the rate defined by the calculated slice-to-frame ratio concurrently with the rendering of the one or more upcoming frames. 9. The non-transitory computer readable storage medium of claim 8 , further comprising: determining an updated effective frame rate based on the one or more upcoming frames that were rendered; determining an updated effective slice rate based on the one or more upcoming frames that were rendered; and dynamically adjusting the slice-to-frame ratio according to the updated effective frame rate and the updated effective slice rate. 10. The non-transitory computer readable storage medium of claim 8 , wherein the workload is triggered from an event detected during presentation of the at least one rendered frame in the single-threaded environment. 11. The non-transitory computer readable storage medium of claim 8 , further comprising splitting the workload into a plurality of substantially equal workload slices. 12. The non-transitory computer readable storage medium of claim 8 , wherein determining the effective frame rate comprises measuring a duration of the at least one rendered frame. 13. The non-transitory computer readable storage medium of claim 8 , wherein determining the effective slice rate comprises measuring a processing time of the at least one completed workload slice. 14. The non-transitory computer readable storage medium of claim 8 , wherein a workload slice from the at least one completed workload slice was processed along with a frame from the at least one rendered frame. 15. An apparatus, comprising: one or more computer processors; and a non-transitory computer-readable storage medium comprising instructions for processing a workload in a single-threaded environment, that when executed, control the one or more computer processors to be configured for: detecting an input that initiates the workload to be processed in the single-threaded environment; determining an effective frame rate based on at least one rendered frame in a single-threaded environment, the effective frame rate being used to estimate a duration of an upcoming frame; determining an effective slice rate based on at least one completed workload slice, wherein each workload slice represents a portion of a workload to be processed in the single-threaded environment, the effective slice rate being used to estimate a time to complete an upcoming workload slice of the workload; calculating a slice-to-frame ratio according to the effective frame rate and the effective slice rate during runtime of the single-threaded environment, wherein the slice-to-frame ratio defines a rate at which workload slices are assigned to one or more upcoming frames; dynamically assigning one or more upcoming workload slices to be processed during the rendering of the one or more upcoming frames according to the calculated slice-to-frame ratio; and rendering the one or more upcoming frames while processing the one or more upcoming workload slices at the rate defined by the calculated slice-to-frame ratio concurrently with the rendering of the one or more upcoming frames. 16. The apparatus of claim 15 , further comprising: determining an updated effective frame rate based on the one or more upcoming frames that were rendered; determining an upd
involving deadlines, e.g. rate based, periodic · CPC title
Transaction processing · CPC title
Processor architectures; Processor configuration, e.g. pipelining · CPC title
involving video buffer management, e.g. video decoder buffer or video display buffer · CPC title
the resources being hardware resources other than CPUs, Servers and Terminals · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.