US 12,367,081 B2
Computational graph critical sections
Eugene Brevdo, San Bruno, CA (US); and Alexandre Tachard Passos, San Francisco, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Nov. 22, 2023, as Appl. No. 18/517,830.
Application 18/517,830 is a continuation of application No. 17/533,223, filed on Nov. 23, 2021, granted, now 11,868,820.
Application 17/533,223 is a continuation of application No. 16/695,884, filed on Nov. 26, 2019, granted, now 11,188,395, issued on Nov. 30, 2021.
Claims priority of provisional application 62/772,544, filed on Nov. 28, 2018.
Prior Publication US 2024/0160497 A1, May 16, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/52 (2006.01); G06F 9/46 (2006.01); G06F 9/48 (2006.01); G06F 9/50 (2006.01); G06F 16/90 (2019.01); G06F 16/901 (2019.01)
CPC G06F 9/52 (2013.01) [G06F 9/46 (2013.01); G06F 9/466 (2013.01); G06F 9/467 (2013.01); G06F 9/48 (2013.01); G06F 9/4806 (2013.01); G06F 9/50 (2013.01); G06F 9/5005 (2013.01); G06F 9/5016 (2013.01); G06F 9/5022 (2013.01); G06F 9/5038 (2013.01); G06F 9/522 (2013.01); G06F 9/524 (2013.01); G06F 9/526 (2013.01); G06F 16/901 (2019.01); G06F 16/9024 (2019.01)] 23 Claims
OG exemplary drawing
 
1. A system comprising:
a plurality of computers and one or more storage devices storing instructions that are operable, when executed by the plurality of computers, to cause the plurality of computers to perform operations comprising:
receiving a representation of a computational graph having a critical section subgraph, the critical section subgraph specifying a lock operation, an unlock operation, and one or more other operations; and
executing, by a task server, the critical section subgraph including:
executing the lock operation including providing, by the task server, a first request to a value server to create a shared critical section object,
determining, by the task server, that the shared critical section object was created by the value server,
in response to determining that the shared critical section object was created by the value server, executing, by the task server, the one or more other operations of the critical section subgraph in serial, and
executing, by the task server, the unlock operation including providing, by the task server, a second request to the value server to delete the shared critical section object.