JP5398375B2 - ユニプロセッサ・システム上のプリエンプタブルな読み取り・コピー・更新のための猶予期間検出の最適化 - Google Patents
ユニプロセッサ・システム上のプリエンプタブルな読み取り・コピー・更新のための猶予期間検出の最適化 Download PDFInfo
- Publication number
- JP5398375B2 JP5398375B2 JP2009148307A JP2009148307A JP5398375B2 JP 5398375 B2 JP5398375 B2 JP 5398375B2 JP 2009148307 A JP2009148307 A JP 2009148307A JP 2009148307 A JP2009148307 A JP 2009148307A JP 5398375 B2 JP5398375 B2 JP 5398375B2
- Authority
- JP
- Japan
- Prior art keywords
- grace period
- period detection
- rcu
- data
- multiprocessor
- 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; 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- 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
-
- 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/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
-
- 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
#ifdef CONFIG_SMP
#definegp_detection()smp_gp_detection()
#else gp_detection() up_gp_detection()
#endif
Static const int config_smp =
#ifdef CONFIG_SMP
1;
#else
0;
#endif
スリープ可能なRCUは、RCU参照者がRCUクリティカル・セクション内でスリープするか又は遅れることを可能にする、プリエンプタブルなRCU実装である。参照者が長い期間にわたって阻止されることがあるという理由で、非同期的な猶予期間検出は、許容されない。更新者は、同期的な猶予期間検出を実行することが必要とされる。誤った参照者がシステム全体の猶予期間検出を遅らせる可能性を最小化するために、参照者は、サブシステムによってグループ化される。各サブシステムは、RCUクリティカル・セクションの登録及び登録抹消のために当該サブシステム内の参照者によって使用され且つ猶予期間検出のために更新者によって使用される、「srcu_struct」タイプのデータ構造を割り当てられる。各SRCUデータ構造は、(1)経過した猶予期間のカウント、(2)プロセッサ対応のカウンタ・ペアへのポインタ及び(3)mutex ロックを保持する。プロセッサ対応の各カウンタ・ペアは、現在の猶予期間中に開始した読み取り動作をカウントするためのアクティブ・カウンタと、最後の猶予期間中に開始した読み取り動作をカウントするための非アクティブ・カウンタとを含む。経過した猶予期間カウンタの下位ビットは、現在の猶予期間にアクティブに関連する、プロセッサ対応のカウンタをインデックスするために使用される。
#ifdefCONFIG_SMP
#define smp_synchronize_sched() synchronize_sched()
#else
#define smp_synchronize_sched() barrier()
#endif
リアルタイムRCUは、参照者がプリエンプトされる場合でさえ、RCU参照者を時期尚早の猶予期間処理から保護する、プリエンプタブルなRCUバージョンである。参照者は、現在の猶予期間番号を使用してインデックスされる、プロセッサ対応のカウンタ・ペアを使用して追跡される。SRCUのように、プロセッサ対応のカウンタのうちの1つは、現在の猶予期間中にRCUクリティカル・セクションを開始した参照者によってインクリメント/デクリメントされる。プロセッサ対応の他のカウンタは、最後の猶予期間中にRCUクリティカル・セクションを開始した参照者によって使用される。一旦新しい猶予期間が開始されると、以前の猶予期間に関連するカウンタはデクリメントされるだけであり、従って参照者がクリティカル・セクションを完了すると、最終的にゼロまでカウント・ダウンするであろう。リアルタイムRCU実装では、図10の参照者登録コンポーネント22は、rcu_read_lock() プリミティブを使用して実装することができる。このプリミティブは、現在の猶予期間に関連するプロセッサ対応のカウンタをインクリメントすることにより、RCUクリティカル・セクションの参照者を登録する。リアルタイムRCU実装内の参照者登録抹消コンポーネント24は、rcu_read_unlock() プリミティブを使用して実装することができる。このプリミティブは、rcu_read_lock() によって以前にインクリメントされたプロセッサ対応のカウンタをデクリメントするか、又は参照者がプリエンプトされ且つ異なるプロセッサ上で復元されたならば、当該参照者の猶予期間に対応する新しいプロセッサ上のプロセッサ対応のカウンタをデクリメントすることにより、RCUクリティカル・セクション処理の後に当該参照者を登録抹消する。
B’・・・・・・・データ要素Bの更新バージョン
r1、r2・・・・読み取り動作(参照者)
u1・・・・・・・更新動作(更新者)
2・・・・・・・・ユニプロセッサ・コンピュータ・システム
2A・・・・・・・対称型マルチプロセッサ(SMP)コンピュータ・システム
41〜4n・・・・・プロセッサ
6・・・・・・・・共通システム・バス
8・・・・・・・・共用メモリ
101〜10n・・・キャッシュ・メモリ
121〜12n・・・キャッシュ・コントローラ
14・・・・・・・メモリ・コントローラ
16・・・・・・・共用データセット
181〜18n・・・更新動作(更新者)
201〜20n・・・RCUインスタンス(RCUサブシステム)
211〜21n・・・読み取り動作(参照者)
22・・・・・・・・参照者登録コンポーネント
24・・・・・・・・参照者登録抹消コンポーネント
26・・・・・・・・猶予期間検出コンポーネント
30・・・・・・・・システム構成変数
300・・・・・・コンピュータ可読媒体
Claims (7)
- プリエンプタブルなデータ参照者を有するデータ処理システムにおいて、当該データ参照者に影響する共用データの更新動作の後に猶予期間検出を最適化するための方法であって、
前記データ処理システムがユニプロセッサ・システム又はマルチプロセッサ・システムの何れであるかを決定するステップと、
前記データ処理システムがユニプロセッサ・システムである場合は、第1の猶予期間検出技術を使用して、猶予期間検出処理を実行するステップと、
前記データ処理システムがマルチプロセッサ・システムである場合は、第2の猶予期間検出技術を使用して、猶予期間検出処理を実行するステップと、
前記猶予期間検出処理が、プリエンプションの対象である参照者が静止状態を通過し且つ前記共用データの更新前のビューへの参照を維持することができない、猶予期間の終わりを決定するステップとを含み、
前記第1の猶予期間検出技術又は前記第2の猶予期間検出技術の何れかを実行するために前記猶予期間検出処理が動的に条件付けられるように、前記決定するステップが実行時に実行される、方法。 - 前記第1の猶予期間検出技術が、マルチプロセッサ調整処理を含まず、前記第2の猶予期間検出技術が、前記マルチプロセッサ調整処理を含む、請求項1記載の方法。
- 前記マルチプロセッサ調整処理が、メモリ・バリアを実行すること及び新しい猶予期間の確認を待機することの一方又は両方を含む、請求項2記載の方法。
- データ処理システムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合されたメモリとを備え、
前記メモリ内に格納された少なくとも1つのプログラムの命令が、プリエンプタブルなデータ参照者に影響する共用データの更新動作の後に猶予期間検出を最適化するために、前記1つ以上のプロセッサに
前記データ処理システムがユニプロセッサ・システム又はマルチプロセッサ・システムの何れであるかを決定するステップと、
前記データ処理システムがユニプロセッサ・システムである場合は、第1の猶予期間検出技術を使用して、猶予期間検出処理を実行するステップと、
前記データ処理システムがマルチプロセッサ・システムである場合は、第2の猶予期間検出技術を使用して、猶予期間検出処理を実行するステップと、
前記猶予期間検出処理が、プリエンプションの対象である参照者が静止状態を通過し且つ前記共用データの更新前のビューへの参照を維持することができない、猶予期間の終わりを決定するステップとを実行させ、
前記第1の猶予期間検出技術又は前記第2の猶予期間検出技術の何れかを実行するために前記猶予期間検出処理が動的に条件付けられるように、前記決定するステップを実行時に実行させる、システム。 - プリエンプタブルなデータ参照者に影響する共用データの更新動作の後に猶予期間検出を最適化するためのコンピュータ・プログラムであって、
データ処理システムに
前記データ処理システムがユニプロセッサ・システム又はマルチプロセッサ・システムの何れであるかを決定するステップと、
前記データ処理システムがユニプロセッサ・システムである場合は、第1の猶予期間検出技術を使用して、猶予期間検出処理を実行するステップと、
前記データ処理システムがマルチプロセッサ・システムである場合は、第2の猶予期間検出技術を使用して、猶予期間検出処理を実行するステップと、
前記猶予期間検出処理が、プリエンプションの対象である参照者が静止状態を通過し且つ前記共用データの更新前のビューへの参照を維持することができない、猶予期間の終わりを決定するステップとを実行させ、
前記第1の猶予期間検出技術又は前記第2の猶予期間検出技術の何れかを実行するために前記猶予期間検出処理が動的に条件付けられるように、前記決定するステップを実行時に実行させる、コンピュータ・プログラム。 - プリエンプタブルな参照者を有するデータ処理システムにおいて、共用データの更新動作の後に猶予期間検出を最適化するための方法であって、
共用データ上で第1段階のデータの更新動作を実行するとともに、当該更新動作中に前記共用データを同時に参照中の参照者のために前記共用データの更新前のビューを一時的に保存するステップと、
前記データ処理システムがユニプロセッサ・システム又はマルチプロセッサ・システムの何れであるかを動的に決定するステップと、
前記データ処理システムがユニプロセッサ・システムである場合は、第1の猶予期間検出技術を使用して、猶予期間検出処理を実行するステップと、
前記データ処理システムがマルチプロセッサ・システムである場合は、第2の猶予期間検出技術を使用して、猶予期間検出処理を実行するステップと、
前記猶予期間検出処理が、プリエンプションの対象である参照者が静止状態を通過し且つ前記共用データの前記更新前のビューへの参照を維持することができない、猶予期間の終わりを決定するステップと、
前記猶予期間の後に第2段階の更新動作を実行するステップとを含み、
前記第1の猶予期間検出技術又は前記第2の猶予期間検出技術の何れかを実行するために前記猶予期間検出処理が動的に条件付けられるように、前記動的に決定するステップが実行時に実行される、方法。 - 請求項1乃至請求項3または請求項6の何れか1項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/181125 | 2008-07-28 | ||
US12/181,125 US7953708B2 (en) | 2008-07-28 | 2008-07-28 | Optimizing grace period detection for preemptible read-copy update on uniprocessor systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010033554A JP2010033554A (ja) | 2010-02-12 |
JP5398375B2 true JP5398375B2 (ja) | 2014-01-29 |
Family
ID=41569576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009148307A Expired - Fee Related JP5398375B2 (ja) | 2008-07-28 | 2009-06-23 | ユニプロセッサ・システム上のプリエンプタブルな読み取り・コピー・更新のための猶予期間検出の最適化 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7953708B2 (ja) |
JP (1) | JP5398375B2 (ja) |
KR (1) | KR20100012805A (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009025847A2 (en) | 2007-08-21 | 2009-02-26 | Nodality, Inc. | Methods for diagnosis, prognosis and methods of treatment |
US8195893B2 (en) * | 2008-11-03 | 2012-06-05 | International Business Machines Corporation | Eliminating synchronous grace period detection for non-preemptible read-copy update on uniprocessor systems |
US8407503B2 (en) | 2010-09-27 | 2013-03-26 | International Business Machines Corporation | Making read-copy update free-running grace period counters safe against lengthy low power state sojourns |
US8615771B2 (en) | 2011-06-20 | 2013-12-24 | International Business Machines Corporation | Effective management of blocked-tasks in preemptible read-copy update |
US9189413B2 (en) | 2011-06-20 | 2015-11-17 | International Business Machines Corporation | Read-copy update implementation for non-cache-coherent systems |
US9250978B2 (en) | 2011-06-27 | 2016-02-02 | International Business Machines Corporation | Asynchronous grace-period primitives for user-space applications |
US20140157279A1 (en) * | 2011-07-29 | 2014-06-05 | Nec Corporation | Information processing apparatus, information processing system, information processing method and control program storage medium |
US9009122B2 (en) | 2011-12-08 | 2015-04-14 | International Business Machines Corporation | Optimized resizing for RCU-protected hash tables |
US8661005B2 (en) | 2011-12-08 | 2014-02-25 | International Business Machines Corporation | Optimized deletion and insertion for high-performance resizable RCU-protected hash tables |
US9256476B2 (en) | 2011-12-10 | 2016-02-09 | International Business Machines Corporation | Expedited module unloading for kernel modules that execute read-copy update callback processing code |
US9003420B2 (en) | 2012-05-18 | 2015-04-07 | International Business Machines Corporation | Resolving RCU-scheduler deadlocks |
US8938631B2 (en) | 2012-06-30 | 2015-01-20 | International Business Machines Corporation | Energy efficient implementation of read-copy update for light workloads running on systems with many processors |
US8874535B2 (en) | 2012-10-16 | 2014-10-28 | International Business Machines Corporation | Performance of RCU-based searches and updates of cyclic data structures |
US8924655B2 (en) | 2013-02-04 | 2014-12-30 | International Business Machines Corporation | In-kernel SRCU implementation with reduced OS jitter |
US8972801B2 (en) | 2013-02-04 | 2015-03-03 | International Business Machines Corporation | Motivating lazy RCU callbacks under out-of-memory conditions |
US9348765B2 (en) | 2013-03-14 | 2016-05-24 | International Business Machines Corporation | Expediting RCU grace periods under user mode control |
US9244844B2 (en) | 2013-03-14 | 2016-01-26 | International Business Machines Corporation | Enabling hardware transactional memory to work more efficiently with readers that can tolerate stale data |
US9396226B2 (en) | 2013-06-24 | 2016-07-19 | International Business Machines Corporation | Highly scalable tree-based trylock |
US9389925B2 (en) | 2013-12-03 | 2016-07-12 | International Business Machines Corporation | Achieving low grace period latencies despite energy efficiency |
US9245619B2 (en) | 2014-03-04 | 2016-01-26 | International Business Machines Corporation | Memory device with memory buffer for premature read protection |
US9690709B2 (en) * | 2014-07-14 | 2017-06-27 | Oracle International Corporation | Variable handles |
US9720836B2 (en) | 2015-05-11 | 2017-08-01 | International Business Machines Corporation | Preemptible-RCU CPU hotplugging while maintaining real-time response |
US9552236B2 (en) | 2015-05-12 | 2017-01-24 | International Business Machines Corporation | Tasks—RCU detection of tickless user mode execution as a quiescent state |
US9886329B2 (en) | 2015-06-25 | 2018-02-06 | International Business Machines Corporation | Scalable RCU callback offloading |
US9965432B2 (en) | 2015-10-02 | 2018-05-08 | International Business Machines Corporation | Handling CPU hotplug events in RCU without sleeplocks |
US10140131B2 (en) | 2016-08-11 | 2018-11-27 | International Business Machines Corporation | Shielding real-time workloads from OS jitter due to expedited grace periods |
US10353748B2 (en) | 2016-08-30 | 2019-07-16 | International Business Machines Corporation | Short-circuiting normal grace-period computations in the presence of expedited grace periods |
US10282230B2 (en) | 2016-10-03 | 2019-05-07 | International Business Machines Corporation | Fair high-throughput locking for expedited grace periods |
US10146577B2 (en) | 2016-12-11 | 2018-12-04 | International Business Machines Corporation | Enabling real-time CPU-bound in-kernel workloads to run infinite loops while keeping RCU grace periods finite |
US10372510B2 (en) | 2017-03-15 | 2019-08-06 | International Business Machines Corporation | Using expedited grace periods to short-circuit normal grace-period computations |
US11055271B2 (en) | 2017-11-13 | 2021-07-06 | International Business Machines Corporation | Funnel locking for sleepable read-copy update |
US10983840B2 (en) | 2018-06-21 | 2021-04-20 | International Business Machines Corporation | Consolidating read-copy update types having different definitions of a quiescent state |
US10268610B1 (en) | 2018-08-16 | 2019-04-23 | International Business Machines Corporation | Determining whether a CPU stalling a current RCU grace period had interrupts enabled |
US10831542B2 (en) | 2018-10-01 | 2020-11-10 | International Business Machines Corporation | Prevent counter wrap during update-side grace-period-request processing in tree-SRCU implementations |
US10613913B1 (en) | 2018-10-06 | 2020-04-07 | International Business Machines Corporation | Funnel locking for normal RCU grace period requests |
US11386079B2 (en) | 2019-06-26 | 2022-07-12 | International Business Machines Corporation | Replacing preemptible RCU with an augmented SRCU implementation |
US10977042B2 (en) | 2019-07-26 | 2021-04-13 | International Business Machines Corporation | Using expedited RCU grace periods to avoid out-of-memory conditions for offloaded RCU callbacks |
US11321147B2 (en) | 2019-08-29 | 2022-05-03 | International Business Machines Corporation | Determining when it is safe to use scheduler lock-acquiring wakeups to defer quiescent states in real-time preemptible read-copy update |
US11288095B2 (en) * | 2019-09-30 | 2022-03-29 | Advanced Micro Devices, Inc. | Enhanced atomics for workgroup synchronization |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5515538A (en) * | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
US5442758A (en) | 1993-07-19 | 1995-08-15 | Sequent Computer Systems, Inc. | Apparatus and method for achieving reduced overhead mutual exclusion and maintaining coherency in a multiprocessor system utilizing execution history and thread monitoring |
US6173375B1 (en) * | 1997-02-28 | 2001-01-09 | Lucent Technologies Inc. | Method for accessing a shared resource in a multiprocessor system |
US6886162B1 (en) | 1997-08-29 | 2005-04-26 | International Business Machines Corporation | High speed methods for maintaining a summary of thread activity for multiprocessor computer systems |
US6490671B1 (en) * | 1999-05-28 | 2002-12-03 | Oracle Corporation | System for efficiently maintaining translation lockaside buffer consistency in a multi-threaded, multi-processor virtual memory system |
US7430627B2 (en) | 2000-12-19 | 2008-09-30 | International Business Machines Corporation | Adaptive reader-writer lock |
US6996812B2 (en) | 2001-06-18 | 2006-02-07 | International Business Machines Corporation | Software implementation of synchronous memory barriers |
US7426511B2 (en) | 2004-03-08 | 2008-09-16 | International Business Machines Corporation | Efficient support of consistent cyclic search with read-copy-update |
US7349926B2 (en) | 2004-03-30 | 2008-03-25 | International Business Machines Corporation | Atomic renaming and moving of data files while permitting lock-free look-ups |
US7287135B2 (en) | 2004-09-29 | 2007-10-23 | International Business Machines Corporation | Adapting RCU for real-time operating system usage |
US7472228B2 (en) | 2004-10-27 | 2008-12-30 | International Business Machines Corporation | Read-copy update method |
US7454581B2 (en) | 2004-10-27 | 2008-11-18 | International Business Machines Corporation | Read-copy update grace period detection without atomic instructions that gracefully handles large numbers of processors |
US20060112121A1 (en) | 2004-11-23 | 2006-05-25 | Mckenney Paul E | Atomically moving list elements between lists using read-copy update |
US8126843B2 (en) | 2004-11-30 | 2012-02-28 | International Business Machines Corporation | Cluster-wide read-copy update system and method |
US8176489B2 (en) | 2004-12-09 | 2012-05-08 | International Business Machines Corporation | Use of rollback RCU with read-side modifications to RCU-protected data structures |
US8250047B2 (en) | 2005-05-20 | 2012-08-21 | International Business Machines Corporation | Hybrid multi-threaded access to data structures using hazard pointers for reads and locks for updates |
US7395263B2 (en) | 2005-10-12 | 2008-07-01 | International Business Machines Corporation | Realtime-safe read copy update with lock-free readers |
US7395383B2 (en) | 2005-11-01 | 2008-07-01 | International Business Machines Corporation | Realtime-safe read copy update with per-processor read/write locks |
US7353346B2 (en) | 2006-03-24 | 2008-04-01 | International Business Machines Corporation | Read-copy-update (RCU) operations with reduced memory barrier usage |
US7818306B2 (en) | 2006-03-24 | 2010-10-19 | International Business Machines Corporation | Read-copy-update (RCU) operations with reduced memory barrier usage |
US7734879B2 (en) | 2006-07-27 | 2010-06-08 | International Business Machines Corporation | Efficiently boosting priority of read-copy update readers in a real-time data processing system |
US20080082532A1 (en) | 2006-10-03 | 2008-04-03 | International Business Machines Corporation | Using Counter-Flip Acknowledge And Memory-Barrier Shoot-Down To Simplify Implementation of Read-Copy Update In Realtime Systems |
-
2008
- 2008-07-28 US US12/181,125 patent/US7953708B2/en not_active Expired - Fee Related
-
2009
- 2009-06-18 KR KR1020090054535A patent/KR20100012805A/ko active IP Right Grant
- 2009-06-23 JP JP2009148307A patent/JP5398375B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20100012805A (ko) | 2010-02-08 |
US7953708B2 (en) | 2011-05-31 |
JP2010033554A (ja) | 2010-02-12 |
US20100023559A1 (en) | 2010-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5398375B2 (ja) | ユニプロセッサ・システム上のプリエンプタブルな読み取り・コピー・更新のための猶予期間検出の最適化 | |
US8195893B2 (en) | Eliminating synchronous grace period detection for non-preemptible read-copy update on uniprocessor systems | |
US8495641B2 (en) | Efficiently boosting priority of read-copy update readers while resolving races with exiting and unlocking processes | |
US8924655B2 (en) | In-kernel SRCU implementation with reduced OS jitter | |
US9081803B2 (en) | Performance of RCU-based searches and updates of cyclic data structures | |
US7734879B2 (en) | Efficiently boosting priority of read-copy update readers in a real-time data processing system | |
JP5547208B2 (ja) | シーケンシャル・プログラムを複数スレッドに分解し、スレッドを実行し、シーケンシャルな実行を再構成するシステム、方法および装置 | |
US8615771B2 (en) | Effective management of blocked-tasks in preemptible read-copy update | |
US8997110B2 (en) | Resolving RCU-scheduler deadlocks | |
US8612949B2 (en) | Methods and apparatuses for compiler-creating helper threads for multi-threading | |
US7395383B2 (en) | Realtime-safe read copy update with per-processor read/write locks | |
JP4551452B2 (ja) | 多数のプロセッサをグレースフルに処理するアトミック命令なしリード・コピー・アップデートの猶予時間検出 | |
US8020160B2 (en) | User-level read-copy update that does not require disabling preemption or signal handling | |
US20080082532A1 (en) | Using Counter-Flip Acknowledge And Memory-Barrier Shoot-Down To Simplify Implementation of Read-Copy Update In Realtime Systems | |
US9720836B2 (en) | Preemptible-RCU CPU hotplugging while maintaining real-time response | |
US10162644B2 (en) | Shielding real-time workloads from OS jitter due to expedited grace periods | |
US10282230B2 (en) | Fair high-throughput locking for expedited grace periods | |
US5408658A (en) | Self-scheduling parallel computer system and method | |
US20170097916A1 (en) | Handling CPU Hotplug Events In RCU Without Sleeplocks | |
Hong et al. | Fence-Free Synchronization with Dynamically Serialized Synchronization Variables | |
Steffan et al. | Extending cache coherence to support thread-level data speculation on a single chip and beyond | |
Mowry | Extending Cache Coherence to Support Thread-Level Data Speculation on a Single Chip and Beyond |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130723 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130912 |
|
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: 20131001 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131022 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |