Patents by Inventor Rabin A. Sugumar

Rabin A. Sugumar 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: 8549231
    Abstract: Provided is a method, which may be performed on a computer, for prefetching data over an interface. The method may include receiving a first data prefetch request for first data of a first data size stored at a first physical address corresponding to a first virtual address. The first data prefetch request may include second data specifying the first virtual address and third data specifying the first data size. The first virtual address and the first data size may define a first virtual address range. The method may also include converting the first data prefetch request into a first data retrieval request. To convert the first data prefetch request into a first data retrieval request the first virtual address specified by the second data may be translated into the first physical address. The method may further include issuing the first data retrieval request at the interface, receiving the first data at the interface and storing at least a portion of the received first data in a cache.
    Type: Grant
    Filed: January 8, 2010
    Date of Patent: October 1, 2013
    Assignee: Oracle America, Inc.
    Inventors: Rabin A. Sugumar, Bjørn Dag Johnsen, Ben Sum
  • Patent number: 8537828
    Abstract: An interface device for a compute node in a computer cluster which performs Message Passing Interface (MPI) header matching using parallel matching units. The interface device comprises a memory that stores posted receive queues and unexpected queues. The posted receive queues store receive requests from a process executing on the compute node. The unexpected queues store headers of send requests (e.g., from other compute nodes) that do not have a matching receive request in the posted receive queues. The interface device also comprises a plurality of hardware pipelined matcher units. The matcher units perform header matching to determine if a header in the send request matches any headers in any of the plurality of posted receive queues. Matcher units perform the header matching in parallel. In other words, the plural matching units are configured to search the memory concurrently to perform header matching.
    Type: Grant
    Filed: June 6, 2012
    Date of Patent: September 17, 2013
    Assignee: Oracle America, Inc.
    Inventors: Rabin A. Sugumar, Lars Paul Huse, Bjørn Dag Johnsen
  • Publication number: 20130007181
    Abstract: A method for offloading computation flexibly to a communication adapter includes receiving a message that includes a procedure image identifier associated with a procedure image of a host application, determining a procedure image and a communication adapter processor using the procedure image identifier, and forwarding the first message to the communication adapter processor configured to execute the procedure image. The method further includes executing, on the communication adapter processor independent of a host processor, the procedure image in communication adapter memory by acquiring a host memory latch for a memory block in host memory, reading the memory block in the host memory after acquiring the host memory latch, manipulating, by executing the procedure image, the memory block in the communication adapter memory to obtain a modified memory block, committing the modified memory block to the host memory, and releasing the host memory latch.
    Type: Application
    Filed: June 30, 2011
    Publication date: January 3, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Rabin A. Sugumar, David Brower
  • Publication number: 20120243542
    Abstract: An interface device for a compute node in a computer cluster which performs Message Passing Interface (MPI) header matching using parallel matching units. The interface device comprises a memory that stores posted receive queues and unexpected queues. The posted receive queues store receive requests from a process executing on the compute node. The unexpected queues store headers of send requests (e.g., from other compute nodes) that do not have a matching receive request in the posted receive queues. The interface device also comprises a plurality of hardware pipelined matcher units. The matcher units perform header matching to determine if a header in the send request matches any headers in any of the plurality of posted receive queues. Matcher units perform the header matching in parallel. In other words, the plural matching units are configured to search the memory concurrently to perform header matching.
    Type: Application
    Filed: June 6, 2012
    Publication date: September 27, 2012
    Inventors: Rabin A. Sugumar, Lars Paul Huse, Bjørn Dag Johnsen
  • Patent number: 8249072
    Abstract: An interface device for a compute node in a computer cluster which performs Message Passing Interface (MPI) header matching using parallel matching units. The interface device comprises a memory that stores posted receive queues and unexpected queues. The posted receive queues store receive requests from a process executing on the compute node. The unexpected queues store headers of send requests (e.g., from other compute nodes) that do not have a matching receive request in the posted receive queues. The interface device also comprises a plurality of hardware pipelined matcher units. The matcher units perform header matching to determine if a header in the send request matches any headers in any of the plurality of posted receive queues. Matcher units perform the header matching in parallel. In other words, the plural matching units are configured to search the memory concurrently to perform header matching.
    Type: Grant
    Filed: March 12, 2009
    Date of Patent: August 21, 2012
    Assignee: Oracle America, Inc.
    Inventors: Rabin A. Sugumar, Lars Paul Huse, Bjørn Dag Johnsen
  • Patent number: 8234407
    Abstract: A system comprising a compute node and coupled network adapter (NA) that allows the NA to directly use CPU virtual addresses without pinning pages in system memory. The NA performs memory accesses in response to requests from various sources. Each request source is assigned to context. Each context has a descriptor that controls the address translation performed by the NA. When the CPU wants to update translation information it sends a synchronization request to the NA that causes the NA to stop fetching a category of requests associated with the information update. The category may be requests associated with a context or a page address. Once the NA determines that all the fetched requests in the category have completed it notifies the CPU and the CPU performs the information update. Once the update is complete, the CPU clears the synchronization request and the NA starts fetching requests in the category.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: July 31, 2012
    Assignee: Oracle America, Inc.
    Inventors: Rabin A. Sugumar, Robert W. Wittosch, Bjørn Dag Johnsen, William M. Ortega
  • Patent number: 8122301
    Abstract: A network adaptor which performs CPU loads and stores to remote memory over network fabrics. The network adaptor receives a transfer request from a compute node and converts the request to a remote transfer request, which is transmitted to the network. The network adaptor then monitors the network connection for a remote completion response. When the network adaptor receives the remote completion response within a specific time period, the network adaptor transmits a first completion response to the compute node. If the network adaptor does not receive the remote completion response within the specific time period, the network adaptor transmits an “early completion response” to the compute node. The network adaptor continues to monitor for the actual response. This allows the compute node to continue processing without having to wait for the actual response to be received. The method handles small payloads efficiently and also accounts for long completion delays.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: February 21, 2012
    Assignee: Oracle America, Inc.
    Inventors: Bjørn Dag Johnsen, Rabin A. Sugumar, Ola Torudbakken
  • Patent number: 8095617
    Abstract: Managing operations in a first compute node of a multi-computer system. A remote write may be received to a first address of a remote compute node. A first data structure entry may be created in a data structure, which may include the first address and status information indicating that the remote write has been received. Upon determining that the local cache of the first compute node has been updated with the remote write, the remote write may be issued to the remote compute node. Accordingly, the first data structure entry may be released upon completion of the remote write.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: January 10, 2012
    Assignee: Oracle America Inc.
    Inventors: Bjørn Dag Johnsen, Rabin A. Sugumar, Ben Sum, Lars Paul Huse
  • Publication number: 20110173396
    Abstract: Provided is a method, which may be performed on a computer, for prefetching data over an interface. The method may include receiving a first data prefetch request for first data of a first data size stored at a first physical address corresponding to a first virtual address. The first data prefetch request may include second data specifying the first virtual address and third data specifying the first data size. The first virtual address and the first data size may define a first virtual address range. The method may also include converting the first data prefetch request into a first data retrieval request. To convert the first data prefetch request into a first data retrieval request the first virtual address specified by the second data may be translated into the first physical address. The method may further include issuing the first data retrieval request at the interface, receiving the first data at the interface and storing at least a portion of the received first data in a cache.
    Type: Application
    Filed: January 8, 2010
    Publication date: July 14, 2011
    Inventors: Rabin A. Sugumar, Bjorn Dag Johnsen, Ben Sum
  • Publication number: 20100332908
    Abstract: A network adaptor which performs CPU loads and stores to remote memory over network fabrics. The network adaptor receives a transfer request from a compute node and converts the request to a remote transfer request, which is transmitted to the network. The network adaptor then monitors the network connection for a remote completion response. When the network adaptor receives the remote completion response within a specific time period, the network adaptor transmits a first completion response to the compute node. If the network adaptor does not receive the remote completion response within the specific time period, the network adaptor transmits an “early completion response” to the compute node. The network adaptor continues to monitor for the actual response. This allows the compute node to continue processing without having to wait for the actual response to be received. The method handles small payloads efficiently and also accounts for long completion delays.
    Type: Application
    Filed: June 30, 2009
    Publication date: December 30, 2010
    Inventors: Bjorn Dag Johnsen, Rabin A. Sugumar, Ola Torudbakken
  • Publication number: 20100332612
    Abstract: Managing operations in a first compute node of a multi-computer system. A remote write may be received to a first address of a remote compute node. A first data structure entry may be created in a data structure, which may include the first address and status information indicating that the remote write has been received. Upon determining that the local cache of the first compute node has been updated with the remote write, the remote write may be issued to the remote compute node. Accordingly, the first data structure entry may be released upon completion of the remote write.
    Type: Application
    Filed: June 30, 2009
    Publication date: December 30, 2010
    Inventors: Bjorn Dag Johnsen, Rabin A. Sugumar, Ben Sum, Lars Paul Huse
  • Publication number: 20100329275
    Abstract: A compute node with multiple transfer processes that share an Infiniband connection to send and receive messages across a network. Transfer processes are first associated with an Infiniband queue pair (QP) connection. Then send message commands associated with a transfer process are issued. This causes an Infiniband message to be generated and sent, via the QP connection, to a remote compute node corresponding to the QP. Send message commands associated with another process are also issued. This causes another Infiniband message to be generated and sent, via the same QP connection, to the same remote compute node. As mentioned, multiple processes may receive network messages received via a shared QP connection. A transfer process on a receiving compute node receives a network message through a QP connection using a receive queue. A second transfer process receives another message through the same QP connection using another receive queue.
    Type: Application
    Filed: June 30, 2009
    Publication date: December 30, 2010
    Inventors: Bjørn Dag Johnsen, Rabin A. Sugumar, Ola Torudbakken
  • Publication number: 20100332789
    Abstract: A system comprising a compute node and coupled network adapter (NA) that allows the NA to directly use CPU virtual addresses without pinning pages in system memory. The NA performs memory accesses in response to requests from various sources. Each request source is assigned to context. Each context has a descriptor that controls the address translation performed by the NA. When the CPU wants to update translation information it sends a synchronization request to the NA that causes the NA to stop fetching a category of requests associated with the information update. The category may be requests associated with a context or a page address. Once the NA determines that all the fetched requests in the category have completed it notifies the CPU and the CPU performs the information update. Once the update is complete, the CPU clears the synchronization request and the NA starts fetching requests in the category.
    Type: Application
    Filed: June 30, 2009
    Publication date: December 30, 2010
    Inventors: Rabin A. Sugumar, Robert W. Wittosch, Bjørn Dag Johnsen, William M. Ortega
  • Publication number: 20100332676
    Abstract: A system, comprising a compute node and coupled network adapter (NA), that supports improved data transfer request buffering and a more efficient method of determining the completion status of data transfer requests. Transfer requests received by the NA are stored in a first buffer then transmitted on a network interface. When significant network delays are detected and the first buffer is full, the NA sets a flag to stop software issuing transfer requests. Compliant software checks this flag before sending requests and does not issue further requests. A second NA buffer stores additional received transfer requests that were perhaps in-transit. When conditions improve the flag is cleared and the first buffer used again. Completion status is efficiently determined by grouping network transfer requests. The NA counts received requests and completed network requests for each group. Software determines if a group of requests is complete by reading a count value.
    Type: Application
    Filed: June 30, 2009
    Publication date: December 30, 2010
    Inventors: Rabin A. Sugumar, Bjørn Dag Johnsen, Lars Paul Huse, William M. Ortega
  • Publication number: 20100232448
    Abstract: An interface device for a compute node in a computer cluster which performs Message Passing Interface (MPI) header matching using parallel matching units. The interface device comprises a memory that stores posted receive queues and unexpected queues. The posted receive queues store receive requests from a process executing on the compute node. The unexpected queues store headers of send requests (e.g., from other compute nodes) that do not have a matching receive request in the posted receive queues. The interface device also comprises a plurality of hardware pipelined matcher units. The matcher units perform header matching to determine if a header in the send request matches any headers in any of the plurality of posted receive queues. Matcher units perform the header matching in parallel. In other words, the plural matching units are configured to search the memory concurrently to perform header matching.
    Type: Application
    Filed: March 12, 2009
    Publication date: September 16, 2010
    Inventors: Rabin A. Sugumar, Lars Paul Huse, Bjorn Dag Johnsen
  • Patent number: 7543132
    Abstract: A method and apparatus for improved performance for reloading translation look-aside buffers in multithreading, multi-core processors. TSB prediction is accomplished by hashing a plurality of data parameters and generating an index that is provided as an input to a predictor array to predict the TSB page size. In one embodiment of the invention, the predictor array comprises two-bit saturating up-down counters that are used to enhance the accuracy of the TSB prediction. The saturating up-down counters are configured to avoid making rapid changes in the TSB prediction upon detection of an error. Multiple misses occur before the prediction output is changed. The page size specified by the predictor index is searched first. Using the technique described herein, errors are minimized because the counter leads to the correct result at least half the time.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: June 2, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Greg F. Grohoski, Ashley Saulsbury, Paul J. Jordan, Manish Shah, Rabin A. Sugumar, Mark Debbage, Venkatesh Iyengar
  • Publication number: 20090080439
    Abstract: A server interconnect system includes a first server node operable to send and receive messages and a second server nodes operable to send and receive messages. The system further comprises a first interface unit in communication with the first server node and a second interface unit in communication with the second server node. The first interface unit has a first set of message send registers and a first set of message receive registers. Similarly, the second interface unit has a second set of message send registers and a second set of message receive registers. The server interconnect system also includes a communication switch that receives and routes a message from the first or second server nodes when either of the first or second registers indicates that a valid message is ready to be sent. A method implemented by the server interconnect system is also provided.
    Type: Application
    Filed: September 25, 2007
    Publication date: March 26, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Michael K. Wong, Rabin A. Sugumar, Stephen E. Phillips, Hugh Kurth, Suraj Sudhir, Jochen Behrens
  • Publication number: 20090083392
    Abstract: A server interconnect system for sending data includes a first server node and a second server node. Each server node is operable to send and receive data. The interconnect system also includes a first and second interface unit. The first interface unit is in communication with the first server node and has one or more RDMA doorbell registers. Similarly, the second interface unit is in communication with the second server node and has one or more RDMA doorbell registers. The system also includes a communication switch that is operable to receive and route data from the first or second server nodes using a RDMA read and/or an RDMA write when either of the first or second RDMA doorbell registers indicates that data is ready to be sent or received.
    Type: Application
    Filed: September 25, 2007
    Publication date: March 26, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Michael K. Wong, Rabin A. Sugumar, Stephen E. Phillips, Hugh Kurth, Suraj Sudhir, Jochen Behrens
  • Patent number: 7380110
    Abstract: An efficient branch prediction structure is described that bifurcates a branch prediction structure into at least two portions where information stored in the second portion is aliased amongst multiple entries of the first portion. In this way, overall storage (and layout area) can be reduced and scaling with a branch prediction structure that includes a (2N)K×1 branch direction entries and a (N/2)K×1 branch prediction qualifier entries is less dramatic than conventional techniques. An efficient branch prediction structure includes entries for branch direction indications and entries for branch prediction qualifier indications. The branch direction indication entries are more numerous than the branch prediction qualifier entries.
    Type: Grant
    Filed: September 11, 2003
    Date of Patent: May 27, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Robert D. Nuckolls, Rabin A. Sugumar, Chandra M. R. Thimmannagari
  • Patent number: 7373489
    Abstract: An apparatus and method for floating point exception prediction and recovery. In one embodiment, a processor may include instruction fetch logic configured to issue a first instruction from one of a plurality of threads and to successively issue a second instruction from another one of the plurality of threads. The processor may also include floating-point arithmetic logic configured to execute a floating-point instruction issued by the instruction fetch logic from a given one of the plurality of threads, and further configured to determine whether the floating-point instruction generates an exception, and may further include exception prediction logic configured to predict whether the floating-point instruction will generate the exception, where the prediction occurs before the floating-point arithmetic logic determines whether the floating-point instruction generates the exception.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: May 13, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Jeffrey S. Brooks, Paul J. Jordan, Rabin A. Sugumar