Spoon said:
Tim,
Thanks for the pointer. I will give it a try.
Regards.
Well...
1. If the software that you're using is competent, an average desktop
system today can stream data onto or off at least a half-dozen disks at
very close to their theoretical potential, even on their outermost
tracks. Five of today's better 7200 rpm desktop drives will handle your
bandwidth requirement even on their innermost tracks; if you restrict
your usage to middle or outer tracks, four or even three could suffice
(unless you need the extra space anyway).
2. If you're not going to be streaming data for hours on end (i.e., the
disks get to take occasional significant breaks), conventional SATA (or
even plain old PATA) drives will work just fine (though 'near-line
enterprise' versions cost very little more if you'd feel more
comfortable with them). Don't bother with Raptors and don't even think
about high-end FC/SCSI - they're for seek-intensive continuous
operation, and the increase in per-disk streaming bandwidth doesn't
begin to justify the increase in cost.
3. One conceivable gotcha could be recalibration activity: I'm not
sure how completely that's been tamed. It used to be that a disk would
just decide to take a break for a second or more once in a while to
recalibrate (reevaluate its internal sense of where the tracks were),
which tended to disrupt the smoothness of streaming data. Back then
vendors sold special 'audio-visual' disks that purported to avoid this
problem, but I haven't heard anything about them recently. I suspect
that all disks are now more civilized about waiting for an opportune
moment (or that most of the need for recalibration may have disappeared
when the servo information became embedded with the data itself) - but
letting the array's temperature stabilize a bit after start-up before
putting it to use couldn't hurt.
4. If you really can tolerate interruption by the occasional disk
failure, RAID-0 is the way to go. If not, use RAID-10 (which will
maintain your read bandwidth even if you lose a drive, unlike RAID-5).
5. If you use RAID-0, software RAID will work virtually as well as
hardware RAID would (this is almost as true for RAID-10): just make
sure that the disks' write caches are enabled. In the unlikely event
that you wind up using PATA drives each single cable/controller port may
not have sufficient bandwidth to support more than one - in which case
you'll need more then the typical two PATA motherboard connectors,
either via a MB with an additional on-board RAID controller or by using
an add-on card. Unless you'll be doing significant *other* activity
while streaming data it would probably be safe for one of your streaming
disks to share a cable with your system disk (though if that turned out
to be a problem you could run the system and other software off a CD or
USB drive).
6. If you're not actually *processing* the data stream but just writing
it to disk as it comes in and then later reading it back out to
somewhere else, even a modest single-core processor won't break a sweat:
it just acts as a traffic cop, while the motherboard's DMA engines and
the disks do all the real work. Memory bandwidth won't be taxed,
either. (Note that both of these observations might change if you used
software RAID-5.)
7. PCI bandwidth, however, may be a problem. A plain old 32/33 PCI
maxes out at under 132 MB/sec of bandwidth (minus collision overhead) -
so even if the system bridges kept the disk transfers off the PCI (which
would not be the case if you needed to use a PCI card to connect some of
the disks) you couldn't stream the data in, or out, over the PCI (though
with bridges that supported dual Gigabit Ethernet as well as the disk
traffic you could do the job without touching the PCI at all - if
connecting via Ethernet were an option). 64/66 PCI might have enough
headroom to handle the combined interface and disk traffic and PCI-X
certainly should - so you shouldn't need to go to PCI Express unless you
want to.
8. Desktop disks don't take all that much power to run. A typical
contemporary 350W power supply will spin up 4 of them simultaneously
(which is by far the time of heaviest power draw - that's why spin-up
times are staggered in larger systems), unless it's heavily loaded by
some macho gaming processor and graphics card. Once they're spinning,
they take very little power indeed (especially if they're only streaming
data rather than beating their little hearts out doing constant long
seeks and short transfers): cooling won't be a significant problem
(though you do want to keep them comfortable).
- bill