Patents by Inventor Gregory M. Thorson

Gregory M. Thorson 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: 20210037107
    Abstract: A network device configured to perform scalable, in-network computations is described. The network device is configured to process pull requests and/or push requests from a plurality of endpoints connected to the network. A collective communication primitive from a particular endpoint can be received at a network device. The collective communication primitive is associated with a multicast region of a shared global address space and is mapped to a plurality of participating endpoints. The network device is configured to perform an in-network computation based on information received from the participating endpoints before forwarding a response to the collective communication primitive back to one or more of the participating endpoints. The endpoints can inject pull requests (e.g., load commands) and/or push requests (e.g., store commands) into the network. A multicast capability enables tasks, such as a reduction operation, to be offloaded to hardware in the network device.
    Type: Application
    Filed: July 24, 2020
    Publication date: February 4, 2021
    Inventors: Benjamin Klenk, Nan Jiang, Larry Robert Dennison, Gregory M. Thorson
  • Publication number: 20190206454
    Abstract: A memory structure having 2m-1 read ports allowing for concurrent access to n data entries can be constructed using three memory structures each having 2m-1 read ports. The three memory structures include two structures providing access to half of the n data entries, and a difference structure providing access to difference data between the halves of the n data entries. Each pair of the 2m ports is connected to a respective port of each of the 2m-1-port data structures, such that each port of the part can access data entries of a first half of the n data entries either by accessing the structure storing that half directly, or by accessing both the difference structure and the structure containing the second half to reconstruct the data entries of the first half, thus allowing for a pair of ports to concurrently access any of the stored data entries in parallel.
    Type: Application
    Filed: September 14, 2018
    Publication date: July 4, 2019
    Inventors: Jonathan Alexander Ross, Gregory M. Thorson
  • Patent number: 9514092
    Abstract: A system and method for interconnecting a plurality of processing element nodes within a scalable multiprocessor system is provided. Each processing element node includes at least one processor and memory. A scalable interconnect network includes physical communication links interconnecting the processing element nodes in a cluster. A first set of routers in the scalable interconnect network route messages between the plurality of processing element nodes. One or more metarouters in the scalable interconnect network route messages between the first set of routers so that each one of the routers in a first cluster is connected to all other clusters through one or more metarouters.
    Type: Grant
    Filed: April 29, 2013
    Date of Patent: December 6, 2016
    Assignee: Silicon Graphics International Corp.
    Inventors: Martin M. Deneroff, Gregory M. Thorson, Randal S. Passint
  • Publication number: 20160337229
    Abstract: A system and method for interconnecting a plurality of processing element nodes within a scalable multiprocessor system is provided. Each processing element node includes at least one processor and memory. A scalable interconnect network includes physical communication links interconnecting the processing element nodes in a cluster. A first set of routers in the scalable interconnect network route messages between the plurality of processing element nodes. One or more metarouters in the scalable interconnect network route messages between the first set of routers so that each one of the routers in a first cluster is connected to all other clusters through one or more metarouters.
    Type: Application
    Filed: July 26, 2016
    Publication date: November 17, 2016
    Inventors: Martin M. Deneroff, Gregory M. Thorson, Randal S. Passint
  • Publication number: 20130246653
    Abstract: A system and method for interconnecting a plurality of processing element nodes within a scalable multiprocessor system is provided. Each processing element node includes at least one processor and memory. A scalable interconnect network includes physical communication links interconnecting the processing element nodes in a cluster. A first set of routers in the scalable interconnect network route messages between the plurality of processing element nodes. One or more metarouters in the scalable interconnect network route messages between the first set of routers so that each one of the routers in a first cluster is connected to all other clusters through one or more metarouters.
    Type: Application
    Filed: April 29, 2013
    Publication date: September 19, 2013
    Inventors: Martin M. Deneroff, Gregory M. Thorson, Randal S. Passint
  • Patent number: 8498315
    Abstract: A system for establishing a primary master node in a computer system includes a plurality of nodes, each node configured with an update interval, a hierarchy of master nodes selected from the plurality of nodes, wherein the master nodes are configured to synchronize the plurality of nodes with a clock value by sending out its clock value when its update interval has expired, wherein each node resets its update interval when it receives the clock value, a primary master node selected from the hierarchy of master nodes based on its update interval, and at least one backup master node selected from the hierarchy of master nodes based on its update interval, the backup master node configured to become the primary master node when the plurality of nodes do not receive the clock value after a predetermined period of time has elapsed.
    Type: Grant
    Filed: October 10, 2011
    Date of Patent: July 30, 2013
    Assignee: Silicon Graphics International Corp.
    Inventors: Paul R. Frank, Gregory M. Thorson, Russell L. Nicol, Donglai Dai, Joseph M. Placek
  • Patent number: 8433816
    Abstract: A system and method for interconnecting a plurality of processing element nodes within a scalable multiprocessor system is provided. Each processing element node includes at least one processor and memory. A scalable interconnect network includes physical communication links interconnecting the processing element nodes in a cluster. A first set of routers in the scalable interconnect network route messages between the plurality of processing element nodes. One or more metarouters in the scalable interconnect network route messages between the first set of routers so that each one of the routers in a first cluster is connected to all other clusters through one or more metarouters.
    Type: Grant
    Filed: May 16, 2008
    Date of Patent: April 30, 2013
    Assignee: Silicon Graphics International Corp.
    Inventors: Martin M. Deneroff, Gregory M. Thorson, Randal S. Passint
  • Patent number: 8239566
    Abstract: Processing transaction requests in a shared memory multi-processor computer network is described. A transaction request is received at a servicing agent from a requesting agent. The transaction request includes a request priority associated with a transaction urgency generated by the requesting agent. The servicing agent provides an assigned priority to the transaction request based on the request priority, and then compares the assigned priority to an existing service level at the servicing agent to determine whether to complete or reject the transaction request. A reply message from the servicing agent to the requesting agent is generated to indicate whether the transaction request was completed or rejected, and to provide reply fairness state data for rejected transaction requests.
    Type: Grant
    Filed: February 28, 2008
    Date of Patent: August 7, 2012
    Assignee: Silicon Graphics International, Corp.
    Inventors: Eric C. Fromm, Gregory M. Thorson
  • Publication number: 20120089709
    Abstract: A system for establishing a primary master node in a computer system includes a plurality of nodes, each node configured with an update interval, a hierarchy of master nodes selected from the plurality of nodes, wherein the master nodes are configured to synchronize the plurality of nodes with a clock value by sending out its clock value when its update interval has expired, wherein each node resets its update interval when it receives the clock value, a primary master node selected from the hierarchy of master nodes based on its update interval, and at least one backup master node selected from the hierarchy of master nodes based on its update interval, the backup master node configured to become the primary master node when the plurality of nodes do not receive the clock value after a predetermined period of time has elapsed.
    Type: Application
    Filed: October 10, 2011
    Publication date: April 12, 2012
    Inventors: Paul R. Frank, Gregory M. Thorson, Russell L. Nicol, Donglai Dai, Joseph M. Placek
  • Patent number: 8036247
    Abstract: A system and method of determining a master node in a computer system having a plurality of nodes includes establishing a hierarchy of master nodes from the plurality of nodes, wherein the master node synchronizes the plurality of nodes in the computer system with a clock value and determining the master node from the hierarchy of master nodes. A system and method of synchronizing a plurality of nodes in a computer system includes determining a master node from the plurality of nodes, sending a clock value from the master node to neighbor nodes of the master node, synchronizing a node clock in each node receiving the clock value if a predetermined period of time has elapsed in each receiving node, distributing a node clock value from each synchronized node to neighbor nodes of the synchronized node, and repeating synchronizing and distributing, wherein synchronizing a node clock in each node receiving the clock value includes each node receiving the node clock value.
    Type: Grant
    Filed: January 5, 2007
    Date of Patent: October 11, 2011
    Inventors: Paul R. Frank, Gregory M. Thorson, Russell L. Nicol, Donglai Dai, Joseph M. Placek
  • Publication number: 20090259696
    Abstract: A method and apparatus for controlling access by a set of accessing nodes to memory of a home node (in a multimode computer system) determines that each node in the set of nodes has accessed the memory, and forwards a completion message to each node in the set of nodes after it is determined that each node has accessed the memory. The completion message has data indicating that each node in the set of nodes has accessed the memory of the home node.
    Type: Application
    Filed: December 8, 2008
    Publication date: October 15, 2009
    Applicant: SILICON GRAPHICS, INC.
    Inventors: John Carter, Randal S. Passint, Donglai Dai, Zhen Fang, Lixin Zhang, Gregory M. Thorson
  • Publication number: 20090222821
    Abstract: Processing transaction requests in a shared memory multi-processor computer network is described. A transaction request is received at a servicing agent from a requesting agent. The transaction request includes a request priority associated with a transaction urgency generated by the requesting agent. The servicing agent provides an assigned priority to the transaction request based on the request priority, and then compares the assigned priority to an existing service level at the servicing agent to determine whether to complete or reject the transaction request. A reply message from the servicing agent to the requesting agent is generated to indicate whether the transaction request was completed or rejected, and to provide reply fairness state data for rejected transaction requests.
    Type: Application
    Filed: February 28, 2008
    Publication date: September 3, 2009
    Applicant: SILICON GRAPHICS, INC.
    Inventors: Eric C. Fromm, Gregory M. Thorson
  • Publication number: 20090113172
    Abstract: A system and method for interconnecting a plurality of processing element nodes within a scalable multiprocessor system is provided. Each processing element node includes at least one processor and memory. A scalable interconnect network includes physical communication links interconnecting the processing element nodes in a cluster. A first set of routers in the scalable interconnect network route messages between the plurality of processing element nodes. One or more metarouters in the scalable interconnect network route messages between the first set of routers so that each one of the routers in a first cluster is connected to all other clusters through one or more metarouters.
    Type: Application
    Filed: May 16, 2008
    Publication date: April 30, 2009
    Inventors: Martin M. Deneroff, Gregory M. Thorson, Randal S. Passint
  • Patent number: 7464115
    Abstract: A method and apparatus for controlling access by a set of accessing nodes to memory of a home node (in a multimode computer system) determines that each node in the set of nodes has accessed the memory, and forwards a completion message to each node in the set of nodes after it is determined that each node has accessed the memory. The completion message has data indicating that each node in the set of nodes has accessed the memory of the home node.
    Type: Grant
    Filed: April 25, 2005
    Date of Patent: December 9, 2008
    Assignee: Silicon Graphics, Inc.
    Inventors: John Carter, Randal S. Passint, Donglai Dai, Zhen Fang, Lixin Zhang, Gregory M. Thorson
  • Publication number: 20080168182
    Abstract: A system and method of determining a master node in a computer system having a plurality of nodes includes establishing a hierarchy of master nodes from the plurality of nodes, wherein the master node synchronizes the plurality of nodes in the computer system with a clock value and determining the master node from the hierarchy of master nodes. A system and method of synchronizing a plurality of nodes in a computer system includes determining a master node from the plurality of nodes, sending a clock value from the master node to neighbor nodes of the master node, synchronizing a node clock in each node receiving the clock value if a predetermined period of time has elapsed in each receiving node, distributing a node clock value from each synchronized node to neighbor nodes of the synchronized node, and repeating synchronizing and distributing, wherein synchronizing a node clock in each node receiving the clock value includes each node receiving the node clock value.
    Type: Application
    Filed: January 5, 2007
    Publication date: July 10, 2008
    Applicant: SILICON GRAPHICS, INC.
    Inventors: Paul R. Frank, Gregory M. Thorson, Russell L. Nicol, Donglai Dai, Joseph M. Placek
  • Patent number: 7248635
    Abstract: The present invention is directed toward a communications channel comprising a link level protocol, a driver, a receiver, and a canceller/equalizer. The link level protocol provides logic for DC-free signal encoding and recovery as well as supporting many features including CRC error detection and message resend to accommodate infrequent bit errors across the medium. The canceller/equalizer provides equalization for destabilized data signals and also provides simultaneous bi-directional data transfer. The receiver provides bit deskewing by removing synchronization error, or skewing, between data signals. The driver provides impedance controlling by monitoring the characteristics of the communications medium, like voltage or temperature, and providing a matching output impedance in the signal driver so that fewer distortions occur while the data travels across the communications medium.
    Type: Grant
    Filed: July 20, 2000
    Date of Patent: July 24, 2007
    Assignee: Silicon Graphics, Inc.
    Inventors: Michael R. Arneson, Terrance L. Bowman, Frank N. Cornett, John F. DeRyckere, Brian T. Hillert, Philip N. Jenkins, Nan Ma, Joseph M. Placek, Rodney Ruesch, Gregory M. Thorson
  • Patent number: 7007097
    Abstract: A method and system for communicating to a sender an availability of receiving a new message includes providing buffers having at least one corresponding slot for storing a message and providing a credit signal that communicates to the sender only when all of the buffers have at least one of the corresponding slot available for storing a new message. Each of the buffers is monitored for whether at least one of the corresponding slots is available for storing the new message. A corresponding receiver counter is provided for each of the buffers. Each receiver counter is decremented when all of the buffers have at least one corresponding slot available for storing the new message. Each of the buffers is configured to receive a corresponding particular message type. The particular message type of the new message is determined. The new message is loaded into the corresponding slot of one of the buffers which is configured for receiving the particular message type of the new message.
    Type: Grant
    Filed: July 20, 2001
    Date of Patent: February 28, 2006
    Assignee: Silicon Graphics, Inc.
    Inventors: William A. Huffman, Michael L. Anderson, Gregory M. Thorson, Susan Garcia, Daniel L. Kunkel
  • Patent number: 6973559
    Abstract: A system and method for interconnecting a plurality of processing element nodes within a scalable multiprocessor system is provided. Each processing element node includes at least one processor and memory. A scalable interconnect network includes physical communication links interconnecting the processing element nodes in a cluster. A first set of routers in the scalable interconnect network route messages between the plurality of processing element nodes. One or more metarouters in the scalable interconnect network route messages between the first set of routers so that each one of the routers in a first cluster is connected to all other clusters through one or more metarouters.
    Type: Grant
    Filed: September 29, 1999
    Date of Patent: December 6, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: Martin M. Deneroff, Gregory M. Thorson, Randal S. Passint
  • Patent number: 6831924
    Abstract: A variable communication systems comprising a plurality of transceivers and a control circuit connected to the transceivers to configure the transceivers to operate in a bi-directional mode and a uni-directional mode at different times using different transfer methods to transfer data.
    Type: Grant
    Filed: July 20, 2000
    Date of Patent: December 14, 2004
    Assignee: Silicon Graphics, Inc.
    Inventors: Frank N. Cornett, Philip N. Jenkins, Terrance L. Bowman, Joseph M. Placek, Gregory M. Thorson
  • Patent number: 6795900
    Abstract: A multiprocessor system and method includes a processing sub-system including a plurality of processors in a processor memory system. A network is operable to couple the processing sub-system to an input/output (I/O) sub-system. The I/O sub-system includes a plurality of I/O interfaces each operable to couple a peripheral device to the multiprocessor system. The I/O interfaces each include a local memory operable to store exclusive read-only copies of data from the processor memory system for use by a corresponding peripheral device.
    Type: Grant
    Filed: July 20, 2001
    Date of Patent: September 21, 2004
    Assignee: Silicon Graphics, Inc.
    Inventors: Steven C. Miller, Jeffrey S. Kuskin, William A. Huffman, Gregory M. Thorson