Patents by Inventor Charles J. Archer
Charles J. Archer 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: 9286232Abstract: Administering registered virtual addresses in a hybrid computing environment that includes a host computer, an accelerator, the accelerator architecture optimized, with respect to the host computer architecture, for speed of execution of a particular class of computing functions, the host computer and the accelerator adapted to one another for data communications by a system level message passing module, where administering registered virtual addresses includes maintaining a cache of ranges of currently registered virtual addresses, the cache including entries associating a range of currently registered virtual addresses, a handle representing physical addresses mapped to the range of currently registered virtual addresses, and a counter; determining whether to register ranges of virtual addresses in dependence upon the cache of ranges of currently registered virtual addresses; and determining whether to deregister ranges of virtual addresses in dependence upon the cache of ranges of currently registered virtType: GrantFiled: January 26, 2009Date of Patent: March 15, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, Gary R. Ricard
-
Patent number: 9268623Abstract: Methods, parallel computers, and computer program products for analyzing update conditions for shared variable directory (SVD) information in a parallel computer are provided. Embodiments include a runtime optimizer receiving a compare-and-swap operation header. The compare-and-swap operation header includes an SVD key, a first SVD address, and an updated first SVD address. The first SVD address is associated with the SVD key in a first SVD associated with a first task. Embodiments also include the runtime optimizer retrieving from a remote address cache associated with the second task, a second SVD address indicating a location within a memory partition associated with the first SVD in response to receiving the compare-and-swap operation header. Embodiments also include the runtime optimizer determining whether the second SVD address matches the first SVD address and transmitting a result indicating whether the second SVD address matches the first SVD address.Type: GrantFiled: December 18, 2012Date of Patent: February 23, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Philip J. Sanders, Brian E. Smith
-
Patent number: 9262201Abstract: Methods, apparatuses, and computer program products for performing collective operations on a hybrid distributed processing system are provided. Embodiments include determining by at least one task that a parent of the task has failed to send the task data through the tree topology; and determining whether to request the data from a grandparent of the task or a peer of the task in the same tier in the tree topology; and if the task requests the data from the grandparent, requesting the data and receiving the data from the grandparent of the task through the second networking topology; and if the task requests the data from a peer of the task in the same tier in the tree, requesting the data and receiving the data from a peer of the task through the second networking topology.Type: GrantFiled: July 13, 2011Date of Patent: February 16, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Matthew W. Markland, Philip J. Sanders
-
Patent number: 9262243Abstract: Methods, parallel computers, and computer program products for analyzing update conditions for shared variable directory (SVD) information in a parallel computer are provided. Embodiments include a runtime optimizer receiving a compare-and-swap operation header. The compare-and-swap operation header includes an SVD key, a first SVD address, and an updated first SVD address. The first SVD address is associated with the SVD key in a first SVD associated with a first task. Embodiments also include the runtime optimizer retrieving from a remote address cache associated with the second task, a second SVD address indicating a location within a memory partition associated with the first SVD in response to receiving the compare-and-swap operation header. Embodiments also include the runtime optimizer determining whether the second SVD address matches the first SVD address and transmitting a result indicating whether the second SVD address matches the first SVD address.Type: GrantFiled: February 13, 2013Date of Patent: February 16, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Philip J. Sanders, Brian E. Smith
-
Patent number: 9256458Abstract: Methods, parallel computers, and computer program products for conditionally updating shared variable directory (SVD) information in a parallel computer are provided. Embodiments include a runtime optimizer receiving a broadcast reduction operation header. The broadcast reduction operation header includes an SVD key and a first SVD address. The first SVD address is associated with the SVD key in a first SVD associated with a first task. Embodiments also include the runtime optimizer retrieving from a remote address cache associated with the second task, a second SVD address indicating a location within a memory partition associated with the first SVD, in response to receiving the broadcast reduction operation header. Embodiments also include the runtime optimizer determining that the first SVD address does not match the second SVD address and updating the remote address cache with the first SVD address.Type: GrantFiled: December 18, 2012Date of Patent: February 9, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Philip J. Sanders, Brian E. Smith
-
Patent number: 9256538Abstract: Methods, parallel computers, and computer program products for acquiring remote shared variable directory (SVD) information in a parallel computer are provided. Embodiments include a runtime optimizer determining that a first thread of a first task requires shared resource data stored in a memory partition corresponding to a second thread of a second task. Embodiments also include the runtime optimizer requesting from the second thread, in response to determining that the first thread of the first task requires the shared resource data, SVD information associated with the shared resource data. Embodiments also include the runtime optimizer receiving from the second thread, the SVD information associated with the shared resource data.Type: GrantFiled: December 18, 2012Date of Patent: February 9, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Philip J. Sanders, Brian E. Smith
-
Patent number: 9251078Abstract: Methods, parallel computers, and computer program products for acquiring remote shared variable directory (SVD) information in a parallel computer are provided. Embodiments include a runtime optimizer determining that a first thread of a first task requires shared resource data stored in a memory partition corresponding to a second thread of a second task. Embodiments also include the runtime optimizer requesting from the second thread, in response to determining that the first thread of the first task requires the shared resource data, SVD information associated with the shared resource data. Embodiments also include the runtime optimizer receiving from the second thread, the SVD information associated with the shared resource data.Type: GrantFiled: February 13, 2013Date of Patent: February 2, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Philip J. Sanders, Brian E. Smith
-
Patent number: 9253107Abstract: Data communications may be carried out in a distributed computing environment that includes computers coupled for data communications through communications adapters and an active messaging interface (‘AMI’). Such data communications may be carried out by: issuing, by a sender to a receiver, an eager SEND data communications instruction to transfer SEND data, the instruction including information describing data location at the sender and data size; transmitting, by the sender to the receiver, the SEND data as eager data packets; discarding, by the receiver in dependence upon data flow conditions, eager data packets as they are received from the sender; and transferring, in dependence upon the data flow conditions, by the receiver from the sender's data location to a receive buffer by remote direct memory access (“RDMA”), the SEND data.Type: GrantFiled: August 27, 2013Date of Patent: February 2, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, Michael A. Blocksome, James E. Carey, Philip J. Sanders
-
Patent number: 9250950Abstract: Methods, parallel computers, and computer program products for conditionally updating shared variable directory (SVD) information in a parallel computer are provided. Embodiments include a runtime optimizer receiving a broadcast reduction operation header. The broadcast reduction operation header includes an SVD key and a first SVD address. The first SVD address is associated with the SVD key in a first SVD associated with a first task. Embodiments also include the runtime optimizer retrieving from a remote address cache associated with the second task, a second SVD address indicating a location within a memory partition associated with the first SVD, in response to receiving the broadcast reduction operation header. Embodiments also include the runtime optimizer determining that the first SVD address does not match the second SVD address and updating the remote address cache with the first SVD address.Type: GrantFiled: February 14, 2013Date of Patent: February 2, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Philip J. Sanders, Brian E. Smith
-
Patent number: 9250948Abstract: A parallel computer executes a number of tasks, each task includes a number of endpoints and the endpoints are configured to support collective operations. In such a parallel computer, establishing a group of endpoints receiving a user specification of a set of endpoints included in a global collection of endpoints, where the user specification defines the set in accordance with a predefined virtual representation of the endpoints, the predefined virtual representation is a data structure setting forth an organization of tasks and endpoints included in the global collection of endpoints and the user specification defines the set of endpoints without a user specification of a particular endpoint; and defining a group of endpoints in dependence upon the predefined virtual representation of the endpoints and the user specification.Type: GrantFiled: September 13, 2011Date of Patent: February 2, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, Michael A. Blocksome, Joseph D. Ratterman, Brian E. Smith, Hanhong Xue
-
Patent number: 9250949Abstract: A parallel computer executes a number of tasks, each task includes a number of endpoints and the endpoints are configured to support collective operations. In such a parallel computer, establishing a group of endpoints receiving a user specification of a set of endpoints included in a global collection of endpoints, where the user specification defines the set in accordance with a predefined virtual representation of the endpoints, the predefined virtual representation is a data structure setting forth an organization of tasks and endpoints included in the global collection of endpoints and the user specification defines the set of endpoints without a user specification of a particular endpoint; and defining a group of endpoints in dependence upon the predefined virtual representation of the endpoints and the user specification.Type: GrantFiled: November 30, 2012Date of Patent: February 2, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, Michael A. Blocksome, Joseph D. Ratterman, Brian E. Smith, Hanghong Xue
-
Patent number: 9246861Abstract: Topology mapping in a distributed processing system that includes a plurality of compute nodes, including: initiating a message passing operation; including in a message generated by the message passing operation, topological information for the sending task; mapping the topological information for the sending task; determining whether the sending task and the receiving task reside on the same topological unit; if the sending task and the receiving task reside on the same topological unit, using an optimal local network pattern for subsequent message passing operations between the sending task and the receiving task; otherwise, using a data communications network between the topological unit of the sending task and the topological unit of the receiving task for subsequent message passing operations between the sending task and the receiving task.Type: GrantFiled: November 5, 2012Date of Patent: January 26, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Matthew W. Markland, Philip J. Sanders
-
Patent number: 9246792Abstract: Methods, apparatus, and products are disclosed for providing point to point data communications among compute nodes in a global combining network of a parallel computer that include: determining a class route identifier available for all of the nodes along a communications path from an origin node to a target node; configuring network hardware of each node along the communications path with routing instructions in dependence upon the available class route identifier and the network's topology; transmitting, by the origin node along the communications path, a network packet to the target node, including encoding the available class route identifier in the network packet; and routing, by the network hardware of each node along the communications path, the network packet to the target node in dependence upon the routing instructions for each node and the available class route identifier.Type: GrantFiled: April 5, 2012Date of Patent: January 26, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, Ahmad A. Faraj, Todd A. Inglett
-
Patent number: 9229780Abstract: Topology mapping in a distributed processing system, the distributed processing system including a plurality of compute nodes, each compute node having a plurality of tasks, each task assigned a unique rank, including: assigning each task to a geometry defining the resources available to the task; selecting, from a list of possible data communications algorithms, one or more algorithms configured for the assigned geometry; and identifying, by each task to all other tasks, the selected data communications algorithms of each task in a single collective operation.Type: GrantFiled: November 2, 2012Date of Patent: January 5, 2016Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Matthew W. Markland, Philip J. Sanders
-
Patent number: 9225545Abstract: Determining a path for network traffic between a source compute node and a destination compute node in a parallel computer including identifying a group of compute nodes, the group of compute nodes having topological network locations included in a predefined topological shape; selecting, from the predefined topological shape, in dependence upon a global contention counter stored on the source compute node, a path on which to send a data communications message from the source compute node to the destination compute node; and sending, by the messaging module of the source compute node, the data communications message along the selected path for network traffic between the source and destination compute nodes.Type: GrantFiled: April 1, 2008Date of Patent: December 29, 2015Assignee: International Business Machines CorporationInventors: Charles J. Archer, Amanda Peters, Brian E. Smith, Brent A. Swartz
-
Patent number: 9223505Abstract: Administering inter-core communication via shared memory may be carried out in a system in which each core is associated with a mailbox in a shared memory region. Such administration may include constructing a mailbox latency table describing latency of writing data from each core to each mailbox; constructing a locking latency table describing latency of each core in acquiring a lock for each of the mailboxes; identifying, from the tables, groups of a cores having mailbox and locking latency within a predefined range of acceptable latency values; and for each identified group of cores, establishing, for every pair of cores in the group of cores, a private channel, including pinning, for each private channel established for a pair of cores, one local memory segment per core.Type: GrantFiled: September 18, 2013Date of Patent: December 29, 2015Assignee: GLOBALFOUNDRIES Inc.Inventors: Charles J. Archer, Nysal Jan K. A., Sameh S. Sharkawi
-
Patent number: 9223393Abstract: Methods, apparatuses, and computer program products for collective operation management in a parallel computer are provided. Embodiments include a parallel computer having a first compute node operatively coupled for data communications over a tree data communications network with a plurality of child compute nodes. Embodiments also include each child compute node performing a first collective operation. The first compute rode, for each child compute node, receives from the child compute node, a result of the first collective operation performed by the child compute node. In response to receiving at least one result, the first compute node reduces a power consumption level of the child compute node.Type: GrantFiled: March 13, 2013Date of Patent: December 29, 2015Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Philip J. Sanders, Brian E. Smith
-
Patent number: 9213619Abstract: Algorithm selection for collective operations in a parallel computer that includes a plurality of compute nodes may include: profiling a plurality of algorithms for each of a set of collective operations, including for each collective operation: executing the operation a plurality times with each execution varying one or more of: geometry, message size, data type, and algorithm to effect the collective operation, thereby generating performance metrics for each execution; storing the performance metrics in a performance profile; at load time of a parallel application including a plurality of parallel processes configured in a particular geometry, filtering the performance profile in dependence upon the particular geometry; during run-time of the parallel application, selecting, for at least one collective operation, an algorithm to effect the operation in dependence upon characteristics of the parallel application and the performance profile; and executing the operation using the selected algorithm.Type: GrantFiled: March 12, 2013Date of Patent: December 15, 2015Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Philip J. Sanders, Brian E. Smith
-
Patent number: 9215138Abstract: Determining a system configuration for performing a collective operation on a parallel computer that includes a plurality of compute nodes, the compute nodes coupled for data communications over a data communications network, including: selecting a system configuration on the parallel computer for executing the collective operation; executing the collective operation on the selected system configuration on the parallel computer; determining performance metrics associated with executing the collective operation on the selected system configuration on the parallel computer; selecting, using a simulated annealing algorithm, a plurality of test system configurations on the parallel computer for executing the collective operation, wherein the simulated annealing algorithm specifies a similarity threshold between a plurality of system configurations; executing, the collective operation on each of the test system configurations; and determining performance metrics associated with executing the collective operation oType: GrantFiled: December 6, 2012Date of Patent: December 15, 2015Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Philip J. Sanders, Brian E. Smith
-
Patent number: 9208052Abstract: Algorithm selection for collective operations in a parallel computer that includes a plurality of compute nodes may include: profiling a plurality of algorithms for each of a set of collective operations, including for each collective operation: executing the operation a plurality times with each execution varying one or more of: geometry, message size, data type, and algorithm to effect the collective operation, thereby generating performance metrics for each execution; storing the performance metrics in a performance profile; at load time of a parallel application including a plurality of parallel processes configured in a particular geometry, filtering the performance profile in dependence upon the particular geometry; during run-time of the parallel application, selecting, for at least one collective operation, an algorithm to effect the operation in dependence upon characteristics of the parallel application and the performance profile; and executing the operation using the selected algorithm.Type: GrantFiled: March 13, 2013Date of Patent: December 8, 2015Assignee: International Business Machines CorporationInventors: Charles J. Archer, James E. Carey, Philip J. Sanders, Brian E. Smith