Method and apparatus for balancing loads, and computer-readable storage medium

US11537441B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11537441-B2
Application numberUS-202016929970-A
CountryUS
Kind codeB2
Filing dateJul 15, 2020
Priority dateJul 29, 2019
Publication dateDec 27, 2022
Grant dateDec 27, 2022

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.

Embodiments of the present disclosure relate to a method and apparatus for balancing loads, and a computer-readable storage medium. The method includes: for each data processing unit in a set of data processing units in a data processing system, acquiring current input data of the data processing unit for a current clock cycle and next input data of the data processing unit for a next clock cycle; and determining a first metric value indicating changes in input data of said data processing unit in the next clock cycle based on a comparison between the current input data and the next input data. The method further includes controlling an operating state of the set of data processing units in the next clock cycle based on the first metric value determined for the set of data processing units.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for balancing loads, comprising: for each data processing unit in a set of data processing units in a data processing system, acquiring current input data of the data processing unit for a current clock cycle and next input data of the data processing unit for a next clock cycle; and determining a first metric value indicating changes in input data of the data processing unit in the next clock cycle based on a comparison between the current input data and the next input data; and controlling an operating state of the set of data processing units in the next clock cycle based on the first metric value determined for the set of data processing units; wherein controlling the operating state of the set of data processing units comprises at least one of: (i) determining a first total metric value indicating loads in the next clock cycle based on the first metric value of each data processing unit in the set of data processing units; in response to the first total metric value exceeding a first threshold, disabling at least a portion of the set of data processing units in the next clock cycle; and in response to the first total metric value smaller than the first threshold, enabling at least a portion of the set of data processing units in the next clock cycle; or (ii) in response to the first metric value of a first data processing unit in the set of data processing units exceeding a second threshold, disabling the first data processing unit in the next clock cycle; and in response to the first metric value of the first data processing unit in the set of data processing units smaller than the second threshold, enabling the first data processing unit in the next clock cycle; or (iii) determining a first total metric value for indicating loads in the next clock cycle based on the first metric value determined for the set of data processing units, determining a second total metric value for indicating loads in the current clock cycle based on previous input data in a previous clock cycle and the current input data in the current clock cycle of the set of data processing units, in response to an absolute value of a difference between the first total metric value and the second total metric value exceeding a third threshold, disabling at least a portion of the set of data processing units in the next clock cycle, and in response to the absolute value of the difference between the first total metric value and the second total metric value smaller than the third threshold, enabling at least a portion of the set of data processing units in the next clock cycle. 2. The method according to claim 1 , wherein acquiring the current input data and the next input data comprises: selecting at least one set of input data from a plurality of sets of input data for the data processing unit; and acquiring the current input data and the next input data for each set of input data in the at least one set of input data respectively. 3. The method according to claim 1 , wherein the current input data is data at an output of an input data register for the data processing unit, and the next input data is data at an input of the input data register. 4. The method according to claim 1 , wherein determining the first metric value comprises: performing an exclusive-OR operation on corresponding bits of the current input data and next input data; and determining the first metric value based on a result of the exclusive-OR operation performed on the corresponding bits. 5. The method according to claim 1 , wherein determining the second total metric value comprises: for each data processing unit in the set of data processing units, acquiring the previous input data in the previous clock cycle for the data processing unit; and determining a second metric value indicating changes in input data of the data processing unit in the current clock cycle based on a comparison between the previous input data and the current input data; and determining the second total metric value based on the second metric value determined for the set of data processing units. 6. An apparatus for balancing loads, comprising: one or more processors; a memory storing instructions executable by the one or more processors; wherein the one or more processors are configured to: acquire current input data of the data processing unit for a current clock cycle and next input data of the data processing unit for a next clock cycle, for each data processing unit in a set of data processing units in a data processing system; determine a first metric value indicating changes in input data of the data processing unit in the next clock cycle based on a comparison between the current input data and the next input data, for each data processing unit in the set of data processing units; and control an operating state of the set of data processing units in the next clock cycle based on the first metric value determined for the set of data processing units; wherein the one or more processors are further configured to execute at least one of: (i) determining a first total metric value indicating loads in the next clock cycle based on the first metric value of each data processing unit in the set of data processing units; in response to the first total metric value exceeding a first threshold, disabling at least a portion of the set of data processing units in the next clock cycle; and in response to the first total metric value smaller than the first threshold, enabling at least a portion of the set of data processing units in the next clock cycle; or (ii) in response to the first metric value of a first data processing unit in the set of data processing units exceeding a second threshold, disabling the first data processing unit in the next clock cycle; and in response to the first metric value of the first data processing unit in the set of data processing units smaller than the second threshold, enabling the first data processing unit in the next clock cycle; or (iii) determining a first total metric value for indicating loads in the next clock cycle based on the first metric value determined for the set of data processing units, determining a second total metric value for indicating loads in the current clock cycle based on previous input data in a previous clock cycle and the current input data in the current clock cycle of the set of data processing units, in response to an absolute value of a difference between the first total metric value and the second total metric value exceeding a third threshold, disabling at least a portion of the set of data processing units in the next clock cycle, and in response to the absolute value of the difference between the first total metric value and the second total metric value smaller than the third threshold, enabling at least a portion of the set of data processing units in the next clock cycle. 7. The apparatus according to claim 6 , wherein the one or more processors are configured to: select at least one set of input data from a plurality of sets of input data for the data processing unit; and acquire the current input data and the next input data for each set of input data in the at least one set of input data respectively. 8. The apparatus according to claim 6 , wherein the current input data is data at an output of an input data register for the data processing unit, and the next input data is data at an input of the input data register. 9. The apparatus according to claim 6 , wherein the one or more processors are configured to: perform an exclusive-OR operation on corresponding bits of the current input data and next input data; and determine the first metric value based on a result of the exclusive-OR o

Assignees

Inventors

Classifications

  • G06F9/505Primary

    considering the load · CPC title

  • G06F1/3206Primary

    Monitoring of events, devices or parameters that trigger a change in power modality · CPC title

  • Techniques for rebalancing the load in a distributed system · CPC title

  • by switching off individual functional units in the computer system · CPC title

  • by disabling clock generation or distribution · 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 US11537441B2 cover?
Embodiments of the present disclosure relate to a method and apparatus for balancing loads, and a computer-readable storage medium. The method includes: for each data processing unit in a set of data processing units in a data processing system, acquiring current input data of the data processing unit for a current clock cycle and next input data of the data processing unit for a next clock cyc…
Who is the assignee on this patent?
Beijing Baidu Netcom Sci & Tech Co Ltd, Beijing Baidu Netcom Sci & Tech Co Ltd
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 Dec 27 2022 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).