CN101495976A - 直接更新软件事务存储器 - Google Patents
直接更新软件事务存储器 Download PDFInfo
- Publication number
- CN101495976A CN101495976A CNA200680026687XA CN200680026687A CN101495976A CN 101495976 A CN101495976 A CN 101495976A CN A200680026687X A CNA200680026687X A CN A200680026687XA CN 200680026687 A CN200680026687 A CN 200680026687A CN 101495976 A CN101495976 A CN 101495976A
- Authority
- CN
- China
- Prior art keywords
- thread
- shared storage
- storage position
- affairs
- registration record
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Claims (20)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/192,784 | 2005-07-29 | ||
US11/192,784 US7536517B2 (en) | 2005-07-29 | 2005-07-29 | Direct-update software transactional memory |
PCT/US2006/029327 WO2007016302A2 (en) | 2005-07-29 | 2006-07-28 | Direct-update software transactional memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101495976A true CN101495976A (zh) | 2009-07-29 |
CN101495976B CN101495976B (zh) | 2011-11-09 |
Family
ID=37695711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680026687XA Expired - Fee Related CN101495976B (zh) | 2005-07-29 | 2006-07-28 | 用于直接更新软件事务存储器的方法和系统 |
Country Status (13)
Country | Link |
---|---|
US (1) | US7536517B2 (zh) |
EP (1) | EP1910929B1 (zh) |
JP (1) | JP5010601B2 (zh) |
KR (1) | KR101203297B1 (zh) |
CN (1) | CN101495976B (zh) |
AU (1) | AU2006275736A1 (zh) |
BR (1) | BRPI0613946A2 (zh) |
CA (1) | CA2616422A1 (zh) |
IL (1) | IL188665A0 (zh) |
MX (1) | MX2008001159A (zh) |
NO (1) | NO20080235L (zh) |
RU (1) | RU2008103273A (zh) |
WO (1) | WO2007016302A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103003815A (zh) * | 2010-06-23 | 2013-03-27 | 微软公司 | 共享的数据集合 |
CN107408016A (zh) * | 2014-12-31 | 2017-11-28 | 迈克菲公司 | 使用处理器事务性内存支持的内存访问保护 |
CN112005222A (zh) * | 2018-04-24 | 2020-11-27 | Arm有限公司 | 鲁棒的事务性存储器 |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818513B2 (en) * | 2004-08-10 | 2010-10-19 | Oracle America, Inc. | Coordinating accesses to shared objects using transactional memory mechanisms and non-transactional software mechanisms |
US8037476B1 (en) * | 2005-09-15 | 2011-10-11 | Oracle America, Inc. | Address level log-based synchronization of shared data |
US7630991B2 (en) * | 2005-10-27 | 2009-12-08 | Microsoft Corporation | Compiling join patterns using software transactional memories |
US7810085B2 (en) * | 2005-12-07 | 2010-10-05 | Microsoft Corporation | Removal of unnecessary read-to-update upgrades in software transactional memory |
US8799882B2 (en) * | 2005-12-07 | 2014-08-05 | Microsoft Corporation | Compiler support for optimizing decomposed software transactional memory operations |
US8271994B2 (en) * | 2006-02-11 | 2012-09-18 | International Business Machines Corporation | Reduced data transfer during processor context switching |
US20070198978A1 (en) * | 2006-02-22 | 2007-08-23 | David Dice | Methods and apparatus to implement parallel transactions |
US8028133B2 (en) * | 2006-02-22 | 2011-09-27 | Oracle America, Inc. | Globally incremented variable or clock based methods and apparatus to implement parallel transactions |
US8181158B2 (en) * | 2006-06-09 | 2012-05-15 | Oracle America, Inc. | Viewing and modifying transactional variables |
US8316352B2 (en) * | 2006-06-09 | 2012-11-20 | Oracle America, Inc. | Watchpoints on transactional variables |
US8601456B2 (en) * | 2006-08-04 | 2013-12-03 | Microsoft Corporation | Software transactional protection of managed pointers |
US7788242B2 (en) * | 2006-08-23 | 2010-08-31 | Oracle America, Inc. | Method and system for implementing a concurrent set of objects |
US7860847B2 (en) | 2006-11-17 | 2010-12-28 | Microsoft Corporation | Exception ordering in contention management to support speculative sequential semantics |
US8010550B2 (en) | 2006-11-17 | 2011-08-30 | Microsoft Corporation | Parallelizing sequential frameworks using transactions |
US8024714B2 (en) | 2006-11-17 | 2011-09-20 | Microsoft Corporation | Parallelizing sequential frameworks using transactions |
US8132158B2 (en) * | 2006-12-28 | 2012-03-06 | Cheng Wang | Mechanism for software transactional memory commit/abort in unmanaged runtime environment |
US7908255B2 (en) * | 2007-04-11 | 2011-03-15 | Microsoft Corporation | Transactional memory using buffered writes and enforced serialization order |
US8621468B2 (en) * | 2007-04-26 | 2013-12-31 | Microsoft Corporation | Multi core optimizations on a binary using static and run time analysis |
US8095750B2 (en) * | 2007-05-14 | 2012-01-10 | International Business Machines Corporation | Transactional memory system with fast processing of common conflicts |
US8688920B2 (en) | 2007-05-14 | 2014-04-01 | International Business Machines Corporation | Computing system with guest code support of transactional memory |
US8095741B2 (en) * | 2007-05-14 | 2012-01-10 | International Business Machines Corporation | Transactional memory computing system with support for chained transactions |
US8321637B2 (en) * | 2007-05-14 | 2012-11-27 | International Business Machines Corporation | Computing system with optimized support for transactional memory |
US8117403B2 (en) * | 2007-05-14 | 2012-02-14 | International Business Machines Corporation | Transactional memory system which employs thread assists using address history tables |
US9009452B2 (en) | 2007-05-14 | 2015-04-14 | International Business Machines Corporation | Computing system with transactional memory using millicode assists |
US8719514B2 (en) * | 2007-06-27 | 2014-05-06 | Intel Corporation | Software filtering in a transactional memory system |
US7890725B2 (en) * | 2007-07-09 | 2011-02-15 | International Business Machines Corporation | Bufferless transactional memory with runahead execution |
US20090064141A1 (en) * | 2007-08-29 | 2009-03-05 | Microsoft Corporation | Efficient utilization of transactions in computing tasks |
US8245232B2 (en) * | 2007-11-27 | 2012-08-14 | Microsoft Corporation | Software-configurable and stall-time fair memory access scheduling mechanism for shared memory systems |
US7793052B2 (en) * | 2007-12-31 | 2010-09-07 | Oracle America, Inc. | System and method for implementing hybrid single-compare-single-store operations |
US8200914B2 (en) * | 2008-01-03 | 2012-06-12 | International Business Machines Corporation | Apparatus, system, and method for a read-before-write storage controller instruction |
US8359437B2 (en) * | 2008-05-13 | 2013-01-22 | International Business Machines Corporation | Virtual computing memory stacking |
US9047139B2 (en) * | 2008-06-27 | 2015-06-02 | Microsoft Technology Licensing, Llc | Primitives for software transactional memory |
US8769514B2 (en) * | 2008-06-27 | 2014-07-01 | Microsoft Corporation | Detecting race conditions with a software transactional memory system |
US8839213B2 (en) | 2008-06-27 | 2014-09-16 | Microsoft Corporation | Optimizing primitives in software transactional memory |
US8341133B2 (en) | 2008-06-27 | 2012-12-25 | Microsoft Corporation | Compressed transactional locks in object headers |
US20100017581A1 (en) * | 2008-07-18 | 2010-01-21 | Microsoft Corporation | Low overhead atomic memory operations |
US8627292B2 (en) * | 2009-02-13 | 2014-01-07 | Microsoft Corporation | STM with global version overflow handling |
JP5433676B2 (ja) * | 2009-02-24 | 2014-03-05 | パナソニック株式会社 | プロセッサ装置、マルチスレッドプロセッサ装置 |
US8688921B2 (en) * | 2009-03-03 | 2014-04-01 | Microsoft Corporation | STM with multiple global version counters |
JP5338435B2 (ja) * | 2009-03-31 | 2013-11-13 | 富士通株式会社 | 情報処理プログラム、情報処理装置および情報処理方法 |
EP2467852B1 (en) | 2009-08-20 | 2019-05-22 | Rambus Inc. | Atomic memory device |
US8566524B2 (en) | 2009-08-31 | 2013-10-22 | International Business Machines Corporation | Transactional memory system with efficient cache support |
US8239635B2 (en) | 2009-09-30 | 2012-08-07 | Oracle America, Inc. | System and method for performing visible and semi-visible read operations in a software transactional memory |
US8595426B2 (en) * | 2011-04-11 | 2013-11-26 | Sandisk Il Ltd. | Handling commands within a write-once read-many storage device configuration |
US9043363B2 (en) * | 2011-06-03 | 2015-05-26 | Oracle International Corporation | System and method for performing memory management using hardware transactions |
US9164753B2 (en) | 2013-01-08 | 2015-10-20 | Sap Se | Generating software updates |
US20160239372A1 (en) * | 2013-09-26 | 2016-08-18 | Hewlett Packard Enterprise Development Lp | Undoing changes made by threads |
US9524195B2 (en) | 2014-02-27 | 2016-12-20 | International Business Machines Corporation | Adaptive process for data sharing with selection of lock elision and locking |
US9575890B2 (en) | 2014-02-27 | 2017-02-21 | International Business Machines Corporation | Supporting atomic accumulation with an addressable accumulator |
US9262206B2 (en) | 2014-02-27 | 2016-02-16 | International Business Machines Corporation | Using the transaction-begin instruction to manage transactional aborts in transactional memory computing environments |
US9411729B2 (en) | 2014-02-27 | 2016-08-09 | International Business Machines Corporation | Salvaging lock elision transactions |
US9311178B2 (en) | 2014-02-27 | 2016-04-12 | International Business Machines Corporation | Salvaging hardware transactions with instructions |
US9442853B2 (en) | 2014-02-27 | 2016-09-13 | International Business Machines Corporation | Salvaging lock elision transactions with instructions to change execution type |
US9442775B2 (en) | 2014-02-27 | 2016-09-13 | International Business Machines Corporation | Salvaging hardware transactions with instructions to transfer transaction execution control |
US9424072B2 (en) | 2014-02-27 | 2016-08-23 | International Business Machines Corporation | Alerting hardware transactions that are about to run out of space |
US9645879B2 (en) | 2014-02-27 | 2017-05-09 | International Business Machines Corporation | Salvaging hardware transactions with instructions |
US9329946B2 (en) | 2014-02-27 | 2016-05-03 | International Business Machines Corporation | Salvaging hardware transactions |
US20150242216A1 (en) | 2014-02-27 | 2015-08-27 | International Business Machines Corporation | Committing hardware transactions that are about to run out of resource |
US9471371B2 (en) | 2014-02-27 | 2016-10-18 | International Business Machines Corporation | Dynamic prediction of concurrent hardware transactions resource requirements and allocation |
US9465673B2 (en) | 2014-02-27 | 2016-10-11 | International Business Machines Corporation | Deferral instruction for managing transactional aborts in transactional memory computing environments to complete transaction by deferring disruptive events handling |
US9336097B2 (en) | 2014-02-27 | 2016-05-10 | International Business Machines Corporation | Salvaging hardware transactions |
US9361041B2 (en) | 2014-02-27 | 2016-06-07 | International Business Machines Corporation | Hint instruction for managing transactional aborts in transactional memory computing environments |
US9430273B2 (en) | 2014-02-27 | 2016-08-30 | International Business Machines Corporation | Suppressing aborting a transaction beyond a threshold execution duration based on the predicted duration |
US9524187B2 (en) | 2014-03-02 | 2016-12-20 | International Business Machines Corporation | Executing instruction with threshold indicating nearing of completion of transaction |
US9600286B2 (en) | 2014-06-30 | 2017-03-21 | International Business Machines Corporation | Latent modification instruction for transactional execution |
US9710271B2 (en) | 2014-06-30 | 2017-07-18 | International Business Machines Corporation | Collecting transactional execution characteristics during transactional execution |
US9448939B2 (en) | 2014-06-30 | 2016-09-20 | International Business Machines Corporation | Collecting memory operand access characteristics during transactional execution |
US9336047B2 (en) | 2014-06-30 | 2016-05-10 | International Business Machines Corporation | Prefetching of discontiguous storage locations in anticipation of transactional execution |
US9348643B2 (en) | 2014-06-30 | 2016-05-24 | International Business Machines Corporation | Prefetching of discontiguous storage locations as part of transactional execution |
US9754001B2 (en) | 2014-08-18 | 2017-09-05 | Richard Banister | Method of integrating remote databases by automated client scoping of update requests prior to download via a communications network |
US9665280B2 (en) * | 2014-09-30 | 2017-05-30 | International Business Machines Corporation | Cache coherency verification using ordered lists |
US10838983B2 (en) | 2015-01-25 | 2020-11-17 | Richard Banister | Method of integrating remote databases by parallel update requests over a communications network |
CN105045563B (zh) * | 2015-06-19 | 2017-10-10 | 陕西科技大学 | 一种推测嵌套软件事务存储的冲突管理方法 |
US10838827B2 (en) | 2015-09-16 | 2020-11-17 | Richard Banister | System and method for time parameter based database restoration |
US10990586B2 (en) | 2015-09-16 | 2021-04-27 | Richard Banister | System and method for revising record keys to coordinate record key changes within at least two databases |
US10003634B2 (en) * | 2016-05-14 | 2018-06-19 | Richard Banister | Multi-threaded download with asynchronous writing |
WO2018118040A1 (en) * | 2016-12-21 | 2018-06-28 | Hewlett-Packard Development Company, L.P. | Persistent memory updating |
CN110520845B (zh) | 2017-04-19 | 2022-06-10 | 华为技术有限公司 | 更新硬件事务内存(htm)用户异常中止元数据的方法及系统 |
WO2018192644A1 (en) * | 2017-04-19 | 2018-10-25 | Huawei Technologies Co., Ltd. | Hardware transactional memory (htm) assisted database transactions |
US10521116B2 (en) * | 2018-01-23 | 2019-12-31 | Nutanix, Inc. | System and method for managing object store |
US11194769B2 (en) | 2020-04-27 | 2021-12-07 | Richard Banister | System and method for re-synchronizing a portion of or an entire source database and a target database |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5983225A (en) * | 1998-01-26 | 1999-11-09 | Telenor As | Parameterized lock management system and method for conditional conflict serializability of transactions |
US6856993B1 (en) * | 2000-03-30 | 2005-02-15 | Microsoft Corporation | Transactional file system |
CA2361298C (en) * | 2000-11-08 | 2004-10-12 | Research In Motion Limited | Impedance matching low noise amplifier having a bypass switch |
-
2005
- 2005-07-29 US US11/192,784 patent/US7536517B2/en not_active Expired - Fee Related
-
2006
- 2006-07-28 WO PCT/US2006/029327 patent/WO2007016302A2/en active Application Filing
- 2006-07-28 AU AU2006275736A patent/AU2006275736A1/en not_active Abandoned
- 2006-07-28 JP JP2008524174A patent/JP5010601B2/ja not_active Expired - Fee Related
- 2006-07-28 EP EP06788738.0A patent/EP1910929B1/en not_active Not-in-force
- 2006-07-28 CN CN200680026687XA patent/CN101495976B/zh not_active Expired - Fee Related
- 2006-07-28 BR BRPI0613946-9A patent/BRPI0613946A2/pt not_active IP Right Cessation
- 2006-07-28 CA CA002616422A patent/CA2616422A1/en not_active Abandoned
- 2006-07-28 RU RU2008103273/09A patent/RU2008103273A/ru not_active Application Discontinuation
- 2006-07-28 MX MX2008001159A patent/MX2008001159A/es not_active Application Discontinuation
- 2006-07-28 KR KR1020087002433A patent/KR101203297B1/ko active IP Right Grant
-
2008
- 2008-01-08 IL IL188665A patent/IL188665A0/en unknown
- 2008-01-15 NO NO20080235A patent/NO20080235L/no not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103003815A (zh) * | 2010-06-23 | 2013-03-27 | 微软公司 | 共享的数据集合 |
CN103003815B (zh) * | 2010-06-23 | 2014-04-16 | 微软公司 | 共享的数据集合 |
US9104715B2 (en) | 2010-06-23 | 2015-08-11 | Microsoft Technology Licensing, Llc | Shared data collections |
CN107408016A (zh) * | 2014-12-31 | 2017-11-28 | 迈克菲公司 | 使用处理器事务性内存支持的内存访问保护 |
CN107408016B (zh) * | 2014-12-31 | 2020-05-12 | 迈克菲有限责任公司 | 使用处理器事务性内存支持的内存访问保护 |
CN112005222A (zh) * | 2018-04-24 | 2020-11-27 | Arm有限公司 | 鲁棒的事务性存储器 |
Also Published As
Publication number | Publication date |
---|---|
RU2008103273A (ru) | 2009-08-10 |
MX2008001159A (es) | 2008-03-13 |
NO20080235L (no) | 2008-02-28 |
EP1910929B1 (en) | 2016-02-17 |
KR20080031039A (ko) | 2008-04-07 |
CA2616422A1 (en) | 2007-02-08 |
EP1910929A2 (en) | 2008-04-16 |
WO2007016302A3 (en) | 2009-04-16 |
WO2007016302A2 (en) | 2007-02-08 |
US7536517B2 (en) | 2009-05-19 |
JP5010601B2 (ja) | 2012-08-29 |
AU2006275736A1 (en) | 2007-02-08 |
EP1910929A4 (en) | 2010-12-08 |
BRPI0613946A2 (pt) | 2011-02-22 |
CN101495976B (zh) | 2011-11-09 |
JP2009506403A (ja) | 2009-02-12 |
US20070028056A1 (en) | 2007-02-01 |
IL188665A0 (en) | 2008-08-07 |
KR101203297B1 (ko) | 2012-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101495976B (zh) | 用于直接更新软件事务存储器的方法和系统 | |
US10268579B2 (en) | Hybrid hardware and software implementation of transactional memory access | |
CN100514299C (zh) | 利用虚拟存储器的事务型存储器执行 | |
US7809903B2 (en) | Coordinating access to memory locations for hardware transactional memory transactions and software transactional memory transactions | |
US11386065B2 (en) | Database concurrency control through hash-bucket latching | |
US8429134B2 (en) | Distributed database recovery | |
US8271739B2 (en) | Memory control apparatus, program, and method | |
JP3512439B2 (ja) | チェックイン・チェックアウトモデルにおける施錠方式 | |
US8108627B2 (en) | Array comparison and swap operations | |
JPH0799509B2 (ja) | メモリへのデータブロックのエントリを制御する方法 | |
US7548919B2 (en) | Computer program product for conducting a lock free read | |
CN101652761A (zh) | 使用缓存写和强制串行化次序的事务存储器 | |
CN109947742B (zh) | 面向二阶段锁的多版本数据库并发控制方法和系统 | |
US7222117B1 (en) | Segmented global area database | |
US7353342B1 (en) | Shared lease instruction support for transient blocking synchronization | |
US7523088B2 (en) | Method for increasing system resource availability in database management systems | |
Mishra et al. | Hyflowcpp: A distributed transactional memory framework for c++ | |
JP3107094B2 (ja) | 共用バッファのロック期間短縮処理方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150429 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150429 Address after: Washington State Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC Address before: Washington State Patentee before: Microsoft Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111109 Termination date: 20210728 |