Meaning of "maximal contiguous sub-sequence of side effects in themodification order"

F

Francois Grieu

In the latest ISO/IEC 9899:201x Committee Draft (N1569/N1570[*]), 5.1.2.4p10, I read

" A release sequence headed by a release operation A on an atomic object M is a maximal
contiguous sub-sequence of side effects in the modification order of M, where the first
operation is A and every subsequent operation either is performed by the same thread that
performed the release or is an atomic read-modify-write operation."

of which I can't make any sense.

I'm practicing English as a second language, but that's not 100% of my problem.

Francois Grieu

[*] N1570 is at <http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf>
three clicks away from <http://www.open-std.org>
 
J

James Kuyper

In the latest ISO/IEC 9899:201x Committee Draft (N1569/N1570[*]), 5.1.2.4p10, I read

" A release sequence headed by a release operation A on an atomic object M is a maximal
contiguous sub-sequence of side effects in the modification order of M, where the first
operation is A and every subsequent operation either is performed by the same thread that
performed the release or is an atomic read-modify-write operation."

of which I can't make any sense.

I'm practicing English as a second language, but that's not 100% of my problem.

Francois Grieu

[*] N1570 is at <http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf>
three clicks away from <http://www.open-std.org>

That sentence defines something called a release sequence. A release
sequence is parameterized by the corresponding release operation, which
is called 'A' for the purposes of that sentence, and a corresponding
atomic object, which is called 'M".
A release sequence is a sequence of side-effects, from the modification
order of M. It is the longest such sequence consisting entirely of
contiguous side-effects that meet the other requirements given. The
first such requirement is that A must be the first operation in that
sequence. The second requirement is that the remaining operations in the
sequence must all either be performed by the same thread as the one that
performed A, or they must be atomic read-modify-write operations.

This description is slightly flawed, because it defines a release
sequence as consisting of a sequence of side-effects. However, it then
refers to operations as being in that sequence; operations are not
side-effects, though there's a close connection between them. Possible
alternative wording:
"where the first side-effect is due to A, and every subsequent
side-effect is due to an operation ... or is due to an atomic ...".

I also think that it might be better to replace "contiguous" with
"consecutive". "contiguous" seems, to me, to have primarily spatial
connotations, while "consecutive" is a temporal relationship. It seems
to me that the modification order is a temporal concept. I have a very
strong background in special and general relativity, so treating space
and time as comparable aspects of a single 4-dimensional entity called
space-time comes naturally to me; but it's not particularly natural as
far as ordinary English usage is concerned.
 
L

lawrence.jones

Francois Grieu said:
In the latest ISO/IEC 9899:201x Committee Draft (N1569/N1570[*]), 5.1.2.4p10, I read [...]
of which I can't make any sense.

James Kuyper has already addressed your question, but you may want to
direct any future questions about the standard to comp.std.c instead.
 
B

Ben Bacarisse

James Kuyper said:
I also think that it might be better to replace "contiguous" with
"consecutive". "contiguous" seems, to me, to have primarily spatial
connotations, while "consecutive" is a temporal relationship.

I don't get such a strong indication of temporal vs. spacial here. The
OED backs up this intuition in that there is a second definition for
"contiguous":

2. Next in time or order, immediately successive.

However, consecutive can carry a more abstract meaning that matches
what seems to be required here:

2. Consisting of elements following in order; characterized by
consecution or logical sequence.

So I agree but for slightly different reasons.

The strongest distinction I get (again just an intuition) is this: the
positive integer subset of the reals are consecutive but not contiguous.
The intervals [n, n+1) with n a positive integer are contiguous and
consecutive, whilst a set of regions that tile the plane are contiguous
with necessarily being consecutive. In other words, one is is to do
with covering without gaps, and the other implies a logical or natural
sequence. These meanings are certainly there in the dictionary, but
there are enough other meanings that this is not the only way to read
the words.

<snip>
 
T

Tim Rentsch

James Kuyper said:
In the latest ISO/IEC 9899:201x Committee Draft (N1569/N1570[*]), 5.1.2.4p10, I read

" A release sequence headed by a release operation A on an atomic object M is a maximal
contiguous sub-sequence of side effects in the modification order of M, where the first
operation is A and every subsequent operation either is performed by the same thread that
performed the release or is an atomic read-modify-write operation."

of which I can't make any sense.

I'm practicing English as a second language, but that's not 100% of my problem.

Francois Grieu

[*] N1570 is at <http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf>
three clicks away from <http://www.open-std.org>

[snip]

I also think that it might be better to replace "contiguous" with
"consecutive". [snip]

As used in the text quoted from the Standard, "contiguous" is the
better choice, because of what noun is being modified. Individual
elements in a sequence may be /consecutive/; referring to the
sub-sequence as a whole, the sub-sequence is /contiguous/.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top