发明名称 |
Persistent local storage for processor resources |
摘要 |
Local storage may be allocated for each processing resource in a process of a computer system. Each processing resource may be virtualized and may have a one-to-one or a many-to-one correspondence with with physical processors. The contents of each local storage persist across various execution contexts that are executed by a corresponding processing resource. Each local storage may be accessed without synchronization (e.g., locks) by each execution context that is executed on a corresponding processing resource. The local storages provide the ability to segment data and store and access the data without synchronization. The local storages may be used to implement lock-free techniques such as a generalized reduction where a set of values is combined through an associative operator. |
申请公布号 |
US8887162(B2) |
申请公布日期 |
2014.11.11 |
申请号 |
US200812336546 |
申请日期 |
2008.12.17 |
申请人 |
Microsoft Corporation |
发明人 |
Ringseth Paul F.;Molloy Rick;Gustafsson Niklas;Callahan David |
分类号 |
G06F12/00;G06F9/50;G06F9/48 |
主分类号 |
G06F12/00 |
代理机构 |
|
代理人 |
Sullivan Kevin;Drakos Kate;Minhas Micky |
主权项 |
1. A method performed by a scheduler in a process executing on a computer system, the method comprising:
allocating first local storage corresponding to a first processing resource of the scheduler; allowing first and second execution contexts that execute on the first processing resource at different times to access the first local storage without synchronization; accessing the first local storage with the first execution context on the first processing resource; subsequent to accessing the first local storage with the first execution context, blocking the first execution context on the first processing resource to allow a third execution context on a second processing resource to access the first local storage, the third execution context accessing the first local storage while executing on the second processing resource; and in response to said blocking:
maintaining data in the first local storage; andsaving state information of the first execution context to a memory external to the first processing resource without saving the data from the first local storage to the memory external to the first processing resource. |
地址 |
Redmond WA US |