Patents by Inventor Patrick Joseph McCarthy

Patrick Joseph McCarthy 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: 7512836
    Abstract: A method and apparatus for fast backup of a set of compute nodes to save the state of the software in a parallel computer system. A fast backup mechanism in the service node of the computer system configures a set of nodes to be used for a backup and when needed uses the network hardware to perform a fast backup from node to node from an original set of nodes to the backup set of nodes. In the preferred embodiments a the fast backup is done with respect to a midplane or rack of nodes copied to a backup rack of nodes.
    Type: Grant
    Filed: December 11, 2006
    Date of Patent: March 31, 2009
    Assignee: International Business Machines Corporation
    Inventors: David L. Darrington, Patrick Joseph McCarthy, Amanda Peters, Albert Sidelnik
  • Publication number: 20090067334
    Abstract: Embodiments off the invention provide a mechanism for process migration on a massively parallel computer system. In particular, embodiments of the invention may be used to update process state data for a migrated compute node, such as MPI (or other communication library) state data, across a full collection of compute nodes present in a given parallel system executing a parallel task. Migrating a process form one compute node to another may be useful to address a variety of sub-optimal operating conditions. For example, one or more processes may be migrated to cure network congestion resulting from a poorly mapped task or when a compute node is predicted to experience a hardware failure.
    Type: Application
    Filed: September 12, 2007
    Publication date: March 12, 2009
    Inventors: Charles Jens Archer, David L. Darrington, Patrick Joseph McCarthy, Amanda Peters, Albert Sidelnik
  • Publication number: 20080263386
    Abstract: A method and apparatus for dynamically rerouting node processes on the compute nodes of a massively parallel computer system using hint bits to route around failed nodes or congested networks without restarting applications executing on the system. When a node has a failure or there are indications that it may fail, the application software on the system is suspended while the data on the failed node is moved to a backup node. The torus network traffic is routed around the failed node and traffic for the failed node is rerouted to the backup node. The application can then resume operation without restarting from the beginning.
    Type: Application
    Filed: April 18, 2007
    Publication date: October 23, 2008
    Inventors: David L. Darrington, Patrick Joseph McCarthy, Amanda Peters, Albert Sidelnik, Brian Edward Smith, Brent Allen Swartz
  • Publication number: 20080263387
    Abstract: An apparatus and method for overcoming a torus network failure in a parallel computer system. A mesh routing mechanism in the service node of the computer system configures the nodes from a torus to a mesh network when a failure occurs in the torus network. The mesh routing mechanism takes advantage of cutoff registers in each node to route node to node data transfers around the faulty node or network connection.
    Type: Application
    Filed: April 18, 2007
    Publication date: October 23, 2008
    Inventors: David L. Darrington, Patrick Joseph McCarthy, Amanda Peters, Albert Sidelnik
  • Publication number: 20080215845
    Abstract: Methods, systems, and media for managing dynamic memory are disclosed. Embodiments may disclose identifying nodes with having memory for dynamic storage, and reserving a portion of the memory from the identified nodes for a heap pool. After generating a heap pool, embodiments may allocate dynamic storage from the heap pool to tasks received that are associated with one of the identified nodes. More specifically, embodiments identify the node or home node associated with the task, the amount of dynamic storage requested by the task, and create a heap object in the node associated with the task to provide the requested dynamic storage. Some embodiments involve de-allocating the dynamic storage assigned to the task upon receipt of an indication that the task is complete and the dynamic storage is no longer needed for the task. Several of such embodiments return the de-allocated dynamic storage to the heap pool for reuse.
    Type: Application
    Filed: April 8, 2008
    Publication date: September 4, 2008
    Inventors: Kenneth Roger Allen, Richard Karl Kirkman, Patrick Joseph McCarthy, Wade Byron Ouren
  • Publication number: 20080189573
    Abstract: A method and apparatus for fault recovery of on a parallel computer system from a soft failure without ending an executing job on a partition of nodes. In preferred embodiments a failed hardware recovery mechanism on a service node uses a heartbeat monitor to determine when a node failure occurs. Where possible, the failed node is reset and re-loaded with software without ending the software job being executed by the partition containing the failed node.
    Type: Application
    Filed: February 2, 2007
    Publication date: August 7, 2008
    Inventors: David L. Darrington, Patrick Joseph McCarthy, Amanda Peters, Albert Sidelnik
  • Publication number: 20080140735
    Abstract: A method and apparatus for fast backup of a set of compute nodes to save the state of the software in a parallel computer system. A fast backup mechanism in the service node of the computer system configures a set of nodes to be used for a backup and when needed uses the network hardware to perform a fast backup from node to node from an original set of nodes to the backup set of nodes. In the preferred embodiments a the fast backup is done with respect to a midplane or rack of nodes copied to a backup rack of nodes.
    Type: Application
    Filed: December 11, 2006
    Publication date: June 12, 2008
    Inventors: David L. Darrington, Patrick Joseph McCarthy, Amanda Peters, Albert Sidelnik
  • 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: 7356655
    Abstract: Methods, systems, and media for managing dynamic memory are disclosed. Embodiments may disclose identifying nodes with having memory for dynamic storage, and reserving a portion of the memory from the identified nodes for a heap pool. After generating a heap pool, embodiments may allocate dynamic storage from the heap pool to tasks received that are associated with one of the identified nodes. More specifically, embodiments identify the node or home node associated with the task, the amount of dynamic storage requested by the task, and create a heap object in the node associated with the task to provide the requested dynamic storage. Some embodiments involve de-allocating the dynamic storage assigned to the task upon receipt of an indication that the task is complete and the dynamic storage is no longer needed for the task. Several of such embodiments return the de-allocated dynamic storage to the heap pool for reuse.
    Type: Grant
    Filed: May 15, 2003
    Date of Patent: April 8, 2008
    Assignee: International Business Machines Corporation
    Inventors: Kenneth Roger Allen, Richard Karl Kirkman, Patrick Joseph McCarthy, Wade Byron Ouren
  • Publication number: 20080059676
    Abstract: Embodiments of the present invention provide techniques for protecting critical sections of code being executed in a lightweight kernel environment suited for use on a compute node of a parallel computing system. These techniques avoid the overhead associated with a full kernel mode implementation of a network layer, while also allowing network interrupts to be processed without corrupting shared memory state. In one embodiment, a fast user-space function sets a flag in memory indicating that interrupts should not progress and also provides a mechanism to defer processing of the interrupt.
    Type: Application
    Filed: August 31, 2006
    Publication date: March 6, 2008
    Inventors: Charles Jens Archer, Michael Alan Blocksome, Todd Alan Inglett, Derek Lieber, Patrick Joseph McCarthy, Michael Basil Mundy, Jeffrey John Parker, Joseph D. Ratterman, Brian Edward Smith
  • Publication number: 20080059677
    Abstract: Embodiments of the present invention provide techniques for protecting critical sections of code being executed in a lightweight kernel environment suited for use on a compute node of a parallel computing system. These techniques avoid the overhead associated with a full kernel mode implementation of a network layer, while also allowing network interrupts to be processed without corrupting shared memory state. In one embodiment, a system call may be used to disable interrupts upon entry to a routine configured to process an event associated with the interrupt.
    Type: Application
    Filed: August 31, 2006
    Publication date: March 6, 2008
    Inventors: Charles Jens Archer, Michael Alan Blocksome, Todd Alan Inglett, Derek Lieber, Patrick Joseph McCarthy, Michael Basil Mundy, Jeffrey John Parker, Joseph D. Ratterman, Brian Edward Smith
  • Patent number: 7334230
    Abstract: An apparatus, program product and method in which application program-specified resource allocation and allocation strength preferences are used to allocate hardware resources from a computer for that application program. The resource allocation preference is used to allocate hardware resources for the application program, while the allocation strength preference is used to determine whether to allocate alternate hardware resources when the resource allocation preference specified by the application program cannot be met.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: February 19, 2008
    Assignee: International Business Machines Corporation
    Inventors: Lynn Keat Chung, Christopher Francois, Richard Karl Kirkman, Henry Joseph May, Patrick Joseph McCarthy, Don Darrell Reed, Kenneth Charles Vossen
  • Publication number: 20040230762
    Abstract: Methods, systems, and media for managing dynamic memory are disclosed. Embodiments may disclose identifying nodes with having memory for dynamic storage, and reserving a portion of the memory from the identified nodes for a heap pool. After generating a heap pool, embodiments may allocate dynamic storage from the heap pool to tasks received that are associated with one of the identified nodes. More specifically, embodiments identify the node or home node associated with the task, the amount of dynamic storage requested by the task, and create a heap object in the node associated with the task to provide the requested dynamic storage. Some embodiments involve de-allocating the dynamic storage assigned to the task upon receipt of an indication that the task is complete and the dynamic storage is no longer needed for the task. Several of such embodiments return the de-allocated dynamic storage to the heap pool for reuse.
    Type: Application
    Filed: May 15, 2003
    Publication date: November 18, 2004
    Applicant: International Business Machines Corporation
    Inventors: Kenneth Roger Allen, Richard Karl Kirkman, Patrick Joseph McCarthy, Wade Byron Ouren
  • Publication number: 20040194098
    Abstract: An apparatus, program product and method in which application program-specified resource allocation and allocation strength preferences are used to allocate hardware resources from a computer for that application program. The resource allocation preference is used to allocate hardware resources for the application program, while the allocation strength preference is used to determine whether to allocate alternate hardware resources when the resource allocation preference specified by the application program cannot be met.
    Type: Application
    Filed: March 31, 2003
    Publication date: September 30, 2004
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Lynn Keat Chung, Christopher Francois, Richard Karl Kirkman, Henry Joseph May, Patrick Joseph McCarthy, Don Darrell Reed, Kenneth Charles Vossen