JP2010517144A - スピン・ロックによりロッキング公平性及びロッキング性能の両方を達成する方法及びシステム - Google Patents
スピン・ロックによりロッキング公平性及びロッキング性能の両方を達成する方法及びシステム Download PDFInfo
- Publication number
- JP2010517144A JP2010517144A JP2009546472A JP2009546472A JP2010517144A JP 2010517144 A JP2010517144 A JP 2010517144A JP 2009546472 A JP2009546472 A JP 2009546472A JP 2009546472 A JP2009546472 A JP 2009546472A JP 2010517144 A JP2010517144 A JP 2010517144A
- Authority
- JP
- Japan
- Prior art keywords
- spin lock
- cache memory
- lock
- cache
- exclusivity
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- 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
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】 各々が少なくとも1つのプロセッサ及びキャッシュ・メモリを有する複数の処理ノードを含むシステムにおいてスピン・ロックを実装する方法であって、この方法は、キャッシュ・メモリに対する排他性を獲得するステップと、スピン・ロックの可用性をチェックするステップと、スピン・ロックが利用可能である場合、スピン・ロックを論理1に設定するステップと、処理が完了すると、スピン・ロックを論理0に設定するステップと、キャッシュ・メモリの排他性を明示的に明け渡すステップとを含む。キャッシュ・メモリの排他性を明け渡すことは、キャッシュ・メモリを非排他的なものとしてマーク付けするように、キャッシュ・コヒーレント・ハードウェアに命令することを含む。キャッシュ・メモリは、一般的に、レベル2キャッシュと呼ばれる。
【選択図】 図4
Description
ここで、図面、特に図1を具体的に詳細に参照すると、既知の技術及び本発明の実施形態の両方による、ロッキング・スキームを作働させるように構成された情報処理システム100のブロック図が示される。システム100は、多数のマルチプロセッサ・ノードを含むが、1つのノード、すなわちノード1105だけがここに示されている。ノード1105は、多数のプロセッサを含み、そのうちの2つ、すなわちCPU115及びCPU120が示されている。プロセッサ115及び120は、マイクロプロセッサ又は複数のマイクロプロセッサとすることができる。主メモリ150は、ランダム・アクセス・メモリ、又はハード・ディスク・ドライブなどの磁気媒体大容量記憶装置のような大容量記憶装置を表す。主メモリ150は、揮発性又は不揮発性とすることができる。ノード1105はまた、レベル2キャッシュ・メモリ135も含む。ノード1105の各プロセッサにより、キャッシュ・コヒーレント・ハードウェア180が共有される。
現在のスピン・ロックが、図2に示されるようなNUMAアーキテクチャにおいてロッキングの不公平をもたらす理由を理解するために、ここで、スピン・ロックを用いる標準的な手順を詳述する図3を参照する。スピン・ロックを獲得するために、CPUは、一般的に、処理ループ(ソフトウェアの「スピン待機」)を用いて、スピン・ロック155が成功裏に獲得されたかどうかをテストする。このテストは、CPUが、スピン・ロック155に対するL2キャッシュの排他性を取得するステップ305で開始される。スピン・ロック155の獲得を試みるために、CPUは、最初に、スピン・ロック155を保持するキャッシュに対する排他性を取得しなければならない。キャッシュの排他性を獲得することは、周知のキャッシュ・コヒーレント・プロトコルの部分である。キャッシュ・コヒーレント・プロトコルは、現在どのCPUがキャッシュに対する排他性を保持しているかを見つけ、キャッシュの値が変化した場合に、キャッシュ・コヒーレント・ハードウェア180がキャッシュを再び主メモリに書き込めることを、CPUに知らせることを必要とする。次に、保持中のCPUは、キャッシュに対する排他性を解放し、別の要求中のCPUがキャッシュに対する排他性を取得できるようにする。
この間、他の3つのCPU、すなわちCPU2120、CPU3225及びCPU4230は、「スピン待機」によって、スピン・ロック155を獲得する自分らの試みを続け、L2キャッシュ1135(CPU2がスピン・ロックの獲得を試みる場合)又はL2キャッシュ2240(CPU3又はCPU4がスピン・ロックの獲得を試みる場合)のいずれかが、交代でスピン・ロック155に対する排他性を保持することができる。しかしながら、CPU1115がスピン・ロック155を解放する前に、スピン・ロックの値は論理1のままなので、3つのCPUのいずれも、スピン・ロック155を獲得することができない。
現在のスピン・ロックが、NUMAアーキテクチャにおける高競合状態の下でロッキングの不公平を引き起こす理由が理解された今、問題を解決するために、本発明の「協働的」機能を用いて、ロッキングの不公平を除去する方法を説明する。保持中のCPUによってスピン・ロックが解放された(ステップ330)後、付加的なステップ(440)が影付きボックス内に示される以外は、図3とほぼ全く同じである図4を参照されたい。前のセクションから、CPU1115がスピン・ロック155を解放した結果、L2キャッシュ1135がスピン・ロック145に対する排他性を既に保持しているので、CPU2120は、CPU1115によって解放されたばかりのスピン・ロック155を獲得する、CPU3又はCPU4(225又は230)を凌ぐ公平な利点を有していないことが分かっている。
105、210:ノード
115、120、225、230:CPU
135、240:L2キャッシュ・メモリ
145:スピン・ロックのコピー
150:主メモリ
155:スピン・ロック
180:キャッシュ・コヒーレント・ハードウェア
190:CDROM/DVDROM
260:問い合わせ
Claims (20)
- 各々が少なくとも1つのプロセッサ及びキャッシュ・メモリを有する複数の処理ノードを含むシステムにおいてスピン・ロックを実装する方法であって、
前記キャッシュ・メモリに対する排他性を取得するステップと、
前記スピン・ロックが利用可能であるかどうかを判断するステップと、
前記スピン・ロックが利用可能であると判断すると同時に、前記スピン・ロックを獲得するステップと、
処理が完了すると、前記スピン・ロックを解放するステップと、
前記キャッシュ・メモリに対する前記排他性を明け渡すステップと
を含む方法。 - 前記獲得するステップは、
前記スピン・ロックを、他のプロセッサが利用できないことを示す論理状態に設定するステップをさらに含む、請求項1に記載の方法。 - 前記スピン・ロックを、利用できないことを示す前記論理状態に設定する前記ステップは、前記スピン・ロックを0以外の整数に設定するステップをさらに含む、請求項2に記載の方法。
- 前記解放するステップは、
前記スピン・ロックを、前記他のプロセッサが利用できないことを示す論理状態に設定するステップをさらに含む、請求項1に記載の方法。 - 前記スピン・ロックを、前記他のプロセッサが利用できないことを示す論理状態に設定する前記ステップは、前記スピン・ロックを0に設定するステップをさらに含む、請求項4に記載の方法。
- 前記キャッシュ・メモリの排他性を明け渡す前記ステップは、前記キャッシュ・メモリを非排他的なものとしてマーク付けするように、前記システム内のキャッシュ・コヒーレント・ハードウェアに命令するステップをさらに含む、請求項1に記載の方法。
- 前記キャッシュ・メモリの排他性を明け渡す前記ステップは、前記解放するステップの後に自動的に実行される、請求項6に記載の方法。
- 前記獲得するステップは、
主メモリから前記スピン・ロックにアクセスするステップと、
前記スピン・ロックを前記キャッシュ・メモリにコピーするステップと
をさらに含む、請求項1に記載の方法。 - 前記解放するステップは、
前記キャッシュ・メモリの排他性を再獲得するステップをさらに含む、請求項1に記載の方法。 - 前記判断するステップは、
前記スピン・ロックが、前記他のプロセッサが利用できることを示す前記論理状態に設定されたかどうかを判断するために、前記キャッシュ・メモリに問い合わせるステップをさらに含む、請求項1に記載の方法。 - スピン・ロックを含む主メモリと、
前記主メモリに作働的に接続され、各々が、
キャッシュ・メモリと、
前記種々のメモリに作動的に接続され、かつ、
前記キャッシュ・メモリに対する排他性を獲得し、
前記スピン・ロックの可用性を判断し、
前記スピン・ロックが利用可能であると判断すると同時に前記スピン・ロックを獲得し、
処理が完了すると前記スピン・ロックを解放し、
前記キャッシュ・メモリに対する前記排他性を明け渡す、
ための命令を実行するように構成された、1つ又は複数のプロセッサと、
キャッシュ・コヒーレント・ハードウェアと
を含む複数のノードと
を備える情報処理システム。 - 前記キャッシュ・メモリは、レベル2キャッシュ・メモリである、請求項11に記載の情報処理システム。
- 前記1つ又は複数のプロセッサは、
前記キャッシュ・メモリを非排他的なものとしてマーク付けするように、前記キャッシュ・コヒーレント・ハードウェアに命令することによって、前記キャッシュ・メモリに対する前記排他性を明示的に明け渡すための命令を実行するようにさらに構成される、請求項11に記載の情報処理システム。 - 前記1つ又は複数のプロセッサは、
前記スピン・ロックを、他のプロセッサが利用できないことを示す論理状態に設定するための命令を実行するようにさらに構成される、請求項11に記載の情報処理システム。 - 前記スピン・ロックは、前記主メモリに常駐する、請求項11に記載の情報処理システム。
- 前記1つ又は複数のプロセッサは、
前記スピン・ロックを、他のプロセッサが利用できることを示す論理状態に設定するための命令を実行するようにさらに構成される、請求項11に記載の情報処理システム。 - 前記論理状態は0である、請求項16に記載の情報処理システム。
- 前記論理状態は0以外の整数である、請求項14に記載の情報処理システム。
- 前記1つ又は複数のプロセッサは、単一のキャッシュ・コヒーレント・ハードウェアを共有する、請求項11に記載の情報処理システム。
- 各々が少なくとも1つのプロセッサ及びキャッシュ・メモリを有する複数の処理ノードを含むシステムにおいてスピン・ロックを実装するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、
前記キャッシュ・メモリに対する排他性を取得するステップと、
前記スピン・ロックが利用可能であるかどうかを判断するステップと、
前記スピン・ロックが利用可能であると判断すると同時に、前記スピン・ロックを獲得するステップと、
処理が完了すると、前記スピン・ロックを解放するステップと、
前記キャッシュ・メモリに対する前記排他性を明け渡すステップと
を行なうための論理を含む、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/625,842 | 2007-01-23 | ||
US11/625,842 US7487279B2 (en) | 2007-01-23 | 2007-01-23 | Achieving both locking fairness and locking performance with spin locks |
PCT/US2008/051047 WO2008091757A2 (en) | 2007-01-23 | 2008-01-15 | Achieving both locking fairness and locking performance with spin locks |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010517144A true JP2010517144A (ja) | 2010-05-20 |
JP5137971B2 JP5137971B2 (ja) | 2013-02-06 |
Family
ID=39642384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009546472A Active JP5137971B2 (ja) | 2007-01-23 | 2008-01-15 | スピン・ロックによりロッキング公平性及びロッキング性能の両方を達成する方法及びシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US7487279B2 (ja) |
EP (1) | EP2126704B1 (ja) |
JP (1) | JP5137971B2 (ja) |
KR (1) | KR20090106392A (ja) |
WO (1) | WO2008091757A2 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719514B2 (en) * | 2007-06-27 | 2014-05-06 | Intel Corporation | Software filtering in a transactional memory system |
US8065490B2 (en) * | 2007-09-28 | 2011-11-22 | Intel Corporation | Hardware acceleration of strongly atomic software transactional memory |
US9021502B2 (en) * | 2008-12-29 | 2015-04-28 | Oracle America Inc. | Method and system for inter-thread communication using processor messaging |
US8799914B1 (en) * | 2009-09-21 | 2014-08-05 | Tilera Corporation | Managing shared resource in an operating system by distributing reference to object and setting protection levels |
JP2011150422A (ja) * | 2010-01-19 | 2011-08-04 | Renesas Electronics Corp | データ処理装置 |
US9189228B2 (en) * | 2011-07-01 | 2015-11-17 | Adobe Systems Incorporated | Systems and methods for developing and testing electronic content using multiple devices |
KR101878297B1 (ko) | 2012-03-06 | 2018-08-07 | 삼성전자주식회사 | 락 홀더 선점 회복 방법 및 장치 |
US9146944B2 (en) | 2012-03-16 | 2015-09-29 | Oracle International Corporation | Systems and methods for supporting transaction recovery based on a strict ordering of two-phase commit calls |
US9760584B2 (en) | 2012-03-16 | 2017-09-12 | Oracle International Corporation | Systems and methods for supporting inline delegation of middle-tier transaction logs to database |
US10133596B2 (en) | 2012-03-16 | 2018-11-20 | Oracle International Corporation | System and method for supporting application interoperation in a transactional middleware environment |
US8966491B2 (en) | 2012-04-27 | 2015-02-24 | Oracle International Corporation | System and method for implementing NUMA-aware reader-writer locks |
US8694706B2 (en) | 2012-04-27 | 2014-04-08 | Oracle International Corporation | System and method for NUMA-aware locking using lock cohorts |
US9201809B2 (en) * | 2013-05-14 | 2015-12-01 | Globalfoundries Inc. | Accidental shared volume erasure prevention |
CN104166587B (zh) * | 2013-05-17 | 2018-11-30 | 新华三技术有限公司 | 一种临界资源的访问装置和方法 |
US9996402B2 (en) | 2014-04-07 | 2018-06-12 | Oracle International Corporation | System and method for implementing scalable adaptive reader-writer locks |
GB2532424B (en) | 2014-11-18 | 2016-10-26 | Ibm | An almost fair busy lock |
US9959055B2 (en) * | 2016-06-30 | 2018-05-01 | Hewlett Packard Enterprise Development Lp | Placement of a processing unit in unfair lock mode in response to a queue in a fair lock mode |
CN107370797B (zh) * | 2017-06-30 | 2021-07-27 | 北京百度网讯科技有限公司 | 一种基于HBase的强有序队列操作的方法和装置 |
KR102450133B1 (ko) * | 2019-04-04 | 2022-10-05 | 한국전자통신연구원 | 분산 잠금 관리를 하는 분산 시스템 및 그것의 동작 방법 |
CN112306698A (zh) * | 2019-07-29 | 2021-02-02 | 华为技术有限公司 | 一种numa系统中的临界区执行方法及装置 |
KR20210034372A (ko) * | 2019-09-20 | 2021-03-30 | 주식회사 엘지화학 | 배터리 관리 장치 및 방법 |
JP2021072074A (ja) * | 2019-11-03 | 2021-05-06 | ルネサスエレクトロニクス株式会社 | 半導体装置および半導体装置の制御方法 |
CN111984428A (zh) * | 2020-07-20 | 2020-11-24 | 上海金仕达软件科技有限公司 | 一种资源访问时自旋锁的实现方法、装置及设备 |
US11669498B2 (en) | 2020-07-24 | 2023-06-06 | EMC IP Holding Company LLC | Facilitating exclusive local locks on a distributed file system |
US11216316B1 (en) * | 2020-07-27 | 2022-01-04 | EMC IP Holding Company LLC | Facilitating object deletion based on delete lock contention in distributed file systems |
CN115934370A (zh) * | 2022-12-23 | 2023-04-07 | 科东(广州)软件科技有限公司 | 自旋锁的获取方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04296951A (ja) * | 1991-03-19 | 1992-10-21 | Mitsubishi Electric Corp | キャッシュメモリ |
JPH04350743A (ja) * | 1991-05-29 | 1992-12-04 | Mitsubishi Electric Corp | キャッシュメモリ |
JPH0540689A (ja) * | 1991-08-06 | 1993-02-19 | Fujitsu Ltd | バツフアメモリ制御方式 |
JP2000122916A (ja) * | 1998-10-12 | 2000-04-28 | Emerging Architectures Llc | 原子的更新処理を実行する方法 |
JP2005316854A (ja) * | 2004-04-30 | 2005-11-10 | Fujitsu Ltd | 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07191944A (ja) * | 1991-09-11 | 1995-07-28 | Internatl Business Mach Corp <Ibm> | 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法 |
US6260117B1 (en) * | 1997-09-18 | 2001-07-10 | International Business Machines Corporation | Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency |
US6047316A (en) * | 1997-12-12 | 2000-04-04 | Intel Corporation | Multiprocessor computing apparatus having spin lock fairness |
US6275907B1 (en) * | 1998-11-02 | 2001-08-14 | International Business Machines Corporation | Reservation management in a non-uniform memory access (NUMA) data processing system |
US7246187B1 (en) * | 2000-11-28 | 2007-07-17 | Emc Corporation | Method and apparatus for controlling exclusive access to a shared resource in a data storage system |
US6792497B1 (en) * | 2000-12-12 | 2004-09-14 | Unisys Corporation | System and method for hardware assisted spinlock |
US6779090B2 (en) * | 2002-05-21 | 2004-08-17 | International Business Machines Corporation | Spinlock for shared memory |
US8316048B2 (en) * | 2004-08-17 | 2012-11-20 | Hewlett-Packard Development Company, L.P. | Method and apparatus for managing a data structure for multi-processor access |
-
2007
- 2007-01-23 US US11/625,842 patent/US7487279B2/en active Active
-
2008
- 2008-01-15 KR KR1020097013628A patent/KR20090106392A/ko active IP Right Grant
- 2008-01-15 JP JP2009546472A patent/JP5137971B2/ja active Active
- 2008-01-15 EP EP08705921.8A patent/EP2126704B1/en active Active
- 2008-01-15 WO PCT/US2008/051047 patent/WO2008091757A2/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04296951A (ja) * | 1991-03-19 | 1992-10-21 | Mitsubishi Electric Corp | キャッシュメモリ |
JPH04350743A (ja) * | 1991-05-29 | 1992-12-04 | Mitsubishi Electric Corp | キャッシュメモリ |
JPH0540689A (ja) * | 1991-08-06 | 1993-02-19 | Fujitsu Ltd | バツフアメモリ制御方式 |
JP2000122916A (ja) * | 1998-10-12 | 2000-04-28 | Emerging Architectures Llc | 原子的更新処理を実行する方法 |
JP2005316854A (ja) * | 2004-04-30 | 2005-11-10 | Fujitsu Ltd | 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ |
Also Published As
Publication number | Publication date |
---|---|
US20080177955A1 (en) | 2008-07-24 |
EP2126704A2 (en) | 2009-12-02 |
WO2008091757A3 (en) | 2008-12-18 |
US7487279B2 (en) | 2009-02-03 |
EP2126704B1 (en) | 2014-07-23 |
WO2008091757A2 (en) | 2008-07-31 |
EP2126704A4 (en) | 2012-12-26 |
KR20090106392A (ko) | 2009-10-08 |
JP5137971B2 (ja) | 2013-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5137971B2 (ja) | スピン・ロックによりロッキング公平性及びロッキング性能の両方を達成する方法及びシステム | |
Li et al. | Algorithmic improvements for fast concurrent cuckoo hashing | |
Saha et al. | McRT-STM: a high performance software transactional memory system for a multi-core runtime | |
US7571288B2 (en) | Scalable rundown protection for object lifetime management | |
US8417897B2 (en) | System and method for providing locale-based optimizations in a transactional memory | |
JP6333848B2 (ja) | スケーラブル競合適応性を有する統計カウンタを実施するシステムおよび方法 | |
US8296524B2 (en) | Supporting efficient spin-locks and other types of synchronization in a cache-coherent multiprocessor system | |
EP0965919A2 (en) | A probabilistic queue lock | |
US7065763B1 (en) | Method of reducing contention of a highly contended lock protecting multiple data items | |
US10929201B2 (en) | Method and system for implementing generation locks | |
US6985984B2 (en) | Multiprocessing systems employing hierarchical back-off locks | |
US11972777B2 (en) | Reader bias based locking technique enabling high read concurrency for read-mostly workloads | |
JP6341931B2 (ja) | 更新確率値を格納する共用確率的カウンタを実施するシステムおよび方法 | |
JP2004529415A (ja) | 短待ち時間メモリ・アクセスおよび同期化 | |
Afek et al. | Fast and scalable rendezvousing | |
Boroumand et al. | LazyPIM: Efficient support for cache coherence in processing-in-memory architectures | |
JP2016502212A (ja) | Numaアウェア統計カウンタを実施するシステムおよび方法 | |
Zhang et al. | Scalable adaptive NUMA-aware lock | |
Yui et al. | Nb-GCLOCK: A non-blocking buffer management based on the generalized CLOCK | |
Gómez-Hernández et al. | Efficient, distributed, and non-speculative multi-address atomic operations | |
Bershad | Practical considerations for lock-free concurrent objects | |
Kuo et al. | MP-LOCKs: replacing H/W synchronization primitives with message passing | |
Yi et al. | A scalable lock on NUMA multicore | |
Atoofian | Improving performance of software transactional memory through contention locality | |
Morrison | Fast and Scalable Software Execution on Multicores |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100816 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120814 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120911 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121009 |
|
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: 20121023 |
|
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: 20121113 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5137971 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: 20151122 Year of fee payment: 3 |