The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Jul. 19, 2022

Filed:

Jan. 06, 2020
Applicant:

Microsoft Technology Licensing, Llc, Redmond, WA (US);

Inventors:

Maoni Zhang Stephens, Kirkland, WA (US);

Patrick Henri Dussud, Redmond, WA (US);

Assignee:
Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/52 (2006.01); G06F 9/38 (2018.01); G06F 9/46 (2006.01); G06F 9/30 (2018.01); G06F 12/02 (2006.01);
U.S. Cl.
CPC ...
G06F 9/524 (2013.01); G06F 9/3004 (2013.01); G06F 9/3851 (2013.01); G06F 9/466 (2013.01); G06F 9/522 (2013.01); G06F 9/526 (2013.01); G06F 12/0253 (2013.01); G06F 2212/702 (2013.01);
Abstract

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.


Find Patent Forward Citations

Loading…