From: pkhuong on
In article <jg0d07-mtb.ln1(a)ntp.tmsw.no>,
Terje Mathisen <"terje.mathisen at tmsw.no"> wrote:
> Andy "Krazy" Glew wrote:
> > I suspect that there is at least some user level parallel code that
> > assumes byte writes are - what is the proper term? Atomic? Non-lossy?
> > Not implemented via a non-atomic RMW?
>
> There might be some such code somewhere, but only by accident, I don't
> believe anyone is using it intentionally: You want semaphores to be
> separated at least by a cache line if you care about performance, but I
> guess it is conceivable some old coder decided to pack all his lock
> variables into a single byte range.

I believe some software barriers depend on atomic byte-sized writes to
adjacent addresses. The goal is to both save some memory and use SWAR
when waiting for other threads.

Paul Khuong
From: Anne & Lynn Wheeler on

Bill Todd <billtodd(a)metrocast.net> writes:
> When clusters came along (1983) it developed external "Hierarchical
> Storage Controllers" (HSCs, using - I think - MSCP extensions) which
> could be considered somewhat akin to channel controllers, save that
> they were developed not to off-load the host but to facilitate
> concurrently sharing the storage they controlled among multiple hosts
> (and AFAIK did not allow arbitrary code to be downloaded to execute in
> them, though they were intelligent and could independently handle
> things like RAID -
> including NV mirrored write-back caches and cooperation with other
> HSCs - and backup).

some part of HSC was to handle out-board locking in shared-disk cluster
environment .... something better than (device) reserve/release ...
that had been around from (at least) early 360 days.

minor reference to doing compare&swap i/o sequence in CKD dasd as
alternative (late 70s)
http://www.garlic.com/~lynn/2009s.html#29 channels, was Larrabee delayed: anyone know what's happening?

early 70s ... the 3830/3330 disk controller had the "ACP" (airline
control program) RPQ ... which supported "logical" locking out in the
controller (somewhere I think there was reference to 2314 having
something similar earlier) ... misc. past posts:
http://www.garlic.com/~lynn/2001e.html#2 Block oriented I/O over IP
http://www.garlic.com/~lynn/2004.html#49 Mainframe not a good architecture for interactive workloads
http://www.garlic.com/~lynn/2004.html#50 Mainframe not a good architecture for interactive workloads
http://www.garlic.com/~lynn/2004o.html#29 Integer types for 128-bit addressing
http://www.garlic.com/~lynn/2008i.html#38 American Airlines
http://www.garlic.com/~lynn/2008i.html#39 American Airlines
http://www.garlic.com/~lynn/2008j.html#50 Another difference between platforms

old email on the subject (from Jim Gray to distribution):
http://www.garlic.com/~lynn/2009i.html#email800325

above mentions system/r (original relational/sql implementation)
.... misc past posts
http://www.garlic.com/~lynn/submain.html#systemr

when we were doing ha/cmp & ha/cmp scaleup ... misc past posts
http://www.garlic.com/~lynn/subtopic.html#hacmp

we worked with DBMS vendors that had done implementations for
vax/cluster ... and supported vax/cluster lock semantics compatibility
interface. however, some of the vendors had lists of things that
(vax/cluster) had been done inefficiently (&/or had grown up over decade
or so) ... which we had to avoid/fix (some of which related to
implementation details based on feature/function provided by HSC)

as part of doing HA/CMP ... we were also called into for design
walk-thrus for various RAID vendors ... looking for
single-point-of-failures (it was interesting the number of vendors that
would do the raid semantics for disk ... but completely overlook various
single-point-of-failures in other places in the implementation).

--
40+yrs virtualization experience (since Jan68), online at home since Mar1970
From: Anne & Lynn Wheeler on
Anne & Lynn Wheeler <lynn(a)garlic.com> writes:
> old email on the subject (from Jim Gray to distribution):
> http://www.garlic.com/~lynn/2009i.html#email800325

oops, finger slip
http://www.garlic.com/~lynn/2008i.html#email800325

--
40+yrs virtualization experience (since Jan68), online at home since Mar1970
From: Anne & Lynn Wheeler on

hmy1 <hmy1(a)aol.com> writes:
> IBM's System z (lastest mainframe brand name) I/O technology has alot
> of value and is an industry standard (T11.org, FC-SB-4).
> Just to mention a few differentiators from FCP:

i've got lots of old email from the FCS mailing list about all the churn
the pok channel engineers were causing ... trying to overlay
half-duplex, end-to-end serialized paradigm on top of the underlying
full-duplex asynchronous FCS.

part of this was escon technology had been laying around pok,
unannounced for possibly a decade (but used for mainframe channel
paradigm was half-duplex, end-to-end serialization. one of the rs/6000
engineers took it, did some tweaking (which made it incompatible,
full-duplex, etc). then he wanted to do a 800mbit version ... and we had
been involved in the FCS activity ... and managed to talk him into
getting involved with FCS instead. Then the pok channel engineers got
involved in standardization activity (not so much on the basic standard
.... but trying to overlay stuff on top of the underlying standard).

alternative example was the serial copper, full-duplex asynchronous
stuff that Hursley did (Harrier/9333) ... with effectively packetized
scsi commands. we spent some effort trying to get harrier morphed so
that interoperated with FCS ... but in turned into "SSA" instead.

referenceed here ... in old post related to ha/cmp & ha/cmp scaleup
http://www.garlic.com/~lynn/95.html#13

--
40+yrs virtualization experience (since Jan68), online at home since Mar1970
From: Robert Myers on
On Dec 25, 4:07 am, Bill Todd <billt...(a)metrocast.net> wrote:

> Why try to use channel terminology to describe a configuration that
> doesn't really fit it?  IIRC the XT (ISA) bus didn't support masters
> other than the host system:  if so, then (at least from the hardware
> viewpoint) the host called the shots (as it does in the channel
> approach) but also handled the I/O devices (as it does not in the
> channel approach).

I wanted to elicit as specific an answer as I could, so I used a
concrete example. PCI/XT bus devices could do bus mastering, so far
as I know, but I'm not sure why it's relevant. It would have been not
all that difficult to have intercepted I/O going either way to the 32-
bit system and done whatever one cared to with it, so I'm still not
sure what a mainframe channel has, other than careful and expensive
engineering that pays far more attention to reliability than anything
available outside the world of mainframes.

Thanks for your explanations, which give me a much clearer picture of
the various choices.

Robert.