HomePurchase SoftRAIDFeaturesSupportNewsContact Us

QuickStart Guide

Manual Excerpts

Backup Book Excerpt

Troubleshooting

Downloads

Archives

SoftRAID 2.x Advanced Techniques

Optimizing SoftRAID for High Performance Environments

NOTE: If you have dedicated Digital Video or other high performance hardware that requires the highest possible performance, the following suggestions can help you get additional data throughput.

Understand your System's Capabilities and Limits
For network file transfers and many server applications, the tips that follow may or may not significantly increase performance.

CAUTION: Some of the following suggestions are targeted solely at increasing performance and may increase the risk of data loss in the event of a disk failure or other hardware problem. Before implementing them, determine whether your need for higher performance is greater than the risk of losing data.

Never use a striped volume for mission critical applications. If you must gain maximum performance in a mission critical application, purchase a RAID 5 hardware subsystem. This can give you additional throughput and added data availability.

Use Current Technology whenever possible
If peak performance is critical to you, upgrade your drives every 12 months. Currently, Ultra160 is the fastest shipping SCSI technology, with performance peaks of 160Mb/second. Ultra320 is in testing now, and is expected to ship by summer 2001.

The minimum a modern SCSI system should be using for good performance is Ultra2 LVD (Low voltage Differential) SCSI, which has 80MB/s peak throughput, and combined with the greater cable lengths (15 meters) it allows, is a much more reliable technology than Ultra SCSI.

Fiber Channel technology is a high end, very high performance technology. There are several manufacturers who make Fibre channel controllers. We have tested both JNI and ATTO cards. Both are good controller cards. Fibre Channel can increase data throughout dramatically, with data rates of well over 100 MB/s per second.

Here are our "best tips" for increasing performance. Try just some, or try them all, as the cumulative effect could give you a significant overall boost in system performance.

Return to the top

Decrease System Latency

  1. Use of virtual memory will significantly degrade I/O performance. For day to day operating with your computer, VM may increase performance of some activities, as it allows better RAM utilization. For specific apps which are I/O intensive, however, VM's disk accessing will affect performance. (With System 8.1 and later, this applies to PhotoShop and other applications using their own VM-style Page Swapping mechanisms)
  2. Adjust size of the Mac's disk cache. The Mac OS memory control panel allows you to adjust the size of the file system's cache, called the "Disk Cache". If you are doing only large sequential I/Os (such as video capture and playback) then the disk cache should be set as low as possible. For normal desktop usage, a large disk cache setting will enhance overall performance.
  3. Minimize Extensions which affect performance - Many system extensions plug themselves into the Mac OS in ways that adversely affect performance. One example of a system extension which requires a high percentage of CPU cycles is Adobe Type Reunion.

Use Ultra Wide PCI SCSI-2 Adapters
U160 SCSI is the fastest SCSI technology, and Ultra320 is due by summer of 2001. U160 is not a full double increase over LVD (U2W) 80MB/s SCSI as indicated by its name, as the bus speed for U160 is still 80MB/s, but U160 allows double transfers per cycle, giving much better throughput potential.

At the present time, only Fibre Channel provides faster sustained throughput. Adopting Fibre Channel technology will give faster sustained throughput performance due to its higher sustained data throughput, but Fibre Channel is much more expensive than U160 SCSI.

Return to the top

Use a dedicated startup drive
Optimize your disks to maintain the highest sustained throughput for striped volumes. In addition, the disks must use their built-in RAM cache as much as possible. Using a dedicated disk that is not part of your striped disk array ensures that any accesses to the Mac OS System file will not interfere with I/O to your striped array. This is especially important when capturing uncompressed video.

More drives per Striped Volume
Add a third or fourth disk to the striped array. Most performance gains in a high performance system are achieved with the standard configuration of 2 LVD disk drives and SoftRAID software. With U160 SCSI, it requires as many as 8 drives in a stripe to maximize disk throughput to the SCSI bus. Adding a third or fourth disk drive to the striped array significantly increases the data transfer rate. SCSI command overhead may cancel any additional gains if the system is doing standard data tasks. Large striped arrays are most useful when doing large I/O intensive tasks such as capturing high end video.

Return to the top

Install a dual channel SCSI card
Use four disks and a dual channel SCSI adapter. Adding a second SCSI bus can significantly increase performance in a high performance environment. The second independent SCSI channel allows striping across 4 or 8 disks to sustain very high data throughput. The newer Mac hardware can sustain in excess of 150 MB/s over SCSI on a dual channel controller such as the ATTO UL3D or Adaptec 39160.

Dual channel SCSI adapters are also the best way to optimize performance in a mirrored array. SoftRAID supports simultaneous writes with mirroring, so a second SCSI bus improves write performance with a mirrored subsystem by writing to both drives at the same time. This setup can increase write performance from 5 to 25 percent.

