Managing global and local execution phases
AssigneeMicrosoft Technology Licensing, LLC
InventorsMatthew John PARKINSON, Sylvan Wesley CLEBSCH
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Technology Licensing, LLC
InventorsMatthew John PARKINSON, Sylvan Wesley CLEBSCH
Estimating the term…
A method of running a computer program comprising concurrent threads, wherein: at any time, the program is in a current global execution phase, GEP, each thread is divided into a sequence of local execution phases, LEPs, each corresponding to a different GEP, wherein the thread is in a current LEP that cannot progress beyond the LEP corresponding to the current GEP; any of the threads is able to advance the GEP if the current LEP of all threads has reached the LEP corresponding to the current GEP; one thread comprises code to perform an internal acquire to acquire a lock on its respective LEP; and at least one other threads comprises code to perform an external release to force advancement of the current LEP of said one thread, but wherein the external release will be blocked if said thread has performed the internal acquire.
A method of running a program comprising a plurality of concurrent threads on a computer, wherein:
A computer system comprising one or more processors an memory comprising one or more memory units arranged to store code arranged to run on the one or more processors, the code being configured so as when run to perform the operations of running a program comprising a plurality of concurrent threads on a computer, wherein:
Dependencies are inferred from the claim text.