Patents by Inventor Timothy Lawrence Harris

Timothy Lawrence Harris 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: 7590806
    Abstract: A software transactional memory system is described which utilizes decomposed software transactional memory instructions as well as runtime optimizations to achieve efficient performance. The decomposed instructions allow a compiler with knowledge of the instruction semantics to perform optimizations which would be unavailable on traditional software transactional memory systems. Additionally, high-level software transactional memory optimizations are performed such as code movement around procedure calls, addition of operations to provide strong atomicity, removal of unnecessary read-to-update upgrades, and removal of operations for newly-allocated objects. During execution, multi-use header words for objects are extended to provide for per-object housekeeping, as well as fast snapshots which illustrate changes to objects. Additionally, entries to software transactional memory logs are filtered using an associative table during execution, preventing needless writes to the logs.
    Type: Grant
    Filed: March 23, 2006
    Date of Patent: September 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Timothy Lawrence Harris, Mark Ronald Plesko
  • Patent number: 7555619
    Abstract: A software transactional memory system is described which utilizes decomposed software transactional memory instructions as well as runtime optimizations to achieve efficient performance. The decomposed instructions allow a compiler with knowledge of the instruction semantics to perform optimizations which would be unavailable on traditional software transactional memory systems. Additionally, high-level software transactional memory optimizations are performed such as code movement around procedure calls, addition of operations to provide strong atomicity, removal of unnecessary read-to-update upgrades, and removal of operations for newly-allocated objects. During execution, multi-use header words for objects are extended to provide for per-object housekeeping, as well as fast snapshots which illustrate changes to objects. Additionally, entries to software transactional memory logs are filtered using an associative table during execution, preventing needless writes to the logs.
    Type: Grant
    Filed: March 23, 2006
    Date of Patent: June 30, 2009
    Assignee: Microsoft Corporation
    Inventor: Timothy Lawrence Harris
  • Publication number: 20080256073
    Abstract: Various technologies and techniques are disclosed that support buffered writes and enforced serialization order in a software transactional memory system. A buffered write process is provided that performs writes to shadow copies of objects and writes content back to the objects after validating a respective transaction during commit. When a write lock is first obtained for a particular transaction, a shadow copy is made of a particular object. Writes are performed to and reads from the shadow copy. After validating the particular transaction during commit, content is written from the shadow copy to the particular object. A transaction ordering process is provided that ensures that an order in which the transactions are committed matches an abstract serialization order of the transactions. Transactions are not allowed to commit until their ticket number matches a global number that tracks the next transaction that should commit.
    Type: Application
    Filed: April 11, 2007
    Publication date: October 16, 2008
    Applicant: Microsoft Corporation
    Inventors: David Detlefs, John Joseph Duffy, Michael M. Magruder, Goetz Graefe, Vinod K. Grover, Timothy Lawrence Harris
  • Publication number: 20080120455
    Abstract: Described is a technology by which alternative use for transactional memory is provided, namely implementing atomic work items that are run asynchronously from their creation in a thread. Described are mechanisms by which threads control the work items that they have created. Atomic work items are scheduled on worker threads managed by the language's runtime system. Atomic work items can use retry to express condition synchronization, providing a general mechanism for controlling when and in what order they are executed. Work items may be grouped, with coordination managed among the grouped work items. Also described by way of example is a highly-parallel implementation of a Chaff satisfiability solver, comprising an example of an important group of applications, including theorem provers and constraint optimization systems.
    Type: Application
    Filed: June 29, 2007
    Publication date: May 22, 2008
    Applicant: Microsoft Corporation
    Inventors: James R. Larus, Timothy Lawrence Harris, Virendra Jayant Marathe