Patents
Literature
Hiro is an intelligent assistant for R&D personnel, combined with Patent DNA, to facilitate innovative research.
Hiro

32 results about "Write barrier" patented technology

In operating systems, write barrier is a mechanism for enforcing a particular ordering in a sequence of writes to a storage system in a computer system. For example, a write barrier in a file system is a mechanism (program logic) that ensures that in-memory file system state is written out to persistent storage in the correct order.

Specializing write-barriers for objects in a garbage collected heap

A technique is provided for reducing the number of write barriers executed in mutator code without compromising garbage collector performance. Advantageously, a compiler generates two forms of a mutator code—a first version with write barriers and a second version substantially without write barriers. In operation, the first version of the code may be accessed by a vtable in a “mature” near-class and the second version may be accessed by a vtable in a “nascent” near-class. According to the invention, mapping of functionally equivalent points in the first and second versions of the mutator code may be facilitated by an associated pcmap. Further, each of the first and second versions may also be associated with a respective nr_map that facilitates mapping functionally equivalent points within different branches of guard code sequences corresponding to reference-writes to non-receiver objects.
Owner:ORACLE INT CORP

Generation isolation system and method for garbage collection

Architectural support for generation isolation is provided through trapping of intergenerational pointer stores. Identification of pointer stores as intergenerational is performed by a store barrier responsive to an intergenerational pointer store trap matrix that is programmably encoded with store target object and store pointer data generation pairs to be trapped. The write barrier and intergenerational pointer store trap matrix provide a programmably-flexible definition of generation pairs to be trapped, affording a garbage collector implementer with support for a wide variety of generational garbage collection methods, including remembered set-based methods, card-marking type methods, write barrier based copying collector methods, etc., as well as combinations thereof and combinations including train algorithm type methods to managing mature portions of a generationally collected memory space. Pointer specific store instruction replacement allows implementations in accordance with this invention to provide an exact barrier to not only pointer stores, but to the specific intergenerational pointer stores of interest to a particular garbage collection method or combination of methods.
Owner:ORACLE INT CORP

System and method for memory reclamation

A method for memory reclamation is disclosed that includes marking a memory object when an attempt to alter a reference to the memory object is detected by a software write barrier. Marking be by using representations (“black,”“white”, “gray”) stored as part of a garbage collection information data structure associated with each memory object. Initially, all allocated memory objects are marked white. Objects are then processed such that objects referenced by pointers are marked gray. Each object marked gray is then processed to determine objects referenced by pointers in it, and such objects are marked gray. When all objects referenced by pointers in the selected gray objected have been processed, the selected gray object is marked black. When all processing has been completed, objects still marked white may be reclaimed. Also described is a garbage collector which runs as a task concurrently with other tasks. A priority of the garbage collector may be increased to prevent interruption during certain parts of the garbage collection procedure.
Owner:WIND RIVER SYSTEMS

Real-time computer "garbage collector"

The present invention provides a novel method and apparatus for performing real-time computer garbage collection, in a manner that offers unprecedented low bounds on the worst-case frequency and duration of the collection task. The invention is used with a plurality of data objects and with one or more mutator programs. The mutators and a garbage collector run on one or more processors. The mutators each have a corresponding thread with a corresponding thread state. In the present invention, execution of all mutators is temporarily restricted at the start of each new garbage collection cycle. However, unrestricted execution of a mutator is quickly resumed, as soon as that mutator's thread state is processed. The remainder of the garbage collection cycle may be performed concurrently with the mutators. In another feature of the present invention yielding important performance benefits, the mutators are executed subject to a protective write barrier, but the write barrier does not have to be applied to the modification of mutator thread states.
Owner:APPLE INC

Write-barrier maintenance in a garbage collector

An approach is provided for maintaining a write barrier during an assignment operation between a source object and a target object. A source tag is obtained from a first reference to the source object, and a target tag is obtained from a second reference to the target object. The source tag and the target tag are compared, such that if the source tag is in a predetermined relationship with the target tag, then a data structure (e.g., a remember table or exit table) associated with the write barrier is updated in accordance with the assignment operation. In one embodiment, the routine to update the data structure is dispatched from a function table based on a tag value in a header associated with the source object.
Owner:ORACLE INT CORP

Storage device with write barrier sensitive write commands and write barrier insensitive commands

The invention is a storage device which implements a write barrier command and provides means for a host to designate other write commands as being sensitive or insensitive to the existence of write barrier commands. The device can optimize the execution of commands by changing the order of execution of write commands that are insensitive to write barrier command. In an embodiment of the invention a flag associated with the write command indicates whether the command is sensitive or insensitive to the existence of write barrier commands. In an embodiment of the invention the write barrier command can be implemented as a write command with a flag that indicates whether the command is a write barrier command. In one embodiment of the invention the queue of commands and data to be written to the media is stored in a non-volatile cache.
Owner:WESTERN DIGITAL TECH INC

Lock-free hash table based write barrier buffer for large memory multiprocessor garbage collectors

A lock-free write barrier buffer is used to combine multiple writes to identical locations and save old values of written memory locations and to reduce TLB misses compared to card marking. The old value of a written location as well as the address of the header of the written object can be saved, which is not possible with card marking. Scanning the card table and marked pages are eliminated. The method is lock-free, scaling to highly concurrent multiprocessors and multi-core systems.
Owner:CLAUSAL COMPUTING

Virtual machine memory management

This invention relates to memory management in a virtual machine or operating system and in particular to object creation and garbage collection. There is described a method and system of managing memory in a multi-threaded processing environment such as a java virtual machine comprising: creating an object in a thread heap; associating a status with the object and setting the status as local; using write barriers to change the status to global if the object is assigned to a static variable or if the object is assigned to a field in a global object; changing the status of all objects referenced by that object to global; and performing garbage collection by deleting from the thread heap, when memory space in the thread heap is required, one or more local objects which can not be traced to the thread stack.
Owner:IBM CORP

Write barrier for data storage integrity

A system that facilitates the storage of data using a write barrier. The system interfaces to a hardware component that stores data, and includes a write barrier component that dynamically employs instructions compatible with the hardware component to ensure data integrity during storage of the data. The write barrier component is independent of at least an operating system and an application and can operate in a least one of a user mode and a kernel mode. The write barrier component includes at least one of software instructions, routines, and methods, the selection of one or more of which is based on hardware data extracted from the hardware component. A selection component interrogates the hardware component for hardware data to facilitate selection of one or more instructions most suitable for interfacing to the hardware component. A coalescing component combines cache synchronization requests into a single set of instructions, which set is processed to flush a disk cache in one process.
Owner:MICROSOFT TECH LICENSING LLC

Thread-local hash table based write barrier buffers

A write barrier is implemented using thread-local hash table based write barrier buffers. The write barrier, executed by mutator threads, stores addresses of written memory locations or objects in the thread-local hash tables, and during garbage collection, an explicit or implicit union of the addresses in each hash table is used in a manner that is tolerant to an address appearing in more than one hash table.
Owner:CLAUSAL COMPUTING

Concurrent incremental garbage collector with a card table summarizing modified reference locations

A concurrent incremental garbage collector where tracking and summarization of modified references is concurrent with application operations. A card table is arranged with write barriers so that an application's modification of objects in memory cards are memorialized in the card table. The collector performs an atomic operation, e.g., a compare-and-swap (CAS), on the card table to detect modified or written to objects. Card table indicators of dirtied cards are reset or emptied and the corresponding dirtied cards are scanned for the modifications and the remembered sets updated. Another CAS is performed on the same card table and if any dirtied cards are indicated the collector preserves the card table with the dirtied indicators and operates on a distant card table. If the CAS succeeds no modifications were made and the collector operates on the next scheduled card table group.
Owner:ORACLE INT CORP

Method and apparatus for maintaining an object-based write barrier to facilitate garbage-collection operations

One embodiment of the present invention provides a system that facilitates identifying roots for a garbage-collection operation in a computer system that supports an object-addressed memory hierarchy. In order to identify roots, the system first looks up an object table entry that corresponds to an object in an object cache, wherein the object table entry contains an evicted bit, which is set when any part of the modified object is evicted from the object cache, and a corresponding physical address for the object in main memory. Next, the system determines if the evicted bit is set in the object table entry, and if so, examines the object corresponding to the object table entry to determine if the object contains references to the target area in the object heap that is being garbage collected. If so, the system uses the references as roots for a subsequent garbage-collection operation of the target area.
Owner:ORACLE INT CORP

Combining write-barriers within an inner loop with fixed step

ActiveUS7225439B2Reduce in quantityWithout compromising garbage collector performanceData processing applicationsSoftware engineeringArray data structureInner loop
The present invention provides a technique for reducing the number of write barriers executed in mutator code without compromising garbage collector performance. To that end, when mutator instructions located within an inner-most nested loop (“inner loop”) modify references stored in one or more arrays, a compiler defers emitting write barriers corresponding to the reference modifications until after the inner loop is emitted. By deferring emission of write barriers, the mutator may execute a write barrier for each card spanned by the array instead of executing a typically larger number of write barriers corresponding to each reference modification made in an array. Thus, the invention enables the compiler to reduce the amount of write-barrier overhead performed by the mutator, consequently enabling the mutator to execute faster and more efficiently.
Owner:ORACLE INT CORP

Monitoring writes using thread-local write barrier buffers and soft synchronization

During garbage collection, writes to objects being copied (relocated) are monitored (tracked) using a write barrier that uses a thread-local write barrier buffer. In the preferred embodiment, soft synchronization is used for reading the thread-local write barrier buffers. In response to detecting a write to an object, the object may be re-copied, the copying may be made to fail, the write may be propagated to another copy of the object, or, e.g., another node in a distributed system may be notified of the write.
Owner:POSTQ IPR OY

Method for reducing write barrier overhead

A computer system and method for compiling a program, where the program executes pointer assignments from a source object to a destination object, each source object being addressable through a first pointer and each destination object being addressable through a second pointer. The system and method eliminate write barrier code from association with compiled program code when the first pointer points to a source object whose type is prolific, eliminate write barrier code from association with compiled program code when the second pointer points to a destination object whose type is non-prolific, and associate write barrier code with compiled program code when the source object is non-prolific and the destination object is prolific. Additionally, the system and method can determine not to associate write barrier code with a compiled program code if the second pointer points to a destination object whose type is non-prolific and if the first pointer points to a source object whose type is prolific.
Owner:IBM CORP

Virtual machine memory management

This invention relates to memory management in a virtual machine or operating system and in particular to object creation and garbage collection. There is described a method and system of managing memory in a multi-threaded processing environment such as a java virtual machine comprising: creating an object in a thread heap; associating a status with the object and setting the status as local; using write barriers to change the status to global if the object is assigned to a static variable or if the object is assigned to a field in any other object; and performing garbage collection by deleting from the thread heap, when memory space in the thread heap is required, one or more local objects which can not be traced to the thread stack.
Owner:IBM CORP

Eliminating write barriers for young objects

In a computer system that uses a generational garbage collector in which objects are promoted from a “young” generation to an “old” generation, a compiler output designates certain dynamic-allocation instructions as being ones whose resultant allocated objects will be considered “pinned.” The compiler associates with such allocation instructions respective segments of the code following the instructions and objects allocated within one of those segments are considered to remain pinned until program execution passes beyond that segment. The garbage collector refrains from promoting any pinned object, and as a consequence, an instruction that writes a reference into an object field while that object is pinned does not need to be accompanied by a write barrier.
Owner:ORACLE INT CORP

Coarse write barrier control mechanism

A method for a coarse write barrier control mechanism comprises maintaining a control table comprising a plurality of entries, where each entry may include an encoding of a write barrier function associated with a corresponding region of a heap. In response to a detection of a mutator write operation directed at the heap, the method includes selecting a particular entry of the control table that corresponds to a heap address specified in the write operation, and identifying a write barrier function from among a plurality of write barrier functions based on the encoding included in the selected entry.
Owner:ORACLE INT CORP

Memory management device, memory management method, and memory management program

One or more embodiments provide a technique of improving the conventional thread-local garbage collection (GC) so as to avoid fragmentation. A memory management device having a plurality of processors implementing transactional memory includes a write barrier processing unit which, when performing write barrier in response to initiation of a pointer write operation, registers an object that is located outside of a local area and that has a pointer pointing to an object located in the local area in a write log so as to set it as a target of conflict detection, and a garbage collector which, provided that no conflict is detected, copies a live shared object in the local area to the outside of the local area and collects any unwanted object irrespective of whether it is shared or not.
Owner:IBM CORP

System and method for optimizing write barrier in garbage collection

A system and associated method for optimizing a write barrier in garbage collection. The method marks a bit in a bitmap corresponding to a slot when the slot content is modified to refer to a new object. The method also logs the address of the slot when the object referred by the slot is updated. The method pops the address of the slot to clean from the log and clears the bit corresponding to the slot in the bitmap and when the object referred to by the slot is not already marked, marking said object and pushing its address to the mark stack. When the slot is located within an active object range, the method puts the address of the slot in a deferred log for a later processing.
Owner:IBM CORP

Computer system for detecting object updates

A computer system is used to run one or more programs. It includes a memory having at least a first heap and a second heap in which objects are stored, with a first object being stored on the first heap. A write barrier is provided for detecting that said the first object has been updated by a program to include a first reference to a memory location in the second heap.
Owner:META PLATFORMS INC

System and method for optimizing write barrier in garbage collection

A system and associated method for optimizing a write barrier in garbage collection. The method marks a bit in a bitmap corresponding to a slot when the slot content is modified to refer to a new object. The method also logs the address of the slot when the object referred by the slot is updated. The method pops the address of the slot to clean from the log and clears the bit corresponding to the slot in the bitmap and when the object referred to by the slot is not already marked, marking said object and pushing its address to the mark stack. When the slot is located within an active object range, the method puts the address of the slot in a deferred log for a later processing.
Owner:IBM CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Eureka Blog
Learn More
PatSnap group products