[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