Patents by Inventor Simon H. Kahan
Simon H. Kahan 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: 7904685Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.Type: GrantFiled: June 12, 2003Date of Patent: March 8, 2011Assignee: Cray Inc.Inventors: Gail A. Alverson, Charles David Callahan, II, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
-
Patent number: 7764629Abstract: A method and system for finding connected components of a graph using a parallel algorithm is provided. The connected nodes system performs a search algorithm in parallel to identify subgraphs of the graph in which the nodes of the subgraph are connected. The connected nodes system also identifies which subgraphs have at least one edge between their nodes. Thus, the connected nodes system effectively generates a hyper-graph with the subgraphs as hyper-nodes that are connected when subgraphs have at least one edge between their nodes. The connected nodes system may then perform a conventional connected component algorithm on the hyper-graph to identify the connected hyper-nodes, which effectively identifies the connected nodes of the underlying graphs.Type: GrantFiled: August 11, 2005Date of Patent: July 27, 2010Assignee: Cray Inc.Inventor: Simon H. Kahan
-
Patent number: 7624246Abstract: A method and system for allocating and de-allocating memory for threads of an application is provided. An allocation system provides a heap for tracking free tokens of memory that are available for allocation to threads of an application. A heap tracks collections of free tokens of the fixed token size. The allocation system receives memory requests from threads that specify an allocation type of allocate or de-allocate. When multiple memory requests are pending concurrently from multiple threads, then the allocation system attempts to combine memory requests of the same type and of the same token size that are received from different threads. One of the threads is responsible for updating the heap to effect the two memory requests. The allocation system combines multiple memory requests so that the heap need only be accessed once to allocate or de-allocate multiple tokens.Type: GrantFiled: October 20, 2006Date of Patent: November 24, 2009Assignee: Cray Inc.Inventors: Petr Konecny, Simon H. Kahan
-
Patent number: 7558889Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evalution of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of fowarding to avoid checking for an end of a buffer, use of sentinel work to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.Type: GrantFiled: October 30, 2003Date of Patent: July 7, 2009Assignee: Cray Inc.Inventors: Gail A. Alverson, Charles David Callahan, II, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
-
Patent number: 7558910Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.Type: GrantFiled: October 30, 2003Date of Patent: July 7, 2009Assignee: Cray Inc.Inventors: Gail A. Alverson, Charles David Callahan, II, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
-
Patent number: 7165150Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.Type: GrantFiled: October 30, 2003Date of Patent: January 16, 2007Assignee: Cray Inc.Inventors: Gail A. Alverson, Charles David Callahan, II, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
-
Patent number: 7117330Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.Type: GrantFiled: June 12, 2003Date of Patent: October 3, 2006Assignee: Cray Inc.Inventors: Gail A. Alverson, Charles David Callahan, II, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
-
Patent number: 6862635Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.Type: GrantFiled: July 27, 1999Date of Patent: March 1, 2005Assignee: Cray Inc.Inventors: Gail A. Alverson, Charles David Callahan, II, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
-
Publication number: 20040098721Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.Type: ApplicationFiled: October 30, 2003Publication date: May 20, 2004Inventors: Gail A. Alverson, Charles David Callahan, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
-
Publication number: 20040093605Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evalution of values, parallel access of multiple threads to a list synchronized and unsynchronized access to a data buffer, use of fowarding to avoid checking for an end of a buffer, use of sentinel work to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.Type: ApplicationFiled: October 29, 2003Publication date: May 13, 2004Inventors: Gail A. Alverson, Charles David Callahan, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith