JP4550892B2 - マネージドランタイム環境におけるスレッド同期方法および装置 - Google Patents
マネージドランタイム環境におけるスレッド同期方法および装置 Download PDFInfo
- Publication number
- JP4550892B2 JP4550892B2 JP2007515032A JP2007515032A JP4550892B2 JP 4550892 B2 JP4550892 B2 JP 4550892B2 JP 2007515032 A JP2007515032 A JP 2007515032A JP 2007515032 A JP2007515032 A JP 2007515032A JP 4550892 B2 JP4550892 B2 JP 4550892B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- optimistic
- equilibrium
- release
- synchronization
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Executing Machine-Instructions (AREA)
- Storage Device Security (AREA)
- Electric Clocks (AREA)
Description
ar.ccv = mov 0
r1 = cmpxch2.acq [r3], r2
上述の命令群において、レジスタr1は、以前のロックオーナーを表現するために使用され、レジスタr2は、現在のスレッドを表現するために使用され、また、レジスタr3は、現在のロックオーナーに対応するアドレスを保持しうる。第1の命令(ar.ccv = mov 0)は、ar.ccvレジスタを0(即ち、NULL値)に設定する。第2の命令(r1 = cmpxchg2.acq [r3],r2)は、(1)以前のロックオーナーを現在のロックオーナーに等しくなるように設定(即ち、r1=[r3])し、(2)現在のロックオーナーがNULL値であるかどうかを確認(即ち、[r3]がar.ccvに等しいかどうか)し、(3)現在のロックオーナーがNULL値である場合(即ち[r3]がar.ccvに等しい場合)、ロックオーナーを現在のスレッドを示す値に設定(即ち、[r3]=r2)し、(4)現在のロックオーナーがNULL値でない場合(即ち[r3]がar.ccvと等しくない場合)、ロックオーナーを変更しない(即ち、[r3]を変更しない)ために使用されうるアトミック命令である。
Claims (30)
- マネージドランタイム環境においてスレッドに対してオブジェクトをロックする方法であって、
前記オブジェクトに対応するロックに対して実行するロック操作の組を決定することと、
第1のロック操作が非均衡でない場合、前記ロックの均衡同期および前記ロックの楽観的均衡同期のうちの少なくとも1つを有する前記第1のロック操作を実行することと、
前記第1のロック操作が前記ロックの楽観的均衡同期であり、かつ前記楽観的均衡同期に対応するロックが解放されていない場合、第1のロック操作の次の第2のロック操作が非均衡であるとき、更に、前記楽観的均衡同期の待機中の楽観的均衡解放の状態を変更することと
を備える方法。 - 前記均衡同期および前記楽観的均衡同期のうちの前記少なくとも1つは、
前記ロックを取得するために、前記ロックの以前のロックオーナーを前記ロックのロックオーナーに等しくなるように設定し、前記ロックの前記ロックオーナーがnullスレッドである場合、前記ロックの前記ロックオーナーを、前記スレッドを示す値に設定する、アトミック操作を実行することと、
ロックオーナーを以前のロックオーナーに等しくなるように設定することと
を備える請求項1に記載の方法。 - 前記楽観的均衡同期は、待機中の前記楽観的均衡解放が正常であることを示すために、妥当性フラグを設定することを備える請求項1または2に記載の方法。
- 前記待機中の楽観的均衡解放の状態は、妥当性フラグおよび前記ロックの以前のロックオーナーのうちの少なくとも1つによって指示され、前記楽観的均衡同期の実行は、前記待機中の楽観的均衡解放の前記状態に基づき、前記ロックを解放することを備える請求項1から3のいずれかに記載の方法。
- 前記ロックの解放は、前記待機中の楽観的均衡解放が正常であることを前記妥当性フラグが示す場合、前記ロックのロックオーナーを前記ロックの前記以前のロックオーナーにリセットすることを備える請求項4に記載の方法。
- 前記以前のロックオーナーがnullスレッドである場合に前記ロックはアンロックされ、前記以前のロックオーナーが前記スレッドである場合に前記ロックは前記スレッドに対して維持される、請求項4または5に記載の方法。
- 前記待機中の楽観的均衡解放は不正であることを前記妥当性フラグが示す場合、前記ロックの解放は、例外を発生させることを備える請求項4から6のいずれかに記載の方法。
- 前記楽観的均衡同期は、前記ロックに対して実行されるべき待機中の楽観的均衡解放の組をトラックするために、同期マップを維持することを備え、前記待機中の楽観的均衡開放の組は、前記ロックの楽観的均衡同期の組に対応する請求項1から7のいずれかに記載の方法。
- 前記待機中の楽観的均衡解放の組は、正常な楽観的均衡解放の組と、不正な楽観的均衡解放の組とを備える請求項8に記載の方法。
- 正常な楽観的均衡解放の組の中の正常な楽観的均衡解放は、TRUEに等しい妥当性フラグ、アンロック状態、およびロック維持状態のうちの少なくも1つに対応する請求項9に記載の方法。
- 前記不正な楽観的均衡解放の組の中の不正な楽観的均衡解放は、FALSEに等しい妥当性フラグおよび例外発生状態のうちの少なくとも1つに対応する請求項9または10に記載の方法。
- 前記ロックに対する前記第2のロック操作が非均衡である場合、前記ロックの非均衡取得および前記ロックの非均衡解放のうちの少なくとも1つを実行することを更に備え、前記ロックの前記非均衡取得および前記ロックの非均衡解放のうちの前記少なくとも1つを実行することは、前記同期マップ内の正常な楽観的均衡解放の数を決定すること、および、前記同期マップが少なくとも1つの不正な楽観的均衡解放を含むかどうか決定することのうちの少なくとも1つを備える請求項9から11のいずれかに記載の方法。
- 前記待機中の楽観的均衡解放は、前記待機中の楽観的均衡解放の前記状態を、アンロック状態、ロック維持状態、および、例外発生状態のうちの少なくとも1つに対応するように変更する請求項1から12のいずれかに記載の方法。
- 前記アンロック状態、前記ロック維持状態、および、前記例外発生状態のうちの少なくとも1つは、前記ロックの以前のロックオーナーと妥当性フラグとによって決定される請求項13に記載の方法。
- 前記ロックに対して実行するロック操作の前記組を決定することは、前記組の各ロック操作が、前記ロックの前記均衡同期、前記ロックの前記楽観的均衡同期、前記ロックの非均衡取得、および、前記ロックの非均衡解放のうちの1つであるかどうかを決定することを備える請求項1から14のいずれかに記載の方法。
- マシン読み取り可能な命令群を格納するプログラムであって、
マシンによって実行されることによって、前記マシンに、
オブジェクトに対応するロックに対して実行するロック操作の組を決定させ、
第1のロック操作が非均衡でない場合、前記ロックの均衡同期および前記ロックの楽観的均衡同期のうちの少なくとも1つを有する前記第1のロック操作を実行させ、
前記第1のロック操作が前記ロックの楽観的均衡同期であり、かつ前記楽観的均衡同期に対応するロックが解放されていない場合、前記第1のロック操作の次の第2のロック操作が非均衡であるとき、更に、前記楽観的均衡同期の待機中の楽観的均衡解放の状態を変更させる
プログラム。 - 前記マシン読み取り可能な命令群は、前記マシンに、前記ロックに対して実行されるべき待機中の楽観的均衡解放の組をトラックするために同期マップを維持させ、前記待機中の楽観的均衡解放の組は、楽観的均衡同期の組に対応する請求項16に記載のプログラム。
- 前記マシン読み取り可能な命令群は、前記ロックに対する前記第2のロック操作が非均衡である場合、前記マシンに、前記ロックの非均衡取得および前記ロックの非均衡解放の少なくとも1つを実行させ、前記ロックの前記非均衡取得および前記ロックの前記非均衡解放の少なくとも1つを実行するために、前記マシン読み取り可能な命令群は、前記マシンに、前記同期マップ内の正常な待機中の楽観的均衡解放の数を決定すること、および、前記同期マップが少なくとも1つの不正な待機中の楽観的均衡解放を有するかどうかを決定することのうちの少なくとも1つを実行させる請求項17に記載のプログラム。
- 前記マシン読み取り可能な命令群は、前記ロックに対する前記第2のロック操作が非均衡である場合に前記マシンに前記ロックの非均衡取得および前記ロックの非均衡解放のうちの少なくとも1つを実行させ、前記非均衡取得および前記非均衡解放のうちの前記少なくとも1つを実行させるために、前記マシン読み取り可能な命令群は、前記マシンに、前記待機中の楽観的均衡解放の前記状態およびロック再帰カウンタのうちの少なくとも1つを変更させる請求項17または18に記載のプログラム。
- マネージドランタイム環境においてスレッドに対してオブジェクトをロックする装置であって、
前記オブジェクトに対応するロックの均衡同期を実行する均衡ロック同期部、および、前記オブジェクトに対応する前記ロックの楽観的均衡同期を実行する楽観的均衡ロック同期部のうちの少なくとも1つと、
前記装置が前記楽観的均衡ロック同期部を備える場合、更に、前記ロックの非均衡取得および前記ロックの非均衡解放のうちの少なくとも1つの発生に基づき、前記楽観的均衡ロック同期部の状態を変更する楽観的均衡同期状態変更部と
を備える装置。 - 前記均衡ロック同期部および前記楽観的均衡ロック同期部のうちの少なくとも1つは、
前記ロックの以前のロックオーナーがnullスレッドであることに基づき、前記ロックの以前のロックオーナーを前記ロックのロックオーナーに等しくなるように設定し、かつ、前記ロックの前記ロックオーナーを前記スレッドを示す値に設定することによって、前記ロックを取得し、
前記ロックオーナーを前記以前のロックオーナーに等しくなるようにリセットすること、および、例外を発生させることのうちの少なくとも1つによって、前記ロックを解放するように設定される
請求項20に記載の装置。 - 前記楽観的均衡ロック同期部は、前記ロックの前記楽観的均衡同期の待機中の楽観的均衡解放の状態に基づき、前記ロックのアンロック、前記ロックの維持、および、例外発生のうちの少なくとも1つに設定される請求項20または21に記載の装置。
- 前記楽観的均衡ロック同期部は、前記ロックに対して実行される待機中の楽観的均衡解放の組をトラックする同期マップを備え、前記楽観的均衡解放の組は、前記ロックの楽観的均衡同期の組に対応する請求項20から22のいずれかに記載の装置。
- 前記待機中の楽観的均衡解放の組は、正常な楽観的均衡解放の組と、不正な楽観的均衡解放の組とを備える請求項23に記載の装置。
- 前記同期マップ内の正常な楽観的均衡解放の数を決定すること、および、前記同期マップが少なくとも1つの不正な楽観的均衡解放を含んでいるかどうかを決定することのうちの少なくとも1つを実行するために、楽観的均衡解放トラッカーを更に備える請求項24に記載の装置。
- 前記楽観的均衡同期は、前記ロックの楽観均衡取得と、前記ロックの待機中の楽観的均衡解放とを備え、前記楽観的均衡同期状態変更部は、前記待機中の楽観的均衡解放の状態を、アンロック状態、ロック維持状態、および例外発生状態のうちの1つに変更するように設定される請求項20から25のいずれかに記載の装置。
- 前記ロックの非均衡取得を実行する非均衡ロック取得部、および、前記ロックの非均衡解放を実行する非均衡ロック解放部のうちの少なくとも1つを更に備える請求項20から26のいずれかに記載の装置。
- マネージドランタイム環境においてスレッドに対してオブジェクトをロックするシステムであって、
前記オブジェクトに対応するロックに対して実行するロック操作の組を決定し、
第1のロック操作が非均衡でない場合、前記ロックの均衡同期および前記ロックの楽観的均衡同期のうちの少なくとも1つを有する前記第1のロック操作を実行し、
前記第1のロック操作が前記ロックの楽観的均衡同期であり、かつ前記楽観的均衡同期に対応するロックが解放されていない場合、前記第1のロック操作の次の第2のロック操作が非均衡であるとき、更に、前記楽観的均衡同期の待機中の楽観的均衡解放の状態を変更する
ように設定されるプロセッサと、
前記ロックのロックオーナー、前記ロックの以前のロックオーナー、および妥当性フラグのうちの少なくとも1つを格納するメモリと
を備えるシステム。 - 前記メモリは、前記ロックに対して実行される待機中の楽観的均衡解放の組をトラックするために、同期マップを格納するように設定され、前記待機中の楽観的均衡解放の組は、前記ロックの楽観的均衡解放の組に対応する請求項28に記載のシステム。
- 前記楽観的均衡解放の前記状態を変更するために、前記プロセッサは、前記ロックの前記以前のロックオーナーおよび前記妥当性フラグのうちの少なくとも1つに基づき、前記状態をアンロック状態、ロック維持状態、および例外発生状態のうちの少なくとも1つに対応するように変更するように設定される請求項28または29に記載のシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/860,692 US7610585B2 (en) | 2004-06-03 | 2004-06-03 | Thread synchronization methods and apparatus for managed run-time environments |
| PCT/US2004/026518 WO2005121958A1 (en) | 2004-06-03 | 2004-08-13 | Thread synchronization methods and apparatus for managed run-time environments |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008500633A JP2008500633A (ja) | 2008-01-10 |
| JP4550892B2 true JP4550892B2 (ja) | 2010-09-22 |
Family
ID=34958573
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007515032A Expired - Fee Related JP4550892B2 (ja) | 2004-06-03 | 2004-08-13 | マネージドランタイム環境におけるスレッド同期方法および装置 |
Country Status (7)
| Country | Link |
|---|---|
| US (3) | US7610585B2 (ja) |
| EP (1) | EP1751659B1 (ja) |
| JP (1) | JP4550892B2 (ja) |
| CN (2) | CN100538642C (ja) |
| AT (1) | ATE454663T1 (ja) |
| DE (1) | DE602004025051D1 (ja) |
| WO (1) | WO2005121958A1 (ja) |
Families Citing this family (51)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7756750B2 (en) | 2003-09-02 | 2010-07-13 | Vinimaya, Inc. | Method and system for providing online procurement between a buyer and suppliers over a network |
| US7610585B2 (en) | 2004-06-03 | 2009-10-27 | Intel Corporation | Thread synchronization methods and apparatus for managed run-time environments |
| US7567963B2 (en) | 2004-06-28 | 2009-07-28 | Intel Corporation | Thread synchronization with lock inflation methods and apparatus for managed run-time environments |
| US7707547B2 (en) * | 2005-03-11 | 2010-04-27 | Aptana, Inc. | System and method for creating target byte code |
| US7765555B2 (en) * | 2005-06-17 | 2010-07-27 | Oracle America, Inc. | Facilitating bulk lock-unbiasing in an object-based system |
| US20070038981A1 (en) * | 2005-07-29 | 2007-02-15 | Timothy Hanson | System and method for multi-threaded resolver with deadlock detection |
| US20070055727A1 (en) * | 2005-07-29 | 2007-03-08 | Timothy Hanson | System and method for multi-threaded resolver |
| US7805712B2 (en) * | 2005-07-29 | 2010-09-28 | Bea Systems, Inc. | System and method for multi-threaded resolver with versioning |
| US7681197B1 (en) * | 2005-09-21 | 2010-03-16 | Sun Microsystems, Inc. | Nested monitor handling processes |
| US8024405B2 (en) * | 2006-03-30 | 2011-09-20 | Microsoft Corporation | Declarative model for concurrency-control across lightweight threads |
| US8887167B2 (en) | 2010-07-30 | 2014-11-11 | International Business Machines Corporation | High performance locks |
| US8079039B2 (en) * | 2007-03-09 | 2011-12-13 | Microsoft Corporation | Isolating, managing and communicating with user interface elements |
| JP5151559B2 (ja) * | 2008-02-29 | 2013-02-27 | 富士通株式会社 | プログラム実行システム |
| US20100017583A1 (en) * | 2008-07-15 | 2010-01-21 | International Business Machines Corporation | Call Stack Sampling for a Multi-Processor System |
| US8286134B2 (en) * | 2008-07-15 | 2012-10-09 | International Business Machines Corporation | Call stack sampling for a multi-processor system |
| US9418005B2 (en) * | 2008-07-15 | 2016-08-16 | International Business Machines Corporation | Managing garbage collection in a data processing system |
| US10007729B1 (en) | 2009-01-23 | 2018-06-26 | Zakta, LLC | Collaboratively finding, organizing and/or accessing information |
| US9607324B1 (en) | 2009-01-23 | 2017-03-28 | Zakta, LLC | Topical trust network |
| US10191982B1 (en) | 2009-01-23 | 2019-01-29 | Zakata, LLC | Topical search portal |
| US8924984B2 (en) * | 2009-06-26 | 2014-12-30 | Microsoft Corporation | Lock-free barrier with dynamic updating of participant count |
| CN101630268B (zh) * | 2009-08-20 | 2012-07-04 | 中国科学技术大学 | 同步优化的方法及设备 |
| US20110276549A1 (en) * | 2010-05-04 | 2011-11-10 | Microsoft Corporation | Optimistic locking in a distributed file system replication environment |
| US9176783B2 (en) | 2010-05-24 | 2015-11-03 | International Business Machines Corporation | Idle transitions sampling with execution context |
| US8843684B2 (en) | 2010-06-11 | 2014-09-23 | International Business Machines Corporation | Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration |
| US8799872B2 (en) | 2010-06-27 | 2014-08-05 | International Business Machines Corporation | Sampling with sample pacing |
| US8495638B2 (en) | 2010-09-08 | 2013-07-23 | International Business Machines Corporation | Component-specific disclaimable locks |
| US10068266B2 (en) | 2010-12-02 | 2018-09-04 | Vinimaya Inc. | Methods and systems to maintain, check, report, and audit contract and historical pricing in electronic procurement |
| US8799904B2 (en) | 2011-01-21 | 2014-08-05 | International Business Machines Corporation | Scalable system call stack sampling |
| WO2015165073A1 (en) * | 2014-04-30 | 2015-11-05 | Oracle International Corporation | System and method for supporting adaptive self-tuning locking mechanism in transactional middleware machine environment |
| US8914586B2 (en) * | 2012-07-31 | 2014-12-16 | Advanced Micro Devices, Inc. | TLB-walk controlled abort policy for hardware transactional memory |
| US8943278B2 (en) | 2012-07-31 | 2015-01-27 | Advanced Micro Devices, Inc. | Protecting large regions without operating-system support |
| US9207996B2 (en) | 2012-08-01 | 2015-12-08 | Empire Technology Development Llc | Active lock information maintenance and retrieval |
| US9792338B2 (en) * | 2012-09-07 | 2017-10-17 | Oracle International Corporation | Role assignments in a cloud infrastructure |
| US10521746B2 (en) | 2012-09-07 | 2019-12-31 | Oracle International Corporation | Recovery workflow for processing subscription orders in a computing infrastructure system |
| US9253113B2 (en) | 2012-09-07 | 2016-02-02 | Oracle International Corporation | Customizable model for throttling and prioritizing orders in a cloud environment |
| US9667470B2 (en) | 2012-09-07 | 2017-05-30 | Oracle International Corporation | Failure handling in the execution flow of provisioning operations in a cloud environment |
| US10148530B2 (en) | 2012-09-07 | 2018-12-04 | Oracle International Corporation | Rule based subscription cloning |
| CA2831134A1 (en) * | 2013-10-24 | 2015-04-24 | Ibm Canada Limited - Ibm Canada Limitee | Identification of code synchronization points |
| US9053035B1 (en) * | 2013-11-25 | 2015-06-09 | Freescale Semiconductor, Inc. | Multi-threaded system for performing atomic binary translations |
| US10164901B2 (en) | 2014-08-22 | 2018-12-25 | Oracle International Corporation | Intelligent data center selection |
| US10310914B2 (en) * | 2016-02-22 | 2019-06-04 | Ciena Corporation | Methods and systems for recursively acquiring and releasing a spinlock |
| CN105824709B (zh) * | 2016-03-11 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种临界区访问方法及装置 |
| CN106406932B (zh) * | 2016-08-26 | 2020-01-07 | 北京中电华大电子设计有限责任公司 | 一种改进的Java卡初始化方法和Java卡 |
| CN108376070A (zh) | 2016-10-28 | 2018-08-07 | 华为技术有限公司 | 一种编译源代码对象的方法、装置及计算机 |
| US10643178B1 (en) | 2017-06-16 | 2020-05-05 | Coupa Software Incorporated | Asynchronous real-time procurement system |
| US10831500B2 (en) * | 2018-06-10 | 2020-11-10 | International Business Machines Corporation | Adaptive locking in elastic threading systems |
| US11188395B2 (en) * | 2018-11-28 | 2021-11-30 | Google Llc | Computational graph critical sections |
| CN110908860B (zh) * | 2019-10-28 | 2023-06-09 | 北京字节跳动网络技术有限公司 | 一种Java线程的获取方法、装置、介质和电子设备 |
| KR20210113859A (ko) * | 2020-03-09 | 2021-09-17 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그 동작 방법 |
| US11921904B1 (en) * | 2020-04-08 | 2024-03-05 | Marvell Asia Pte Ltd | System and methods for firmware security mechanism |
| US12229559B2 (en) * | 2021-10-19 | 2025-02-18 | EMC IP Holding Company LLC | Facilitating per-CPU reference counting for multi-core systems with a long-lived reference |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63148372A (ja) * | 1986-12-12 | 1988-06-21 | Agency Of Ind Science & Technol | プログラム変換装置 |
| US5317737A (en) * | 1991-07-29 | 1994-05-31 | Ncr Corporation | Method and apparatus for controlling a re-entrant synchronization lock tenure in a multiprocessor system |
| JPH05289892A (ja) * | 1992-04-07 | 1993-11-05 | Toshiba Corp | 計算機システム |
| US6052695A (en) * | 1995-02-28 | 2000-04-18 | Ntt Data Communications Systems Corporation | Accurate completion of transaction in cooperative type distributed system and recovery procedure for same |
| US5761670A (en) * | 1995-12-08 | 1998-06-02 | Sun Microsystems, Inc. | System and method for space efficient object locking using global and local locks |
| JP2000207229A (ja) * | 1999-01-13 | 2000-07-28 | Hitachi Ltd | 資源占有の管理方式 |
| US6330714B1 (en) | 1999-02-08 | 2001-12-11 | International Business Machines Corporation | Method and computer program product for implementing redundant lock avoidance |
| US6449614B1 (en) * | 1999-03-25 | 2002-09-10 | International Business Machines Corporation | Interface system and method for asynchronously updating a share resource with locking facility |
| JP3575593B2 (ja) * | 1999-12-27 | 2004-10-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オブジェクトのロック管理方法及び装置 |
| US6324624B1 (en) * | 1999-12-28 | 2001-11-27 | Intel Corporation | Read lock miss control and queue management |
| US6661794B1 (en) * | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
| US6823511B1 (en) * | 2000-01-10 | 2004-11-23 | International Business Machines Corporation | Reader-writer lock for multiprocessor systems |
| US6792601B1 (en) * | 2000-05-18 | 2004-09-14 | International Business Machines Corporation | Multiple mode object locking method and system |
| US6609121B1 (en) | 2000-07-17 | 2003-08-19 | International Business Machines Corporation | Lightweight directory access protocol interface to directory assistance systems |
| US6772153B1 (en) | 2000-08-11 | 2004-08-03 | International Business Machines Corporation | Method and apparatus to provide concurrency control over objects without atomic operations on non-shared objects |
| US6735760B1 (en) | 2000-11-08 | 2004-05-11 | Sun Microsystems, Inc. | Relaxed lock protocol |
| US7159220B2 (en) * | 2001-09-28 | 2007-01-02 | Intel Corporation | Flexible acceleration of java thread synchronization on multiprocessor computers |
| GB2381092B (en) * | 2001-10-19 | 2005-10-19 | Ibm | Object locking in a shared VM environment |
| US7234143B2 (en) * | 2002-06-20 | 2007-06-19 | Hewlett-Packard Development Company, L.P. | Spin-yielding in multi-threaded systems |
| US6988099B2 (en) | 2002-06-27 | 2006-01-17 | Bea Systems, Inc. | Systems and methods for maintaining transactional persistence |
| CA2430383A1 (en) * | 2003-05-30 | 2004-11-30 | Ibm Canada Limited - Ibm Canada Limitee | Efficiently releasing locks when an exception occurs |
| US7610585B2 (en) | 2004-06-03 | 2009-10-27 | Intel Corporation | Thread synchronization methods and apparatus for managed run-time environments |
| US7567963B2 (en) * | 2004-06-28 | 2009-07-28 | Intel Corporation | Thread synchronization with lock inflation methods and apparatus for managed run-time environments |
-
2004
- 2004-06-03 US US10/860,692 patent/US7610585B2/en not_active Expired - Fee Related
- 2004-08-13 DE DE602004025051T patent/DE602004025051D1/de not_active Expired - Lifetime
- 2004-08-13 AT AT04781238T patent/ATE454663T1/de not_active IP Right Cessation
- 2004-08-13 CN CN200480043225.XA patent/CN100538642C/zh not_active Expired - Fee Related
- 2004-08-13 WO PCT/US2004/026518 patent/WO2005121958A1/en not_active Application Discontinuation
- 2004-08-13 JP JP2007515032A patent/JP4550892B2/ja not_active Expired - Fee Related
- 2004-08-13 CN CN200910160544.3A patent/CN101615138B/zh not_active Expired - Fee Related
- 2004-08-13 EP EP04781238A patent/EP1751659B1/en not_active Expired - Lifetime
-
2009
- 2009-09-14 US US12/559,254 patent/US8136112B2/en not_active Expired - Fee Related
-
2012
- 2012-03-05 US US13/412,591 patent/US8302099B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP1751659B1 (en) | 2010-01-06 |
| US20100005467A1 (en) | 2010-01-07 |
| US20050273782A1 (en) | 2005-12-08 |
| JP2008500633A (ja) | 2008-01-10 |
| CN100538642C (zh) | 2009-09-09 |
| DE602004025051D1 (de) | 2010-02-25 |
| US8136112B2 (en) | 2012-03-13 |
| ATE454663T1 (de) | 2010-01-15 |
| CN101615138B (zh) | 2013-03-13 |
| US7610585B2 (en) | 2009-10-27 |
| EP1751659A1 (en) | 2007-02-14 |
| US8302099B2 (en) | 2012-10-30 |
| WO2005121958A1 (en) | 2005-12-22 |
| US20120167106A1 (en) | 2012-06-28 |
| CN1961292A (zh) | 2007-05-09 |
| CN101615138A (zh) | 2009-12-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4550892B2 (ja) | マネージドランタイム環境におけるスレッド同期方法および装置 | |
| US7567963B2 (en) | Thread synchronization with lock inflation methods and apparatus for managed run-time environments | |
| US6851111B2 (en) | System and method for class loader constraint checking | |
| US7844946B2 (en) | Methods and apparatus to form a transactional objective instruction construct from lock-based critical sections | |
| US8065490B2 (en) | Hardware acceleration of strongly atomic software transactional memory | |
| US6546443B1 (en) | Concurrency-safe reader-writer lock with time out support | |
| US9411634B2 (en) | Action framework in software transactional memory | |
| US8627292B2 (en) | STM with global version overflow handling | |
| US20090055603A1 (en) | Modified computer architecture for a computer to operate in a multiple computer system | |
| US8719515B2 (en) | Composition of locks in software transactional memory | |
| US20050289549A1 (en) | Lock reservation methods and apparatus for multi-threaded environments | |
| US8769514B2 (en) | Detecting race conditions with a software transactional memory system | |
| US9104628B2 (en) | Array object concurrency in STM |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090714 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091013 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091020 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091113 |
|
| 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: 20100622 |
|
| 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: 20100708 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 3 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |