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: 7657875
    Abstract: A system and method for collecting a plurality of metrics during a single run of a computer program. The mechanism of the present invention initializes a plurality of counters to count events associated with metrics of interest. The mechanism of the present invention then counts the occurrence of events associated with metrics of interest during a single execution of a computer program. When a branch has been taken, a trace record is generated for the branch taken, wherein the generated trace record contains a count of events associated with the metrics of interest for the branch taken.
    Type: Grant
    Filed: April 12, 2005
    Date of Patent: February 2, 2010
    Assignee: International Business Machines Corporation
    Inventors: William Preston Alexander, III, Scott Thomas Jones, Frank Eliot Levine, Robert John Urquhart
  • Publication number: 20100017584
    Abstract: A computer implemented method for sampling call stack information. Responsive to identifying a set of interrupts, a determination is made as to whether all processors in a plurality of processors have generated the set of interrupts. A number of addresses are identified for a set of interrupted threads identified by the set of interrupts response to a determination that all of the processors have generated the set of interrupts. A determination is made as to whether the identified address falls within a set of address ranges. Responsive to a determination that the identified address falls within the set of address ranges, a sampler thread is notified to obtain call stack information.
    Type: Application
    Filed: July 15, 2008
    Publication date: January 21, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Scott Thomas Jones, Frank Eliot Levine
  • Publication number: 20100017583
    Abstract: A computer implemented method, apparatus, and computer usable program code for sampling call stack information. Responsive to identifying an interrupt, a determination is made as to whether all processors in a plurality of processors have generated the interrupt. A determination is made as whether to sample the call stack information based on a policy in response to a determination that all of the processors have generated the interrupt.
    Type: Application
    Filed: July 15, 2008
    Publication date: January 21, 2010
    Applicant: International Business Machines Corporation
    Inventors: Kean G. Kuiper, Frank Eliot Levine, Enio Manuel Pineda, Patrick Chien-Pai Shih
  • Publication number: 20100017447
    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: Application
    Filed: September 22, 2008
    Publication date: January 21, 2010
    Applicant: International Business Machines Corporation
    Inventors: Scott Thomas Jones, Frank Eliot Levine
  • Publication number: 20100017789
    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: Application
    Filed: July 15, 2008
    Publication date: January 21, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jimmie Earl DeWitt, JR., Riaz Y. Hussain, Frank Eliot Levine
  • Patent number: 7647457
    Abstract: A method, apparatus, and computer instructions in a processor for associating a data type with a memory location. The type is associated with a location by means of metadata that is generated and manipulated by hardware instructions that are typically generated by a compiler as it generates the other instructions that comprise the machine code version of a program. A determination is made as to whether a data value about to be stored is of the required data type for that location. The hardware indicates an error condition if the types do not match.
    Type: Grant
    Filed: April 24, 2008
    Date of Patent: January 12, 2010
    Assignee: International Business Machines Corporation
    Inventors: William Preston Alexander, III, Robert Tod Dimpsey, Frank Eliot Levine, Robert John Urquhart
  • Patent number: 7647521
    Abstract: A method, apparatus and computer instructions for application based tracing and for normalization of processor clocks in a symmetric multiprocessor environment. By deliberately establishing a large skew among processor clocks, it is possible to perform application based tracing by directly using the processors. In addition, the identity, time stamp, and drift information of each processor may be used to create a time library. The time library is used to adjust a measured time to execute a program or software routine. The adjusted time is a normalized time that is statistically more accurate than the measured time alone. The adjusted time is then reported as the time to execute the program or software routine.
    Type: Grant
    Filed: December 11, 2006
    Date of Patent: January 12, 2010
    Assignee: International Business Machines Corporation
    Inventors: Frank Eliot Levine, David Kevin Siegwart
  • Patent number: 7640539
    Abstract: A system and method for collecting a plurality of metrics during a single run of a computer program. The mechanism of the present invention initializes a plurality of counters to count events associated with metrics of interest. The mechanism of the present invention then counts the occurrence of events associated with metrics of interest during a single execution of a computer program. Responsive to a determination that a counter in a plurality of counters has generated an interrupt, the interrupt is rerouted to an interrupt handler, wherein the interrupt handler generates trace records comprising trace information corresponding to the interrupt. The mechanism of the present invention then generates profiles for the trace records, wherein the profiles differentiate the trace records based on the metric type associated with each trace record.
    Type: Grant
    Filed: April 12, 2005
    Date of Patent: December 29, 2009
    Assignee: International Business Machines Corporation
    Inventors: William Preston Alexander, III, Scott Thomas Jones, Frank Eliot Levine, Robert John Urquhart
  • Patent number: 7627457
    Abstract: A computer-implemented method, for application based tracing and for normalization of processor clocks in a symmetric multiprocessor environment. By deliberately establishing a large skew among processor clocks, it is possible to perform application based tracing by directly using the processors. In addition, the identity, time stamp, and drift information of each processor may be used to create a time library. The time library is used to adjust a measured time to execute a program or software routine. The adjusted time is a normalized time that is statistically more accurate than the measured time alone. The adjusted time is then reported as the time to execute the program or software routine.
    Type: Grant
    Filed: December 11, 2006
    Date of Patent: December 1, 2009
    Assignee: International Business Machines Corporation
    Inventors: Frank Eliot Levine, David Kevin Siegwart
  • Publication number: 20090288103
    Abstract: A computer implemented method, apparatus, and computer usable program code for managing access requests for access to a disk drive. A placement of a set of disk heads tracked and an expected time to process already queued access requests by the disk drive are tracked. In response to receiving the request to access the disk drive at a device driver, a determination is made as to whether the request can be completed within a specified amount of time associated with the request without sending the access request to the disk drive. The request is placed, by the device driver, in a queue for execution if a determination is made that the access request can be completed within the specified amount of time.
    Type: Application
    Filed: May 19, 2008
    Publication date: November 19, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Frank Eliot Levine
  • Patent number: 7620777
    Abstract: A method, apparatus, and computer instructions for providing hardware assistance to prefetch data during execution of code by a process or in the data processing system. In response to loading of an instruction in the code into a cache, a determination is made, by the processor unit, as to whether metadata for a prefetch is present for the instruction. In response to metadata being present for the instruction, selectively prefetching data, from within a data structure using the metadata, into the cache in a processor.
    Type: Grant
    Filed: April 28, 2009
    Date of Patent: November 17, 2009
    Assignee: International Business Machines Corporation
    Inventors: Robert Tod Dimpsey, Frank Eliot Levine, Robert John Urquhart
  • Publication number: 20090241095
    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: Application
    Filed: March 19, 2008
    Publication date: September 24, 2009
    Applicant: International Business Machines Corporation
    Inventors: Scott Thomas Jones, Frank Eliot Levine
  • Publication number: 20090210630
    Abstract: A method, apparatus, and computer instructions for providing hardware assistance to prefetch data during execution of code by a process or in the data processing system. In response to loading of an instruction in the code into a cache, a determination is made, by the processor unit, as to whether metadata for a prefetch is present for the instruction. In response to metadata being present for the instruction, selectively prefetching data, from within a data structure using the metadata, into the cache in a processor.
    Type: Application
    Filed: April 28, 2009
    Publication date: August 20, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert Tod Dimpsey, Frank Eliot Levine, Robert John Urquhart
  • Patent number: 7574587
    Abstract: A method, apparatus, and computer instructions in a data processing system for processing instructions are provided. 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. Functionality may be provided in the performance monitoring application for initiating the measurement of secondary metrics with regard to identified instructions, data addresses, ranges of identified instructions, or ranges of identified data addresses, based on counter values for primary metrics. Thus, for example, when a primary metric counter, or a combination of primary metric counters, meets or exceeds a predetermined threshold value, an interrupt may be generated. In response to receiving the interrupt, counters associated with the measuring of secondary metrics of a range of instructions/data addresses may be initiated.
    Type: Grant
    Filed: May 21, 2008
    Date of Patent: August 11, 2009
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Frank Eliot Levine, Christopher Michael Richardson, Robert John Urquhart
  • Publication number: 20090178036
    Abstract: A computer implemented method, apparatus, and computer usable program code for sampling call stack information. A flag associated with a target thread is set in a memory work area associated with a virtual machine in response to an interrupt. Monitoring for an event during execution of a plurality of threads created by the virtual machine. A determination is made as to whether the flag is set in response to an occurrence of the event. If the flag is set, the virtual machine makes a call out to a profiler which initiates sampling of the call stack information in response to the flag being set.
    Type: Application
    Filed: January 4, 2008
    Publication date: July 9, 2009
    Inventor: Frank Eliot Levine
  • Publication number: 20090113450
    Abstract: This invention describes how to avoid data loss due to limited buffer size during continuous tracing of high frequency events such as branches. Buffer data loss is adaptively avoided by either temporarily patching an instruction with a jump to itself or by using delay loops with an adaptive number of iterations during exception handling in which the trace event is written to the buffer.
    Type: Application
    Filed: October 25, 2007
    Publication date: April 30, 2009
    Inventors: Scott Thomas Jones, Frank Eliot Levine, Milena Milenkovic, Enio Manuel Pineda
  • Patent number: 7526616
    Abstract: A method, apparatus, and computer instructions for providing hardware assistance to prefetch data during execution of code by a process or in the data processing system. In response to loading of an instruction in the code into a cache, a determination is made, by the processor unit, as to whether metadata for a prefetch is present for the instruction. In response to metadata being present for the instruction, selectively prefetching data, from within a data structure using the metadata, into the cache in a processor.
    Type: Grant
    Filed: March 22, 2004
    Date of Patent: April 28, 2009
    Assignee: International Business Machines Corporation
    Inventors: Robert Tod Dimpsey, Frank Eliot Levine, Robert John Urquhart
  • Patent number: 7526757
    Abstract: A method and apparatus in a data processing system for measuring events associated with the execution of instructions are provided. 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. In some embodiments, the performance indicators, counters, thresholds, and other performance monitoring structures may be stored in a page table that is used to translate virtual addresses into physical storage addresses. A standard page table is augmented with additional fields for storing the performance monitoring structures. These structures may be set by the performance monitoring application and may be queried and modified as events occur that require access to physical storage.
    Type: Grant
    Filed: January 14, 2004
    Date of Patent: April 28, 2009
    Assignee: International Business Machines Corporation
    Inventors: Frank Eliot Levine, Christopher Michael Richardson, Edward John Silha
  • Publication number: 20090100414
    Abstract: A method, apparatus, and computer instructions for presenting coverage data for code. The coverage data containing instruction access indicators associated with the code is obtained. Particular instruction access indicators that have been set by a processor in the data processing system in response to execution of the code by the processor are identified to form set instruction access indicators. Each set instruction access indicator is associated with a portion of the code. A presentation for the coverage data is generated. The set instruction access indicators are identified in the presentation. This presentation may be, for example, a graphical presentation.
    Type: Application
    Filed: December 16, 2008
    Publication date: April 16, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert Tod Dimpsey, Frank Eliot Levine, Robert John Urquhart
  • Patent number: 7519961
    Abstract: A method and apparatus for averaging out variations from run to run of a computer program are provided. With the apparatus and method, call trees are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-addition” operation in which the two or more call trees generated during runs of the computer program are added to one another to thereby accumulate statistics for each call in the call trees. These statistics may then be divided by the number of runs whose tree data structures are being accumulated. In this way, an average of the tree data structures is generated. In addition, any portions of the tree data structure that are due to asynchronous events are averaged out so that their relative affect in the resulting tree data structure is minimized.
    Type: Grant
    Filed: February 12, 2004
    Date of Patent: April 14, 2009
    Assignee: International Business Machines Corporation
    Inventors: William Preston Alexander, III, Robert Tod Dimpsey, Frank Eliot Levine, Robert John Urquhart