Resource allocation for computer processing

US10558501B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10558501-B2
Application numberUS-201615395225-A
CountryUS
Kind codeB2
Filing dateDec 30, 2016
Priority dateMar 4, 2016
Publication dateFeb 11, 2020
Grant dateFeb 11, 2020

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 job that receives as input a data stream is executed. For the job, it is iteratively determined a backlog growth over a first period of time; a backlog volume; and whether to adjust a quantity of processing resources. For each iteration for which the quantity of processing resources allocated to the job are determined to be adjusted, adjusting the quantity of processing resources allocated to the job. For each iteration for which the quantity of processing resources allocated to the job are determined not to be adjusted, maintaining the quantity of processing resources allocated to the job.

First claim

Opening claim text (preview).

What is claimed is: 1. A method implemented in a computer system, the method comprising: executing, in a computer system that comprises multiple processing resources, a job that receives as input a data stream, wherein the amount of data in the data stream is unbounded; iteratively determining, for the job: a backlog growth over a first period of time, wherein the backlog growth is a measure of a growth of unprocessed data in the received data stream that is to be input into the job, and wherein the backlog growth is measured in terms of a change to a data size; a backlog volume that is a measure of unprocessed data in the received data stream that is to be input into the job, and wherein the backlog volume is measured in terms of a data size; determining, based on the backlog growth and the backlog volume, whether to adjust a quantity of processing resources allocated to the job, wherein, for an iteration of the determination the backlog growth is determined to be zero or negative and the backlog volume is determined to be at a target; determining that the quantity of processing resources allocated to the job are determined not to be adjusted in response to the backlog growth being determined to be zero or negative and the backlog volume determined to be at a target; for each iteration for which the quantity of processing resources allocated to the job are determined to be adjusted, adjusting the quantity of processing resources allocated to the job, wherein adjusting the quantity of processing resources further comprises determining whether to reduce the processing resources and if it is determined to reduce said processing resources determining how far to reduce the allocation of processing resources, wherein processor utilization is used as a proxy of whether the system can handle a next lower level of allocated processing resources; and for each iteration for which the quantity of processing resources allocated to the job are determined not to be adjusted, maintaining the quantity of processing resources allocated to the job. 2. The method of claim 1 , wherein, for an iteration of the determination: the backlog growth is determined to be zero or negative; the backlog volume is determined to be below a target; determining that the quantity of processing resources allocated to the job are determined to be adjusted in response to the backlog growth being determined to be zero or negative and the backlog volume determined to be below a target; and wherein adjusting the quantity of processing resources allocated to the job comprises reducing the quantity of processing resources allocated to the job in response to the backlog growth being determined to be zero or negative and the backlog volume determined to be below a target. 3. The method of claim 1 , wherein, for an iteration of the determination: the backlog growth is determined to be zero or negative; the backlog volume is determined to be above a target; determining that the quantity of processing resources allocated to the job are determined to be adjusted in response to the backlog growth being determined to be zero or negative and the backlog volume determined to be above a target; and wherein adjusting the quantity of processing resources allocated to the job comprises increasing the quantity of processing resources allocated to the job in response to the backlog growth being determined to be zero or negative and the backlog volume determined to be above a target. 4. The method of claim 1 , wherein, for an iteration of the determination: the backlog growth is determined to be positive; the backlog volume is determined to be below a target determining that the quantity of processing resources allocated to the job are determined not to be adjusted in response to the backlog growth being determined to be positive and the backlog volume determined to be below a target. 5. The method of claim 1 , wherein, for an iteration of the determination: the backlog growth is determined to be positive; the backlog volume is determined to be not below a target determining that the quantity of processing resources allocated to the job are determined to be adjusted in response to the backlog growth being determined to be positive and the backlog volume determined to be not below a target; and wherein adjusting the quantity of processing resources allocated to the job comprises increasing the quantity of processing resources allocated to the job in response to the backlog growth being determined to be positive and the backlog volume determined to be not below a target. 6. The method of claim 1 , wherein units of the data size are at least one of the group consisting of bits, bytes, megabytes, gigabytes, records, and cardinality. 7. The method of claim 1 , wherein units of the data size are at least one of the group consisting of bits, bytes, megabytes, gigabytes, records, and cardinality. 8. The method of claim 1 , the method further comprising: iteratively determining, for the job, a processor utilization; wherein iteratively determining whether to adjust a quantity of processing resources allocated to the job is further based on the processor utilization. 9. The method of claim 8 , wherein: wherein, for an iteration of the determination: the processor utilization is below a value; determining that the quantity of processing resources allocated to the job are determined to be adjusted in response to the processor utilization being determined to be below a value; and wherein adjusting the quantity of processing resources allocated to the job comprises reducing the quantity of processing resources allocated to the job in response to the processor utilization being determined to be below a value. 10. The method of claim 9 , where in reducing the quantity of processing resources allocated to the job in response to the processor utilization being determined to be below a value comprises reducing a discrete number of resources allocated to the job, the discrete number being based on the processor utilization. 11. The method of claim 10 , wherein the discrete number is a number of computer memory disks. 12. The method of claim 1 , wherein determining, based on the backlog growth and the backlog volume, whether to adjust a quantity of processing resources allocated to the job comprises smoothing the determining that results in oscillation of quantity of processing resources allocated to the job. 13. The method of claim 12 , wherein smoothing the determining comprises waiting for a second period of time. 14. The method of claim 12 , wherein smoothing the determining comprises averaging a plurality of determinations whether to adjust a quantity of processing resources allocated to the job. 15. A system comprising: one or more processors configured to execute computer program instructions; and one or more computer storage media encoded with computer program instructions that, when executed by one or more processors, cause a computer device to perform operations comprising: executing, in a computer system that comprises multiple processing resources, a job that receives as input a data stream, wherein the amount of data in the data stream is unbounded; iteratively determining, for the job: a backlog growth over a first period of time, wherein the backlog growth is a measure of a growth of unprocessed data in the received data stream that is to be input into the job, and wherein the backlog growth is measured in terms of a change to a data size; a backlog volume that is a measure of unprocessed data in the received data stream that is to be inpu

Assignees

Inventors

Classifications

  • the resources being hardware resources other than CPUs, Servers and Terminals · CPC title

  • Partitioning or combining of resources · CPC title

  • the resource being the memory · CPC title

  • G06F9/505Primary

    considering the load · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · 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 US10558501B2 cover?
A job that receives as input a data stream is executed. For the job, it is iteratively determined a backlog growth over a first period of time; a backlog volume; and whether to adjust a quantity of processing resources. For each iteration for which the quantity of processing resources allocated to the job are determined to be adjusted, adjusting the quantity of processing resources allocated to…
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/505. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 11 2020 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).