Phil Payne wrote:
I've mentioned this before, but Fundamental Software has a huge collection of 
manuals and old
equipment.  When I was there once I wandered around their lab and saw just 
about every device
I could remember.  They have the old parallel channel cable assembly machine 
and all sorts of
prehistoric stuff.  I know they have the maintenance carts for most equipment 
and there's just
a chance they have some duplicates.

I remember the 3880 rollout, since the damn thing plays fast and loose with the 
channel
timings - it doesn't conform to the OEMI.  I think the actual tag timing it 
uses is in the
Functional Characteristics manual.

There also used to be a contraption called a "Holly Box" for checking a 
controller's tag
timing.

bus&tag supposedly max'ed at aggregate channel cable distance of 200ft and 1.5mbytes/sec ... although i seem to remember actual devices like 2305 had more like 80ft cable distance. there was end-to-end handshake on every byte transferred.

datastreaming relaxed requirement for end-to-end handshake on every byte ... which allowed it to double the aggregate channel cable distance to 400ft and the data rate to 3mbyte/sec.

the 3880 controller supported datastreaming and 3mbyte/sec transfer (for 3380 drives). the 3880 disk controller went from the (fast) horizontal microcode engine in the 3830 handling everything to a split operation with vertical microcode engine jib-prime handling control functions and a special hardware path for data transfer in the 3880.

the 3880 supposedly was required to pass a product performance acceptance test of being within 10% of 3830. for the test they used as a two-drive VS1 system doing identical job stream with 3830 controller and then replaced with 3880 controller (using same 3330 drives).

there was a problem with the jib-prime having higher latency processing commands and control operations than the 3830 ... and so they tried a little slight-of-hand. They raised operation complete to the channel before all the control unit functions had completed. For the VS1 acceptance benchmark, this allowed the completion of controller operation cleanup to be overlapped with the VS1 interrupt process and i/o handling (reflecting it back up to the application, and the application scheduling the next operation).

I had done this rewrite of the input/output supervisor for engineering lab (bldg. 14) and the product test lab (bldg.15)
http://www.garlic.com/~lynn/subtopic.html#disk

they had tried doing hardware development testing of single unit (testcell) in an MVS environment ... and the i/o operation anomolies and errors resulted in 15min. mean-time-between-failure for the MVS system.
My rewrite of input/output supervisor was so that the system wouldn't
ever fail (because of anomolies and/or errors for i/o activity) doing
concurrent testing of multiple devices and at the same time running under the table computer services for the engineers (i.e. prior to that all testing had been stand-alone bare machine ... on several dedicated processors).

since i was responsible for the software ... when there was significate anomolies with development hardware ... i would be the first to be blaimed (i.e. software not hardware) and would have to diagnose the problem.

about 10am one monday, i got a call from the engineers in the product test lab. they a 3033 (something like the second engineering machine from the pok plant). we had gotten it configured with a bootlegged 3830 controller and 16 3330 drives for private timesharing computing service ... in addition to its function of concurrent product test of several development devices (which previously had to be done one at a time with scheduled, bare machine time). The product test stuff rarely accounted for a couple percent of the machine ... so the rest of machine we could use for our own purposes.

In any case, the monday mid-morning call was that the timesharing thruput and response had gone all to pieces and "what had I changed over the weekend". Since I hadn't changed anything, I had to discover what changes they had made (which they initially denied doing any changes at all).

So a lot more diagnosing and eventually found over the weekend that the engineers had replaced the 3830 disk controller (for the 16 3330 drives) with a new product test 3880 controller. Lots more diagnostic and strobing regarding what the 3880 controller was doing turned up a real performance problem with the 3880 controller. While the two-pack VS1 performance acceptance test had the gimick that the 3880 was presenting completion early ... allowing some of the 3880 processing latency to be overlapped with VS1 I/O processing .... the VS1 was essentially doing sequential, serialilzed disk i/o.

The 16 3330 drives and any reasonable set of concurrent activity ... was finding that when the 3880 completion was handled by the interrupt processor ... I would frequently have queued I/O activity and immediately redrive the 3880 with a new operation (while it was still busy trying to cleanup from the previous request). The result was that the controller had to reflect controller busy (cc=1, csw stored, SM+BUSY) to the i/o initiation. That met that I had to requeue the request that I had just attempted to start (on the pending queue). Finally when the 3880 had completed whatever it was doing, since it had reflected SM+BUSY, it now had to present a (new) control unit end (CUE) interrupt indicating that it was now free. This caused a lot of extra processing in both the 3880 controller and also in the software ... as well as resulting in significant additional delays for I/O operations.

So it was back to the drawing board ... trying to make the 3880 control function processing more efficient and closer to that of the previous 3830 disk controller. Fortunately, at the moment, we were still six months away from 3880 first customer ship.

By first customer ship, processing had gotten better, but some things weren't as good as 3830. Both 3880 and 3830 had provisions for multiple channel interfaces. However, there was an enormous amount of 3880 processing and latency when switching from one channel interface to another channel interface (on two consecutive i/o requests coming in on different channel interface). I had done this really nifty and super-efficient multiple channel thruput and load balancing support (being able to maximize use of all possible channel interfaces from the same processor). However, the channel switching overhead in the 3880 controller was so enormous that I had to fall back to much simpler alternate path processing when dealing with 3880.

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