Re: [OT] unix X mainframe I/O comparisons
Posted in 1999
In article <7puqpr$54d$1@news.xmission.com>, Dareel Spock <cso_spock@yahoo.com> wrote: > > >MIME-Version: 1.0 >Content-Type: text/plain; charset=us-ascii > >Forgive me for being somewhat off topic, but >since I/O contention is a major db performance issue, >i'd appreciate your input on this. >On a MVS/OS390 mainframe one can have 8 simultaneous >I/Os from OS memory to a raid box ( 4 memory - dasd >and an additional 4 memory - cache I/Os if data is on >the controller cache). By this I mean you can define >and attach 8 physical channels from a mainframe server >image (an OS image somewhat like an E10k domain) to a >raid box an no more, but you can actually have 8 simultaneous I/Os >flowing from/to/between the OS memory and the raid box. Possibly using >ESCON channels, proprietary adapters that do up to 18mbs/sec each. >When for some reason one has to use less channels such >as 1,2 or 3 performance loss is very appreciable in >much larger response times. I'd say most large sites >using mainframes enjoy 3 to 5 milisecond response time >for most important db I/O with a few 1 milisecond >response time if you are lucky. (Other normal I/O >are 11 to 30 ms usually) >On all UNIX systems I have worked with I see 1 and only 1 I/O adapter, >(scsi bus, FCAL adapter, etc.) from the UNIX server to the raid box, Then you've only seen very low-end servers or else badly configured ones. >with perhaps a 2nd adapter defined for >availability/recovery issues but not actually doing >simultaneous I/O (to the same UNIX server). >So what I ask is: >1) Am I missing something? Yep. Think of it this way: OS/390 hardware splits things up into up to to 256 ESCON channels each of 18MB/s (or roughly so, I don't keep close track of mainframe hardware). PCI hardware splits things up into PCI buses (each 132MB/s base, double for 64-bit PCI, double for 66MHz PCI) each of which can have multiple slots. SBUS hardware splits things up into SBUS buses (100MB/s, double for 64-bit SBUS) each of which, again, can have multiple slots. These buses then connect to the system-dependent backplane/UPA/memory bus or whatever the particular architecture calls it which is also used for memory. Each slot on a PCI bus or SBUS bus can take, for example, a SCSI adapter connecting to a SCSI bus of 10MB/s base (yeah, I'm taking "Fast" SCSI to be the base), double for wide SCSI, double again for UltraWide SCSI, double again for UltraFast). (There are one or two variations on a theme but let's ignore those for now). As an alternative to SCSI there's also fibre channel but, again, let's ignore it for simplicity since SCSI is sufficient to counter the "Unix hardware can't do I/O argument". Now let's get down to specifics. Intel are the worst architecture for Unix servers and their top end systems have two PCI buses (possibly 64-bit or fast by now but not both). So that's the equivalent of 14 ESCON channels (or maybe double if they are 64-bit). On the side of good architectures there's Sun whose Enterprise servers are nice and modular for the purposes of these calculations. Each server is made up of boards and each I/O board is its own PCI bus (32 or 64 bit and 132 MHz or 266 Mhz) with 2 slots or its own SBUS with 4 slots. So an SBUS board with 4 x 80MB/s SCSI HBAs is roughly equivalent to 17 ESCON channels. The various server models range from 5 boards to 16. Note that you also need one/some CPU boards (4 CPUs plus 4GB RAM per board). I think you can put memory on I/O boards too but I'm not sure. So a top range Sun E10k may have, for example, 12 I/O boards (along with 16 CPUs and 16GB (or more?) RAM and have I/O equivalent to 204 ESCON channels. Backplane (er, "Gigaplane-XB(TM) Interconnect" crossbar) bandwidth is 12GB/s which is plenty. If you vary things somewhat or use fibre channel instead of SCSI then you can much higher (certainly higher than the equivalent of 256 ESCON channels). Other vendors' midrange and highend systems give high I/O performance as well (maybe not quite as high as Sun?). For example, a Compaq AlphaServer GS140 (successor of the 8400) has 144 PCI slots and, I think, up to 5 PCI buses (maybe each can be 64-bit and/or 66MHz?). SGI/HP/IBM probably do similar things but I'm not as familiar with their product lines (we have a large (84 CPU) SGI O2000 here but it wasn't bought/configured for I/O performance). >(please restrict your answers to hardware, I/O considerations only, Done. >this is all i'd like to consider >at this point. No need to convert me to UNIX,Informix, open platforms, >etc. I use strictly UNIX at home and at the office (Informix, Oracle >and MySQL) except when I'm on client installations, when >I work with mainframes(no problem at all) and even NT. >They force me to do it :-) . >2) what is the best/highest connection you can get >from a UNIX server to a raid box? How many adapters >doing simultaneous I/O ? A quick calculation on the above Sun E10k example configurations shows 48 SCSI HBAs going at 80MB/s each. Other variations (fibre channel or else a RAID array with its own buses behind the adapter) would give much higher numbers. For example, one of our little AlphaServer 2100s here (old and obsolete technology now) has two ordinary SCSI adapters connected to some disks, a three-way Mylex controller (i.e. it has three separate SCSI buses as "legs") and a KZPSA SCSI adapter which itself is connected to an HSZ40 cabinet with 4 shelves, each of which has its own SCSI adapater and SCSI bus. Our other AlphaServer has a similar (but different) configuration so you can see that comparing things is a little tricky. In any case, a Unix box with only one SCSI adapater isn't what one would use to handle a mainframe-like I/O load. >P.S.: If I may be so bold I'd really appreciate if Art >Kagel could grace us with his input. Seconded. --Malcolm -- Malcolm Beattie <mbeattie@sable.ox.ac.uk> Oxford University Computing Services "I permitted that as a demonstration of futility" --Grey Roger