Patents by Inventor Maoni Zhang Stephens
Maoni Zhang Stephens has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11954023Abstract: Garbage collection or other computational work accesses memory which is located outside processor registers. Some embodiments specify at least some of the memory accesses and separate them from other computations, and utilize a memory access state machine to control the execution of both kinds of computation. Code that employs memory access results is placed in a run routine which is divided between respective states of the state machine. The specified memory accesses are invoked from a state code, and overlap other computation. A prefetch buffer may be dynamically sized based on the availability of space in the prefetch buffer. Code for shared work, such as address relocation code, may be placed in its own state structure. Candidate code for possible separation into a specified memory access routine may be automatically recognized.Type: GrantFiled: July 20, 2022Date of Patent: April 9, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Peter Franz Valentin Sollich
-
Patent number: 11650916Abstract: Systems and methods for garbage collection are disclosed. A garbage collection is triggered in a memory allocation based on a free list and selected amount of free space in an inner closed feedback loop. The free list is determined from a selected memory load and a current memory load as generated from the garbage collection in an outer feedback loop.Type: GrantFiled: June 14, 2018Date of Patent: May 16, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Patent number: 11422932Abstract: Managing secondary objects efficiently increases garbage collection concurrency and reduces object storage requirements. Aliveness marking of secondary objects is integrated with aliveness marking of referenced objects. Allocation of reference-sized secondary object identifier fields in objects which are not primary objects is avoided; a dedicated bit specifies primary objects, together with an object relationship table. A primary object is one with at least one secondary object which is deemed alive by garbage collection if the primary object is alive, without being a referenced object of the primary object. Any referenced objects of the alive primary object will also still be deemed alive. Code paths for marking referenced objects can be shared to allow more efficient secondary object marking. Primary-secondary object relationships may be represented in dependent handles, and may be specified in a hash table or other data structure.Type: GrantFiled: December 20, 2019Date of Patent: August 23, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick Henri Dussud
-
Patent number: 11392427Abstract: Garbage collectors and other software may utilize performant lock-free multithreaded software. Unitary lock-free updates to a set of variables involves an updating value Z, release barriers and acquire barriers that enforce orderings on code execution, and atomicity resulting from variable alignment. Conveyance is accomplished with a values placing step and a values retrieving step. Values placing replaces a non-updated value in a variable Var1 with Z, executes a release barrier, replaces the non-updated values of other variables with update values, executes another release barrier, and replaces Z with the Var1 update value. Values retrieving reads from Var1 into a variable DestVar1A, executes an acquire barrier, reads from the other variables into respective destination variables, executes another acquire barrier, reads from Var1 into a variable DestVar1B, and repeats if DestVar1A is Z or if DestVar1A and DestVar1B are unequal. This solution conveys the update values without locks, as a unit.Type: GrantFiled: January 6, 2020Date of Patent: July 19, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick Henri Dussud
-
Patent number: 11301375Abstract: Memory reclamation is tailored to avoid certain synchronization instructions, speeding concurrent garbage collection while preserving data integrity and availability. Garbage collection reclaims objects no longer in use, or other unused areas of memory. Pointers are partitioned into address portions holding address values and non-address portions having a special bit. Marking code writes only the non-address portions, setting the special bit as a mark reference, relocation candidate, etc. Mutator threads may concurrently mutate the entire pointer to update the address, but mutation does not cause incorrect reclamations or failure to do other operations such as relocation. Meanwhile, execution speed is increased by avoiding CAS (compare-and-swap instructions or compare-and-set) synchronization instructions. Non-CAS yet nonetheless atomic writes are used instead. Mutators run in user or kernel address spaces.Type: GrantFiled: September 12, 2020Date of Patent: April 12, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick Henri Dussud
-
Patent number: 11188460Abstract: An arena-based memory management system is disclosed. In response to a call to reclaim memory storing a plurality of objects allocated in an arena, a garbage collection of the arena is triggered based on heap-related parameter. A live object of the plurality of objects is preserved with the garbage collection.Type: GrantFiled: June 18, 2018Date of Patent: November 30, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud, Peter F. Sollich
-
Patent number: 10802965Abstract: Memory reclamation is tailored to avoid certain synchronization instructions, speeding concurrent garbage collection while preserving data integrity and availability. Garbage collection reclaims objects no longer in use, or other unused areas of memory. Pointers are partitioned into address portions holding address values and garbage collection portions having a special bit. Marking code writes only the garbage collection portions, setting the special bit as a mark reference, relocation candidate, etc. Mutator threads may concurrently mutate the entire pointer to update the address, but mutation does not cause incorrect reclamations or failure to do other operations such as relocation. Meanwhile, execution speed is increased by avoiding CAS (compare-and-swap instructions or compare-and-set) synchronization instructions in the garbage collector. Non-CAS yet nonetheless atomic writes are used instead. Mutators run in user or kernel address spaces.Type: GrantFiled: February 5, 2019Date of Patent: October 13, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick Henri Dussud
-
Patent number: 10628306Abstract: A method for use with a garbage collector to provide garbage collection is disclosed. The garbage collection is a concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. The concurrent garbage collection is triggered based on a dynamically tunable parameter from a previous garbage collection in closed loop feedback.Type: GrantFiled: February 1, 2017Date of Patent: April 21, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Patent number: 10572181Abstract: A method for use with a garbage collector to provide different garbage collections is disclosed. The garbage collections are concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. A heap size stage, from multiple heap size stages including a heap size growth stage and a heap size stable stage, is determined from a free space amount subsequent a garbage collection. A heap stable garbage collection is applied in response to the heap size stage being the heap size stable stage. A heap growth garbage collection is applied in response to the heap size stage being the heap size growth stage.Type: GrantFiled: February 1, 2017Date of Patent: February 25, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Patent number: 10558566Abstract: Garbage collection of objects within the heap of a computing system, and movement of adjacent sets of live objects as a whole in order to perform compaction. The compaction may be performed even if there are adjacent sets of live objects that include one or more pinned objects that should not be moved by the garbage collector. The garbage collector uses gaps to include relocation information with respect to sets of adjacent objects of the same pinned status. Some gaps may be formulated by writing over the live objects themselves, in which case that written over data is saved off prior to formulating the gap. When compaction is performed, the saved off data is used to fully integrate the adjacent objects of the same pinned status in the process of compaction.Type: GrantFiled: April 16, 2015Date of Patent: February 11, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick Henri Dussud
-
Publication number: 20190384705Abstract: Systems and methods for garbage collection are disclosed. A garbage collection is triggered in a memory allocation based on a free list and selected amount of free space in an inner closed feedback loop. The free list is determined from a selected memory load and a current memory load as generated from the garbage collection in an outer outer feedback loop.Type: ApplicationFiled: June 14, 2018Publication date: December 19, 2019Inventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Publication number: 20190384703Abstract: An arena-based memory management system is disclosed. In response to a call to reclaim memory storing a plurality of objects allocated in an arena, a garbage collection of the arena is triggered based on heap-related parameter. A live object of the plurality of objects is preserved with the garbage collection.Type: ApplicationFiled: June 18, 2018Publication date: December 19, 2019Inventors: Maoni Zhang Stephens, Patrick H. Dussud, Peter F. Sollich
-
Publication number: 20180217927Abstract: A method for use with a garbage collector to provide garbage collection is disclosed. The garbage collection is a concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. The concurrent garbage collection is triggered based on a dynamically tunable parameter from a previous garbage collection in closed loop feedback.Type: ApplicationFiled: February 1, 2017Publication date: August 2, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Publication number: 20180217779Abstract: A method for use with a garbage collector to provide different garbage collections is disclosed. The garbage collections are concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. A heap size stage, from multiple heap size stages including a heap size growth stage and a heap size stable stage, is determined from a free space amount subsequent a garbage collection. A heap stable garbage collection is applied in response to the heap size stage being the heap size stable stage. A heap growth garbage collection is applied in response to the heap size stage being the heap size growth stage.Type: ApplicationFiled: February 1, 2017Publication date: August 2, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Patent number: 9804962Abstract: Controlling garbage collection operations. The method includes setting up garbage collection to collect objects that are no longer in use in a managed code environment. The method further includes receiving managed code input specifying a desired quantum within which it is desired that garbage collection not be performed. The method further includes performing a computing operation to determine the desired quantum can likely be met. The method further includes running memory operations within the quantum without running the initialized garbage collection.Type: GrantFiled: February 13, 2015Date of Patent: October 31, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick Henri Dussud
-
Publication number: 20160306739Abstract: Garbage collection of objects within the heap of a computing system, and movement of adjacent sets of live objects as a whole in order to perform compaction. The compaction may be performed even if there are adjacent sets of live objects that include one or more pinned objects that should not be moved by the garbage collector. The garbage collector uses gaps to include relocation information with respect to sets of adjacent objects of the same pinned status. Some gaps may be formulated by writing over the live objects themselves, in which case that written over data is saved off prior to formulating the gap. When compaction is performed, the saved off data is used to fully integrate the adjacent objects of the same pinned status in the process of compaction.Type: ApplicationFiled: April 16, 2015Publication date: October 20, 2016Inventors: Maoni Zhang Stephens, Patrick Henri Dussud
-
Publication number: 20160239413Abstract: Controlling garbage collection operations. The method includes setting up garbage collection to collect objects that are no longer in use in a managed code environment. The method further includes receiving managed code input specifying a desired quantum within which it is desired that garbage collection not be performed. The method further includes performing a computing operation to determine the desired quantum can likely be met. The method further includes running memory operations within the quantum without running the initialized garbage collection.Type: ApplicationFiled: February 13, 2015Publication date: August 18, 2016Inventors: Maoni Zhang Stephens, Patrick Henri Dussud