Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming.threads > #2186

Re: About lockfree and waitfree... (2nd try)

From nmm@needham.csi.cam.ac.uk (Nick Maclaren)
Newsgroups comp.programming.threads, comp.programming, comp.arch
Subject Re: About lockfree and waitfree... (2nd try)
Date 2014-04-18 11:56 +0100
Organization Department of Deniable Assertions
Message-ID <lir0dp$qnh$1@needham.csi.cam.ac.uk> (permalink)
References <lif821$inj$1@news.albasani.net> <lipq6r$l97$1@dont-email.me> <liqp7o$1g2$1@needham.csi.cam.ac.uk> <liqrdp$13i$1@dont-email.me>

Cross-posted to 3 groups.

Show all headers | View raw


In article <liqrdp$13i$1@dont-email.me>,
Ivan Godard  <ivan@ootbcomp.com> wrote:
>>
>> Do you mean the same thing by sequential consistency and sequential
>> concurrency?
>
>"Sequential concurrency" is not a familiar term to me, nor, it appears, 
>to Google, which has only one cite and that for some slides that appear 
>to have invented the term. So no, I don't :-)

Then could you explain what you mean by it?  I am lost.

>> However, I find it odd that there is no global clock, because it
>> is easy to provide if you already have sequential consistency.
>> The 'implementation' is just that one thread updates the clock
>> and others read it.  While that does not provide 'physical'
>> consistency of the time, it's all any sane algorithm needs.
>
>I'm describing hardware; there is none in hardware, although a software 
>clock is straightforward if you can accept the drawbacks. Global time is 
>very difficult in hardware. There may be a single global clock, but 
>non-uniform delays in reading the clock mean that two clients of the 
>same clock will not agree on the time.

That is true but, if you have sequential consistency, they all
get consistent times.  That is all that almost all algorithms need.

>It is certainly possible to have a single global take-a-number that 
>gives a unique number to each client on request, and that can be used to 
>provide a global ordering, but such systems do not scale - tghe 
>take-a-number is a single-point bottleneck, and the round-trip latency 
>to the TAN and back is often non-trivial.

Now, there I disagree.  The point is that providing a global
time and providing a set of globally ordered tokens are entirely
separate requirements, and the former is fairly easy to scale.

The main requirement for a global clock is for debugging and
tracing - I had to write a mechanism for MPI when I needed it,
which delivers consistency comparable to the round-trip latency.
I could do better in hardware.  Absolute consistency with memory
accesses is not needed, but microsecond-level precision is.

The global take-a-number requirements DON'T need a timestamp,
but only something that is unique and increases monotonically.
I agree that those mechanisms don't scale.

There are two approaches that I know of.  One is that a single
'thread' updates a location, and let the sequentially consistent
memory access handle its distribution.  This means that, if other
threads start hammering on the timestamp, it runs like a drain,
but most genuine requirements for times don't do that.

The other is to have a hierarchical distribution, and not attempt
to maintain consistency with memory accesses.  This can still
provide a guaranteed, small error bound.  I prefer this one, as it
is both highly scalable even under heavy load and gives all that is
needed for almost all clock requirements.



Regards,
Nick Maclaren.

Back to comp.programming.threads | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

