发明名称 |
System and method for implementing shared scalable nonzero indicators |
摘要 |
A Scalable NonZero Indicator (SNZI) object in a concurrent computing application may include a shared data portion (e.g., a counter portion) and a shared nonzero indicator portion, and/or may be an element in a hierarchy of SNZI objects that filters changes in non-root nodes to a root node. SNZI objects may be accessed by software applications through an API that includes a query operation to return the value of the nonzero indicator, and arrive (increment) and depart (decrement) operations. Modifications of the data portion and/or the indicator portion may be performed using atomic read-modify-write type operations. Some SNZI objects may support a reset operation. A shared data object may be set to an intermediate value, or an announce bit may be set, to indicate that a modification is in progress that affects its corresponding indicator value. Another process or thread seeing this indication may “help” complete the modification before proceeding. |
申请公布号 |
US8909601(B2) |
申请公布日期 |
2014.12.09 |
申请号 |
US200711939372 |
申请日期 |
2007.11.13 |
申请人 |
Oracle America, Inc. |
发明人 |
Moir Mark S.;Lev Yosef;Luchangco Victor M.;Dice David |
分类号 |
G06F9/52;G06F13/14 |
主分类号 |
G06F9/52 |
代理机构 |
Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C. |
代理人 |
Kowert Robert C.;Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C. |
主权项 |
1. A method, comprising:
performing by a computer:
writing a value to a shared data object in memory, wherein the shared data object comprises a plurality of data elements whose values collectively represent the value written to the shared data object;determining whether said writing changed a summary value associated with the shared data object, wherein the summary value is dependent on a mathematical or logical combination of the values of the plurality of data elements; andin response to determining that said writing changed the summary value associated with the shared data object, modifying a value of a shared indicator object such that the modified value reflects the changed summary value. |
地址 |
Redwood City CA US |