|
PipeLine
Effect
Performance Considerations & Command Overhead
An
interface is a pipeline. To use a water analogy, if the interface
bus is a main water pipeline, it has the potential to deliver a
certain quantity of water per second. The drives are the taps leading
into the pipe. The critical equation is working out exactly how
many taps are required to run the pipeline at its maximum capacity
- too few and flow (bandwidth) is lost, too many and a blockage
(saturation) will occur.
One of the most common decisions in implementing a RAID system starts
with the performance ability and transfer figures given for the
system. RAID has the ability to transfer data at incredible speeds
when compared to a single drive system but there are very important
factors to take into consideration.
Figures such as 80MB/sec for Ultra2
SCSI and FireWire (1394), 100MB/sec for
Fibre Channel,
and even 40MB/sec for Ultra-Wide SCSI
appear fixed and quoted. This does not compare with the average
data transfers of 10MB/sec for 7200RPM Ultra Wide SCSI-3 disks over
an Ultra-Wide SCSI bus. Even 10,000RPM drives only increase average
data throughput to an approximate of 12MB/sec. Naturally, newer
drives constantly improve this delivery figure but it is at an agonisingly
slow uphill rate. All hard drives suffer from mechanical delay and
there is very little that can be done to reduce this and increase
transfer rates dramatically with their present design. To equal
transfer rates of electrical components hard drives would need to
also be electrical, and not mechanical.
It is only by placing multiple drives together onto a single bus
that the saturation of the bus bandwidth can be achieved, and the
fuller potential throughput of the interface is neared. RAID attempts
to achieve total bus utilisation by reading and writing to numerous
drives simultaneously as a single device. It is important however,
to take into account bus saturation, when specifying or implementing
a RAID system. Once saturation of the bus is reached, the addition
of further drives will decrease performance as the command overhead
- the process of communicating with the devices rather than extracting
the required data - will now carry a higher value than is necessary.
This additional command overhead will proportionally reduce the
available data bandwidth that the fewer maximum number of drives
would have.
The command overhead is an often overlooked, but essential ingredient,
in the process of determining the performance potential of a RAID
system. File size and SCSI command overhead should always be taken
into account to produce a realistic figure. SCSI commands can easily
take up an average of 320K of bandwidth for each megabyte per second
transferred over the SCSI bus. When there is a large amount of data
being transferred, this SCSI command overhead can saturate a bus
quickly. This overhead can reach as high as 9.6MB/sec during file
transfers:
30MB/sec
x 320K = 9.6MB.
This
gives a frightening figure of some 33% potential data bandwidth
lost to command overhead. This could be an enormous and disappointing
impact on potential throughput with devastating effects if not accounted
for initially when determining the design and components of the
system. Many implementations of RAID systems have failed to deliver
the expected throughput due to this simple error. Digital video
is a prime example of data throughput and type - large contiguous
files - that carries a high overhead through the sheer data quantity
that must be transferred. RAID systems designed for these environments
need to be built to take any command overhead into account or may
entirely fail to deliver the required throughput to enable any editing
or streaming to be completed.
Fibre Channel handles the SCSI commands differently by placing them
within a header packet (much the same as a network packet) before
each transfer. This uses the bus far more efficiently than Ultra-Wide
SCSI and is one of the factors involved in raising the sustained
transfer speeds up to 100MB/sec.
Related
topics:
|