In a recent note, john gilmore said:
> Date: Fri, 17 Jun 2005 02:30:25 +0000
>
> >Yet I wonder, beyond uniqueness, can there ever be any perceived violation
> >of monotonicity?
> > Might one processor do a STCK, then send a signal to another processor
> >which, in turn does its
> >STCK and sees a value (including the TOD register content) algebraically
> >less than the one that
> >demonstrably happend earlier?
>
> Substituting STCKE values for at best obsolescent STCK values in the above,
>
I stand corrected; thanks.
> it is clear that for two STCKE values a, b
>
> a||<programmable value0>
> b||<programmable value1>
>
> and a < b,
>
I had thought that for different processors; more likely on different
systems (have I got that term right?) in a sysplex, it is possible that
a = b; in fact that is the rationale for providing the programmable
value -- it guarantees uniqueness overall. So, if the processor with
the higher programmable value does a STCK[E] very shortly before the
processor with the lower programmable value so a = b, the first STCKE
will store a higher value than the second. The question is whether
any event, or communication between processors, in so short an interval
(less than one clock tick) can manifest monotonicity violation.
> a||<programmable value0> < b||<programmable value1>
>
> obtains for all values of <programmable value0> and <programmable value1>.
>
> Consider
>
> <programmable value0> = 'zzz', <programmable value1> = 'aaa', it is still
> the case that
>
> a||'zzz' < b||'aaa'
>
> for all a < b. This, of course, is why the programmable field occupies the
> rightmost two bytes of an STCKE value.
>
> The triviality of this argument suggests that the thrust of Terence's
> injunction to think before one speaks has somehow been lost and needs to be
> recovered here.
>
All predicated on the assumption that a < b.
So, I RTFM:
Title: ESA/390 Principles of Operation
Document Number: SA22-7201-04
(I'm on a dialup connection right now and haven't access to the newer PDFs.)
I see:
# 4.6.1.4 "ESA/390 Principles of Operation"
_________________________________________________________________________
4.6.1.4 Setting and Inspecting the Clock
The values stored for a running clock always correctly imply the sequence of
execution
of STORE CLOCK on one or more CPUs for all cases where the sequence can be
established
by means of the program.
Which answers my question, for a single system, not necessarily for a sysplex.
Or does the restriction "a running clock" as opposed to "one or more running
clocks" leave open the question in cases where the model posesses multiple
clocks?
Zeros are stored in positions to the right of the
bit
position that is incremented. In a configuration with more than one CPU,
however, when
the value of a running clock is stored, nonzero values may be stored in
positions to
the right of the rightmost position that is incremented. This ensures that a
unique
value is stored.
I'll assume that the nonzero values are necessary to ensure uniqueness, not
frivolous complexity, and thus that it's possible that a = b.
-- gil
--
StorageTek
INFORMATION made POWERFUL
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html