JP4551452B2 - 多数のプロセッサをグレースフルに処理するアトミック命令なしリード・コピー・アップデートの猶予時間検出 - Google Patents
多数のプロセッサをグレースフルに処理するアトミック命令なしリード・コピー・アップデートの猶予時間検出 Download PDFInfo
- Publication number
- JP4551452B2 JP4551452B2 JP2007538381A JP2007538381A JP4551452B2 JP 4551452 B2 JP4551452 B2 JP 4551452B2 JP 2007538381 A JP2007538381 A JP 2007538381A JP 2007538381 A JP2007538381 A JP 2007538381A JP 4551452 B2 JP4551452 B2 JP 4551452B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- token
- indicator
- data element
- processor
- 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
-
- 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
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/52—Indexing scheme relating to G06F9/52
- G06F2209/522—Manager
-
- 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/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- 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/99951—File or database maintenance
- Y10S707/99956—File allocation
- Y10S707/99957—Garbage collection
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)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Processing (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/974,514 US7454581B2 (en) | 2004-10-27 | 2004-10-27 | Read-copy update grace period detection without atomic instructions that gracefully handles large numbers of processors |
| PCT/EP2005/055240 WO2006045704A1 (en) | 2004-10-27 | 2005-10-13 | Read-copy update grace period detection without atomic instructions that gracefully handles large numbers of processors |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2008518337A JP2008518337A (ja) | 2008-05-29 |
| JP2008518337A5 JP2008518337A5 (enExample) | 2008-08-14 |
| JP4551452B2 true JP4551452B2 (ja) | 2010-09-29 |
Family
ID=35989206
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007538381A Expired - Fee Related JP4551452B2 (ja) | 2004-10-27 | 2005-10-13 | 多数のプロセッサをグレースフルに処理するアトミック命令なしリード・コピー・アップデートの猶予時間検出 |
Country Status (8)
| Country | Link |
|---|---|
| US (2) | US7454581B2 (enExample) |
| EP (1) | EP1836571B1 (enExample) |
| JP (1) | JP4551452B2 (enExample) |
| KR (1) | KR100910821B1 (enExample) |
| CN (1) | CN101142551B (enExample) |
| AT (1) | ATE426853T1 (enExample) |
| DE (1) | DE602005013578D1 (enExample) |
| WO (1) | WO2006045704A1 (enExample) |
Families Citing this family (52)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| US7664786B2 (en) * | 2005-12-12 | 2010-02-16 | Electronics And Telecommunications Research Institute | Apparatus and method for managing application context |
| KR100763526B1 (ko) * | 2005-12-12 | 2007-10-04 | 한국전자통신연구원 | 애플리케이션 컨텍스트 관리 장치 및 방법 |
| US7353346B2 (en) * | 2006-03-24 | 2008-04-01 | International Business Machines Corporation | Read-copy-update (RCU) operations with reduced memory barrier usage |
| JP5103807B2 (ja) * | 2006-06-30 | 2012-12-19 | 富士通株式会社 | 制御プログラム、制御方法、情報処理装置及び情報処理システム |
| US8495641B2 (en) * | 2007-06-29 | 2013-07-23 | International Business Machines Corporation | Efficiently boosting priority of read-copy update readers while resolving races with exiting and unlocking processes |
| US8706706B2 (en) * | 2007-09-13 | 2014-04-22 | International Business Machines Corporation | Fast path for grace-period detection for read-copy update system |
| US8055918B2 (en) * | 2008-04-03 | 2011-11-08 | International Business Machines Corporation | Optimizing preemptible read-copy update for low-power usage by avoiding unnecessary wakeups |
| US7953778B2 (en) * | 2008-05-20 | 2011-05-31 | International Business Machines Corporation | Efficient support of consistent cyclic search with read-copy update and parallel updates |
| US8108696B2 (en) * | 2008-07-24 | 2012-01-31 | International Business Machines Corporation | Optimizing non-preemptible read-copy update for low-power usage by avoiding unnecessary wakeups |
| US7953708B2 (en) * | 2008-07-28 | 2011-05-31 | International Business Machines Corporation | Optimizing grace period detection for preemptible read-copy update on uniprocessor systems |
| US8020160B2 (en) * | 2008-07-28 | 2011-09-13 | International Business Machines Corporation | User-level read-copy update that does not require disabling preemption or signal handling |
| 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 |
| US8065489B1 (en) | 2009-03-31 | 2011-11-22 | Symantec Corporation | Method and apparatus for managing concurrent access among computers to a bitmap stored on disk storage |
| US8185704B2 (en) | 2009-09-02 | 2012-05-22 | International Business Machines Corporation | High performance real-time read-copy update |
| US9459963B2 (en) * | 2009-09-03 | 2016-10-04 | International Business Machines Corporation | Safely rolling back transactions in a transactional memory system with concurrent readers |
| 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 |
| US9189413B2 (en) | 2011-06-20 | 2015-11-17 | International Business Machines Corporation | Read-copy update implementation for non-cache-coherent systems |
| US8615771B2 (en) | 2011-06-20 | 2013-12-24 | International Business Machines Corporation | Effective management of blocked-tasks in preemptible read-copy update |
| US9250978B2 (en) | 2011-06-27 | 2016-02-02 | International Business Machines Corporation | Asynchronous grace-period primitives for user-space applications |
| JP5772458B2 (ja) * | 2011-09-29 | 2015-09-02 | 富士通株式会社 | データ管理プログラム、ノード、および分散データベースシステム |
| 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 |
| CN102609313B (zh) * | 2012-01-13 | 2014-04-02 | 汉柏科技有限公司 | 多核系统资源延迟回收锁的实现方法及系统 |
| 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 |
| US8972801B2 (en) | 2013-02-04 | 2015-03-03 | International Business Machines Corporation | Motivating lazy RCU callbacks under out-of-memory conditions |
| US8924655B2 (en) | 2013-02-04 | 2014-12-30 | International Business Machines Corporation | In-kernel SRCU implementation with reduced OS jitter |
| 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 |
| 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 |
| US9319365B1 (en) * | 2015-10-09 | 2016-04-19 | Machine Zone, Inc. | Systems and methods for storing and transferring message data |
| 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 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4685082A (en) | 1985-02-22 | 1987-08-04 | Wang Laboratories, Inc. | Simplified cache with automatic update |
| 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 |
| US6311289B1 (en) | 1998-11-03 | 2001-10-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Explicit state copy in a fault tolerant system using a remote write operation |
| 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 |
| US6405201B1 (en) | 1999-12-02 | 2002-06-11 | Sun Microsystems, Inc. | Method and apparatus for reducing network traffic for remote file append operations |
| US6502165B1 (en) | 1999-12-03 | 2002-12-31 | International Business Machines Corporation | Balanced access to data volumes with redundant copies stored in data storage libraries |
| CN1114874C (zh) * | 2000-05-15 | 2003-07-16 | 倚天资讯股份有限公司 | 利用双向无线传输进行软件更新的方法及其系统 |
| US6502170B2 (en) | 2000-12-15 | 2002-12-31 | Intel Corporation | Memory-to-memory compare/exchange instructions to support non-blocking synchronization schemes |
| US20030110232A1 (en) * | 2001-12-11 | 2003-06-12 | International Business Machines Corporation | Distributing messages between local queues representative of a common shared queue |
| 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 |
-
2004
- 2004-10-27 US US10/974,514 patent/US7454581B2/en not_active Expired - Fee Related
-
2005
- 2005-10-13 DE DE602005013578T patent/DE602005013578D1/de not_active Expired - Lifetime
- 2005-10-13 AT AT05803288T patent/ATE426853T1/de not_active IP Right Cessation
- 2005-10-13 EP EP05803288A patent/EP1836571B1/en not_active Expired - Lifetime
- 2005-10-13 WO PCT/EP2005/055240 patent/WO2006045704A1/en not_active Ceased
- 2005-10-13 JP JP2007538381A patent/JP4551452B2/ja not_active Expired - Fee Related
- 2005-10-13 KR KR1020077009206A patent/KR100910821B1/ko not_active Expired - Fee Related
- 2005-10-13 CN CN2005800294377A patent/CN101142551B/zh not_active Expired - Fee Related
-
2008
- 2008-07-02 US US12/167,099 patent/US7689789B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP1836571B1 (en) | 2009-03-25 |
| WO2006045704A1 (en) | 2006-05-04 |
| US7689789B2 (en) | 2010-03-30 |
| JP2008518337A (ja) | 2008-05-29 |
| US7454581B2 (en) | 2008-11-18 |
| KR20070064646A (ko) | 2007-06-21 |
| US20060123100A1 (en) | 2006-06-08 |
| CN101142551A (zh) | 2008-03-12 |
| ATE426853T1 (de) | 2009-04-15 |
| US20080288749A1 (en) | 2008-11-20 |
| KR100910821B1 (ko) | 2009-08-04 |
| CN101142551B (zh) | 2010-05-05 |
| DE602005013578D1 (de) | 2009-05-07 |
| EP1836571A1 (en) | 2007-09-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4551452B2 (ja) | 多数のプロセッサをグレースフルに処理するアトミック命令なしリード・コピー・アップデートの猶予時間検出 | |
| US7734879B2 (en) | Efficiently boosting priority of read-copy update readers in a real-time data processing system | |
| US7395263B2 (en) | Realtime-safe read copy update with lock-free readers | |
| US7395383B2 (en) | Realtime-safe read copy update with per-processor read/write locks | |
| US8495641B2 (en) | Efficiently boosting priority of read-copy update readers while resolving races with exiting and unlocking processes | |
| US7953708B2 (en) | Optimizing grace period detection for preemptible read-copy update on uniprocessor systems | |
| JP2500101B2 (ja) | 共用変数の値を更新する方法 | |
| US7472228B2 (en) | Read-copy update method | |
| US20080082532A1 (en) | Using Counter-Flip Acknowledge And Memory-Barrier Shoot-Down To Simplify Implementation of Read-Copy Update In Realtime Systems | |
| US8881153B2 (en) | Speculative thread execution with hardware transactional memory | |
| US20100023946A1 (en) | User-level read-copy update that does not require disabling preemption or signal handling | |
| US9940290B2 (en) | Handling CPU hotplug events in RCU without sleeplocks | |
| US10282230B2 (en) | Fair high-throughput locking for expedited grace periods | |
| US20180046521A1 (en) | Shielding Real-Time Workloads From OS Jitter Due To Expedited Grace Periods | |
| US20180060140A1 (en) | Short-Circuiting Normal Grace-Period Computations In The Presence Of Expedited Grace Periods | |
| GB2525215A (en) | A busy lock and a passive lock featuring embedded load management capabilities | |
| JP6637450B2 (ja) | トランザクションにおけるレジスタの動的なセーブ | |
| Starke | Locking in os kernels for smp systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080627 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080627 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20100315 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20100330 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100420 |
|
| RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20100506 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100506 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100616 |
|
| 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: 20100706 |
|
| RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20100706 |
|
| 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: 20100709 |
|
| 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 |
|
| LAPS | Cancellation because of no payment of annual fees |