System and method for multithreaded processing

US10176014B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10176014-B2
Application numberUS-201514810205-A
CountryUS
Kind codeB2
Filing dateJul 27, 2015
Priority dateJul 27, 2015
Publication dateJan 8, 2019
Grant dateJan 8, 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 for operating a multithread processing system is provided, including assigning, by a controller, a subset of a plurality of tasks to a plurality of threads during a time N, collecting, by the controller, data during the time N concerning the operation of the plurality of threads, analyzing, by the controller, the data to determine at least one condition concerning the operation of the plurality of threads during the time N, and adjusting, by the controller, a number of the plurality of threads available in time N+1 in accordance with the at least one condition.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: collecting, by a device while a plurality of hardware threads execute tasks in a multicore processor of the device during a first time interval, different data concerning execution of the tasks, wherein the different data comprise information about a number of object locks that are issued, waiting time of synchronization that is performed within a task group, and a number of cache misses, and wherein a hardware thread is a processor in the multicore processor; performing, by the device, analysis on the different data to produce an analysis result for adjusting a number of the plurality of hardware threads in a subsequent time interval; comparing, by the device, the analysis result with a predetermined threshold, thereby producing a comparing result, the comparing result indicating an adjustment of the number of the plurality of hardware threads, wherein the comparing result is a first negative value in response to the analysis result being less than the predetermined threshold, the first negative value indicating how many hardware threads of the plurality of hardware threads are to be deactivated, and wherein the comparing result is a second positive value in response to the analysis result being greater than the predetermined threshold, the second positive value indicating how many more hardware threads are to be activated in addition to the plurality of hardware threads; and increasing, by the device, the number of the plurality of hardware threads of the multicore processor during the subsequent time interval based on the second positive value in response to determining that the comparing result exceeds the predetermined threshold. 2. The method of claim 1 wherein the different data further comprises a memory related metric. 3. The method of claim 1 wherein increasing the number of the plurality of hardware threads comprises increasing the number of the plurality of hardware threads by the second positive value. 4. The method of claim 1 wherein the second positive value is dynamically determined based on the collected different data. 5. The method of claim 1 wherein the first negative value is dynamically determined based on the collected different data. 6. The method of claim 1 wherein the comparing result is zero (o) in response to determining that the analysis result falls within a first threshold and a second threshold. 7. An apparatus, comprising: a storage system storing instructions; and a multicore processor coupled to the storage system, wherein the multicore processor executes the instructions to: collect, while a plurality of hardware threads execute tasks during a first time interval, different data concerning execution of the tasks, wherein the different data comprise information about register locks that are issued when the tasks are running, a number of cache misses, and waiting time of synchronization that is performed within a task group, wherein a hardware thread is a processor in the multicore processor; perform analysis on the different data to produce an analysis result for adjusting a number of the plurality of hardware threads in a subsequent time interval; compare the analysis result with a predetermined threshold, thereby producing a comparing result, wherein the comparing result is a first negative value in response to the analysis result being less than the predetermined threshold, the first negative value indicating how many hardware threads in the plurality of hardware threads are to be deactivated, and wherein the comparing result is a second positive value in response to the analysis result being greater than the predetermined threshold, the second positive value indicating how many more hardware threads are to be activated in addition to the plurality of hardware threads; and increase the number of the plurality of hardware threads during the subsequent time interval based on the second positive value in response to determining that the comparing result exceeds the predetermined threshold. 8. The apparatus of claim 7 wherein the different data comprises a number of object locks issued. 9. The apparatus of claim 7 wherein the different data comprises a memory related metric. 10. The apparatus of claim 7 wherein the processor executes the instructions to increase the number of the plurality of hardware threads by the second positive value. 11. The apparatus of claim 7 wherein the first negative value is dynamically determined based on the collected different data. 12. The apparatus of claim 7 wherein the second positive value is dynamically determined based on the collected different data. 13. The apparatus of claim 7 wherein the comparing result is zero (o) in response to determining that the analysis result falls within a first threshold and a second threshold. 14. The apparatus of claim 7 wherein the number of the plurality of hardware threads is increased by the second positive value. 15. A method, comprising: collecting, by a device while a plurality of hardware threads execute tasks in a multicore processor during a first time interval, different types of data concerning execution of the tasks, wherein the different types of data comprises information about waiting time of synchronization that is performed within a task group, a number of cache misses and a number of object locks that are issued, and wherein a hardware thread is a processor in the multicore processor; performing, by the device, analysis on the different types of data to generate a result for adjusting a number of the plurality of hardware threads in a subsequent time interval; comparing, by the device, the result with a first predetermined threshold and a second predetermined threshold, respectively, thereby producing a comparing result, the comparing result being a first positive value in response to the result being greater than the first predetermined threshold, the first positive value indicating how many hardware threads in the plurality of hardware threads are to be deactivated, and the comparing result being a second negative value in response to the result being less than the second predetermined threshold, the second negative value indicating how many more hardware threads are to be activated in addition to the plurality of hardware threads; determining whether the number of the plurality of hardware threads is to be adjusted based on the comparing result; and decreasing, by the device, the number of the plurality of hardware threads during the subsequent time interval based on the first positive value in response to determining that the result exceeds the first predetermined threshold. 16. The method of claim 15 wherein the different types of data comprises a memory related metric. 17. The method of claim 15 wherein decreasing the number of the plurality of hardware threads comprises decreasing the number of the plurality of hardware threads by the first positive value. 18. The method of claim 17 wherein the first positive value is dynamically determined based on the collected different types of data. 19. The method of claim 15 wherein the comparing result is zero (o) in response to determining that the result falls within the first predetermined threshold and the second predetermined threshold. 20. The method of claim 15 wherein the second negative value is dynamically determined based on the collected different types of data.

Assignees

Inventors

Classifications

  • G06F9/505Primary

    considering the load · CPC title

  • to service a request · CPC title

  • Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • considering hardware capabilities · 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 US10176014B2 cover?
A method for operating a multithread processing system is provided, including assigning, by a controller, a subset of a plurality of tasks to a plurality of threads during a time N, collecting, by the controller, data during the time N concerning the operation of the plurality of threads, analyzing, by the controller, the data to determine at least one condition concerning the operation of the …
Who is the assignee on this patent?
Futurewei Technologies Inc
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 Jan 08 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).