Patents by Inventor Patrick Henri Dussud
Patrick Henri Dussud 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: 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
-
Publication number: 20210208954Abstract: 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 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 DestVar1A, executes an acquire barrier, reads from the other variables into respective destination variables, executes another acquire barrier, reads from Var1 into 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: ApplicationFiled: January 6, 2020Publication date: July 8, 2021Inventors: Maoni Zhang STEPHENS, Patrick Henri DUSSUD
-
Publication number: 20210191859Abstract: 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: ApplicationFiled: December 20, 2019Publication date: June 24, 2021Inventors: Maoni Zhang STEPHENS, Patrick Henri DUSSUD
-
Publication number: 20200409839Abstract: 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: ApplicationFiled: September 12, 2020Publication date: December 31, 2020Inventors: Maoni Zhang STEPHENS, Patrick Henri DUSSUD
-
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
-
Publication number: 20200250084Abstract: 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: ApplicationFiled: February 5, 2019Publication date: August 6, 2020Inventors: Maoni Zhang STEPHENS, Patrick Henri 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
-
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