Patents by Inventor Andrew S. Kopser

Andrew S. Kopser 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).

  • Publication number: 20240121180
    Abstract: A network interface controller (NIC) capable of efficient operation management for host accelerators is provided. The NIC can be equipped with a host interface and triggering logic block. During operation, the host interface can couple the NIC to a host device. The triggering logic block can obtain, via the host interface from the host device, an operation associated with an accelerator of the host device. The triggering logic block can determine whether a triggering condition has been satisfied for the operation based on an indicator received from the accelerator. If the triggering condition has been satisfied, the triggering logic block can obtain a piece of data generated from the accelerator from a memory location and execute the operation using the piece of data.
    Type: Application
    Filed: December 19, 2023
    Publication date: April 11, 2024
    Inventors: Duncan Roweth, Andrew S. Kopser, Igor Gorodetsky, Laurence Scott Kaplan, Krishna Chaitanya Kandalla
  • Publication number: 20240121181
    Abstract: A network interface controller (NIC) capable of performing message passing interface (MPI) list matching is provided. The NIC can include a host interface, a network interface, and a hardware list-processing engine (LPE). The host interface can couple the NIC to a host device. The network interface can couple the NIC to a network. During operation, the LPE can receive a match request and perform MPI list matching based on the received match request.
    Type: Application
    Filed: December 19, 2023
    Publication date: April 11, 2024
    Inventors: Partha Pratim Kundu, Andrew S. Kopser, Duncan Roweth, Robert Alverson
  • Publication number: 20240039836
    Abstract: Systems and methods are provided for passing data amongst a plurality of switches having a plurality of links attached between the plurality of switches. At a switch, a plurality of load signals are received from a plurality of neighboring switches. Each of the plurality of load signals are made up of a set of values indicative of a load at each of the plurality of neighboring switches providing the load signal. Each value within the set of values provides an indication for each link of the plurality of links attached thereto as to whether the link is busy or quiet. Based upon the plurality of load signals, an output link for routing a received packet is selected, and the received packet is routed via the selected output link.
    Type: Application
    Filed: October 2, 2023
    Publication date: February 1, 2024
    Inventors: Duncan Roweth, Edwin L. Froese, Joseph G. Kopnick, Andrew S. Kopser, Robert Alverson
  • Patent number: 11882025
    Abstract: A network interface controller (NIC) capable of performing message passing interface (MPI) list matching is provided. The NIC can include a host interface, a network interface, and a hardware list-processing engine (LPE). The host interface can couple the NIC to a host device. The network interface can couple the NIC to a network. During operation, the LPE can receive a match request and perform MPI list matching based on the received match request.
    Type: Grant
    Filed: March 23, 2020
    Date of Patent: January 23, 2024
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Partha Pratim Kundu, Andrew S. Kopser, Duncan Roweth, Robert Alverson
  • Patent number: 11876701
    Abstract: A network interface controller (NIC) capable of efficient operation management for host accelerators is provided. The NIC can be equipped with a host interface and triggering logic block. During operation, the host interface can couple the NIC to a host device. The triggering logic block can obtain, via the host interface from the host device, an operation associated with an accelerator of the host device. The triggering logic block can determine whether a triggering condition has been satisfied for the operation based on an indicator received from the accelerator. If the triggering condition has been satisfied, the triggering logic block can obtain a piece of data generated from the accelerator from a memory location and execute the operation using the piece of data.
    Type: Grant
    Filed: March 23, 2020
    Date of Patent: January 16, 2024
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Duncan Roweth, Andrew S. Kopser, Igor Gorodetsky, Laurence Scott Kaplan, Krishna Chaitanya Kandalla
  • Patent number: 11818037
    Abstract: A switch architecture for a data-driven intelligent networking system is provided. The system can accommodate dynamic traffic with fast, effective congestion control. The system can maintain state information of individual packet flows, which can be set up or released dynamically based on injected data. Each flow can be provided with a flow-specific input queue upon arriving at a switch. Packets of a respective flow are acknowledged after reaching the egress point of the network, and the acknowledgement packets are sent back to the ingress point of the flow along the same data path. As a result, each switch can obtain state information of each flow and perform flow control on a per-flow basis.
    Type: Grant
    Filed: March 23, 2020
    Date of Patent: November 14, 2023
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Abdulla M. Bataineh, Jonathan P. Beecroft, Thomas L. Court, Anthony M. Ford, Edwin L. Froese, David Charles Hewson, Joseph G. Kopnick, Andrew S. Kopser, Duncan Roweth, Gregory Faanes, Michael Higgins, Timothy J. Johnson, Trevor Jones, James Reinhard, Edward J. Turner, Steven L. Scott, Robert L. Alverson
  • Patent number: 11784920
    Abstract: Systems and methods are provided for passing data amongst a plurality of switches having a plurality of links attached between the plurality of switches. At a switch, a plurality of load signals are received from a plurality of neighboring switches. Each of the plurality of load signals are made up of a set of values indicative of a load at each of the plurality of neighboring switches providing the load signal. Each value within the set of values provides an indication for each link of the plurality of links attached thereto as to whether the link is busy or quiet. Based upon the plurality of load signals, an output link for routing a received packet is selected, and the received packet is routed via the selected output link.
    Type: Grant
    Filed: March 23, 2020
    Date of Patent: October 10, 2023
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Duncan Roweth, Edwin L. Froese, Joseph G. Kopnick, Andrew S. Kopser, Robert Alverson
  • Publication number: 20220329521
    Abstract: Systems and methods are provided for performing routing in a switch network or fabric. Switches can be configured in a hierarchical topology having a plurality of groups, where switches in a group are connected to one another, and groups are connected to other groups. Routing can be performed by maintaining per-group group load information. A packet can be routed between at least two groups using the per-group group load information to effect a set of routing decisions. The set of routing decisions can be biased towards or away one or more paths.
    Type: Application
    Filed: March 23, 2020
    Publication date: October 13, 2022
    Inventors: Duncan Roweth, Joseph G. Kopnick, Andrew S. Kopser, Edwin L. Froese
  • Publication number: 20220239587
    Abstract: Systems and methods are provided for passing data amongst a plurality of switches having a plurality of links attached between the plurality of switches. At a switch, a plurality of load signals are received from a plurality of neighboring switches. Each of the plurality of load signals are made up of a set of values indicative of a load at each of the plurality of neighboring switches providing the load signal. Each value within the set of values provides an indication for each link of the plurality of links attached thereto as to whether the link is busy or quiet. Based upon the plurality of load signals, an output link for routing a received packet is selected, and the received packet is routed via the selected output link.
    Type: Application
    Filed: March 23, 2020
    Publication date: July 28, 2022
    Inventors: Duncan Roweth, Edwin L. Froese, Joseph G. Kopnick, Andrew S. Kopser, Robert Alverson
  • Publication number: 20220229800
    Abstract: A network interface controller (NIC) capable of performing message passing interface (MPI) list matching is provided. The NIC can include a host interface, a network interface, and a hardware list-processing engine (LPE). The host interface can couple the NIC to a host device. The network interface can couple the NIC to a network. During operation, the LPE can receive a match request and perform MPI list matching based on the received match request.
    Type: Application
    Filed: March 23, 2020
    Publication date: July 21, 2022
    Inventors: Partha Pratim Kundu, Andrew S. Kopser, Duncan Roweth, Robert Alverson
  • Publication number: 20220210094
    Abstract: A switch architecture for a data-driven intelligent networking system is provided. The system can accommodate dynamic traffic with fast, effective congestion control. The system can maintain state information of individual packet flows, which can be set up or released dynamically based on injected data. Each flow can be provided with a flow-specific input queue upon arriving at a switch. Packets of a respective flow are acknowledged after reaching the egress point of the network, and the acknowledgement packets are sent back to the ingress point of the flow along the same data path. As a result, each switch can obtain state information of each flow and perform flow control on a per-flow basis.
    Type: Application
    Filed: March 23, 2020
    Publication date: June 30, 2022
    Inventors: Abdulla M. Bataineh, Jonathan P. Beecroft, Thomas L. Court, Anthony M. Ford, Edwin L. Froese, David Charles Hewson, Joseph G. Kopnick, Andrew S. Kopser, Duncan Roweth, Gregory Faanes, Michael Higgins, Timothy J. Johnson, Trevor Jones, James Reinhard, Edward J. Turner, Steven L. Scott, Robert L. Alverson
  • Publication number: 20220197845
    Abstract: A network interface controller (NIC) capable of efficient operation management for host accelerators is provided. The NIC can be equipped with a host interface and triggering logic block. During operation, the host interface can couple the NIC to a host device. The triggering logic block can obtain, via the host interface from the host device, an operation associated with an accelerator of the host device. The triggering logic block can determine whether a triggering condition has been satisfied for the operation based on an indicator received from the accelerator. If the triggering condition has been satisfied, the triggering logic block can obtain a piece of data generated from the accelerator from a memory location and execute the operation using the piece of data.
    Type: Application
    Filed: March 23, 2020
    Publication date: June 23, 2022
    Inventors: Duncan Roweth, Andrew S. Kopser, Igor Gorodetsky, Laurence Scott Kaplan, Krishna Chaitanya Kandalla
  • Publication number: 20220191128
    Abstract: A switch capable of on-the-fly reduction in a network is provided. The switch is equipped with a reduction engine that can be dynamically configured to perform on-the-fly reduction. As a result, the network can facilitate an efficient and scalable environment for high performance computing.
    Type: Application
    Filed: March 23, 2020
    Publication date: June 16, 2022
    Inventors: Robert Alverson, Andrew S. Kopser
  • Publication number: 20220191127
    Abstract: Methods and systems are provided to facilitate network ingress fairness between applications. At an ingress port of a network, the applications providing data communications are reviewed so that and arbitration process can be used to fairly allocate bandwidth at that ingress port. In a typical process, the bandwidth is allocated based upon the number of flow channels, irrespective of the source and characteristics of those flow channels. At the ingress port, an examination of the application providing the data communication will allow for a more appropriate allocation of input bandwidth.
    Type: Application
    Filed: March 23, 2020
    Publication date: June 16, 2022
    Inventors: Andrew S. Kopser, Abdulla M. Bataineh
  • Patent number: 9372938
    Abstract: A method and system for identifying results of a query that includes a type predicate is provided. A search system maintains a collection of facts that includes a triple for each fact and a type table that maps entities of the facts to their corresponding type. The search system uses the type table to speed up the process of identifying the search results when the query includes a non-type query triple and a type query triple. A type query triple is a triple that has a type predicate, rather than a non-type predicate. To execute a query that contains a non-type query triple and a type query triple, the search system identifies the triples of the collection that match the non-type query triple. The search system then uses the type table to determine which of the identified triples match the type query triple for inclusion in the search results.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: June 21, 2016
    Assignee: Cray Inc.
    Inventors: David Mizell, Christopher D. Rickett, Andrew S. Kopser
  • Publication number: 20130346445
    Abstract: A method and system for identifying results of a query that includes a type predicate is provided. A search system maintains a collection of facts that includes a triple for each fact and a type table that maps entities of the facts to their corresponding type. The search system uses the type table to speed up the process of identifying the search results when the query includes a non-type query triple and a type query triple. A type query triple is a triple that has a type predicate, rather than a non-type predicate. To execute a query that contains a non-type query triple and a type query triple, the search system identifies the triples of the collection that match the non-type query triple. The search system then uses the type table to determine which of the identified triples match the type query triple for inclusion in the search results.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventors: David Mizell, Christopher D. Rickett, Andrew S. Kopser
  • Patent number: 6629250
    Abstract: A circuit for electronically matching and synchronizing the receipt of data on transmission lines between two circuits. Data is transmitted from a sending circuit to a receiving circuit on transmission lines between the two circuits. A system clock is also provided to the receiving circuit to synchronize the receipt of data relative to the circuits on the chip. A variable delay circuit selectively provides the number of delayed clock cycles for the data. In one mode of operation, there is no delay in the clock cycles and the data is provided as an output on the subsequent system clock pulse after receipt by the receiving circuit. Under other conditions in a different mode, a delay is introduced in the data on the transmission line so that it is output to the receiving circuit one clock cycle delay from when it is received by the input terminal to the receiving circuit. The amount of delay is controlled by software that is programmable under user control.
    Type: Grant
    Filed: April 23, 1999
    Date of Patent: September 30, 2003
    Assignee: Cray Inc.
    Inventors: Andrew S. Kopser, Burton J. Smith
  • Publication number: 20020069374
    Abstract: A circuit for electronically matching and synchronizing the receipt of data on transmission lines between two circuits. Data is transmitted from a sending circuit to a receiving circuit on transmission lines between the two circuits. A system clock is also provided to the receiving circuit to synchronize the receipt of data relative to the circuits on the chip. A variable delay circuit selectively provides the number of delayed clock cycles for the data. In one mode of operation, there is no delay in the clock cycles and the data is provided as an output on the subsequent system clock pulse after receipt by the receiving circuit. Under other conditions in a different mode, a delay is introduced in the data on the transmission line so that it is output to the receiving circuit one clock cycle delay from when it is received by the input terminal to the receiving circuit. The amount of delay is controlled by software that is programmable under user control.
    Type: Application
    Filed: April 23, 1999
    Publication date: June 6, 2002
    Inventors: ANDREW S. KOPSER, BURTON J. SMITH
  • Patent number: 6338125
    Abstract: A microprocessor having a logic control unit and a memory unit. The logic control unit performs execution of a number of instructions, among them being memory operation requests. A memory operation request is passed to a memory unit which begins to fulfill the memory request immediately. Simultaneously with the memory request being made, a copy of the full memory request is made and stored in a storage device within the memory unit. In addition, an identification of the request which was the origin of the memory operation is also stored. In the event the memory request is fulfilled immediately, whether it be the retrieval of data or the storing of data, the results of the memory request are provided to the microprocessor. On the other hand, in the event the memory is busy and cannot fulfill the request immediately, the memory unit performs a retry of the memory request on future memory request cycles.
    Type: Grant
    Filed: December 23, 1998
    Date of Patent: January 8, 2002
    Assignee: Cray Inc.
    Inventors: Andrew S. Kopser, Robert L. Alverson
  • Patent number: 6198675
    Abstract: A circuit and method for replacing a defective memory line with a usable memory line. A test is carried out to locate any defective lines, whether a row line or a column line, within a block of memory. If a defective line is found, the identity of the defective line is stored in software code. The software code is stored in a file or table, or other acceptable location, together with the identification of the memory block which is associated with the test data. When the computer is enabled for operation, the test data is loaded from the file into a register associated with the memory. When the memory is addressed, the register prevents addressing to the defective memory line and replaces it instead with an alternative line in the memory which has been tested as usable for storing and retrieving data.
    Type: Grant
    Filed: December 23, 1998
    Date of Patent: March 6, 2001
    Assignee: Cray Inc.
    Inventors: Steven V. R. Hellriegel, Andrew S. Kopser, Robert R. Henry