Abstract:
We introduce the SNZI shared object, which is related to
traditional shared counters, but has weaker semantics. We
also introduce a resettable version of SNZI called SNZI-R.
We present implementations that are scalable, linearizable,
nonblocking, and fast in the absence of contention, properties
that are difficult or impossible to achieve simultaneously
with the stronger semantics of traditional counters.
Our primary motivation in introducing SNZI and SNZI-R
is to use them to improve the performance and scalability
of software and hybrid transactional memory systems.
We present performance experiments showing that our
implementations have excellent performance characteristics for
this purpose.
Joint work with Faith Ellen (University of Toronto),
Victor Luchangco and Mark Moir (Sun Microsystems Laboratories)