About lockfree and waitfree... aminer <aminer@toto.net> - 2014-04-13 19:54 -0700
  Re: About lockfree and waitfree... "Chris M. Thomasson" <no@spam.invalid> - 2014-04-13 19:38 -0700
    Re: About lockfree and waitfree... "Chris M. Thomasson" <no@spam.invalid> - 2014-04-13 19:47 -0700
      Re: About lockfree and waitfree... aminer <aminer@toto.net> - 2014-04-13 22:56 -0700
      Re: About lockfree and waitfree... "Chris M. Thomasson" <no@spam.invalid> - 2014-04-14 14:08 -0700
        Re: About lockfree and waitfree... "Chris M. Thomasson" <no@spam.invalid> - 2014-04-14 14:23 -0700
          Re: About lockfree and waitfree... Ivan Godard <ivan@ootbcomp.com> - 2014-04-14 16:27 -0700
          Re: About lockfree and waitfree... (2nd try) Ivan Godard <ivan@ootbcomp.com> - 2014-04-14 16:29 -0700
            Re: About lockfree and waitfree... (2nd try) "Chris M. Thomasson" <no@spam.invalid> - 2014-04-15 10:04 -0700
              Re: About lockfree and waitfree... (2nd try) Ivan Godard <ivan@ootbcomp.com> - 2014-04-15 10:34 -0700
                Re: About lockfree and waitfree... (2nd try) "Chris M. Thomasson" <no@spam.invalid> - 2014-04-17 16:35 -0700
                Re: About lockfree and waitfree... (2nd try) Ivan Godard <ivan@ootbcomp.com> - 2014-04-17 17:04 -0700
                Re: About lockfree and waitfree... (2nd try) nmm@needham.csi.cam.ac.uk (Nick Maclaren) - 2014-04-18 09:54 +0100
                Re: About lockfree and waitfree... (2nd try) Ivan Godard <ivan@ootbcomp.com> - 2014-04-18 02:31 -0700
                Re: About lockfree and waitfree... (2nd try) nmm@needham.csi.cam.ac.uk (Nick Maclaren) - 2014-04-18 11:56 +0100
                Re: About lockfree and waitfree... (2nd try) rpw3@rpw3.org (Rob Warnock) - 2014-04-18 11:26 +0000
                Re: About lockfree and waitfree... (2nd try) Ivan Godard <ivan@ootbcomp.com> - 2014-04-18 13:30 -0700
                Re: About lockfree and waitfree... (2nd try) "Chris M. Thomasson" <no@spam.invalid> - 2014-04-21 14:25 -0700
                Re: About lockfree and waitfree... (2nd try) "Chris M. Thomasson" <no@spam.invalid> - 2014-04-21 14:31 -0700
                Re: About lockfree and waitfree... (2nd try) Ivan Godard <ivan@ootbcomp.com> - 2014-04-21 14:53 -0700
                Re: About lockfree and waitfree... (2nd try) "Chris M. Thomasson" <no@spam.invalid> - 2014-04-22 14:21 -0700
                Re: About lockfree and waitfree... (2nd try) "Chris M. Thomasson" <no@spam.invalid> - 2014-04-22 14:36 -0700
                Re: About lockfree and waitfree... (2nd try) Ivan Godard <ivan@ootbcomp.com> - 2014-04-22 15:30 -0700
                Re: About lockfree and waitfree... (2nd try) "Chris M. Thomasson" <no@spam.invalid> - 2014-05-01 00:48 -0700
                Re: About lockfree and waitfree... (2nd try) "Chris M. Thomasson" <no@spam.invalid> - 2014-05-25 13:16 -0700
                Re: About lockfree and waitfree... (2nd try) "Chris M. Thomasson" <no@spam.invalid> - 2014-04-21 14:34 -0700
                Re: About lockfree and waitfree... (2nd try) Robert Wessel <robertwessel2@yahoo.com> - 2014-04-21 16:42 -0500
                Re: About lockfree and waitfree... (2nd try) Ivan Godard <ivan@ootbcomp.com> - 2014-04-21 15:02 -0700
                Re: About lockfree and waitfree... (2nd try) nmm@needham.csi.cam.ac.uk (Nick Maclaren) - 2014-04-22 09:05 +0100
                Re: About lockfree and waitfree... (2nd try) Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2014-04-22 09:27 -0700
                Re: About lockfree and waitfree... (2nd try) Ivan Godard <ivan@ootbcomp.com> - 2014-04-22 09:45 -0700
                Re: About lockfree and waitfree... (2nd try) nmm@needham.csi.cam.ac.uk (Nick Maclaren) - 2014-04-22 18:08 +0100
                Re: About lockfree and waitfree... (2nd try) Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2014-04-23 12:08 -0700
                Re: About lockfree and waitfree... (2nd try) nmm@needham.csi.cam.ac.uk (Nick Maclaren) - 2014-04-23 20:32 +0100
                Re: About lockfree and waitfree... (2nd try) Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2014-04-23 13:21 -0700
                Re: About lockfree and waitfree... (2nd try) nmm@needham.csi.cam.ac.uk (Nick Maclaren) - 2014-04-23 21:51 +0100
                Re: About lockfree and waitfree... (2nd try) Chris Gray <cg@GraySage.COM> - 2014-04-24 10:53 -0600
                Re: About lockfree and waitfree... (2nd try) nmm@needham.csi.cam.ac.uk (Nick Maclaren) - 2014-04-24 18:02 +0100
                Re: About lockfree and waitfree... (2nd try) Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2014-04-25 13:39 -0700
                Re: About lockfree and waitfree... (2nd try) "Chris M. Thomasson" <no@spam.invalid> - 2014-04-22 22:08 -0700
            Re: About lockfree and waitfree... (2nd try) George Neuner <gneuner2@comcast.net> - 2014-04-17 21:15 -0400
              Re: About lockfree and waitfree... (2nd try) George Neuner <gneuner2@comcast.net> - 2014-04-17 21:25 -0400
                Re: About lockfree and waitfree... (2nd try) Ivan Godard <ivan@ootbcomp.com> - 2014-04-17 19:17 -0700
                Re: About lockfree and waitfree... (2nd try) George Neuner <gneuner2@comcast.net> - 2014-04-18 00:46 -0400
              Re: About lockfree and waitfree... (2nd try) Ivan Godard <ivan@ootbcomp.com> - 2014-04-17 18:52 -0700
    Re: About lockfree and waitfree... aminer <aminer@toto.net> - 2014-04-13 22:54 -0700

csiph-web