The following message is a courtesy copy of an article
that has been posted to bit.listserv.ibm-main,alt.folklore.computers as well.


[email protected] (Mike Myers) writes:
> Yes, I had forgotten about SIO/HIO/TIO and was reminded of those by
> your first post. I can't recall if I ever personally wrote a SIO
> instruction. Most of the channel programming I ever did was at the
> EXCP level, so i don't recall writing a SSCH instruction either.

re:
http://www.garlic.com/~lynn/2009r.html#14 "Portable" data centers
http://www.garlic.com/~lynn/2009r.html#18 "Portable" data centers
http://www.garlic.com/~lynn/2009r.html#49 "Portable" data centers
http://www.garlic.com/~lynn/2009r.html#50 "Portable" data centers
http://www.garlic.com/~lynn/2009r.html#51 "Portable" data centers

370 introduced options for SIO/HIO ... SIO fast, Halt device, and Halt
channel.

when i was building an extremely robust operating systems for the disk
engineering and product test labs ... one of the things was getting a
controller or the 303x channel director to reset/re-impl ... as part of
"severe" recovery process (never take down the system ... and require
minimum of manual operations).

it turns out that most controllers would reset/re-impl if you very
quickly hit all of the controller's subchannel addresses with HDV
(basically couple instruction loop). A 303x channel director would also
reset/re-impl ... if you hit all six channel addresses with halt
channel.

misc. past posts mentioning getting to play disk engineer in bldgs.
14 & 15
http://www.garlic.com/~lynn/subtopic.html#disk

in the move from 360/370 "real storage" to 370 virtual memory ... all
the channel programs required to be hit. most access methods built
channel programs with "real" storage addresses and then would execute
EXCP. The 360 & 370 channels executed channel programs assuming all the
addresses were "real".

moving to 370 virtual memory ... all the channel programs built in
application space would be referring to virtual addresses ... not real
addresses. When this was passed to kernel with EXCP ... EXCP had to
build shadow/duplicate channel program that substituted real addresses
for the virtual addresses (as well as some housekeeping to pin the
virtual pages at the real address).

In cp67, this had been going on for some time ... taking the channel
program from the virtual machine SIO ... and building a shadow/duplicate
channel program with real addresses ... rather than virtual addresses.
The routine in cp67 that performed this function was CCWTRANS. The
initial work on os360 to move to 370 virtual memory ... borrowed a copy
of CCWTRANS (out of cp67) to do the shadow/duplicate channel program.

Part of the justification for SSCH was help with the enormous pathlength
in MVS for I/O redrive ... after taking an interrupt (leaving device
idle during the period). One of the other things I did for operating
system for bldg. 14&15 ... was highly optimized the I/O redrive
pathlength.

This ran into problem with early (internal) work with 3880 disk
controller. There was some early performance product acceptance test of
the 3880 that met with no problem. However, when they swapped a 3830
disk controller with an early 3880 on 3033 in bldg15 (had a string of 16
3330 drives) ... things completely fell apart. I was getting yelled at
that it was my fault. Turns out that 3830 had fast horizontal microcode
engine ... and the 3880 had a much slower vertical microcode engine.
There was some additional hardware paths in the 3880 (to handle 3mbyte
data transfer) but commands and control operations were much slower.  As
part of making the 3880 appear as fast as the 3830 ... the 3880 started
presented operation complete early ... before it was completely
finished. 3880 assumed that it could finish in the delay that it took
the processor to handle the interrupt ... do the other operating system
gorp ... before getting back to redrive the 3880 with new operation.  My
optimized pathlength was hitting the controller with redrive in much
shorter period ... before it had finished its cleanup. This resulted in
having to present CC=1 to the SIO with SM+BUSY (controller busy).  The
processing then had to requeue the operation that it attempt to start
(and go off and do something else). Later the 3880 had to present an
additional CUE interrupt (to indicate it was no longer busy ... because
of having presenting the earlier controller busy). This added all sorts
of additional overhead and delay ... compared to the identical workload
& 3330s using 3830 controller (instead of 3880 controller).

recent post mentioning the SM+BUSY scenario and redrive latency
(dedicated processor being able to handle queued i/o and much lower
latency redrive operation).
http://www.garlic.com/~lynn/2009q.html#74 Now is time for banks to replace core 
system according to Accenture

-- 
40+yrs virtualization experience (since Jan68), online at home since Mar1970

----------------------------------------------------------------------
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

Reply via email to