Synchronization activity recording system for a concurrent software environment

US9471458B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9471458-B2
Application numberUS-201414473746-A
CountryUS
Kind codeB2
Filing dateAug 29, 2014
Priority dateJan 5, 2012
Publication dateOct 18, 2016
Grant dateOct 18, 2016

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.

The present disclosure provides a method for identifying idleness in a processor via a concurrent software environment. A thread state indicator records an indication of a synchronization state of a software thread that is associated with an identification of the software thread. A time profiler identifies a processor of the computer system being idle and records an indication that the processor is idle. A dispatch monitor identifies a dispatch of the software thread to the processor. In response to the dispatch monitor determining the indication identifies that the processor is idle and the indication of a synchronization state of the software thread indicating the software thread ceases to execute in the processor, the dispatch monitor generates a record attributing the idleness of the processor to the software thread and the indicated synchronization state.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for recording activity for a concurrent software environment executing one or more software threads in a computer system comprising a plurality of processors, each processor comprising a program counter, the method comprising: recording, by a thread state indicator, an indication of a synchronization state of a software thread of the one or more software threads in which the software thread ceases to execute in a processor of the plurality of processors of the computer system, wherein the indication of the synchronization state is associated with an identification of the software thread; polling at regular intervals, by a time profiler, values of the program counter for the processor; identifying, by the time profiler and based on the values of the program counter, the processor of the computer system becoming idle, wherein the processor is idle when the value of the program counter indicates that the processor has no software thread dispatched to execute therewith; identifying, by a dispatch monitor, a dispatch of the software thread to the processor; recording, by the time profiler, an indication that the processor is idle; and generating, in response to the recording of the indication that the processor is idle and the indication of the synchronization state of the software thread indicating the software thread ceases to execute in the processor, a record, wherein the record attributes an idleness of the processor to the software thread and the indicated synchronization state. 2. The method of claim 1 , further comprising: identifying, by the time profiler, an idle period for the processor as a period during which the processor is continuously idle, and wherein the record attributing the idleness attributes the idle period of the processor to the software thread and the indicated synchronization state. 3. The method of claim 1 , further comprising: calculating, by a calculation component, a proportion of time for which the software thread was in an indicated state. 4. The method of claim 1 , further comprising: recording by the thread state indicator: an indication of a blocked state of the software thread, wherein during a blocked state the software thread is prevented from acquiring an exclusionary construct for achieving synchronization in the concurrent software environment; an indication of a wait state of the software thread, wherein during a wait state the software thread is waiting for processing to be undertaken by a different software thread; and an indication of a ‘runnable’ state of the software thread, wherein during a runnable state the software thread is ready for execution in a processor of the computer system; and an indication of an unsynchronized state of a software thread. 5. The method of claim 4 , wherein the indication of a synchronization state of the software thread further includes an identifier of a shared resource sought for access by the software thread. 6. The method of claim 5 , further comprising: determining, by a resolver, a symbolic name associated with the identifier of a shared resource. 7. The method of claim 6 , further comprising: determining, by the time profiler and based on the symbolic name, that the shared resource is a software routine included in a service library of routines of the software environment, and in response to the determination, to identify a calling routine for the software routine. 8. The method of claim 7 , further comprising: identifying, by the time profiler, the calling routine using one or more of the resolver and a software call stack. 9. The method of claim 5 , wherein the shared resource is a software object. 10. The method of claim 4 , wherein the exclusionary construct is one of a lock and a monitor. 11. The method of claim 1 , further comprising: determining the synchronization state of the software thread by one or more of the software thread itself and the concurrent software environment. 12. The method of claim 1 , further comprising: identifying, by the time profiler, the idle period by counting a number of regular intervals during which the processor is idle. 13. The method of claim 12 , wherein the indication that the processor is idle includes the count of the number of regular intervals during which the processor is idle. 14. The method of claim 1 , wherein attributing the idleness of the processor to the software thread and the indicated synchronization state comprises: determining, based on the program counter and the dispatch of the software thread, that the idleness of the processor is caused by the indicated synchronization state.

Assignees

Inventors

Classifications

  • where the assessed time is active or idle time · CPC title

  • Monitoring of software · CPC title

  • Performance evaluation by tracing or monitoring · CPC title

  • the problem or solution involving locking · 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 US9471458B2 cover?
The present disclosure provides a method for identifying idleness in a processor via a concurrent software environment. A thread state indicator records an indication of a synchronization state of a software thread that is associated with an identification of the software thread. A time profiler identifies a processor of the computer system being idle and records an indication that the processo…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3423. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 18 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).