Task latency debugging in symmetric multiprocessing computer systems

US2018285147A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018285147-A1
Application numberUS-201715478379-A
CountryUS
Kind codeA1
Filing dateApr 4, 2017
Priority dateApr 4, 2017
Publication dateOct 4, 2018
Grant date

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.

An aspect includes performing, for each of a plurality of hardware threads executing on a plurality of cores in a (SMP) computer system, receiving a value of a timer corresponding to the hardware thread, the timer counting a number of clock cycles since a last reset of the timer. The value of the timer is compared to a threshold value for the hardware thread, where the threshold value specifies a number of clock cycles. Based on the value of the timer meeting the threshold value, a control signal is sent to cause all hardware threads currently executing on the core to halt execution and data describing a state of the core is logged. Each of the timers corresponding to each of the plurality of hardware threads are configured to be reset, paused, and restarted independently of each of the other timers.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: for each of a plurality of hardware threads executing on a plurality of cores in a symmetric multiprocessing (SMP) computer system: receiving a value of a timer corresponding to the hardware thread, the timer counting a number of clock cycles since a last reset of the timer; comparing the value of the timer to a threshold value for the hardware thread, the threshold value specifying a number of clock cycles; and based on the value of the timer meeting the threshold value: sending a control signal to cause all hardware threads currently executing on the core to halt execution; and logging data describing a state of the core, wherein each of the timers corresponding to each of the plurality of hardware threads are configured to be reset, paused, and restarted independently of each of the other timers. 2 . The method of claim 1 , further comprising, based on the value of the timer meeting the threshold value: sending a control signal to cause all hardware threads currently executing on the SMP computer system to halt execution; and logging data describing a state of the SMP computer system including the state of the core. 3 . The method of claim 1 , further comprising for each of the plurality of hardware threads, prior to receiving the value of the timer: determining an address of a next instruction to be executed on the hardware thread; comparing the address of the next instruction to a starting address of interest; resuming the timer based on the address of the next instruction being the same as the starting address of interest; comparing the address of the next instruction to an ending address of interest; resetting the timer based on the address of the next instruction being the same as the ending address of interest. 4 . The method of claim 1 , wherein firmware located on the core resets the timer periodically. 5 . The method of claim 1 , wherein the timer is reset in response to an instruction executing on the hardware thread completing. 6 . The method of claim 1 , further comprising: pausing the timer in response to detecting a stall event; and restarting the timer in response to detecting that the stall event has completed. 7 . The method of claim 1 , further comprising restarting execution of the halted hardware thread on the core in response to the logging completing. 8 . A system comprising: a memory having computer readable instructions; and one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising: for each of a plurality of hardware threads executing on a plurality of cores in a symmetric multiprocessing (SMP) computer system: receiving a value of a timer corresponding to the hardware thread, the timer counting a number of clock cycles since a last reset of the timer; comparing the value of the timer to a threshold value for the hardware thread, the threshold value specifying a number of clock cycles; and based on the value of the timer meeting the threshold value: sending a control signal to cause all hardware threads currently executing on the core to halt execution; and logging data describing a state of the core, wherein each of the timers corresponding to each of the plurality of hardware threads are configured to be reset, paused, and restarted independently of each of the other timers. 9 . The system of claim 8 , wherein the operations further comprise, based on the value of the timer meeting the threshold value: sending a control signal to cause all hardware threads currently executing on the SMP computer system to halt execution; and logging data describing a state of the SMP computer system including the state of the core. 10 . The system of claim 8 , wherein the operations further comprise for each of the plurality of hardware threads, prior to receiving the value of the timer: determining an address of a next instruction to be executed on the hardware thread; comparing the address of the next instruction to a starting address of interest; resetting the timer based on the address of the next instruction being the same as the starting address of interest; comparing the address of the next instruction to an ending address of interest; resetting the timer based on the address of the next instruction being the same as the ending address of interest. 11 . The system of claim 8 , wherein firmware located on the core resets the timer periodically. 12 . The system of claim 8 , wherein the timer is reset in response to an instruction executing on the hardware thread completing. 13 . The system of claim 8 , wherein the operations further comprise: pausing the timer in response to detecting a stall event; and restarting the timer in response to detecting that the stall event has completed. 14 . The system of claim 8 , wherein the operations further comprise restarting execution of the halted hardware thread on the core in response to the logging completing. 15 . A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform operations comprising: for each of a plurality of hardware threads executing on a plurality of cores in a symmetric multiprocessing (SMP) computer system: receiving a value of a timer corresponding to the hardware thread, the timer counting a number of clock cycles since a last reset of the timer; comparing the value of the timer to a threshold value for the hardware thread, the threshold value specifying a number of clock cycles; and based on the value of the timer meeting the threshold value: sending a control signal to cause all hardware threads currently executing on the core to halt execution; and logging data describing a state of the core, wherein each of the timers corresponding to each of the plurality of hardware threads are configured to be reset, paused, and restarted independently of each of the other timers. 16 . The computer program product of claim 15 , wherein the operations further comprise, based on the value of the timer meeting the threshold value: sending a control signal to cause all hardware threads currently executing on the SMP computer system to halt execution; and logging data describing a state of the SMP computer system including the state of the core. 17 . The computer program product of claim 15 , wherein the operations further comprise for each of the plurality of hardware threads, prior to receiving the value of the timer: determining an address of a next instruction to be executed on the hardware thread; comparing the address of the next instruction to a starting address of interest; resetting the timer based on the address of the next instruction being the same as the starting address of interest; comparing the address of the next instruction to an ending address of interest; resetting the timer based on the address of the next instruction being the same as the ending address of interest. 18 . The computer program product of claim 15 , wherein firmware located on the core resets the timer periodically. 19 . The computer program product of claim 15 , wherein the timer is reset in response to an instruction executing on the hardware thread completing. 20 . The computer program product of claim 15 , wherein the operations furth

Assignees

Inventors

Classifications

  • Threshold · CPC title

  • by exceeding a time limit, i.e. time-out, e.g. watchdogs · CPC title

  • G06F11/362Primary

    Debugging of software · CPC title

  • Dumping, i.e. gathering error/state information after a fault for later diagnosis · CPC title

  • G06F9/485Primary

    Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence) · 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 US2018285147A1 cover?
An aspect includes performing, for each of a plurality of hardware threads executing on a plurality of cores in a (SMP) computer system, receiving a value of a timer corresponding to the hardware thread, the timer counting a number of clock cycles since a last reset of the timer. The value of the timer is compared to a threshold value for the hardware thread, where the threshold value specifies…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/362. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Oct 04 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).