[concurrency-interest] High performance clock/counter

Andrew Haley aph at redhat.com
Thu Apr 29 11:57:02 EDT 2010


On 04/25/2010 06:51 PM, Dave Dice wrote:
> 
> On 2010-4-25, at 12:54 PM, Andrew Haley wrote:
> 
>>
>> None of the counters suitable for use in an implementation of an
>> algorithm like TL2 are very nice: you either end up with high
>> contention on a single counter variable or something rather
>> heavyweight.  Would it make sense for the hardware to provide global
>> high-performance counters?  I'm thinking of a counter that could be
>> handled very efficiently by some sort of low-latency broadcast
>> protocol.
> 
> In TL2 you can use a relaxed clock that only increments
> infrequently, albeit with a slight cost in increased false failure
> rates.  The critical safety invariant is that any computed WV must
> be > any previously read (observed) RV.  Incrementing the global
> clock is actually a performance concern, not a correctness concern.
> See "GV6" in section 2.2 of
> http://people.csail.mit.edu/mareko/transact09-lev.pdf.  

Aha!  Yes, I see.

> We didn't have room to describe the alternative clock management
> mechanisms in the original DISC paper, although the TL2 release
> notes deal with that topic in depth.  The release notes also discuss
> using hardware clocks.

OK, thanks.

By the way, I can't find the reference implementation of TL2.  I'm
pretty sure I saw it some time ago but I can't find it any more,
despite some considerable web searching.

Andrew.


More information about the Concurrency-interest mailing list