Patents by Inventor Thomas Michael Gooding

Thomas Michael Gooding 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: 8874722
    Abstract: An interactive tool is disclosed for visualizing performance data in real-time to enable adaptive performance optimization for an application running on a massively parallel computer system. The interactive tool may be used to visualize network congestion (and other) performance counters for an application as it runs on the parallel system in real-time. Further, a developer may use the interactive tool to experiment with various tuning options and optimization approaches on-the-fly.
    Type: Grant
    Filed: September 28, 2007
    Date of Patent: October 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Thomas Michael Gooding, David Lee Hermsmeier, Roy Glenn Musselman, Amanda Peters, Kurt Walter Pinnow, Brent Allen Swartz
  • Patent number: 8751866
    Abstract: A method and apparatus provides fault isolation in a in a highly interconnected system. A fault isolator uses a virtual topology of the system to autonomically isolate the fault. Failing nodes interconnects are identified and then used to traverse a virtual topology to determine the most suspect components as the cause of the reported failures. A failure indication is propagated to each component connected to a failing node in the virtual topology until the next node in the virtual topology is encountered. In preferred embodiments, the failure indications for each component are tallied together as the topology is traversed for each failing node and/or component. A total count of the number of nodes connected to each component is determined for a denominator. A weighting of the likelihood of fault is then determined by dividing the failure indications by the total count.
    Type: Grant
    Filed: September 28, 2006
    Date of Patent: June 10, 2014
    Assignee: International Business Machines Corporation
    Inventors: Thomas Michael Gooding, Brian Paul Wallenfelt
  • Patent number: 8635603
    Abstract: A debugger debugs processes that execute shared instructions so a breakpoint set for one process will not cause a breakpoint to occur in the other processes. A breakpoint is set by recording the original instruction at the desired location and writing a trap instruction to the shared instructions at that location. When a process encounters the breakpoint, the process passes control to the debugger for breakpoint processing if the breakpoint was set at that location for that process. If the trap was not set at that location for that process, the cacheline containing the trap is copied to a small scratchpad memory, and the virtual memory mappings are changed to translate the virtual address of the cacheline to the scratchpad. The original instruction is then written to replace the trap instruction in the scratchpad, so the process can execute the instructions in the scratchpad thereby avoiding the trap instruction.
    Type: Grant
    Filed: October 21, 2008
    Date of Patent: January 21, 2014
    Assignee: International Business Machines Corporation
    Inventors: Thomas Michael Gooding, Richard Michael Shok
  • Patent number: 8443287
    Abstract: An interactive tool is disclosed for visualizing performance data in real-time to enable adaptive performance optimization for an application running on a massively parallel computer system. The interactive tool may be used to visualize network congestion (and other) performance counters for an application as it runs on the parallel system in real-time. Further, a developer may use the interactive tool to experiment with various tuning options and optimization approaches on-the-fly.
    Type: Grant
    Filed: September 28, 2007
    Date of Patent: May 14, 2013
    Assignee: International Business Machines Corporation
    Inventors: Thomas Michael Gooding, David Lee Hermsmeier, Roy Glenn Musselman, Amanda Peters, Kurt Walter Pinnow, Brent Allen Swartz
  • Patent number: 8261249
    Abstract: Embodiments of the invention provide a method for deploying and running an application on a massively parallel computer system, while minimizing the costs associated with latency, bandwidth, and limited memory resources. The executable code of a program may be divided into multiple code fragments and distributed to different compute nodes of a parallel computing system. During program execution, one compute node may fetch code fragments from other compute nodes as necessary.
    Type: Grant
    Filed: January 8, 2008
    Date of Patent: September 4, 2012
    Assignee: International Business Machines Corporation
    Inventors: Charles Jens Archer, Thomas Michael Gooding, Ruth Janine Poole, Albert Sidelnik
  • Patent number: 7930595
    Abstract: An analytical mechanism for a massively parallel computer system automatically analyzes data retrieved from the system, and identifies nodes which exhibit anomalous behavior in comparison to their immediate neighbors. Preferably, anomalous behavior is determined by comparing call-return stack tracebacks for each node, grouping like nodes together, and identifying neighboring nodes which do not themselves belong to the group. A node, not itself in the group, having a large number of neighbors in the group, is a likely locality of error. The analyzer preferably presents this information to the user by sorting the neighbors according to number of adjoining members of the group.
    Type: Grant
    Filed: June 22, 2006
    Date of Patent: April 19, 2011
    Assignee: International Business Machines Corporation
    Inventor: Thomas Michael Gooding
  • Publication number: 20100100715
    Abstract: A debugger debugs processes that execute shared instructions so a breakpoint set for one process will not cause a breakpoint to occur in the other processes. A breakpoint is set by recording the original instruction at the desired location and writing a trap instruction to the shared instructions at that location. When a process encounters the breakpoint, the process passes control to the debugger for breakpoint processing if the breakpoint was set at that location for that process. If the trap was not set at that location for that process, the cacheline containing the trap is copied to a small scratchpad memory, and the virtual memory mappings are changed to translate the virtual address of the cacheline to the scratchpad. The original instruction is then written to replace the trap instruction in the scratchpad, so the process can execute the instructions in the scratchpad thereby avoiding the trap instruction.
    Type: Application
    Filed: October 21, 2008
    Publication date: April 22, 2010
    Inventors: Thomas Michael Gooding, Richard Michael Shok
  • Patent number: 7673182
    Abstract: A data collector for a massively parallel computer system obtains call-return stack traceback data for multiple nodes by retrieving partial call-return stack traceback data from each node, grouping the nodes in subsets according to the partial traceback data, and obtaining further call-return stack traceback data from a representative node or nodes of each subset. Preferably, the partial data is a respective instruction address from each node, nodes having identical instruction address being grouped together in the same subset. Preferably, a single node of each subset is chosen and full stack traceback data is retrieved from the call-return stack within the chosen node.
    Type: Grant
    Filed: June 22, 2006
    Date of Patent: March 2, 2010
    Assignee: International Business Machines Corporation
    Inventors: Thomas Michael Gooding, Patrick Joseph McCarthy
  • Publication number: 20090178053
    Abstract: Embodiments of the invention provide a method for deploying and running an application on a massively parallel computer system, while minimizing the costs associated with latency, bandwidth, and limited memory resources. The executable code of a program may be divided into multiple code fragments and distributed to different compute nodes of a parallel computing system. During program execution, one compute node may fetch code fragments from other compute nodes as necessary.
    Type: Application
    Filed: January 8, 2008
    Publication date: July 9, 2009
    Inventors: Charles Jens Archer, Thomas Michael Gooding, Ruth Janine Poole, Albert Sidelnik
  • Publication number: 20090089670
    Abstract: An interactive tool is disclosed for visualizing performance data in real-time to enable adaptive performance optimization for an application running on a massively parallel computer system. The interactive tool may be used to visualize network congestion (and other) performance counters for an application as it runs on the parallel system in real-time. Further, a developer may use the interactive tool to experiment with various tuning options and optimization approaches on-the-fly.
    Type: Application
    Filed: September 28, 2007
    Publication date: April 2, 2009
    Inventors: Thomas Michael Gooding, David Lee Hermsmeier, Roy Glenn Musselman, Amanda Peters, Kurt Walter Pinnow, Brent Allen Swartz
  • Publication number: 20090089013
    Abstract: An interactive tool is disclosed for visualizing performance data in real-time to enable adaptive performance optimization for an application running on a massively parallel computer system. The interactive tool may be used to visualize network congestion (and other) performance counters for an application as it runs on the parallel system in real-time. Further, a developer may use the interactive tool to experiment with various tuning options and optimization approaches on-the-fly.
    Type: Application
    Filed: September 28, 2007
    Publication date: April 2, 2009
    Inventors: Thomas Michael Gooding, David Lee Hermsmeier, Roy Glenn Musselman, Amanda Peters, Kurt Walter Pinnow, Brent Allen Swartz
  • Patent number: 7480611
    Abstract: A method, apparatus and program product are provided for increasing the usable memory capacity of a logic simulation hardware emulator. The present invention performs an additional logic synthesis operation during model build to transform an original logical array within a logic model into a transformed logical array, such that a row within the transformed logical array includes a plurality of merged logical array rows from the original logical array. The invention further modifies read and write port logic surrounding the transformed logical array during the logic synthesis operation to support read and write accesses during model emulation run time.
    Type: Grant
    Filed: May 13, 2004
    Date of Patent: January 20, 2009
    Assignee: International Business Machines Corporation
    Inventors: Thomas Michael Gooding, Roy Glenn Musselman
  • Publication number: 20080275685
    Abstract: Embodiments of the invention provide a technique for improving the efficiency of a molecular modeling simulation. In one embodiment, the simulation may parse a kd-tree representing a receptor atom to identify atoms of the receptor within a specified distance of a target point. The target point may represent the center of a spherical envelope enclosing atoms of a ligand atom. A miss-accumulation vector may be used to accumulate a miss distance representing the minimum distance between a target point and a given node of the kd-tree. Thus, although the search algorithm may only evaluate the distance between the target point and a splitting dimension at each node of the kd-tree, the miss-accumulation vector may be used to account for distances over multiple dimensions.
    Type: Application
    Filed: May 1, 2007
    Publication date: November 6, 2008
    Inventors: Thomas Michael Gooding, Kurt Walter Pinnow, Brian Paul Wallenfelt
  • Publication number: 20080177867
    Abstract: A method and apparatus for configuration of a memory controller in a parallel computer system using an extensible markup language (XML) configuration file. In preferred embodiments an XML file with the operation parameters for the memory controller is stored in a bulk storage and used by the computers service node to create a personality file with binary register data that is transferred to static memory. The binary register data is then used during the boot process of the compute nodes to configure the memory controller.
    Type: Application
    Filed: January 19, 2007
    Publication date: July 24, 2008
    Inventors: Mark Edwin Giampapa, Thomas Michael Gooding, Brian Paul Wallenfelt
  • Publication number: 20080155324
    Abstract: A method and apparatus provides fault isolation in a in a highly interconnected system. A fault isolator uses a virtual topology of the system to autonomically isolate the fault. Failing nodes interconnects are identified and then used to traverse a virtual topology to determine the most suspect components as the cause of the reported failures. A failure indication is propagated to each component connected to a failing node in the virtual topology until the next node in the virtual topology is encountered. In preferred embodiments, the failure indications for each component are tallied together as the topology is traversed for each failing node and/or component. A total count of the number of nodes connected to each component is determined for a denominator. A weighting of the likelihood of fault is then determined by dividing the failure indications by the total count.
    Type: Application
    Filed: September 28, 2006
    Publication date: June 26, 2008
    Inventors: Thomas Michael Gooding, Brian Paul Wallenfelt
  • Publication number: 20080126767
    Abstract: A data collector for a massively parallel computer system obtains call-return stack traceback data for multiple nodes by retrieving partial call-return stack traceback data from each node, grouping the nodes in subsets according to the partial traceback data, and obtaining further call-return stack traceback data from a representative node or nodes of each subset. Preferably, the partial data is a respective instruction address from each node, nodes having identical instruction address being grouped together in the same subset. Preferably, a single node of each subset is chosen and full stack traceback data is retrieved from the call-return stack within the chosen node.
    Type: Application
    Filed: June 22, 2006
    Publication date: May 29, 2008
    Inventors: Thomas Michael Gooding, Patrick Joseph McCarthy
  • Patent number: 7337103
    Abstract: The present invention provides a method, apparatus and program-product for a self-healing, reconfigurable logic emulation system, wherein if a signal wire becomes faulty in an emulation cable during an emulation run, the runtime software can automatically reconfigure the emulator to reroute the data destined for the faulty signal wire across a spare wire. Such a feature enables a user to restart the emulation run without having to recompile the simulation model to account for the hardware fault.
    Type: Grant
    Filed: January 15, 2004
    Date of Patent: February 26, 2008
    Assignee: International Business Machines Corporation
    Inventors: Thomas Michael Gooding, Roy Glenn Musselman
  • Publication number: 20080022261
    Abstract: An analytical mechanism for a massively parallel computer system automatically analyzes data retrieved from the system, and identifies nodes which exhibit anomalous behavior in comparison to their immediate neighbors. Preferably, anomalous behavior is determined by comparing call-return stack tracebacks for each node, grouping like nodes together, and identifying neighboring nodes which do not themselves belong to the group. A node, not itself in the group, having a large number of neighbors in the group, is a likely locality of error.
    Type: Application
    Filed: June 22, 2006
    Publication date: January 24, 2008
    Inventor: Thomas Michael Gooding
  • Patent number: 7272734
    Abstract: An apparatus and method is disclosed for reducing power consumption in a computing system by moving pages allocated in real memory portions to other real memory portions. When a real memory portion contains no pages, that memory portion can be put into a Deep Power Down (DPD) state that has lower power consumption than when that memory portion is in normal operation. The computing system can also be aware of power consumption of each real memory portion, and, with such awareness, the invention teaches consolidation of pages from real memory portions having relatively higher power consumption to real memory portions having relatively lower power consumption.
    Type: Grant
    Filed: September 2, 2004
    Date of Patent: September 18, 2007
    Assignee: International Business Machines Corporation
    Inventor: Thomas Michael Gooding
  • Patent number: 7028313
    Abstract: A method for transmitting local node function parameters to a remote node for execution of the function on the remote node, wherein the method may be embodied on a computer readable medium. The method includes the steps of placing each of the function parameters on a first stack and associating a representation string with the function parameters, wherein each character in the representation string corresponds to the data type of an individual function parameter on the first stack. The method further includes dereferencing pointer parameters on the first stack, generating a pure value buffer with the function parameters and the dereferenced pointers, and transmitting the pure value buffer to the remote node.
    Type: Grant
    Filed: March 28, 2001
    Date of Patent: April 11, 2006
    Assignee: International Business Machines Corporation
    Inventor: Thomas Michael Gooding
  • Patent number: 5085033
    Abstract: The present invention relates to the preparation of encapsulated products containing a solid dosage form prepared with up to 35% of an edible matrix material. The composition may be introduced into the capsule as a powder and the capsule containing the powder mixture may then be heated to melt the matrix. The resulting capsule products exhibit the favorable texture of a capsule in conjunction with the hardness, shelf stability and security of the solid formulation. The composition of the present invention may be prepared and used as a direct tableting granulation as well as the filler or core for the capsule product. A method and corresponding apparatus are likewise disclosed and contemplated herein.
    Type: Grant
    Filed: June 26, 1990
    Date of Patent: February 4, 1992
    Assignee: D. M. Graham Laboratories, Inc.
    Inventor: Dean M. Graham