Re: [mpiwg-rma] Ticket #456 - synchronization in MPI-3.0's shared memory
Dear Keith,
Apparently, C11 solves all of these issues (or, at least, that is what I have been led to believe), and modern C compilers honor the C11 memory model.
Thank you for giving me this second approval. Bill's answer is already on https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/456#comment:13 Best regards Rolf ----- Original Message -----
From: "Keith D Underwood" <[email protected]> To: "Rolf Rabenseifner" <[email protected]> Sent: Wednesday, October 1, 2014 5:40:14 AM Subject: RE: Ticket #456 - synchronization in MPI-3.0's shared memory
Apparently, C11 solves all of these issues (or, at least, that is what I have been led to believe), and modern C compilers honor the C11 memory model.
-----Original Message----- From: Rolf Rabenseifner [mailto:[email protected]] Sent: Thursday, September 11, 2014 3:13 AM To: Underwood, Keith D Cc: Bill Long Subject: Fwd: Ticket #456 - synchronization in MPI-3.0's shared memory
Dear Keith,
welcome back from your sabbatical. I hope you had nice weeks.
I sent Bill Long the following question (see below) and I would have the same question about the Intel Compilers (C, C++ and Fortran).
This question is independent of the details of a threading library and whether OS threads or processes are used.
Therefore any answer about pthreads would also fit to #456, i.e., the synchronization in the errata about MPI-3.0 shared memory.
It would be nice, if you can get the answers to the questions below.
Best regards Rolf
----- Forwarded Message ----- From: "Rolf Rabenseifner" <[email protected]> To: "Bill Long" <[email protected]> Sent: Tuesday, September 9, 2014 5:58:22 PM Subject: Ticket #456 - synchronization in MPI-3.0's shared memory
Dear Bill,
in the Forums discussion on #456 https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/456 Bill Gropp had pointed to Hans-J Boehm's paper from 2004:
"Threads Cannot be Implemented as a Library" http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf
I've the following question to you as Compiler specialist:
Do we still have the problems in Sections 4.2 and 4.3 of Boehm's paper?
The problem in Section 4.1 is solved as long as the programmer issues memory barriers, which will be synchronization library Routine calls. In C, the opaque library calls should divide conflicting accesses in different access epochs. Same in Fortran with the combination of ASYNCHRONOUS variables and opaque library calls.
If I understand this paper correctly, then the compiler writes since 2004 are aware of applications calling pthreads and therefore, the compilers do not make optimizations that would produce the described data-races in Section 4.2 and 4.3. And of course also other problems detected so far.
Is my assuption correct?
Best regards Rolf
-- Dr. Rolf Rabenseifner . . . . . . . . . .. email [email protected] High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner Nobelstr. 19, D- 70550 Stuttgart, Germany . . . . (Office: Room 1.307)
-- Dr. Rolf Rabenseifner . . . . . . . . . .. email [email protected] High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner Nobelstr. 19, D- 70550 Stuttgart, Germany . . . . (Office: Room 1.307)
-- Dr. Rolf Rabenseifner . . . . . . . . . .. email [email protected] High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307)
participants (1)
-
Rolf Rabenseifner