When striping across two disks, a striped array does not require a second controller or dual channel SCSI adapter. However, if you are trying to increase performance, a four-disk striped array which has two drives per channel gives the best result.

Add a Second SCSI Bus/Channel
Use four disks and a second SCSI adapter, or a Dual Channel SCSI card. Adding a second SCSI adapter (or installing a dual channel, single chip Ultra SCSI adapter) can significantly increase performance in a high performance environment. The second independent SCSI channel allows striping across four disks to sustain very high data throughput.

Dual SCSI channels are also the best way to enhance performance in a mirrored array. SoftRAID supports simultaneous Writes with mirroring, so a second PCI controller improves Write performance with a mirrored subsystem. Adding an additional PCI SCSI adapter can increase Write performance from 5 to 25 percent.

When striping across two disks, a striped array does not require a second controller. However, if you are trying to increase performance, a four-disk striped array which has two drives per controller gives the best result.

Selecting the Fastest SCSI Drives
NOTE: It is important to use appropriate SCSI cables (Twisted pair 120 OHm impedance cabling is required for LVD and U160 SCSI) and properly terminate your system. Poor termination or poor cabling can cause poor performance, and bus errors. Short SCSI cables are extremely important for older "Ultra" SCSI subsystems.

Use disk drives that are the same brand, model, and capacity in your array to ensure that one drive doesn't decrease the performance of your disk array. The same model drive from the same manufacturer with a different capacity may have a different performance level.

Get the fastest possible rotational speed; 7200 rpm is the minimum for a high performance drive. The 10,000 rpm drives can sustain a much higher data rate than 7200 RPM drives. 15,000 RPM drives are about 50% faster in throughput over 10K RPM mechanisms. The amount of sustained data throughput is constrained by the rotational frequency of the drive.

Buy drives based on their sustained throughput.

The disk should have the highest available burst rate, (for a SCSI U160 drive, this is 160MB/second).

Consider the sustained throughput of those drives (based on rpm).

Choose a drive with low latency. (This priority is reversed for Server/Database applications, where I/O's per second are more important than sustained throughput.)

More disk controller RAM cache is preferable. This cache has no relation to system RAM (which is built into the operating system), but refers to special RAM built into the drive's SCSI controller. Most high capacity drives have a 256KB cache. Many drives have 512KB or 1MB of RAM cache.

Return to the top

Drive Settings and Benchmarks

Drive parameters can be optimized for striping.
SCSI Disconnect - SCSI disconnect must be enabled on the SCSI adapter. Disconnect is normally enabled by default.

Write Cache - Disk drives have two types of cache: Read cache and Write cache. The Read cache is normally enabled. While Write cache is sometimes turned off for better data safety. Turning Write cache on can improve Write performance significantly. This parameter can be turned on or off.

Cache Segments - Most SCSI drives are preoptimized and never need adjustment with the number of cache segments. Typically, you would see "zero" as a setting, which allows a drive to use its defaults. A low number of cache segments is also good (e.g. 3), if the drive does not accept "0" as a setting. Many Seagate drives are preset to 16 cache segments, which is optimized to Windows, and actually perform relatively poorly on Mac OS systems.

Stripe segment size can be increased - SoftRAID has a default stripe segment size of 128 sectors (64K), which is the optimal segment size for high speed disk drives with PCI SCSI adapters.

While 128 blocks is optimal for most environments, disk drives with a sufficiently large RAM cache used in conjunction with applications that write data in large I/O chunks, may benefit from experimenting with larger striped segment sizes (256). The best way to test striped segment sizes is to create several striped partitions with different segment sizes.

Test both partitions for performance using larger segment sizes. Then perform another set of tests with even larger or smaller unit settings, depending on your results. Use multiples of 32 block increments in your experiments.

(Test the new segment size with YOUR specific application. - Do not rely on "benchmarks".) While testing, keep volume sizes and other factors, such as no file fragmentation, restart frequently, and keep extensions (for example AppleTalk and Virtual Memory) consistently OFF, identical to make test conditions as precise and accurate as possible.

Test changing the cache and buffer settings - Some disk drives allow SoftRAID to set the number of cache segments. SoftRAID uses the drive's default setting. In some striped array environments, setting the cache segments to a smaller size increases performance, especially if this parameter is matched to a corresponding increase in the stripe unit size.

CAUTION: SoftRAID also allows you to change the drive's buffer ratios. These ratios determine at what point during an I/O the drive will start to transfer data to the media or ask the host computer for more data. Changing mode parameters can adversely affect system performance and reliability if not done properly.

Return to the top

Initialize Disks to maintain performance
Initialize disks occasionally - If a bad sector appears on a drive, performance could be affected each time this bad block is encountered. Even when a bad block is mapped, there is a small delay while the drive searches for the replacement block. A full initialization resets each sector number on a track, keeping them consecutive. This may only be a problem with older drives, but formatting disk drives every six months can keep your disk drives at peak performance.

The First Volume is the Fastest Volume
Use only the outer areas of a disk in a striped partition in the maximum performance requirements. You can gain up to a 50 percent increase in sustained throughput with this technique. On high speed, high capacity disk drives, significantly more data is packed onto the outer tracks than the inner tracks. Maintaining a relatively high density on all tracks is a good technique for increasing capacity.

Since the drive spins at a constant rate, the drive has higher data throughput on the outer tracks. To create a striped array using only the outer tracks, use the first partitions on a disk with no more than 50 percent of each drive in the stripe. (For example, with a newly formatted drive, the first partition created uses the outer tracks.)

SCSI Buses and SCSI ID's
SCSI IDs - Place arrays on their own SCSI buses. Avoid placing scanners and CD ROM drives on the same SCSI chain as your high speed devices, even with Adaptec "Speedflex" cards to maintain maximum performance. If you must have additional devices on the chain, then make the SCSI IDs of your striped array SCSI ID 14 and 15, if possible. Since higher SCSI IDs have higher priority on a SCSI chain, this can improve performance very slightly. In practice, this has little or no impact on high end LVD or U160 SCSI buses.

Return to the top

Twisted Pair or Teflon SCSI Cabling
SCSI cabling is very important for top performance. Poor cabling affects reliability, causes retries, and will cause lost or corrupted data. In a high performance digital video system, poor cabling will definitely cause dropped frames, if not outright crashes. In general, internal SCSI configurations (which have shorter cables) have a more reliable SCSI bus than external systems, as each external device adds "impedance bumps" where signal reflections are formed, which contribute to SCSI bus errors.

Use identical cables when possible to ensure that all cables have the same impedance. Keep cables as short as physically possible. Cables should be laid out in a daisy chain fashion with no stubs and exactly two terminators, each located at each physical end of the SCSI chain.

On external drives, purchase drives which use a SCSI "loop" design, where the drive is in the middle of a loop formed by the SCSI in and SCSI out external connectors and not at the end of a short piece of ribbon cable. Teflon cables (or better) are required for an Ultra Wide SCSI configuration.

If you have an U160 or U2W (LVD) SCSI system, "twisted pair" cabling is very important. The cable has a defined impedance of 120 OHms, which also allows longer cable capability of up to 15 meters. This twisted pair cabling is usually supplied in the form of ribbon cable, where it is obvious as each cable pair is twisted together. Such cables may cost more, but will maintain better performance, longer cable lengths, fewer SCSI errors, and overall far better reliability. Many apparent drive problems can be fixed by replacing SCSI cabling.

If you have any Ultra Wide SCSI drives, it is very important to use the correct cabling, as cable length drops to less than one meter total length in a typical system. Balanced 90 Ohm Teflon cables are the best solution. LVD systems require 120 Ohm twisted pair cabling for optimal performance, and can be used with Ultra and vice versa, as long as cable lengths are kept short. One source of quality SCSI cabling is Granite Digital, in Newark, California.

Proper Termination is Required
Most LVD and faster cable assemblies include an inline terminator, which is correct for the system. Do not attempt to add or change termination, as data loss and severe performance issues can result.

All drives MUST NOT have "term power to bus" jumpers set. The only device which should supply "term power" is the PCI SCSI card. "Term Power" is what is referred to when the terminators are powered with current. If drives attempt to also supply term power, then there may be interference, and added difficulty for the SCSI adapters to read data sent down the bus.

Active termination is required in any SCSI chain operating at 10MB/s or faster. At least one device must supply term power to the bus. (This is easily tested using an active terminator with an LED indicator light. The LED is powered by Term Power and is either dim or off if insufficient Term Power is present on the SCSI bus.)

Avoid using a SCSI Narrow device on a SCSI Wide bus. NOTE: If you place a narrow SCSI device on a Wide bus, a SCSI Narrow terminator WILL NOT terminate the additional data lines in SCSI Wide devices and can cause signal reflections.

A quality SCSI cable is built in three layers: the internal layer should contain the ACK and REQ lines in twisted pairs with a ground line since these are the fastest lines. The middle layer contains the control signals to insulate the REQ and ACK from the data pairs. The outer layer contains the data lines. All signal lines should be twisted pairs with ground lines. Twisted pairs are critical for high performance systems and are not used in many mid range and low end data cables.

NOTE: Ribbon cable may not be suitable for a home environment, but it is a good solution for a high performance configuration. Twisted pair cable is balanced at 120 Ohms and can accept much longer cable lengths, up to 15 meters in an Ultra 160 SCSI environment.

Return to the top

 

© 2002-2007 SoftRAID LLC. All rights reserved
Legal Information