Processing workloads in single-threaded environments

US10289450B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10289450-B2
Application numberUS-201715633538-A
CountryUS
Kind codeB2
Filing dateJun 26, 2017
Priority dateJun 27, 2014
Publication dateMay 14, 2019
Grant dateMay 14, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method renders frames while processing workload slices at a rate defined by a first slice-to-frame ratio. The first slice to frame ratio defines a first rate at which the workload slices are assigned to the frames. The method determines whether to adjust the first slice-to-frame ratio based on the rendering of the frames and the processing of the workload slices. When it is determined that the first slice-to-frame should be adjusted, the method adjusts the first slice-to-frame ratio to a second slice-to-frame ratio and renders upcoming frames while processing upcoming workload slices at a second rate defined by the second slice-to-frame ratio. When it is determined that the first slice-to-frame should not be adjusted, the method renders upcoming frames while processing upcoming workload slices at the first rate defined by the first slice-to-frame ratio.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: rendering, by a computing device, one or more frames while processing one or more workload slices at a rate defined by a first slice-to-frame ratio, wherein the first slice to frame ratio defines a first rate at which the one or more workload slices are assigned to the one or more frames; determining, by the computing device, whether to adjust the first slice-to-frame ratio based on the rendering of at least a portion of the one or more frames and the processing of the one or more workload slices; when it is determined that the first slice-to-frame should be adjusted: adjusting, by the computing device, the first slice-to-frame ratio to a second slice-to-frame ratio, wherein the second slice to frame ratio defines a second rate at which workload slices are assigned to frames; and rendering, by the computing device, one or more upcoming frames while processing one or more upcoming workload slices at the second rate defined by the second slice-to-frame ratio; and when it is determined that the first slice-to-frame should not be adjusted: rendering, by the computing device, one or more upcoming frames while processing one or more upcoming workload slices at the first rate defined by the first slice-to-frame ratio. 2. The method of claim 1 , wherein the first slice-to-frame ratio is determined by: determining an effective frame rate based on at least a first rendered frame, the effective frame rate being used to estimate a duration of an upcoming frame; determining an effective slice rate based on at least a first completed workload slice, the effective slice rate being used to estimate a time to complete an upcoming workload slice; and calculating the first slice-to-frame ratio according to the effective frame rate and the effective slice rate. 3. The method of claim 2 , wherein the second slice-to-frame ratio is determined by: determining an updated effective frame rate based on at least a second rendered frame; determining an updated effective slice rate based on at least a second processed workload slice; and determining whether the first slice-to-frame ratio is changed based on the updated effective frame rate and the updated effective slice rate. 4. The method of claim 3 , wherein: the updated effective frame rate is based on a duration to render the at least the second rendered frame; and the updated effective slice rate is based on a duration to process the at least the second workload slice. 5. The method of claim 1 , wherein: when it is determined that the first slice-to-frame should be adjusted, assigning the one or more upcoming workload slices to the one or more upcoming frames according to the second slice-to-frame ratio, and when it is determined that the first slice-to-frame should not be adjusted, assigning the one or more upcoming workload slices to the one or more upcoming frames according to the first slice-to-frame ratio. 6. The method of claim 1 , wherein: the one or more frames are rendered and the one or more workload slices are processed in a single threaded environment concurrently, and the one or more upcoming frames are rendered and the one or more upcoming workload slices are processed in the single threaded environment concurrently. 7. The method of claim 1 , further comprising: detecting an event that initiates a workload to be processed; and slicing the workload into portions comprising the one or more workload slices and the one or more upcoming workload slices. 8. A non-transitory computer readable storage medium containing instructions, that when executed, control a computer system to be configured for: rendering one or more frames while processing one or more workload slices at a rate defined by a first slice-to-frame ratio, wherein the first slice to frame ratio defines a first rate at which the one or more workload slices are assigned to the one or more frames; determining whether to adjust the first slice-to-frame ratio based on the rendering of at least a portion of the one or more frames and the processing of the one or more workload slices; when it is determined that the first slice-to-frame should be adjusted: adjusting the first slice-to-frame ratio to a second slice-to-frame ratio, wherein the second slice to frame ratio defines a second rate at which workload slices are assigned to frames; and rendering one or more upcoming frames while processing one or more upcoming workload slices at the second rate defined by the second slice-to-frame ratio; and when it is determined that the first slice-to-frame should not be adjusted: rendering one or more upcoming frames while processing one or more upcoming workload slices at the first rate defined by the first slice-to-frame ratio. 9. The non-transitory computer readable storage medium of claim 8 , wherein the first slice-to-frame ratio is determined by: determining an effective frame rate based on at least a first rendered frame, the effective frame rate being used to estimate a duration of an upcoming frame; determining an effective slice rate based on at least a first completed workload slice, the effective slice rate being used to estimate a time to complete an upcoming workload slice; and calculating the first slice-to-frame ratio according to the effective frame rate and the effective slice rate. 10. The non-transitory computer readable storage medium of claim 9 , wherein the second slice-to-frame ratio is determined by: determining an updated effective frame rate based on at least a second rendered frame; determining an updated effective slice rate based on at least a second processed workload slice; and determining whether the first slice-to-frame ratio is changed based on the updated effective frame rate and the updated effective slice rate. 11. The non-transitory computer readable storage medium of claim 10 , wherein: the updated effective frame rate is based on a duration to render the at least the second rendered frame; and the updated effective slice rate is based on a duration to process the at least the second workload slice. 12. The non-transitory computer readable storage medium of claim 8 , wherein: when it is determined that the first slice-to-frame should be adjusted, assigning the one or more upcoming workload slices to the one or more upcoming frames according to the second slice-to-frame ratio, and when it is determined that the first slice-to-frame should not be adjusted, assigning the one or more upcoming workload slices to the one or more upcoming frames according to the first slice-to-frame ratio. 13. The non-transitory computer readable storage medium of claim 8 , wherein: the one or more frames are rendered and the one or more workload slices are processed in a single threaded environment concurrently, and the one or more upcoming frames are rendered and the one or more upcoming workload slices are processed in the single threaded environment concurrently. 14. The non-transitory computer readable storage medium of claim 8 , further comprising: detecting an event that initiates a workload to be processed; and slicing the workload into portions comprising the one or more workload slices and the one or more upcoming workload slices. 15. An apparatus, comprising: one or more computer processors; and a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be configured for: rendering one or more frames while processing one or more workload slices at a rate defined by a first slice-to-frame ratio, wherein the

Assignees

Inventors

Classifications

  • involving video buffer management, e.g. video decoder buffer or video display buffer · CPC title

  • Program synchronisation; Mutual exclusion, e.g. by means of semaphores · CPC title

  • Transaction processing · CPC title

  • G06F9/4887Primary

    involving deadlines, e.g. rate based, periodic · CPC title

  • Selective content distribution, e.g. interactive television or video on demand [VOD] (real-time bi-directional transmission of motion video data H04N7/14 {; broadcast or conference over packet switching networks H04L12/18}) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10289450B2 cover?
A method renders frames while processing workload slices at a rate defined by a first slice-to-frame ratio. The first slice to frame ratio defines a first rate at which the workload slices are assigned to the frames. The method determines whether to adjust the first slice-to-frame ratio based on the rendering of the frames and the processing of the workload slices. When it is determined that th…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/4887. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 14 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).