Protect and Xserve
Jun 1, 2004 12:00 PM, By Steve Mullen
With Xserve RAID, Apple brings the protection and speed of RAID storage to its users—with promising results for video pros.
The first computer I used that had a hard drive was a Digital Equipment (DEC) PDP-8/I. The hard drive — a DEC DF32 — was a microwave-oven-sized, very slow disk with 32,000 12-bit words of memory. During the '70s disk capacity grew significantly, thanks to IBM's Winchester disk drive technology. As capacities increased, huge amounts of critical information were stored on disks. A drive failure meant the loss of a vast amount of vital information. The only solution was a nine-track magnetic tape drive that could be used for backup. (These $80,000 drives came to market in the '60s.)
Apple encourages users to configure its Xserve RAID as a RAID 50 system, touting the read and write performance that striping and parity allow.
Unfortunately, backups today are as little fun as they were 20 years ago. RAID (Redundant Array of Independent Drives) technology was developed as a solution. These storage systems write data in parallel, to more than one drive. Should a drive fail, you can retrieve data from the remaining drives. This scheme was called RAID 0.
I first heard about RAID in the early '80s when I worked at MASSCOMP, which made Motorola 68020-based (32-bit) realtime computers. These multiprocessor computers ran with BSD 4.2 UNIX and could digitize analog signals at 1 million samples per second. The problem was how to store data continuously to hard disk. The proposed solution involved eight, 5.25in. SCSI drives connected as RAID 1. Here the goal was not data safety — it was dramatically higher disk transfer rates.
Before looking at Apple's RAID implementation, let's look quickly at RAID technology. It's based on three practices: striping to improve performance as well as mirroring and parity to provide redundancy for increased data protection. Striping creates a “logical” disk drive from data blocks — called stripes — that are distributed across the array of physical drives. Data are written so that each file is spread across multiple drives. Striping improves storage performance because the drives operate in parallel. While one drive is writing/reading a data block, another is seeking the next block. Striping alone, known as RAID 0, offers no data protection — only an increase in performance. In fact, this practice should really be called “AID” as there is no redundancy.
The simplest method of achieving data redundancy, mirroring, involves writing identical copies of data to pairs of physical drives. Mirroring alone is known as RAID 1, whereas RAID 3 and RAID 5 create redundancy by using data “parity.” A parity bit is an additional bit created to make the sum of all the binary “1” digits within a byte odd (odd parity) or even (even parity). As data are written to RAID, parity bits — one bit per byte — are computed (software) or generated (hardware) and written to disk(s). The parity data can be stored on a dedicated drive, as in RAID 3, or distributed across an array of drives, as in RAID 5.
For Xserve RAID, the OS X Disk Tool can be used to create a single RAID 50 logical drive from the two RAID 5 volumes. According to Apple, a RAID 50 system provides the maximum possible read and write performance.
A RAID can be driven by software or by hardware. Xserve RAID features two controllers that independently manage storage operations for a set of up to seven drives. Each Xserve RAID controller has a host computer and a powerful processor that manages all the data transfers among the hard drives. It performs the complex parity calculations required for RAID levels 3 and 5, generating parity data on the fly while managing write operations to each drive in the set. In the event of a drive failure, the RAID processor uses redundant data to rebuild its contents on a spare drive.
The RAID processor uses a special technique that retrieves data on the first revolution of the RAID set. This avoids multiple retries (an activity that can hamper performance on RAID systems), while allowing Xserve RAID to maintain a nearly constant sustained throughput over the entire platter of each hard disk. Outer and inner tracks perform comparably.
For optimal read performance, streaming data can be queued into cache memory, and sophisticated algorithms measure data traffic patterns and re-allocate read cache dynamically. Depending on write-performance and data-protection requirements, cache memory can be configured as write-back or write-through. For performance-critical applications, cache memory can accelerate write speeds by enabling write-back cache mode. In this mode, data is considered “committed” (successfully received) as soon as the RAID controller signals the host computer that the information is stored in cache memory. Since cached data is stored in SDRAM, a power outage could result in data loss. This risk can be minimized by connecting a UPS system or by using the optional Cache Backup Battery Modules. If you have, as I did, neither safety option, write-through cache should be enabled. Now the RAID controller writes data through the cache, directly to the disks, before signaling the host that the write is committed.
Xserve RAID achieves a massive 3.5TB capacity using 14 hot-swappable 250GB Apple Drive Modules. Each module incorporates a 7200rpm ATA/100 drive. Each drive is equipped with 8MB of disk cache to accelerate read and write operations. The RAID controller provides instructions to each drive in an array, indicating what data block is required next and allowing the individual drive to queue up the data for rapid availability. On-drive read cache, commonly called “read-ahead” cache, allows the drive controller to retrieve — based on the controller's request — a block of data before it is required by the host system. On-drive cache also serves as a storage buffer when writing data.
A drive module features a handle design for fast, easy installation with a positive locking mechanism to hold it tightly in place. Each drive slot in the chassis has its own dedicated ATA/100 channel. Drive independence prevents data bottlenecks and maximizes throughput while enhancing availability.
The hardware RAID controllers and drive modules support true hot-swapping. Therefore, a failed drive can be removed and replaced without interruption in service or loss of data. The system continues to operate while the contents of the failed drive are rebuilt on a replacement drive using redundant or parity information.
An Xserve RAID features dual independent 2GB Fibre Channel ports for fast data transport between the storage system and the host computer. To ensure interoperability, Xserve RAID uses the latest industry-standard SCSI 3 protocol for data transfer. In addition, SFP (Small Form-factor Pluggable) connectors support low-cost copper cables, long-distance optical cables, or copper cables with embedded SFP transceivers and work with industry-standard Fibre Channel switches.
Each 2GB Fibre Channel port offers 200MBps bandwidth. Unlike with Gigabit Ethernet or SCSI technologies, adding storage units to a Fibre Channel network does not lead to reduced bandwidth. The highly scalable Fibre Channel technology can address up to 126 devices per loop — with each device experiencing a full 200MBps throughput.
Xserve RAID connects to a 2GB Fibre Channel PCI card in the host computer using either a flexible copper or a fiber optic cable. A Fibre Channel interface provides support for much longer distances between storage units and host system(s) than is possible using SCSI cables.
Fibre Channel PCI cards can be installed in Intel or AMD systems to support Linux and Windows systems. An Apple Fibre Channel PCI card accepts optical transceivers, which allows the card to use fiber optic cables that can extend 500m.
Xserve RAID comes with Apple's RAID Administrator. This Java-based tool is used to create storage volumes, to manage preferences, and to monitor storage hardware. To protect storage systems from unauthorized access, RAID Admin uses robust, multilevel password authentication.
I ran RAID Admin (version 1.3) on my iMac that was connected by Ethernet to both the G5 and to the RJ-45 port on the Xserve RAID. I created two arrays in three simple steps. First, I chose a RAID level — RAID 5. Next, I selected the drives I wanted to assign to each array. Finally, I chose background initialization to make the newly created array available immediately.
Once an array is established, you can add more disks using RAID Admin. Expanding an array preserves the existing array. Expansion in RAID Admin works “on the fly,” so the expanded capacity is available within minutes.
To share a single RAID set across multiple computers, RAID Admin allows you to divide each set into smaller segments, or “slices.” Each slice gets its own LUN, or logical unit number, so each host system can manage it as a discrete volume. When you connect an Xserve RAID to more than one host system on a Fibre Channel network, you can “map” each LUN on the RAID system to a single host and “mask” it from any other host. By masking arrays and slices, you avoid the possibility that more than one host will write data to an array, eliminating the risk of array corruption or data loss.
I then used the OS X Disk Tool to create a single 3.5TB, RAID 50 logical drive from the two RAID 5 volumes. According to Apple, a RAID 50 system provides the maximum possible read and write performance.
Now that we have an understanding of RAID technology, as well as the Xserve RAID's hardware and software, let's look at two benchmarks. The first benchmark is Xbench (http://xbench.com). Graph 1 shows, in megabytes per second, a relative comparison of write performance for four configurations: an iBook 30GB drive, an iMac 80GB drive, a G5 Power Mac's 150GB internal SATA/150 hard drive, and an Xserve RAID on the same G5 Power Mac. Graph 2 shows relative read performance for the same four configurations.
Because Xbench is a general-purpose synthetic benchmark, I repeated these tests using a specific-purpose benchmark designed for video transfer applications. This benchmark, from Pinnacle, operates in two modes: synthetic and non-synthetic. The former estimates the operation of a CinéWave, while the latter uses CinéWave hardware to obtain a more precise measurement. Graph 3 shows synthetic write performance on the G3, G4, and G5. Graph 4 shows synthetic read performance on the G3, G4, and G5. For both measurements, the benchmark was set to emulate performance with NTSC video.
At NAB 2004, Apple announced that Final Cut Pro HD would support DVCPRO HD codec previews using RT Extreme. Graph 5 shows non-synthetic write performance on the G5. For this and the next benchmark, runs were made with NTSC, 720p60, and 1080i video. Graph 6 shows non-synthetic read performance on the G5. You'll note that the larger the video frame size, the higher the measured performance. Graph 7 shows performance — the number of semi-opaque streams played (at Low quality) without dropping a frame — obtained on the dual G5 system.
Having access to the G5, both with and without an Xserve RAID, presented an opportunity to compare the capabilities of these four configurations on a task involved in HDV editing. For these tests I used my own HDpartner Pro software. Graph 8 shows relative performance on the task of demuxing 720p30 MPEG-2 Transport Stream into an MP2 audio file and an MPEG-2 file. The graphs have been normalized — to 1.00 — for the performance of the 1GHz iMac G4. Shorter bars, indicating less time required, are better. The G5 system is about three times as fast as the G4 — while the G4 is more than twice as fast as the G3.
You might be surprised that the RAID does not improve performance in this situation. There is an important lesson here. When a task involves a large amount of computation relative to the amount of data moved, a RAID will not increase performance. Interestingly, unless one has the luxury of working with relatively unlimited disk bandwidth, one never sees this phenomenon. For example, looking at the G4 and G3 data, we cannot tell what is limiting performance — the disk or the CPU.
Conversely, a RAID is vital for multi-stream realtime previews of SD video. Moreover, a RAID is necessary for working with any HD video format beyond the 720p30 HDV format.
With four 250MB drives, a 1TB Xserve has an MSRP of $5,999, while the 3.5TB Xserve I reviewed, with 14 250GB drives, lists for $10,999. Apple also offers an intermediate solution — a 1.75TB Xserve for $7,499 that has seven 250GB drives.
Whichever one you choose, you'll be amply rewarded by an incredible blue LED light show once you install the Xserve. Each drive has a blue LED that represents data being transferred to and from each disk. Vertical rows of dancing blue LEDs indicate the data being transferred to each RAID set. Along with that free light show, of course, the Apple Xserve RAID provides a vast amount of storage for data that can be accessed at prodigious speed.
feedback
To comment on this article, email the Video Systems editorial staff at vsfeedback@primediabusiness.com.


Multimedia
Blogs
Forum
Affordable HD
Whitepapers
Advertisers
DCP Directory
Millimeter








