Electrical computers and digital processing systems: memory – Storage accessing and control – Control technique
Reexamination Certificate
2006-03-23
2009-06-30
Kim, Matt (Department: 2189)
Electrical computers and digital processing systems: memory
Storage accessing and control
Control technique
C711S154000, C711S156000, C711S161000
Reexamination Certificate
active
07555619
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. Finally a garbage collector with knowledge of the software transactional memory system compacts software transactional memory logs during garbage collection.
REFERENCES:
patent: 7069279 (2006-06-01), Rau et al.
patent: 7117229 (2006-10-01), Marshall et al.
patent: 7240171 (2007-07-01), Barton et al.
patent: 7325108 (2008-01-01), Tuel
patent: 2005/0097078 (2005-05-01), Lohman et al.
patent: 2007/0143287 (2007-06-01), Adl-tabatabai et al.
Ageson et al., “An Efficient Meta-Lock for Implementing Ubiguitous Synchronization”, 30 pages, (Apr. 1999).
Bacon et al., “Thin locks: featherweight synchronization for Java”, pp. 258-268, (Jun. 1998).
Diniz & Rinard, “Lock Coarsening: Eliminating Lock Overhead in Automatically Parallelized Object-Based Programs”, 29 pages, (Aug. 1996).
Harris et al., “Composable Memory Transactions”, 13 pages, (Jun. 2005).
Harris & Fraser, “Language Support for Lightweight Transactions”, 15 pages, (Oct. 2003).
Hindman & Grossman, “Strong Atomicity for Java Without Virtual-Machine Support”, 18 pages, (printed Mar. 21, 2006).
Lev & Maessen, “Towards a Safer Interaction with Transactional Memory by Tracking Object Visibility”, 8 pages, (Oct. 2005).
Ringenburg & Grossman, “AtomCaml: First-Class Atomicity via Rollback”, 13 pages, (Sep. 2005).
Shinnar et al, Microsoft Research Technical Report “Integrating Support for Undo with Exception Handling”, 13 pages, (Dec. 2004).
U.S. Appl. No. 11/192,784, filed Jul. 29, 2005, Harris.
Andrade et al., “Efficient Execution of Multi-Query Data Analysis Batches Using Compiler Optimization Strategies,” Lecture Notes in Computer Science, 15 pages, (2004).
Finkelstein, “Common Expression Analysis in Database Application,” Proceedings of the 1982 ACM SIGMOD International Conference on Management of Data, pp. 235-245 (1982).
International Search Report and Written Opinion for PCT/US06/44526, dated Mar. 26, 2008, 12 pages.
Gu Shawn X
Kim Matt
Klarquist & Sparkman, LLP
Microsoft Corporation
LandOfFree
Efficient per-object operations in software transactional... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Efficient per-object operations in software transactional..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Efficient per-object operations in software transactional... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-4101704