COMPILER SUPPORT FOR OPTIMIZING DECOMPOSED SOFTWARE TRANSACTIONAL MEMORY OPERATIONS
Patent №
US 8,799,882
Granted
2014-08-05
Filed 2006
Owner
MICROSOFT CORPORATION
Lab
AI components
1
hardware
Assignment
Recorded
Dataset
AIPD
2023_r1 edition
Application
11389451
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. Finally a garbage collector with knowledge of the software transactional memory system compacts software transactional memory logs during garbage collection.
AI classification
Ownership
MICROSOFT CORPORATION
assignment · 176050860
Assignors
TARDITI, JR., DAVID READ, HARRIS, TIMOTHY LAWRENCE, PLESKO, MARK RONALD, SHINNAR, AVRAHAM E.
On an employer assignment, the assignors are typically the inventors.