Patents by Inventor Robert L. Alverson
Robert L. Alverson 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: 20240143180Abstract: A method and apparatus are provided for facilitating a datatype engine (DTE) to support high performance computing. A network interface card (NIC) receives, via a message passing interface, a command to read data from a host memory. The NIC determines that the command indicates a first datatype descriptor stored in the NIC. The NIC forms, based on the command, a packet which indicates a base address and a length associated with the data to be read from the host memory and passes the packet to the DTE. The DTE generates a plurality of read requests comprising offsets from the base address and corresponding lengths based on the first datatype descriptor. The DTE passes the plurality of read requests to a direct memory access module, thereby allowing the NIC to access the host memory while eliminating copies of the data on the host during transfer of the command across a network.Type: ApplicationFiled: October 28, 2022Publication date: May 2, 2024Inventors: Keith D. Underwood, Robert L. Alverson
-
Publication number: 20240143494Abstract: A system, method, and apparatus are provided to facilitate data structures for a datatype engine and provide inline compaction. The system receives, by a network interface card (NIC), a command to read data from a host memory, wherein the command indicates a datatype. The system generates a plurality of read requests comprising offsets from a base address and corresponding lengths based on the datatype. The system issues the plurality of read requests to the host memory to obtain the data from the host memory. The system obtains a byte-mask descriptor corresponding to the datatype. The system performs, based on the obtained data and the byte-mask descriptor, on-the-fly compaction of the obtained data, thereby allowing the NIC to return a requested subset of the obtained data.Type: ApplicationFiled: October 28, 2022Publication date: May 2, 2024Inventors: Keith D. Underwood, Robert L. Alverson, Christopher Michael Brueggen
-
Publication number: 20240143198Abstract: A network interface card (NIC) receives a stream of commands, a respective command comprising memory-operation requests, each request associated with a destination NIC. The NIC buffers asynchronously the requests into queues based on the destination NIC, each queue specific to a corresponding destination NIC. When first queue requests reach a threshold, the NIC aggregates the first queue requests into a first packet and sends the first packet to the destination NIC. The NIC receives a plurality of packets, a second packet comprising memory-operation requests, each request associated with a same destination NIC and a destination core. The NIC buffers asynchronously the requests of the second packet into queues based on the destination core, each queue specific to a corresponding destination core. When second queue requests reach the threshold, the NIC aggregates the second queue requests into a third packet and sends the third packet to the destination core.Type: ApplicationFiled: October 28, 2022Publication date: May 2, 2024Inventors: Duncan Roweth, Robert L. Alverson, Nathan L. Wichmann, Eric P. Lundberg
-
Patent number: 11818037Abstract: 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: GrantFiled: March 23, 2020Date of Patent: November 14, 2023Assignee: Hewlett Packard Enterprise Development LPInventors: 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: 20230359574Abstract: An apparatus is provided that includes a network interface to transmit and receive data packets over a network; a memory including one or more buffers; an arithmetic logic unit to perform arithmetic operations for organizing and combining the data packets; and a circuitry to receive, via the network interface, data packets from the network; aggregate, via the arithmetic logic unit, the received data packets in the one or more buffers at a network rate; and transmit, via the network interface, the aggregated data packets to one or more compute nodes in the network, thereby optimizing latency incurred in combining the received data packets and transmitting the aggregated data packets, and hence accelerating a bulk data allreduce operation. One embodiment provides a system and method for performing the allreduce operation. During operation, the system performs the allreduce operation by pacing network operations for enhancing performance of the allreduce operation.Type: ApplicationFiled: July 17, 2023Publication date: November 9, 2023Inventors: Keith D. Underwood, Robert L. Alverson, Duncan Roweth, Nathan L. Wichmann
-
Patent number: 11792114Abstract: A network interface controller (NIC) capable of efficient management of non-idempotent operations is provided. The NIC can be equipped with a network interface, storage management logic block, and an operation management logic block. During operation, the network interface can receive a request for an operation from a remote device. The storage management logic block can store, in a local data structure, outcome of operations executed by the NIC. The operation management logic block can determine whether the NIC has previously executed the operation. If the NIC has previously executed the operation, the operation management logic block can obtain an outcome of the operation from the data structure and generate a response comprising the obtained outcome for responding to the request.Type: GrantFiled: March 23, 2020Date of Patent: October 17, 2023Assignee: Hewlett Packard Enterprise Development LPInventors: Duncan Roweth, Robert L. Alverson, Albert Cheng, Timothy J. Johnson
-
Patent number: 11714765Abstract: An apparatus is provided that includes a network interface to transmit and receive data packets over a network; a memory including one or more buffers; an arithmetic logic unit to perform arithmetic operations for organizing and combining the data packets; and a circuitry to receive, via the network interface, data packets from the network; aggregate, via the arithmetic logic unit, the received data packets in the one or more buffers at a network rate; and transmit, via the network interface, the aggregated data packets to one or more compute nodes in the network, thereby optimizing latency incurred in combining the received data packets and transmitting the aggregated data packets, and hence accelerating a bulk data allreduce operation. One embodiment provides a system and method for performing the allreduce operation. During operation, the system performs the allreduce operation by pacing network operations for enhancing performance of the allreduce operation.Type: GrantFiled: July 23, 2021Date of Patent: August 1, 2023Assignee: Hewlett Packard Enterprise Development LPInventors: Keith D. Underwood, Robert L. Alverson, Duncan Roweth, Nathan L. Wichmann
-
Patent number: 11665113Abstract: A system for facilitating efficient command management in a network interface controller (NIC) is provided. During operation, the system can determine, at the NIC, a trigger condition and a location in a command queue for a set of commands corresponding to the trigger condition. The command queue can be external to the NIC. The location can correspond to an end of the set of commands in the command queue. The system can then determine, at the NIC, whether the trigger condition has been satisfied. If the trigger condition is satisfied, the system can fetch a respective command of the set of commands from the command queue and issuing the command from the NIC until the location is reached, thereby bypassing locally storing the set of commands prior to the trigger condition being satisfied.Type: GrantFiled: July 28, 2021Date of Patent: May 30, 2023Assignee: Hewlett Packard Enterprise Development LPInventors: Keith D. Underwood, Duncan Roweth, Robert L. Alverson
-
Publication number: 20230035657Abstract: An apparatus is provided that includes a network interface to transmit and receive data packets over a network; a memory including one or more buffers; an arithmetic logic unit to perform arithmetic operations for organizing and combining the data packets; and a circuitry to receive, via the network interface, data packets from the network; aggregate, via the arithmetic logic unit, the received data packets in the one or more buffers at a network rate; and transmit, via the network interface, the aggregated data packets to one or more compute nodes in the network, thereby optimizing latency incurred in combining the received data packets and transmitting the aggregated data packets, and hence accelerating a bulk data allreduce operation. One embodiment provides a system and method for performing the allreduce operation. During operation, the system performs the allreduce operation by pacing network operations for enhancing performance of the allreduce operation.Type: ApplicationFiled: July 23, 2021Publication date: February 2, 2023Inventors: Keith D. Underwood, Robert L. Alverson, Duncan Roweth, Nathan L. Wichmann
-
Publication number: 20230036404Abstract: A system for facilitating efficient command management in a network interface controller (NIC) is provided. During operation, the system can determine, at the NIC, a trigger condition and a location in a command queue for a set of commands corresponding to the trigger condition. The command queue can be external to the NIC. The location can correspond to an end of the set of commands in the command queue. The system can then determine, at the NIC, whether the trigger condition has been satisfied. If the trigger condition is satisfied, the system can fetch a respective command of the set of commands from the command queue and issuing the command from the NIC until the location is reached, thereby bypassing locally storing the set of commands prior to the trigger condition being satisfied.Type: ApplicationFiled: July 28, 2021Publication date: February 2, 2023Inventors: Keith D. Underwood, Duncan Roweth, Robert L. Alverson
-
Publication number: 20220224639Abstract: Systems and methods are provided for managing multicast data transmission in a network having a plurality of switches arranged in a Dragonfly network topology, including: receiving a multicast transmission at an edge port of a switch and identifying the transmission as a network multicast transmission; creating an entry in a multicast table within the switch; routing the multicast transmission across the network to a plurality of destinations via a plurality of links, wherein at each of the links the multicast table is referenced to determine to which ports the multicast transmission should be forwarded; and changing, when necessary, the virtual channel used by each copy of the multicast transmission as the copy progresses through the network.Type: ApplicationFiled: March 23, 2020Publication date: July 14, 2022Inventors: Edwin L. Froese, Robert L. Alverson, Konstantinos Fragkiadakis
-
Publication number: 20220217073Abstract: Systems and methods of routing a data communication across a network having a plurality switches are provided by monitoring the operation of the plurality of global links to determine which of the plurality of global links provide working paths. A routing table indicative of a status for the plurality of links is maintained, where the routing table provides weighting for each of the working paths. When routing, a link using a weighted pseudo-random selection from the choices available in the routing table is selected. Routing along one of the working paths commensurate with the selected link is performed, and the weighting is updated based upon the operation of the plurality of links.Type: ApplicationFiled: March 23, 2020Publication date: July 7, 2022Inventors: Duncan Roweth, Robert L. Alverson, Edwin L. Froese
-
Publication number: 20220210094Abstract: 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: ApplicationFiled: March 23, 2020Publication date: June 30, 2022Inventors: 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: 20220200897Abstract: A network interface controller (NIC) capable of efficient management of non-idempotent operations is provided. The NIC can be equipped with a network interface, storage management logic block, and an operation management logic block. During operation, the network interface can receive a request for an operation from a remote device. The storage management logic block can store, in a local data structure, outcome of operations executed by the NIC. The operation management logic block can determine whether the NIC has previously executed the operation. If the NIC has previously executed the operation, the operation management logic block can obtain an outcome of the operation from the data structure and generate a response comprising the obtained outcome for responding to the request.Type: ApplicationFiled: March 23, 2020Publication date: June 23, 2022Inventors: Duncan Roweth, Robert L. Alverson, Albert Cheng, Timothy J. Johnson
-
Patent number: 10129329Abstract: An improved method for the prevention of deadlock in a massively parallel processor (MPP) system wherein, prior to a process sending messages to another process running on a remote processor, the process allocates space in a deadlock-avoidance FIFO. The allocated space provides a “landing zone” for requests that the software process (the application software) will subsequently issue using a remote-memory-access function. In some embodiments, the deadlock-avoidance (DLA) function provides two different deadlock-avoidance schemes: controlled discard and persistent reservation. In some embodiments, the software process determines which scheme will be used at the time the space is allocated.Type: GrantFiled: October 13, 2015Date of Patent: November 13, 2018Assignee: Cray Inc.Inventors: Edwin L. Froese, Eric P. Lundberg, Igor Gorodetsky, Howard Pritchard, Charles Giefer, Robert L. Alverson, Duncan Roweth
-
Publication number: 20160077997Abstract: An improved method for the prevention of deadlock in a massively parallel processor (MPP) system wherein, prior to a process sending messages to another process running on a remote processor, the process allocates space in a deadlock-avoidance FIFO. The allocated space provides a “landing zone” for requests that the software process (the application software) will subsequently issue using a remote-memory-access function. In some embodiments, the deadlock-avoidance (DLA) function provides two different deadlock-avoidance schemes: controlled discard and persistent reservation. In some embodiments, the software process determines which scheme will be used at the time the space is allocated.Type: ApplicationFiled: October 13, 2015Publication date: March 17, 2016Inventors: Edwin L. Froese, Eric P. Lundberg, Igor Gorodetsky, Howard Pritchard, Charles Giefer, Robert L. Alverson, Duncan Roweth
-
Patent number: 9160607Abstract: An improved method for the prevention of deadlock in a massively parallel processor (MPP) system wherein, prior to a process sending messages to another process running on a remote processor, the process allocates space in a deadlock-avoidance FIFO. The allocated space provides a “landing zone” for requests that the software process (the application software) will subsequently issue using a remote-memory-access function. In some embodiments, the deadlock-avoidance (DLA) function provides two different deadlock-avoidance schemes: controlled discard and persistent reservation. In some embodiments, the software process determines which scheme will be used at the time the space is allocated.Type: GrantFiled: March 12, 2013Date of Patent: October 13, 2015Assignee: Cray Inc.Inventors: Edwin L. Froese, Eric P. Lundberg, Igor Gorodetsky, Howard Pritchard, Charles Giefer, Robert L. Alverson, Duncan Roweth
-
Patent number: 7984453Abstract: An availability system is provided that includes a hierarchy of controllers for providing event notifications relating to availability of components of a scalable MPP system. A controller receives a subscription from a child controller that identifies an event type and a generator. The controller stores in a subscription store an indication that the subscription has been received from the child controller. When a parent controller has not yet been notified of a subscription with a matching event type and generator as indicated by the subscription store, the controller sends the subscription to the parent controller. When the parent controller has already been notified of a subscription with a matching event type and generator as indicated by the subscription store, the controller suppresses the sending of the subscription to the parent controller.Type: GrantFiled: September 18, 2007Date of Patent: July 19, 2011Assignee: Cray Inc.Inventors: Gail A. Alverson, Robert L. Alverson, Daniel C. Duval, Eric A. Hoffman, Laurence S. Kaplan, Matthew Kelly, Kazuya Okubo, Mark Swan, Asaph Zemach
-
Publication number: 20080134213Abstract: An availability system is provided that includes a hierarchy of controllers for providing event notifications relating to availability of components of a scalable MPP system. A controller receives a subscription from a child controller that identifies an event type and a generator. The controller stores in a subscription store an indication that the subscription has been received from the child controller. When a parent controller has not yet been notified of a subscription with a matching event type and generator as indicated by the subscription store, the controller sends the subscription to the parent controller. When the parent controller has already been notified of a subscription with a matching event type and generator as indicated by the subscription store, the controller suppresses the sending of the subscription to the parent controller.Type: ApplicationFiled: September 18, 2007Publication date: June 5, 2008Inventors: Gail A. Alverson, Robert L. Alverson, Daniel C. Duval, Eric A. Hoffman, Laurence S. Kaplan, Matthew Kelly, Kazuya Okubo, Mark Swan, Asaph Zemach
-
Patent number: 6338125Abstract: 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: GrantFiled: December 23, 1998Date of Patent: January 8, 2002Assignee: Cray Inc.Inventors: Andrew S. Kopser, Robert L. Alverson