JP2012515393A - トランザクションメモリにおけるトランザクション処理 - Google Patents
トランザクションメモリにおけるトランザクション処理 Download PDFInfo
- Publication number
- JP2012515393A JP2012515393A JP2011546244A JP2011546244A JP2012515393A JP 2012515393 A JP2012515393 A JP 2012515393A JP 2011546244 A JP2011546244 A JP 2011546244A JP 2011546244 A JP2011546244 A JP 2011546244A JP 2012515393 A JP2012515393 A JP 2012515393A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- memory
- resource manager
- commit
- manager
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (15)
- 共有メモリへアクセスできるアトミックトランザクション(202)を制御する方法であって、
少なくとも1つのメモリ以外のリソースマネージャ(210)を参加させること(304)と、
トランザクションメモリ(212)を管理するように構成されたメモリリソースマネージャ(208)に参加させること(304)と、
前記メモリ以外のリソースマネージャ(210)およびメモリのリソースマネージャ(208)が前記トランザクション(308)をコミットするために投票するかどうかを判断するように構成された、コミットプロトコルを呼び出すことと、
前記メモリ以外のリソースマネージャ(210)およびメモリのリソースマネージャ(208)が前記トランザクション(314)をコミットするために投票する場合、前記トランザクションをコミットすることと、
前記メモリのリソースマネージャ(208)が前記トランザクション(312)をコミットするために投票しない場合、前記トランザクション(302、318)を再実行することと、
前記メモリ以外のリソースマネージャ(210)の少なくとも1つが前記トランザクション(312)をコミットするために投票しない場合、前記トランザクション(318)を失敗(アボート)とすることと
を備えることを特徴とする方法。 - 前記共有メモリは、前記メモリリソースマネージャを参加させる前のオリジナル状態を含み、前記トランザクションを再実行することは、前記共有メモリを前記オリジナル状態へロールバックすることを含むことを特徴とする請求項1に記載の方法。
- 前記トランザクションをコミットすると、前記オリジナル状態への変更は、永続的なものとされ、および公開状態にされることを特徴とする請求項2に記載の方法。
- 前記トランザクションを再実行することは、前記トランザクションにおけるすべてのリソースマネージャがコミットするために投票するか、または前記トランザクションが失敗とされるまで、前記トランザクションを繰り返し再実行することを含むことを特徴とする請求項1に記載の方法。
- 前記トランザクション中にメモリ衝突が生じない場合、前記メモリリソースマネージャはコミットするために投票することを特徴とする請求項1に記載の方法。
- 前記トランザクションを再実行することは、前記メモリ以外のリソースマネージャが前記トランザクションをコミットするために投票するとき、および少なくとも1つのメモリリソースマネージャがアボートするために投票するときに生じることを特徴とする請求項1に記載の方法。
- 前記コミットプロトコルは、準備のフェーズおよびコミットのフェーズを含むことを特徴とする請求項1に記載の方法。
- 前記アトミックトランザクションの境界を定義することを含むことを特徴とする請求項1に記載の方法。
- 前記アトミックトランザクションは、入れ子アトミックトランザクションを含むことを特徴とする請求項1に記載の方法。
- 前記コミットプロトコルは、前記アトミックトランザクションおよび前記入れ子アトミックトランザクションをフラット化することを特徴とする請求項9に記載の方法。
- 前記入れ子アトミックトランザクションは、前記アトミックトランザクションが実行される前に、前期アトミックトランザクションがコミットされるまで実行されることを特徴とする請求項9に記載の方法。
- 前記リソースマネージャは、揮発性リソースマネージャであることを特徴とする請求項1に記載の方法。
- 共有メモリへアクセスできるアトミックトランザクション(202)を有するアプリケーションを動作させるように構成され、コンピューティング装置(100)上で運用されるランタイム環境であって、
楽観的な並列性を通じて、前記共有メモリにおける変数へのアクセスを制御するように構成されたメモリ制御メカニズム(212)と、
リソースマネージャ(208、210)のライブラリであって、少なくとも2つのリソースマネージャを、前記トランザクションに参加するように構成し、および前記コンピューティング装置(100)上でメモリ(104)にロードし、および前記少なくとも2つのリソースマネージャは、前記メモリ制御メカニズム(212)の管理に参加するように構成されたメモリリソースマネージャ(208)を含む、リソースマネージャのライブラリと、
前記揮発性メモリ(104)にロードされ、および前記参加するリソースマネージャ(304、208、210)に結合されるトランザクションマネージャ(216)であって、前記トランザクションマネージャ(216)を、前記参加したリソースマネージャ(208、210)から、前記トランザクション(310)をコミットするかどうかについて、投票(218)を受信するように構成し、前記メモリリソースマネージャ(208)は、前記トランザクション(312)中にメモリ衝突が生じたかどうかに応じて投票する、トランザクションマネージャと
を備えたことを特徴とするランタイム環境。 - 前記コンピューティング装置は、複数の並列クラスのうちの1つに配置された複数のプロセッサを含み、前記アトミックトランザクションは、少なくとも2つの前記プロセッサ上で実行する複数のスレッドを有するアプリケーションのスレッド上に含まれることを特徴とする請求項13に記載の方法。
- 前記メモリ制御メカニズムは、トランザクションメモリであることを特徴とする請求項13に記載のランタイム環境。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/353,905 US8166481B2 (en) | 2008-10-20 | 2009-01-14 | Transaction processing in transactional memory |
US12/353,905 | 2009-01-14 | ||
PCT/US2009/066889 WO2010082983A2 (en) | 2009-01-14 | 2009-12-04 | Transaction processing in transactional memory |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012515393A true JP2012515393A (ja) | 2012-07-05 |
JP2012515393A5 JP2012515393A5 (ja) | 2012-12-27 |
JP5501377B2 JP5501377B2 (ja) | 2014-05-21 |
Family
ID=42340247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011546244A Expired - Fee Related JP5501377B2 (ja) | 2009-01-14 | 2009-12-04 | トランザクションメモリにおけるトランザクション処理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8166481B2 (ja) |
EP (1) | EP2377029A4 (ja) |
JP (1) | JP5501377B2 (ja) |
CN (1) | CN102282548B (ja) |
WO (1) | WO2010082983A2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019512909A (ja) * | 2016-02-23 | 2019-05-16 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | セキュアな投票及び配布に利用されるブロックチェーンが実装された計数システム及び方法 |
US11410145B2 (en) | 2016-02-23 | 2022-08-09 | nChain Holdings Limited | Blockchain-implemented method for control and distribution of digital content |
US11455378B2 (en) | 2016-02-23 | 2022-09-27 | nChain Holdings Limited | Method and system for securing computer software using a distributed hash table and a blockchain |
US11606219B2 (en) | 2016-02-23 | 2023-03-14 | Nchain Licensing Ag | System and method for controlling asset-related actions via a block chain |
US11621833B2 (en) | 2016-02-23 | 2023-04-04 | Nchain Licensing Ag | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US11625694B2 (en) | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
US11727501B2 (en) | 2016-02-23 | 2023-08-15 | Nchain Licensing Ag | Cryptographic method and system for secure extraction of data from a blockchain |
US11936774B2 (en) | 2016-02-23 | 2024-03-19 | Nchain Licensing Ag | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11972422B2 (en) | 2016-02-23 | 2024-04-30 | Nchain Licensing Ag | Registry and automated management method for blockchain-enforced smart contracts |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386421B2 (en) | 2010-06-28 | 2013-02-26 | Microsoft Corporation | Concurrency control for confluent trees |
US8412689B2 (en) * | 2010-07-07 | 2013-04-02 | Microsoft Corporation | Shared log-structured multi-version transactional datastore with metadata to enable melding trees |
US20120079245A1 (en) * | 2010-09-25 | 2012-03-29 | Cheng Wang | Dynamic optimization for conditional commit |
US9848106B2 (en) | 2010-12-21 | 2017-12-19 | Microsoft Technology Licensing, Llc | Intelligent gameplay photo capture |
EP2756406B1 (en) | 2011-09-14 | 2020-07-22 | Hewlett-Packard Enterprise Development LP | Imparting durability to a transactional memory system |
US9110851B2 (en) * | 2011-09-29 | 2015-08-18 | Oracle International Corporation | System and method for persisting transaction records in a transactional middleware machine environment |
US9317549B2 (en) * | 2013-06-25 | 2016-04-19 | Optumsoft, Inc. | Constraint-based consistency with snapshot isolation |
US9858136B2 (en) | 2014-09-30 | 2018-01-02 | International Business Machines Corporation | Resource manager failure handling in a multi-process transaction environment |
US10140149B1 (en) * | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
CA3013182A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
US10310820B2 (en) * | 2016-05-12 | 2019-06-04 | Basal Nuclei Inc | Programming model and interpreted runtime environment for high performance services with implicit concurrency control |
US10698724B2 (en) * | 2018-04-10 | 2020-06-30 | Osisoft, Llc | Managing shared resources in a distributed computing system |
CN111722946A (zh) * | 2020-06-28 | 2020-09-29 | 深圳壹账通智能科技有限公司 | 分布式事务处理方法、装置、计算机设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000020364A (ja) * | 1998-06-30 | 2000-01-21 | Microsoft Corp | 補償するリソ―ス・マネ―ジャ |
JP2001188696A (ja) * | 2000-11-20 | 2001-07-10 | Toshiba Corp | トランザクション処理の管理方法 |
JP2002049519A (ja) * | 2000-08-03 | 2002-02-15 | Nippon Yunishisu Kk | 情報処理装置およびその方法 |
JP2003530646A (ja) * | 2000-03-30 | 2003-10-14 | マイクロソフト コーポレイション | トランザクショナルファイルシステム |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2256514B (en) * | 1991-05-21 | 1994-11-16 | Digital Equipment Corp | Commitment ordering for guaranteeing serializability across distributed transactions |
US5504899A (en) * | 1991-10-17 | 1996-04-02 | Digital Equipment Corporation | Guaranteeing global serializability by applying commitment ordering selectively to global transactions |
US5701480A (en) * | 1991-10-17 | 1997-12-23 | Digital Equipment Corporation | Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing |
US6529932B1 (en) * | 1998-04-01 | 2003-03-04 | Microsoft Corporation | Method and system for distributed transaction processing with asynchronous message delivery |
JP2000010810A (ja) * | 1998-06-22 | 2000-01-14 | Toshiba Corp | トランザクション処理のコミット制御方法および同方法が適用される計算機システム |
US6728958B1 (en) * | 1998-07-31 | 2004-04-27 | Hewlett-Packard Development Company, L.P. | Volatile resource manager with pre-prepare notification |
US6463456B1 (en) * | 1999-09-01 | 2002-10-08 | International Business Machines Corporation | Efficient registration for distributed transaction systems |
US7685583B2 (en) * | 2002-07-16 | 2010-03-23 | Sun Microsystems, Inc. | Obstruction-free mechanism for atomic update of multiple non-contiguous locations in shared memory |
US6938130B2 (en) * | 2003-02-13 | 2005-08-30 | Sun Microsystems Inc. | Method and apparatus for delaying interfering accesses from other threads during transactional program execution |
US7206903B1 (en) * | 2004-07-20 | 2007-04-17 | Sun Microsystems, Inc. | Method and apparatus for releasing memory locations during transactional execution |
US7856537B2 (en) * | 2004-09-30 | 2010-12-21 | Intel Corporation | Hybrid hardware and software implementation of transactional memory access |
US8099726B2 (en) * | 2005-12-07 | 2012-01-17 | Microsoft Corporation | Implementing strong atomicity in software transactional memory |
US7669015B2 (en) * | 2006-02-22 | 2010-02-23 | Sun Microsystems Inc. | Methods and apparatus to implement parallel transactions |
US7620850B2 (en) * | 2006-06-09 | 2009-11-17 | Sun Microsystems, Inc. | Breakpoints in a transactional memory-based representation of code |
US7434010B2 (en) * | 2006-08-04 | 2008-10-07 | Microsoft Corporation | Combined pessimistic and optimisitic concurrency control |
US8010550B2 (en) * | 2006-11-17 | 2011-08-30 | Microsoft Corporation | Parallelizing sequential frameworks using transactions |
US7949841B2 (en) * | 2006-12-08 | 2011-05-24 | Microsoft Corporation | Protection of critical memory using replication |
US7516365B2 (en) * | 2007-07-27 | 2009-04-07 | Sun Microsystems, Inc. | System and method for split hardware transactions |
US8108631B2 (en) * | 2008-07-18 | 2012-01-31 | Oracle America, Inc. | Transactional memory support for non-coherent shared memory systems using selective write through caches |
US20100083268A1 (en) * | 2008-09-29 | 2010-04-01 | Morris Robert P | Method And System For Managing Access To A Resource By A Process Processing A Media Stream |
US8001548B2 (en) * | 2008-10-20 | 2011-08-16 | Microsoft Corporation | Transaction processing for side-effecting actions in transactional memory |
-
2009
- 2009-01-14 US US12/353,905 patent/US8166481B2/en not_active Expired - Fee Related
- 2009-12-04 WO PCT/US2009/066889 patent/WO2010082983A2/en active Application Filing
- 2009-12-04 JP JP2011546244A patent/JP5501377B2/ja not_active Expired - Fee Related
- 2009-12-04 EP EP09838555A patent/EP2377029A4/en not_active Ceased
- 2009-12-04 CN CN200980154875.4A patent/CN102282548B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000020364A (ja) * | 1998-06-30 | 2000-01-21 | Microsoft Corp | 補償するリソ―ス・マネ―ジャ |
JP2003530646A (ja) * | 2000-03-30 | 2003-10-14 | マイクロソフト コーポレイション | トランザクショナルファイルシステム |
JP2002049519A (ja) * | 2000-08-03 | 2002-02-15 | Nippon Yunishisu Kk | 情報処理装置およびその方法 |
JP2001188696A (ja) * | 2000-11-20 | 2001-07-10 | Toshiba Corp | トランザクション処理の管理方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019512909A (ja) * | 2016-02-23 | 2019-05-16 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | セキュアな投票及び配布に利用されるブロックチェーンが実装された計数システム及び方法 |
US11347838B2 (en) | 2016-02-23 | 2022-05-31 | Nchain Holdings Ltd. | Blockchain implemented counting system and method for use in secure voting and distribution |
JP2022110150A (ja) * | 2016-02-23 | 2022-07-28 | エヌチェーン ホールディングス リミテッド | セキュアな投票及び配布に利用されるブロックチェーンが実装された計数システム及び方法 |
JP7114469B2 (ja) | 2016-02-23 | 2022-08-08 | エヌチェーン ホールディングス リミテッド | セキュアな投票及び配布に利用されるブロックチェーンが実装された計数システム及び方法 |
US11410145B2 (en) | 2016-02-23 | 2022-08-09 | nChain Holdings Limited | Blockchain-implemented method for control and distribution of digital content |
US11455378B2 (en) | 2016-02-23 | 2022-09-27 | nChain Holdings Limited | Method and system for securing computer software using a distributed hash table and a blockchain |
US11606219B2 (en) | 2016-02-23 | 2023-03-14 | Nchain Licensing Ag | System and method for controlling asset-related actions via a block chain |
US11621833B2 (en) | 2016-02-23 | 2023-04-04 | Nchain Licensing Ag | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US11625694B2 (en) | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
US11727501B2 (en) | 2016-02-23 | 2023-08-15 | Nchain Licensing Ag | Cryptographic method and system for secure extraction of data from a blockchain |
US11755718B2 (en) | 2016-02-23 | 2023-09-12 | Nchain Licensing Ag | Blockchain implemented counting system and method for use in secure voting and distribution |
JP7411011B2 (ja) | 2016-02-23 | 2024-01-10 | エヌチェーン ライセンシング アーゲー | セキュアな投票及び配布に利用されるブロックチェーンが実装された計数システム及び方法 |
US11936774B2 (en) | 2016-02-23 | 2024-03-19 | Nchain Licensing Ag | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11972422B2 (en) | 2016-02-23 | 2024-04-30 | Nchain Licensing Ag | Registry and automated management method for blockchain-enforced smart contracts |
Also Published As
Publication number | Publication date |
---|---|
CN102282548B (zh) | 2015-06-17 |
CN102282548A (zh) | 2011-12-14 |
JP5501377B2 (ja) | 2014-05-21 |
EP2377029A2 (en) | 2011-10-19 |
US20100100689A1 (en) | 2010-04-22 |
WO2010082983A2 (en) | 2010-07-22 |
WO2010082983A3 (en) | 2010-09-10 |
US8166481B2 (en) | 2012-04-24 |
EP2377029A4 (en) | 2012-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5501377B2 (ja) | トランザクションメモリにおけるトランザクション処理 | |
EP2150900B1 (en) | Transactional memory using buffered writes and enforced serialization order | |
EP0735473B1 (en) | Method and apparatus for managing a database in a distributed object operating environment | |
KR101669298B1 (ko) | 트랜잭션 메모리 내에서의 부수 효과 액션들을 위한 트랜잭션 처리 기법 | |
US7966459B2 (en) | System and method for supporting phased transactional memory modes | |
US7793052B2 (en) | System and method for implementing hybrid single-compare-single-store operations | |
US7860847B2 (en) | Exception ordering in contention management to support speculative sequential semantics | |
JP2012515393A5 (ja) | ||
US9501237B2 (en) | Automatic mutual exclusion | |
Siek et al. | Atomic RMI: A distributed transactional memory framework | |
US20030208489A1 (en) | Method for ordering parallel operations in a resource manager | |
CN109901913B (zh) | 一种可控重复执行次数的多线程事务存储编程模型方法 | |
Gottschlich et al. | Extending contention managers for user-defined priority-based transactions | |
Siek et al. | Atomic RMI 2: Highly parallel pessimistic distributed transactional memory | |
Cotard et al. | Stm-hrt: A robust and wait-free stm for hard real-time multicore embedded systems | |
Niederhut | Software Transactional Memory in Pure Python. | |
Charles et al. | TMBean: Optimistic Concurrency in Application Servers Using Transactional Memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121108 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121108 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130701 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130718 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140124 |
|
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: 20140210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140311 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5501377 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |