| In the workstation world of SPECmarks, graphics benchmarks and numerical performance,
very little attention is given towards peripheral I/O performance. Yet, when an
application reads or writes a file, or requires the use of virtual memory and starts
paging, I/O throughput has a great bearing on overall system performance. The computer workstations of today have much in common: high speed CPU, lots of cache memory, many megabytes of main memory, a megapixel graphics display, some sort of network connection and a SCSI bus for peripherals. CPU performance, along with cache memory, is well described by the SPECmark benchmark test suite. Graphics performance is described reasonable by Xstones and other such benchmarks. Networking performance is covered by test programs like Nfsstones. Strangely enough, while there are a few disk related benchmarks, there are none that translate into peripheral bus throughput for a given workstation. Why should this be considered strange? Don't workstation manufacturers implementing the same, standard SCSI I/O bus? Are some implementations somehow better than others? To answer these questions, let's first take a look at SCSI. This term applies to an evolving family of standards: SCSI-1, SCSI-1 (CCS), SCSI-2, SCSI-3, Ultra, Ultra-2 and Ultra-160m SCSI. The SCSI-2 standard is a superset of SCSI-1 and SCSI-1 (CCS), and SCSI-3 can be considered a superset of SCSI-2. Bypassing all the technical jargon, suffice it to say that today's workstations implement SCSI-1 (CCS) or SCSI-2. SCSI-1 and SCSI-1 (CCS), which stands for Common Command Set, define a number of basic command operations, an 8 bit wide bus with transfer rates of up to 5 megabytes per second, and a cable with several connector options. Up to 7 devices may be connected to the bus along with the host workstation. Data transfers between the host computer and a given peripheral may occur in an asynchronous fashion at speeds up to, typically, 2 megabytes per second, or in a negotiated synchronous fashion at up to 5 megabytes per second. Even when synchronous negotiations have been successfully completed between the host and the target device, commands are issued at asynchronous speeds. SCSI-2 defines the same 8 bit wide bus and speeds, adds a number of commands, and several cabling variations. This basic 8 bit version is still the most commonly available bus on a workstation. The first variation, called Fast SCSI-2, also uses an 8 bit wide bus and faster signal switching speeds to reach transfer rates of up to 10 megabytes per second. This is available on most PC's and some of the workstation platforms. The second, often called Wide SCSI-2, uses a 16 bit wide bus and, therefore can also transfer data at rates up to 10 megabytes per second using the same signal timing as in basic SCSI-2. Wide SCSI-2, however, supports the connection of up to 15 peripheral devices to the bus at the same time. This variation is not typically used. The next variation is called Fast Wide SCSI-2. It uses a 16 bit wide bus and the fast signal switching speeds to reach transfer rates of up to 20 megabytes per second. Again, up to 15 devices may be connected to the bus simultaneously. This is the most common implementation of the so-called Wide SCSI bus. Some people confuse this bus with SCSI-3, which is something completely different. There is another variation also referred to as Fast Wide SCSI-2. I refer to it as Fast Wider SCSI-2. It uses a 32 bit wide bus and the faster signal switching speeds to achieve transfers at up to 40 megabytes per second. To the best of my knowledge there are no devices on the market that use this interface. Several higher performance SCSI standards have emerged recently. They are called Ultra (or Ultra-1) SCSI, Ultra-2 SCSI and Ultra-160m SCSI. The data transfer rates of Ultra SCSI are double those of the Fast variants. The transfer rates for Ultra-2 are twice that of Ultra-1, and Ultra-160m is twice as fast as Ultra-2. With the faster timing constraints the bus lengths are greatly reduced, and the number of devices that may actually be connected to these buses in a workable configuration is generally much less than the theoretical maximum. For these reasons both Ultra-2 and Ultra-160m implement a different method of electrical switching that is both faster and more immune to noise than the methods used for the slower devices. It is still possible, however, to connect devices which implement these new, faster rates to even the slowest of the slow SCSI buses. Of course, they will only transfer at the slower rates on those buses. Each of these versions is downward compatible with the other, so that narrow (8 bit wide) SCSI devices may be connected to a wide bus, and wide SCSI devices may be connected to a narrow bus. SCSI-1 devices can, in general, be intermingled with SCSI-2 devices on a SCSI-2 bus. Depending on the host computer the reverse is also true. Finally, all these SCSI buses come in three basic flavors: Single Ended (SE), High Voltage Differential and Low Voltage Differential (LVD). Note: Single ended devices may NOT be connected to High Voltage differential devices, and vice versa. Single ended devices CAN be connected to Low Voltage Differential devices, as the LVD devices will switch to operate in single ended mode. Single ended buses can be as long as 6 meters. However, as one increases the transfer rates to Fast and Ultra, the maximum single ended bus length decreases to 3 meters and 1.5 meters, respectively. High Voltage differential buses can be as long as 25 meters. LVD buses can be as long as 12 meters. SCSI-3 is considerably different from SCSI-1 and SCSI-2. While the software side is planned to be compatible with SCSI-2, the hardware side is to include a variety of serial and parallel copper and optical fiber link options. The standard is still under development and no manufacturer has yet produced anything that adheres to it. Now that we know some basic facts about SCSI, let's summarize this in a table.
If you take a look at each manufacturer's specifications for their workstations, they all mention which type of SCSI bus that particular workstation provides and list transfer rates from 5 to 160 megabytes per second. This is quite a bit like EPA gas mileage ratings for automobiles, but nowhere have I seen the disclaimer "your mileage, er, transfer rates may vary". For example, Sun says that its SPARC 2 workstations have a SCSI-2 bus. However, the fastest throughput I've observed on a SPARC 2 under SunOS 4.1.3 is about 1.2 megabytes per second, regardless of the "Target x now Synchronous at 4.0 mb/sec max transmit rate" messages during system startup. Typical disk throughput was in the range of 340 to 550 kilobytes per second, or about par with 8mm tape drive speeds! This throughput is quite a bit less than that of HP's 9000/425 workstations running Domain OS 10.4, which I've clocked regularly over 1.75 megabytes per second. In fact, until recently HP's 9000/700's with their SCSI-2 bus were only slightly faster than the Sun SPARC 2. A patch to the kernel SCSI driver in HP-UX 9.01 managed, besides removing a 2 gigabyte disk size limitation, to boost SCSI disk throughput. How much? Well, on an HP 9000/720 one disk drive went from the 650 kilobytes per second range to almost 4.5 megabytes per second! However, tests of that same disk drive on an HP 9000/715-33 didn't reach as high a speed. Why? Well, let's assume that the same or equivalent SCSI bus was implemented on the two machines. The test program and the operating system are identical, so the only difference of which we can be certain is that the CPU clock is faster on the 720 (50 MHz) than the 715 (33 MHz). Therefore, depending on how autonomous the SCSI transfers are from CPU interaction, the bus throughput varies accordingly. As it turns out, with the 50% increase in CPU clock rate going from the 715/33 to the 720, the disk I/O throughput increases about 20%. SCSI is a marvelous set of standards, enabling many different products from different sources to work well together with a minimum of difficulty. However, as these results indicate, your mileage will vary. |
||||||||||||||||||||||||||||||||||||||||
written April 10, 1996 updated February, 2000 |