B
bill davidsen
| Hi , I'm a relative Newbie so please keep it simple...why did you choose non
| Raid in such a high end system (is SATA superior?) Apart from cost (?)..Why
| not SCSI ? Why not dual processors (is HT just as good?)
Starting with RAID:
RAID-0 (striped) is a performance thing, it spreads the head motion
over multiple drives and increases the effective bandwidth by sending
multiple data streams to/drom memory (assuming your bus can keepup, of
course).
RAID-1 (mirror) gives a copy in case of a disk error, and a good
implementation allows reading data from any copy, while writing to every
copy. On an application which has few writes and many reads this can
really help server performance. You have (at least) two copies of the
data, more are possible. Performance in case of failure is somewhat
better, you have a copy available with a single read, not multiple reads
and a bunch of math.
RAID-5 (striped with a distributed checksum) gives much of the
throughput benefit of RAID-0 and with run in degraded mode if a single
drive fails. This is usually faster than RAID-1 and cheaper as well,
since you don't need twice as much disk as data.
There are many possibilities, you can stripe across mirrored sets, or
mirror several striped sets. This is usually called RAID-0+1, or
incorrectly RAID-10, which is actually a trademark of Storage Computer
Systems in NH (I have used some of their hardware).
The other RAID levels I left out belong in a tutorial rather than an
introduction, they are rarely used.
Software RAID - some operating systems, notably Linux, allow the
RAID to be done in/by the system CPU instead of the controller. If a
drive fails while you are trying to boot that's bad. Otherwise it's
neat, because you can stripe and/or mirror individual partitions, so I
can take for instance 4GB of each drive for a mirror, put my best data
there, and use the rest of the drives without RAID. Or you can mix RAID
types for really odd application loads (does it).
I believe Sun partition manager (Solaris) can do this, it certainly can
do RAID on whole drives.
HT va. SMP:
With SMP you get cache on each CPU, and two paths to memory for
bandwidth, with the right application you can get about 90% boost from
the 2nd CPU. That's with real applications, not benchmarks. With HT you
have contention for cache and FPU, and one path to memory. If you are
running threads of a single process you gain because all the mutexes
are in cache and don't GO to memory at all. With the right application
you can get 20-30% gain from HT. I have seen benchmarks do better, but
never "real stuff."
BUT... Win2k doesn't handle HT quite right, and I have yet to have
someone other than MS that Server2003 does or doesn't. Linux recent 2.4
kernels do a pretty good job, and the 2.5 test kernels do a
significantly better job. HT doesn't look exactly like a 2nd CPU, so the
scheduler needs to be careful.
Hope this is useful rather than "more than I wanted to know" for you,
it should help you follow the discussions here and elsewhere, and
recognise bullshit when people make sweeping statements.
--
Bill Davidsen <[email protected]> CTO, TMR Associates
As we enjoy great advantages from inventions of others, we should be
glad of an opportunity to serve others by any invention of ours; and
this we should do freely and generously.
-Benjamin Franklin (who would have liked open source)
| Raid in such a high end system (is SATA superior?) Apart from cost (?)..Why
| not SCSI ? Why not dual processors (is HT just as good?)
Starting with RAID:
RAID-0 (striped) is a performance thing, it spreads the head motion
over multiple drives and increases the effective bandwidth by sending
multiple data streams to/drom memory (assuming your bus can keepup, of
course).
RAID-1 (mirror) gives a copy in case of a disk error, and a good
implementation allows reading data from any copy, while writing to every
copy. On an application which has few writes and many reads this can
really help server performance. You have (at least) two copies of the
data, more are possible. Performance in case of failure is somewhat
better, you have a copy available with a single read, not multiple reads
and a bunch of math.
RAID-5 (striped with a distributed checksum) gives much of the
throughput benefit of RAID-0 and with run in degraded mode if a single
drive fails. This is usually faster than RAID-1 and cheaper as well,
since you don't need twice as much disk as data.
There are many possibilities, you can stripe across mirrored sets, or
mirror several striped sets. This is usually called RAID-0+1, or
incorrectly RAID-10, which is actually a trademark of Storage Computer
Systems in NH (I have used some of their hardware).
The other RAID levels I left out belong in a tutorial rather than an
introduction, they are rarely used.
Software RAID - some operating systems, notably Linux, allow the
RAID to be done in/by the system CPU instead of the controller. If a
drive fails while you are trying to boot that's bad. Otherwise it's
neat, because you can stripe and/or mirror individual partitions, so I
can take for instance 4GB of each drive for a mirror, put my best data
there, and use the rest of the drives without RAID. Or you can mix RAID
types for really odd application loads (does it).
I believe Sun partition manager (Solaris) can do this, it certainly can
do RAID on whole drives.
HT va. SMP:
With SMP you get cache on each CPU, and two paths to memory for
bandwidth, with the right application you can get about 90% boost from
the 2nd CPU. That's with real applications, not benchmarks. With HT you
have contention for cache and FPU, and one path to memory. If you are
running threads of a single process you gain because all the mutexes
are in cache and don't GO to memory at all. With the right application
you can get 20-30% gain from HT. I have seen benchmarks do better, but
never "real stuff."
BUT... Win2k doesn't handle HT quite right, and I have yet to have
someone other than MS that Server2003 does or doesn't. Linux recent 2.4
kernels do a pretty good job, and the 2.5 test kernels do a
significantly better job. HT doesn't look exactly like a 2nd CPU, so the
scheduler needs to be careful.
Hope this is useful rather than "more than I wanted to know" for you,
it should help you follow the discussions here and elsewhere, and
recognise bullshit when people make sweeping statements.
--
Bill Davidsen <[email protected]> CTO, TMR Associates
As we enjoy great advantages from inventions of others, we should be
glad of an opportunity to serve others by any invention of ours; and
this we should do freely and generously.
-Benjamin Franklin (who would have liked open source)