JP4923142B2 - 入れ子トランザクションの親の不正な失敗への対処 - Google Patents
入れ子トランザクションの親の不正な失敗への対処 Download PDFInfo
- Publication number
- JP4923142B2 JP4923142B2 JP2010514967A JP2010514967A JP4923142B2 JP 4923142 B2 JP4923142 B2 JP 4923142B2 JP 2010514967 A JP2010514967 A JP 2010514967A JP 2010514967 A JP2010514967 A JP 2010514967A JP 4923142 B2 JP4923142 B2 JP 4923142B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- write
- nested
- compensation map
- parent
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 31
- 239000000725 suspension Substances 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 12
- 238000010200 validation analysis Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000002955 isolation Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
を含む。
Claims (18)
- トランザクショナルメモリシステムにおいて、複数の入れ子の子トランザクションの親トランザクションを不正に失敗させることを回避するための方法であって、
複数の入れ子トランザクションがロールバックするとき、共有メモリに対する書き込みロックが解放される毎にリリースカウントを追跡するステップと、
前記複数の入れ子トランザクションを含む親トランザクションの検証中に、前記リリースカウントを使用して、失敗した楽観的読み取りが実際には有効であるかどうかを判断するステップと
を含むことを特徴とする方法。 - 前記共有メモリに対するバージョン番号の差が前記リリースカウントに正確に一致しているとき、前記失敗した楽観的読み取りは、実際には有効であると判断されることを特徴とする請求項1に記載の方法。
- 前記リリースカウントは、書き込み停止補償マップにおいて追跡されることを特徴とする請求項1に記載の方法。
- 前記書き込み停止補償マップは、前記複数の入れ子トランザクションの各々に対して作成されることを特徴とする請求項3に記載の方法。
- 前記書き込み停止補償マップは、前記複数の入れ子トランザクションの個々の1つの入れ子トランザクションに対して、該個々の1つの入れ子トランザクションが最初にロールバックして前記共有メモリに対する書き込みロックを解放するときに作成されることを特徴とする請求項4に記載の方法。
- 前記複数の入れ子トランザクションの各々に対する前記書き込み停止補償マップは、集約書き込み停止補償マップに集約されることを特徴とする請求項4に記載の方法。
- 前記集約書き込み停止補償マップは、前記親トランザクションのトランザクションログを処理する間に、前記失敗した楽観的読み取りが実際には有効であるかどうかを判断するのに使用されることを特徴とする請求項6に記載の方法。
- 前記書き込み停止補償マップは、前記親トランザクションによって全ての楽観的読み取りが行われた後、前記複数の入れ子トランザクションの各々の開始時に順序付けされて、前記親トランザクションの前記トランザクションログ内に保持され、
前記親トランザクションの前記トランザクションログは、前記順序付けと逆の順序で処理されることを特徴とする請求項7に記載の方法。 - 入れ子トランザクションの書き込み停止補償マップを作成するステップと、
前記入れ子トランザクションが共有メモリに対する書き込みロックを解放する回数を、前記書き込み停止補償マップに記録するステップと、
前記入れ子トランザクションを含む親トランザクションの検証中に、前記書き込み停止補償マップを使用して、失敗した楽観的読み取りが実際には有効であるかどうかを判断するステップと
をコンピュータに実行させるためのコンピュータ実行可能な命令を記憶したことを特徴とするコンピュータ記憶媒体。 - 前記書き込み停止補償マップは、前記入れ子トランザクションが最初にロールバックして書き込みロックを解放するときに作成されることを特徴とする請求項9に記載のコンピュータ記憶媒体。
- 前記失敗した楽観的読み取りは、前記共有メモリに対するバージョン番号の差が、前記入れ子トランザクションが前記書き込みロックを解放した回数に正確に一致している場合、実際には有効であると判断されることを特徴とする請求項9に記載のコンピュータ記憶媒体。
- 前記書き込み停止補償マップは、前記親トランザクションのトランザクションログに保持されることを特徴とする請求項9に記載のコンピュータ記憶媒体。
- 前記書き込み停止補償マップは、前記親トランザクションによって全ての楽観的読み取りが行われた後、前記入れ子トランザクションの開始時に、順序付けされることを特徴とする請求項12に記載のコンピュータ記憶媒体。
- 前記書き込み停止補償マップは、前記親トランザクションのロールバック中に、他の入れ子の子について作成された他の書き込み停止補償マップとともに集約されて、集約された書き込み停止補償マップを形成することを特徴とする請求項9に記載のコンピュータ記憶媒体。
- 前記集約された書き込み停止補償マップは、前記親トランザクションのトランザクションログ内に配置されることを特徴とする請求項14に記載のコンピュータ記憶媒体。
- 前記書き込み停止補償マップは、前記親トランザクションによって全ての楽観的読み取りが行われた後、前記入れ子トランザクションの開始時に順序付けされて、前記親トランザクションの前記トランザクションログに保持され、
前記集約された書き込み停止補償マップは、前記親トランザクションの前記トランザクションログを前記順序付けと逆の順序で処理するとき、前記親トランザクションの前記トランザクションログに配置されることを特徴とする請求項15に記載のコンピュータ記憶媒体。 - トランザクションの検証中に書き込み停止補償マップを使用して、入れ子の子トランザクションを含む親トランザクションが不正に失敗するのを回避するための方法であって、
親トランザクションのログの処理中に、前記親トランザクションに含まれる複数の入れ子の子トランザクションにおいて見つかった全ての書き込み停止補償マップを、集約された書き込み停止補償マップに集約するステップと、
共有メモリに対する前記親トランザクションによる楽観的読み取りが、前記共有メモリに対するバージョン番号の不一致のために失敗した場合、前記集約された書き込み停止補償マップを参照して、前記共有メモリに対する前記複数の入れ子の子トランザクションの書き込みロックのリリースカウントを取り出すステップと、
前記バージョン番号の差が前記複数の入れ子の子トランザクションの前記書き込みロックの前記リリースカウントに正確に一致するとき、前記楽観的読み取りは有効であるとするステップと
を含むことを特徴とする方法。 - 前記バージョン番号の差が前記複数の入れ子の子トランザクションの前記書き込みロックの前記リリースカウントに正確に一致しないとき、前記楽観的読み取りは無効であるとすることを特徴とする請求項17に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/823,162 | 2007-06-27 | ||
US11/823,162 US7899999B2 (en) | 2007-06-27 | 2007-06-27 | Handling falsely doomed parents of nested transactions |
PCT/US2008/067145 WO2009002754A2 (en) | 2007-06-27 | 2008-06-16 | Handling falsely doomed parents of nested transactions |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010532052A JP2010532052A (ja) | 2010-09-30 |
JP2010532052A5 JP2010532052A5 (ja) | 2011-08-04 |
JP4923142B2 true JP4923142B2 (ja) | 2012-04-25 |
Family
ID=40161865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010514967A Active JP4923142B2 (ja) | 2007-06-27 | 2008-06-16 | 入れ子トランザクションの親の不正な失敗への対処 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7899999B2 (ja) |
EP (1) | EP2176762B1 (ja) |
JP (1) | JP4923142B2 (ja) |
CN (1) | CN101689138B (ja) |
TW (1) | TWI363299B (ja) |
WO (1) | WO2009002754A2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890472B2 (en) * | 2007-09-18 | 2011-02-15 | Microsoft Corporation | Parallel nested transactions in transactional memory |
US8719515B2 (en) | 2010-06-21 | 2014-05-06 | Microsoft Corporation | Composition of locks in software transactional memory |
US9411634B2 (en) | 2010-06-21 | 2016-08-09 | Microsoft Technology Licensing, Llc | Action framework in software transactional memory |
US10073844B1 (en) | 2010-11-24 | 2018-09-11 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Accelerated system and method for providing data correction |
US20140281236A1 (en) * | 2013-03-14 | 2014-09-18 | William C. Rash | Systems and methods for implementing transactional memory |
WO2014192213A1 (ja) * | 2013-05-31 | 2014-12-04 | 日本電気株式会社 | 分散処理システム |
US20150370409A1 (en) * | 2014-06-18 | 2015-12-24 | International Business Machines Corporation | Disambiguation of touch-based gestures |
US10503698B2 (en) * | 2014-07-31 | 2019-12-10 | Splunk Inc. | Configuration replication in a search head cluster |
US10152237B2 (en) | 2016-05-05 | 2018-12-11 | Micron Technology, Inc. | Non-deterministic memory protocol |
US10534540B2 (en) | 2016-06-06 | 2020-01-14 | Micron Technology, Inc. | Memory protocol |
US10635613B2 (en) | 2017-04-11 | 2020-04-28 | Micron Technology, Inc. | Transaction identification |
CN110347533A (zh) * | 2019-07-11 | 2019-10-18 | 中国工商银行股份有限公司 | 数据异常的处理方法、装置、计算设备及介质 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701480A (en) | 1991-10-17 | 1997-12-23 | Digital Equipment Corporation | Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing |
US5241675A (en) | 1992-04-09 | 1993-08-31 | Bell Communications Research, Inc. | Method for enforcing the serialization of global multidatabase transactions through committing only on consistent subtransaction serialization by the local database managers |
US5335343A (en) | 1992-07-06 | 1994-08-02 | Digital Equipment Corporation | Distributed transaction processing using two-phase commit protocol with presumed-commit without log force |
JP3672208B2 (ja) * | 1996-07-02 | 2005-07-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 階層化トランザクション処理方法 |
EP0990214A2 (en) * | 1998-01-26 | 2000-04-05 | Telenor AS | Database management system and method for conditional conflict serializaility of transactions and for combining meta-data of varying degrees of reliability |
US6298478B1 (en) | 1998-12-31 | 2001-10-02 | International Business Machines Corporation | Technique for managing enterprise JavaBeans (™) which are the target of multiple concurrent and/or nested transactions |
CN1539110A (zh) * | 2000-07-28 | 2004-10-20 | 辛孚尼系统股份有限公司 | 嵌套数据库的实现方法、系统和数据结构 |
US6671686B2 (en) | 2000-11-02 | 2003-12-30 | Guy Pardon | Decentralized, distributed internet data management |
US6850938B1 (en) * | 2001-02-08 | 2005-02-01 | Cisco Technology, Inc. | Method and apparatus providing optimistic locking of shared computer resources |
JP3732113B2 (ja) * | 2001-05-14 | 2006-01-05 | 株式会社八十二銀行 | トランザクション制御システム、方法及びプログラム |
GB0130399D0 (en) | 2001-12-19 | 2002-02-06 | Ibm | Message ordering in a messaging system |
US6754737B2 (en) | 2001-12-24 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Method and apparatus to allow dynamic variation of ordering enforcement between transactions in a strongly ordered computer interconnect |
US6785779B2 (en) | 2002-01-09 | 2004-08-31 | International Business Machines Company | Multi-level classification method for transaction address conflicts for ensuring efficient ordering in a two-level snoopy cache architecture |
US7395274B2 (en) | 2002-07-16 | 2008-07-01 | Sun Microsystems, Inc. | Space- and time-adaptive nonblocking algorithms |
US7076508B2 (en) | 2002-08-12 | 2006-07-11 | International Business Machines Corporation | Method, system, and program for merging log entries from multiple recovery log files |
US7089253B2 (en) | 2002-09-13 | 2006-08-08 | Netezza Corporation | Computer method and system for concurrency control using dynamic serialization ordering |
JP2004157776A (ja) * | 2002-11-06 | 2004-06-03 | Nec Corp | アプリケーションの処理方法およびシステム |
US6898685B2 (en) | 2003-03-25 | 2005-05-24 | Emc Corporation | Ordering data writes from a local storage device to a remote storage device |
US7376675B2 (en) | 2005-02-18 | 2008-05-20 | International Business Machines Corporation | Simulating multi-user activity while maintaining original linear request order for asynchronous transactional events |
US20070186056A1 (en) * | 2006-02-07 | 2007-08-09 | Bratin Saha | Hardware acceleration for a software transactional memory system |
US8099538B2 (en) * | 2006-03-29 | 2012-01-17 | Intel Corporation | Increasing functionality of a reader-writer lock |
US7434010B2 (en) | 2006-08-04 | 2008-10-07 | Microsoft Corporation | Combined pessimistic and optimisitic concurrency control |
-
2007
- 2007-06-27 US US11/823,162 patent/US7899999B2/en active Active
-
2008
- 2008-06-16 WO PCT/US2008/067145 patent/WO2009002754A2/en active Application Filing
- 2008-06-16 CN CN2008800224166A patent/CN101689138B/zh active Active
- 2008-06-16 EP EP08771213.9A patent/EP2176762B1/en active Active
- 2008-06-16 JP JP2010514967A patent/JP4923142B2/ja active Active
- 2008-06-19 TW TW097122929A patent/TWI363299B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN101689138B (zh) | 2012-07-18 |
EP2176762A4 (en) | 2012-10-10 |
JP2010532052A (ja) | 2010-09-30 |
EP2176762A2 (en) | 2010-04-21 |
WO2009002754A3 (en) | 2009-02-19 |
EP2176762B1 (en) | 2020-03-18 |
US7899999B2 (en) | 2011-03-01 |
WO2009002754A2 (en) | 2008-12-31 |
US20090006404A1 (en) | 2009-01-01 |
TWI363299B (en) | 2012-05-01 |
CN101689138A (zh) | 2010-03-31 |
TW200907816A (en) | 2009-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4923142B2 (ja) | 入れ子トランザクションの親の不正な失敗への対処 | |
US9411635B2 (en) | Parallel nested transactions in transactional memory | |
US7676638B2 (en) | Combined pessimistic and optimistic concurrency control | |
US7962456B2 (en) | Parallel nested transactions in transactional memory | |
US7840530B2 (en) | Parallel nested transactions in transactional memory | |
US20150227573A1 (en) | Distributed, Transactional Key-Value Store | |
JP5270268B2 (ja) | 共有データへの排他的アクセスを許すためのコンピュータ・システム、並びにその方法及びコンピュータ読み取り可能な記録媒体 | |
Wu et al. | Transaction healing: Scaling optimistic concurrency control on multicores | |
US20140344311A1 (en) | Systems and methods for asynchronous schema changes | |
US20150370644A1 (en) | Recovering pages of a database | |
US8108627B2 (en) | Array comparison and swap operations | |
US20100058344A1 (en) | Accelerating a quiescence process of transactional memory | |
US20100057740A1 (en) | Accelerating a quiescence process of transactional memory | |
US20100228705A1 (en) | Conditional commit for data in a database | |
US8504538B2 (en) | Dependent commit queue for a database | |
US9411692B2 (en) | Applying write elision | |
US20170344440A1 (en) | Micro-journal based transaction logging | |
US20080127150A1 (en) | Support for stack read and write operations | |
JPS63196958A (ja) | 障害回復処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110616 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110616 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20110616 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20110722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120106 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4923142 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150210 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |