Patents by Inventor Brian D. Koblenz

Brian D. Koblenz 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: 6952827
    Abstract: A method and system that prepares a task for being swapped out from processor utilization that is executing on a computer with multiple processors that each support multiple streams. The task has one or more teams of threads, where each team represents threads executing on a single processor. The task designates, for each stream, one stream that is executing a thread as a team master stream. The task designates one stream that is executing a thread as a task master stream. For each team master stream, the task notifies the operating system that the team is ready to be swapped out when each other thread of the team has saved its state and has quit its stream. Finally, for the task master stream, the task notifies the operating system that the task is ready to be swapped when it has saved its state and each of the other teams have notified the operating system that that team is ready to be swapped out.
    Type: Grant
    Filed: November 13, 1998
    Date of Patent: October 4, 2005
    Assignee: Cray Inc.
    Inventors: Gail A. Alverson, Charles David Callahan, II, Susan L. Coatney, Brian D. Koblenz, Richard D. Korry, Burton J. Smith
  • Patent number: 6862635
    Abstract: 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: Grant
    Filed: July 27, 1999
    Date of Patent: March 1, 2005
    Assignee: Cray Inc.
    Inventors: Gail A. Alverson, Charles David Callahan, II, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
  • Publication number: 20040098721
    Abstract: 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: Application
    Filed: October 30, 2003
    Publication date: May 20, 2004
    Inventors: Gail A. Alverson, Charles David Callahan, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
  • Publication number: 20040093605
    Abstract: 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: Application
    Filed: October 29, 2003
    Publication date: May 13, 2004
    Inventors: Gail A. Alverson, Charles David Callahan, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
  • Publication number: 20040093603
    Abstract: A method and system that prepares a task for being swapped out from processor utilization that is executing on a computer with multiple processors that each support multiple streams. The task has one or more teams of threads, where each team represents threads executing on a single processor. The task designates, for each stream that is executing a thread, one stream as a team master stream and one stream as a task master stream. For each team master stream, the task notifies the operating system that the team is ready to be swapped out when each other thread of the team has saved its state and has quit its stream. Finally, for the task master stream, the task notifies the operating system that the task is ready to be swapped when it has saved its state and each other team has notified that it is ready to be swapped out.
    Type: Application
    Filed: September 16, 2003
    Publication date: May 13, 2004
    Inventors: Gail A. Alverson, Charles David Callahan, Susan L. Coatney, Brian D. Koblenz, Richard D. Korry, Burton J. Smith
  • Publication number: 20040088711
    Abstract: A method and system that prepares a task for being swapped out from processor utilization that is executing on a computer with multiple processors that each support multiple streams. The task has one or more teams of threads, where each team represents threads executing on a single processor. The task designates, for each stream that is executing a thread, one stream as a team master stream and one stream as a task master stream. For each team master stream, the task notifies the operating system that the team is ready to be swapped out when each other thread of the team has saved its state and has quit its stream. Finally, for the task master stream, the task notifies the operating system that the task is ready to be swapped when it has saved its state and each other team has notified that it is ready to be swapped out.
    Type: Application
    Filed: September 10, 2003
    Publication date: May 6, 2004
    Inventors: Gail A. Alverson, Charles David Callahan, Susan L. Coatney, Brian D. Koblenz, Richard D. Korry, Burton J. Smith
  • Publication number: 20040078795
    Abstract: A method and system that prepares a task for being swapped out from processor utilization that is executing on a computer with multiple processors that each support multiple streams. The task has one or more teams of threads, where each team represents threads executing on a single processor. The task designates, for each stream that is executing a thread, one stream as a team master stream and one stream as a task master stream. For each team master stream, the task notifies the operating system that the team is ready to be swapped out when each other thread of the team has saved its state and has quit its stream. Finally, for the task master stream, the task notifies the operating system that the task is ready to be swapped when it has saved its state and each other team has notified that it is ready to be swapped out.
    Type: Application
    Filed: October 10, 2003
    Publication date: April 22, 2004
    Inventors: Gail A. Alverson, Charles David Callahan, Susan L. Coatney, Brian D. Koblenz, Richard D. Korry, Burton J. Smith
  • Publication number: 20040064818
    Abstract: A method and system that prepares a task for being swapped out from processor utilization that is executing on a computer with multiple processors that each support multiple streams. The task has one or more teams of threads, where each team represents threads executing on a single processor. The task designates, for each stream that is executing a thread, one stream as a team master stream and one stream as a task master stream. For each team master stream, the task notifies the operating system that the team is ready to be swapped out when each other thread of the team has saved its state and has quit its stream. Finally, for the task master stream, the task notifies the operating system that the task is ready to be swapped when it has saved its state and each other team has notified that it is ready to be swapped out.
    Type: Application
    Filed: September 16, 2003
    Publication date: April 1, 2004
    Inventors: Gail A. Alverson, Charles David Callahan, Susan L. Coatney, Brian D. Koblenz, Richard D. Korry, Burton J. Smith
  • Publication number: 20040064816
    Abstract: A method and system that prepares a task for being swapped out from processor utilization that is executing on a computer with multiple processors that each support multiple streams. The task has one or more teams of threads, where each team represents threads executing on a single processor. The task designates, for each stream that is executing a thread, one stream as a team master stream and one stream as a task master stream. For each team master stream, the task notifies the operating system that the team is ready to be swapped out when each other thread of the team has saved its state and has quit its stream. Finally, for the task master stream, the task notifies the operating system that the task is ready to be swapped when it has saved its state and each other team has notified that it is ready to be swapped out.
    Type: Application
    Filed: October 1, 2003
    Publication date: April 1, 2004
    Inventors: Gail A. Alverson, Charles David Callahan, Susan L. Coatney, Brian D. Koblenz, Richard D. Korry, Burton J. Smith
  • Patent number: 6665688
    Abstract: A replay method and system for monitoring the generating of a data set from input data sets and, when the data set is subsequently accessed, automatically regenerating the data set if the data set is out-of-date. The replay system only regenerates those input data sets that are determined to be out-of-date and only regenerates the output data set if it is determined to be out-of-date. A data set is determined to be out-of-date only when an input data set has actually changed since the data set was last generated.
    Type: Grant
    Filed: December 23, 1998
    Date of Patent: December 16, 2003
    Assignee: Cray Inc.
    Inventors: Charles David Callahan, II, Brian D. Koblenz
  • Patent number: 6430676
    Abstract: A computer-based method and system for determining designations for conditional branch operations and settings for lookahead values for a portion of a computer program. The lookahead system of the present invention evaluates various combinations of designations for the conditional branch operations for the portion of the computer program. The lookahead system generates a metric to measure the amount of parallel processing that would result from each combination of designations assuming that the lookahead values are set to optimal values for that combination. This metric may take into consideration estimated or actual execution frequencies of the instructions. The lookahead system then designates the conditional branch operations and sets the lookahead values based on the metric generated for one of the combinations.
    Type: Grant
    Filed: December 23, 1998
    Date of Patent: August 6, 2002
    Assignee: Cray Inc.
    Inventor: Brian D. Koblenz
  • Patent number: 6415433
    Abstract: A method system for optimizing a computer program. In one embodiment, the system identifies depths of blocks of a computer program and identifies the availability of expressions of the computer program. The system then modifies the computer program when he identified availability of the expression and the identified depth of a block indicate that the expression can be moved to the block. The depth of the block may represent the number of dominator blocks of that block. The availability of the expression may represent the depth of a block to which the expression may be moved. In one embodiment, when the identified availability of the expression is less than the identified depth of the block, the expression can be moved to the block.
    Type: Grant
    Filed: December 23, 1998
    Date of Patent: July 2, 2002
    Assignee: Cray Inc.
    Inventors: Charles David Callahan, II, Brian D. Koblenz
  • Patent number: 6353829
    Abstract: A method and system for allocating memory. The computer system on which the memory allocation system executes may support the simultaneous execution of multiple threads. Under control of a thread, the memory allocation system first identifies a bin associated with blocks (“lockers”) of memory large enough to satisfy a memory allocation request. When the identified bin has a free locker, the memory allocation system searches a circular list of headers associated with the identified bin for a collection of lockers (“warehouse”) that contains a locker that is available to be allocated. The memory allocation system allocates the found available locker to satisfy the request. If, however, the allocated bin has no free lockers, the memory allocation system allocates a warehouse with lockers large enough to satisfy the memory allocation request.
    Type: Grant
    Filed: December 23, 1998
    Date of Patent: March 5, 2002
    Assignee: Cray Inc.
    Inventors: Brian D. Koblenz, Allan Porterfield, Burton J. Smith
  • Patent number: 5530866
    Abstract: The present invention provides methods for allocating physical registers within a compiler phase to achieve efficient operation of a target CPU. The methods of the present invention allocate variables between physical registers and memory to accommodate local as well as global code structure. Such methods facilitate the location of variables that are heavily accessed at a portion of the code in a physical register during the execution thereof.
    Type: Grant
    Filed: October 13, 1994
    Date of Patent: June 25, 1996
    Assignee: Tera Computer Company
    Inventors: Brian D. Koblenz, Charles D. Callahan, II