or
Bookmark and Share
Software implementation of synchronous memory barriers
   
Document Number
US Patent 6996812
Issued Date
February 7, 2006
Link
Inventors
Map
Abstract
Selectively emulating sequential consistency in software improves efficiency in a multiprocessing computing environment. A writing CPU uses a high priority inter-processor interrupt to force each CPU in the system to execute a memory barrier. This step invalidates old data in the system. Each CPU that has executed a memory barrier instruction registers completion and sends an indicator to a memory location to indicate completion of the memory barrier instruction. Prior to updating the data, the writing CPU must check the register to ensure completion of the memory barrier execution by each CPU. The register may be in the form of an array, a bitmask, or a combining tree, or a comparable structure. This step ensures that all invalidates are removed from the system and that deadlock between two competing CPUs is avoided. Following validation that each CPU has executed the memory barrier instruction, the writing CPU may update the pointer to the data structure.
Tags:
Description:
Amusing 0%
Clever 0%
Complex 0%
Efficient 0%
Historic 0%
Important 0%
Innovative 0%
Interesting 0%
Practical 0%
Simple 0%
Number of Claims:
28
Comments:
no comments yet
Published
February 7, 2006
Application Number
09/884,597
Filed
June 18, 2001
US Classification
717/138  
Int'l Classification
G06F   9/45   (20060101)  
Examiner
Attorney/Law Firm
USPTO Field of Search
717/138   717/151   717/152   717/153   717/154   717/155   717/156   717/157   717/158   717/159   717/160   717/161   711/100   712/205  
Related Patents
7353346 - Read-copy-update (RCU) operations with reduced memory barrier usage - Owned by International Business Machines Corporation (Armonk, NY)

Read-copy-update (RCU) is performed within real-time and other types of systems, such that memory barrier usage within RCU is reduced. A computerized system includes processors, memory, updaters, and readers. The updaters update contents of a section of the memory by using first and second sets of per-processor counters, first and second sets of per-processor need-memory-barrier bits, and a global flip-counter bit. The global flip-counter bit specifies which of the first or second set of the per-processor counters and the per-processor need-memory-barrier bits is a current set, and which is a last set. The readers read the contents of the section of the memory by using the first and second sets of per-processor counters, the first and second sets of per-processor need-memory-barrier bits, and the global flip-counter bit, in a way that significantly reduces the need for memory barriers during such read operations.

Claims
Description
About| FAQs| Terms & Disclaimer| Link to Us| Contact Us