[net.periphs] Disk Striping Summary

wyatt@cfa.UUCP (Bill Wyatt) (03/26/86)

Well, here is the summary of info I've obtained. Sorry to have taken so long,
but I've been out sick for several days.

It seems that Convex, Cray, and CDC have some form of disk striping. I've only
received specific information about Convex, from Don Wells at NRAO and Doug
Hosking at Convex. The information below is a summary from them. In addition,
Eugene Miya sent a couple of references to pass on. I haven't had time yet to
get copies myself. The references:

%A Miron Livny
%A Setrag Khoshafian
%A Haran Boral
%T Multi-Disk Management Algorithms
%R DB-146-85
%I MCC
%C Austin, TX
%D 1985

The big paper:

%A Kenneth Salem
%A Hector Garcia-Molina
%T Disk Striping
%R 332
%I EE/CS Dept., Princeton University
%C Princeton, NJ 08544
%D December 1984

I don't want to be an ad for Convex, but it's the only system I got
informative replies about. I assume the following will be informative to
the net as an example of one particular system, and shed light on some of
the issues involved.

Convex has modified (proprietary, of course) their 4.2-based kernal to allow
disk striping. To quote Doug:

" ...  99.9% of all user programs don't know or care that
  striping is being used.  Except for the increased performance, striping is
  virtually transparent to the user, too.  (There are a few trivial changes to
  fstab, and a new file called /etc/stripecap, but this is no big deal.)

  Striped file systems are built using a utility called newst, which is very
  similar to newfs, but builds striped file systems.  Newst allows you to
  stripe together any reasonable combination of partitions.  (The root
  partition can't be striped, for technical reasons.)  Once a striped
  partition is built with newst, it is mounted as /dev/stxx instead of
  /dev/daxx, using a different major device number.  It can then be
  accessed just like any "normal" partition.  

  Another, less obvious feature of striping is that it gives you increased
  flexibility with partition sizes.  If you have several "a" partitions that
  are too small to be useful, you can stripe them together to form a larger
  partition, without the need to edit kernel tables, recompile, etc. "

Don Wells adds some practical notes and comments on his system: Convex C-1,
32 Mbytes memory, 10 Eagles (~400 Mbytes each), 6 Multibusses on 3 I/O
processors.  Two drives are in a 2-way stripe on two busses with 2 IOP's,
and the other eight are in two 4-way stripes on 4 busses and two IOP's.

NRAO handles very large (hundreds of MB) images, so maximum throughput is
very important. Don points out that striping is a good way to maintain I/O
performance balance with modern high-speed (often concurrent) CPU's, but
that it only makes sense with separate controllers and even busses
handling each spindle in the striped partition.

Some of the disadvantages are, of course, the cost for all those busses and
controllers. The trade off between throughput and complexity versus cost is
hard to define. Striping only two drives are probably not worth it. Is 16
or more too many?  Reliability is a concern, too: if a controller goes
down, that entire striped partition is down.

I hope this is useful to the net.

-- 

Bill    UUCP:  {seismo|ihnp4|cmcl2}!harvard!talcott!cfa!wyatt
Wyatt   ARPA:  wyatt%cfa.UUCP@harvard.HARVARD.EDU