Patents by Inventor Frank Eliot Levine

Frank Eliot Levine has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9600348
    Abstract: The present disclosure provides a computer program product and activity recording system 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.
    Type: Grant
    Filed: January 5, 2012
    Date of Patent: March 21, 2017
    Assignee: International Business Machines Corporation
    Inventors: Frank Eliot Levine, David Kevin Siegwart, Enio Manuel Pineda
  • Patent number: 9471458
    Abstract: 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.
    Type: Grant
    Filed: August 29, 2014
    Date of Patent: October 18, 2016
    Assignee: International Business Machines Corporation
    Inventors: Frank Eliot Levine, David Kevin Siegwart, Enio Manuel Pineda
  • Patent number: 9418005
    Abstract: A computer implemented method, apparatus, and computer program product for managing garbage collection. Monitoring is performed for a garbage collection state in a virtual machine. Responsive to detecting the garbage collection state, a priority for a set of garbage collection threads is increased.
    Type: Grant
    Filed: September 22, 2008
    Date of Patent: August 16, 2016
    Assignee: International Business Machines Corporation
    Inventors: Scott Thomas Jones, Frank Eliot Levine
  • Patent number: 9323578
    Abstract: A computer implemented method, apparatus, and computer usable program code for collecting information about threads. A thread entering a wait state is detected. Information is selectively obtained about a set of threads in the wait state using a policy to produce an action in response to the thread entering the wait state. A history containing the collected data may be saved and used to determine changes to patterns.
    Type: Grant
    Filed: May 29, 2007
    Date of Patent: April 26, 2016
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Riaz Y. Hussain, Frank Eliot Levine
  • Publication number: 20150277994
    Abstract: The present disclosure provides a method, computer program product, and system for compensating for event counts for a thread occurring during targeted states on the thread. In example embodiments, the state is a spin loop state and instructions completed during the spin loop are eliminated from a performance report and are presented in the absence of the spin loop. In another embodiment, the event counts are interrupt counts eliminated during the spin loop.
    Type: Application
    Filed: May 31, 2015
    Publication date: October 1, 2015
    Inventor: Frank Eliot Levine
  • Patent number: 9081629
    Abstract: The present disclosure provides a method, computer program product, and system for compensating for event counts for a thread occurring during targeted states on the thread. In example embodiments, the state is a spin loop state and instructions completed during the spin loop are eliminated from a performance report and are presented in the absence of the spin loop. In another embodiment, the event counts are interrupt counts eliminated during the spin loop.
    Type: Grant
    Filed: May 19, 2013
    Date of Patent: July 14, 2015
    Inventor: Frank Eliot Levine
  • Publication number: 20140373029
    Abstract: 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.
    Type: Application
    Filed: August 29, 2014
    Publication date: December 18, 2014
    Inventors: Frank Eliot Levine, David Kevin Siegwart, Enio Manuel Pineda
  • Publication number: 20140344831
    Abstract: The present disclosure provides a method, computer program product, and system for compensating for event counts for a thread occurring during targeted states on the thread. In example embodiments, the state is a spin loop state and instructions completed during the spin loop are eliminated from a performance report and are presented in the absence of the spin loop. In another embodiment, the event counts are interrupt counts eliminated during the spin loop.
    Type: Application
    Filed: May 19, 2013
    Publication date: November 20, 2014
    Inventor: FRANK ELIOT LEVINE
  • Patent number: 8839271
    Abstract: A computer implemented method, apparatus, and computer usable program code for sampling call stack information. Monitoring for an event is performed during an execution of a plurality of threads by a set of processors. A portion of the plurality of threads is identified based on a policy to form a set of identified threads in response to an occurrence of the event. Call stack information is collected for the set of identified threads using an under utilized processor in a set of processors in response to identifying the portion of the plurality of threads, wherein the call stack information is used to profile a processor in the set of processors.
    Type: Grant
    Filed: October 11, 2006
    Date of Patent: September 16, 2014
    Assignee: International Business Machines Corporation
    Inventors: Scott Thomas Jones, Frank Eliot Levine, Enio Manuel Pineda
  • Patent number: 8689190
    Abstract: A data processing system for processing instructions is shown. Instructions are received at a processor in the data processing system. If a selected indicator is associated with the instruction, counting of each event associated with the execution of the instruction is enabled.
    Type: Grant
    Filed: January 29, 2008
    Date of Patent: April 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Frank Eliot Levine, Enio Manuel Pineda, Christopher Michael Richardson, Robert John Urquhart
  • Patent number: 8615619
    Abstract: A method, apparatus, and computer instructions for qualifying events by types of interrupt when interrupt occurs in the processor of a data processing system. A programmable performance monitoring unit (PMU) is used to program hardware counters that collect events associated with a type of interrupt, including nested interrupts. The performance monitoring unit may also count events that occur while servicing interrupt requests based upon the state of interrupt processing. Events that are known to the performance monitoring unit such as instruction retired, TLB misses, may be counted at the same time using a number of performance monitoring counters in the performance monitoring unit.
    Type: Grant
    Filed: January 11, 2011
    Date of Patent: December 24, 2013
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Frank Eliot Levine, Christopher Michael Richardson, Robert John Urquhart
  • Patent number: 8566795
    Abstract: A computer implemented method, apparatus, and computer program product for sampling call stack information. A set of methods and a set of criteria are received. Responsive to detecting an event associated with a method in the set of methods, a determination is made as to whether the method has met a set of criteria comprising at least one of a time based metric and a hardware performance monitor counter metric. A call stack is retrieved for the method if the method has met the set of criteria. The retrieved call stack is saved in a tree.
    Type: Grant
    Filed: July 15, 2008
    Date of Patent: October 22, 2013
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Riaz Y. Hussain, Frank Eliot Levine
  • Publication number: 20130227586
    Abstract: The present disclosure provides a method, computer program product, and activity recording system 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.
    Type: Application
    Filed: January 5, 2012
    Publication date: August 29, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Frank Eliot Levine, David Kevin Siegwart, Enio Manuel Pineda
  • Patent number: 8516462
    Abstract: A computer implemented method, apparatus, and computer usable program code for monitoring and managing a stack. Usage of stack space is monitored for a plurality of threads. Usage of stack space is compared to a policy to form a comparison. An action is selectively initiated based on the comparison to the policy.
    Type: Grant
    Filed: October 9, 2006
    Date of Patent: August 20, 2013
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Riaz Y. Hussain, Frank Eliot Levine
  • Patent number: 8479050
    Abstract: A method, apparatus, and computer instructions in a processor for selectively performing operations on data. An operation to be performed on data is identified to form an identified operation. A determination is made as to whether metadata identifying a state of the data is associated with the data. A determination is made as to whether the identified operation can be performed on the data based on the state of the data, in response to the metadata being associated with the data. The operation is performed on the data if the state of the data allows for the operation to be performed. The processor selectively performs the operations based on the state of the data.
    Type: Grant
    Filed: January 11, 2011
    Date of Patent: July 2, 2013
    Assignee: International Business Machines Corporation
    Inventors: William Preston Alexander, III, Frank Eliot Levine, Robert John Urquhart
  • Patent number: 8423972
    Abstract: A method, apparatus, and computer program product for collecting performance data. In one illustrative embodiment, signaling is performed to start collecting the performance data by an operating system support unit in a multithreaded data processing system. Responsive to a thread switch to an incoming thread after signaling has occurred, the performance data for the incoming thread is collected using a thread specific data collection profile to form collected performance data if the incoming thread is associated with the thread specific data collection profile, wherein the thread specific data collection profile specifies a type of data to collect. Responsive to a subsequent thread switch, the collected performance data is sent to a number of destinations.
    Type: Grant
    Filed: February 27, 2009
    Date of Patent: April 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Frank Eliot Levine, Milena Milinkovic
  • Patent number: 8381037
    Abstract: A method, an apparatus, and a computer program product in a data processing system are presented for using hardware assistance for gathering performance information that significantly reduces the overhead in gathering such information. Performance indicators are associated with instructions or memory locations, and processing of the performance indicators enables counting of events associated with execution of those instructions or events associated with accesses to those memory locations. The performance information that has been dynamically gathered from the assisting hardware is available to the software application during runtime in order to autonomically affect the behavior of the software application, particularly to enhance its performance. For example, the counted events may be used to autonomically control an execution-path selection within the software application.
    Type: Grant
    Filed: October 9, 2003
    Date of Patent: February 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Frank Eliot Levine, Christopher Michael Richardson, Robert John Urquhart
  • Publication number: 20120311543
    Abstract: A method and apparatus for identifying a minimum call tree data structure from a plurality of call tree data structures are provided. With the apparatus and method, call tree data structures are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-minimization” operation in which the two or more call trees generated during runs of the computer program are walked and only those nodes that are present in each of the tree data structures are maintained in a minimized tree data structure. In addition, the minimum values for these common nodes are maintained in the minimized tree data structure. In this way, asynchronous events are removed from the minimum tree data structure and analysis may focus on those areas of the computer program that are consistent between runs of the computer program.
    Type: Application
    Filed: August 14, 2012
    Publication date: December 6, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William Preston Alexander, III, Robert Tod Dimpsey, Frank Eliot Levine, Robert John Urquhart
  • Patent number: 8307375
    Abstract: A computer implemented method, apparatus, and computer program product for processing events. Events occurring during execution of an application are monitored to form monitored events. A plurality of sequences of method types and transition types from the monitored events are identified to form an identified plurality of sequences of method types and transitions types. Overhead compensation values are identified for the identified plurality of sequences of method types and transitions types to form identified overhead compensation values. Observed metrics for the monitored events are adjusted using the identified overhead compensation values.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: November 6, 2012
    Assignee: International Business Machines Corporation
    Inventors: Scott Thomas Jones, Frank Eliot Levine
  • Patent number: 8286139
    Abstract: A computer implemented method, apparatus, and computer usable program code for sampling call stack information. An accumulated latency time is monitored for a set of threads executing in a data processing system. The call stack information is obtained for the thread in response to a thread in the set of threads having an associated accumulated latency exceeding a threshold.
    Type: Grant
    Filed: March 19, 2008
    Date of Patent: October 9, 2012
    Assignee: International Businesss Machines Corporation
    Inventors: Scott Thomas Jones, Frank Eliot Levine