[cpp-threads] Re: "Agenda" for august 23-25 concurrency meeting
Howard Hinnant
hinnant at twcny.rr.com
Tue Aug 15 02:54:42 BST 2006
I've added Ion Gaztañaga <igaztanaga at gmail.com> to the list. Please
include him in any replies.
On Aug 14, 2006, at 9:20 PM, Boehm, Hans wrote:
> Here is a quick attempt at a list of technical topics that I would
> hope
> to cover at the meeting. I would prefer to keep this very
> informal, and
> attach only rough times to these, since I expect the list to change
> before and during the meeting.
>
> Very roughly, I would like to aim for:
>
> Monday Morning: Atomics discussion. (Herb - is 9:00 a good starting
> time?)
>
> Monday immediately after lunch: Brief overview of OpenMP status, if
> there is a volunteer.
>
> Rest of Monday afternoon, Tuesday morning: Memory model discussion,
> starting with more detailed presentation. Herb - Would you also
> like to
> present? (We may want to start this Monday late morning, since some of
> the atomics issues are not really separable from the memory model.)
Monday I won't be there. The advertised meeting date is Wed, Aug 23.
- Fri, Aug 25.
>
> Starting sometime Tuesday afternoon: Threads API discussion.
>
> Wednesday afternoon, time permitting: library discussion.
>
> My expectation is that we will close at around 4:00 on Wednesday, and
> will probably start to lose people shortly before that.
I sure hope we can meet Wed - Fri.
>
> Please let me or the list know if I omitted something you think is
> important.
>
> Technical issues:
>
> Atomics
> Two levels of atomics (C-style + templates)?
> Bottom level operates on plain scalars, volatiles, or special
> data?
> Does backward compatibility matter?
> double-word CAS?
> Does default atomic assignment include trailing fence?
> I.e. does it behave like Java volatiles?
> (Raised again by Herb's paper.)
> Other details?
>
> Memory model
> Fairly detailed presentation (Hans and/or Clark)
> Construction of statics thread-safe by default?
> A tentative decision would be nice.
> Treatment of infinite loops.
> Do ordered atomics effectively order "raw" (unordered)
> atomic operations?
> (See
> http://www.decadentplace.org.uk/pipermail/cpp-threads/2006-August/
> 000989
> .html)
> Other issues?
>
> Threads API
> Approach?
> I (Hans) think the alternatives are
> A) Boost + modifications
> B) More drastic redesign
I'm very interested in Kevlin's joiner approach to thread launching/
joining + my exclusive/sharable/upgradable/movable lock approach.
This can be viewed as boost + modifications. Current draft of the
mutex/lock stuff here:
http://home.twcny.rr.com/hinnant/cpp_extensions/threads_move.html
Current outstanding questions include how to handle errors (assert/
throw/whatever).
> C) fallback: something minimal to let us talk
> about threads in the standard while using
> Boost/pthreads/win32/... in real programs
> Issues that are probably open either way:
> Constructor/destructor handling.
> Exception propagation past joins?
> Any cancellation support?
> Probably many other issues.
>
> Library Issues
> Can we start a list?
> Can we leave basic_string as is?
Sure, why not.
> Do I/O operations introduce synchronizes-with relationships?
> Which I/O operations are atomic?
> Who is willing to look at these issues?
I am.
> Probably many other issues.
>
> Recommended prereading (Hans' biased priority ordering):
> Draft of the Nelson & Boehm memory model/sequencing paper which
> we hope
> to get out by Friday or so. If you can't wait until then, the
> current
> strawman memory model proposal.
> Herb's Prism paper.
> (http://www.decadentplace.org.uk/pipermail/cpp-threads/2006-August/
> 00100
> 9.html)
> N2047 atomics proposal.
> Pete Becker's thread library proposal (N1907). (There are
> competing proposals
> from at least Lawrence and Kevlin as well, but they are less
> concrete, and
> probably less important to scrutinize in detail at this stage.)
I've been closely scrutinizing Kevlin's proposal and am willing to
represent it. I don't agree with all of it, but I find it very
compelling.
> Except for Herb's paper, these are/will be all referenced from
> http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/.
> Lawrence's summary of the other threads API discussion at the
> Berlin
> C++ meeting (Ugly version at
>
> http://www.decadentplace.org.uk/pipermail/cpp-threads/2006-April/
> 000928.
> html.
> Extract to html file.)
> Anything else that's referenced from the c++mm page and you find
> interesting.
Please confirm the dates. Some of us have booked no-refund airline
tickets from far away for Aug 23-25.
-Howard
More information about the cpp-threads
mailing list