RFR (S): JEP-142: Reduce Cache Contention on Specified Fields (original) (raw)

Remi Forax forax at univ-mlv.fr
Tue Nov 27 01:17:37 PST 2012


On 11/27/2012 01:20 AM, Doug Lea wrote:

On 11/26/12 14:08, Doug Lea wrote:

I think you should re-write the javadoc ... The Contended.java file and its javadoc in Aleksey's webrev is just a placeholder to get things moving. We expect to solicit reviews in the usual way (mainly on concurrency-interest list) for a version that will make it into JDK8.

Ok, cool. Could you add that @Contented doesn't imply volatile and that the space overhead can be really big ?

cheers, Rémi

The initial javadoc is pasted below; updates will appear in jsr166 CVS viewable at: http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/main/java/util/concurrent/Contended.java?view=log

/** * An annotation expressing that objects and/or their fields are * expected to encounter memory contention, generally in the form of * "false sharing". This annotation serves as a hint that such objects * and fields should reside in locations isolated from those of other * objects or fields. The effects of this annotation will nearly * always add space overhead to programs. Its use is warranted only * when the performance impact of this time/space tradeoff is * intrinsically worthwhile; for example, in concurrent contexts in * which each instance of the annotated object is often accessed by a * different thread. * *

A {@code @Contended} field annotation may optionally include a

* contention group tag. All fields with the same tag are considered * as a group with respect to isolation from other groups. A default * annotation without a tag indicates contention with all other * fields, including other {@code @Contended} ones. *

When the annotation is used at the class level, all unannotated

* fields of the object are considered to be in the same default * group, separate from any fields that carry their own (possibly * tagged) {@code @Contended} annotations. * *

Sample Usages. (Forthcoming.)

* * @since 1.8 */



More information about the hotspot-dev mailing list