||Add To My Personal Library
February 29, 2008
Vol.30 Issue 9|
Page(s) 24 in print issue
Moving Toward Software-Based RAID
Tapping In To Fast Multicore CPUs For Performance & Flexibility
RAID is one of those core concepts of computer architecture that has achieved such a level of longevity and ubiquity that its easy to take for granted. Like other mainstays of system design, such as cache memory and multiprocessing, a concept so fundamental surely is past its glory days of technological innovation, settling into a middle age of incremental improvement and cost reduction.
However, with the breakneck pace at which servers are increasing their computational horsepower—with multigigahertz, multicore processors now the norm—some RAID designers are indeed finding new tricks to teach the old dog. A recent technology trend is so-called software-assisted RAID, with the goal of lower cost and potentially superior performance by utilizing unused processor cycles on multiprocessor servers.
Overview Of RAID Controller Technology
RAID has historically been implemented either entirely in software or via dedicated hardware. The former approach is common on every server OS, in which a software layer sits on top of the block-level disk device driver, providing the mapping between logical RAID arrays and physical drives. In this scenario, the host CPU does all of the RAID array calculations, such as generating parity bits for redundancy, and I/O management. By contrast, hardware RAID controllers have dedicated circuitry, usually custom ASICs and I/O processors, to offload this workload and act as a liaison between the OS and disk arrays. Over time, exponential increases in CPU power have blurred the lines in this bifurcated system.
According to Greg Schulz, principal at StorageIO (www.storageio.com), current RAID implementations can be segmented into five approaches, from purely software solutions to hardware-based designs (see the Software-Hardware RAID Continuum sidebar).
Software RAID vs. Hardware Controllers
The primary difference between software and hardware RAID, says Ciprico (www.ciprico
.com) Senior Vice President of Marketing and Development Andy Mills, is where the RAID processing takes place. In traditional controllers, calculating and managing the block-level redundancy information occurs on a dedicated CPU with attached memory, while software RAID uses the host processor for this workload.
Now that systems have greater CPU capacity, Andrew Reichman at Forrester Research says, theres a sense of, do you really need the offload of specialized hardware? Adding that with the majority of servers running at no more than 20% utilization rates, CPU is not a particularly scarce resource, he says.
For newer systems with processing power to spare, Mills says software RAID offers superior performance, greater flexibility, and lower cost. Cipricos benchmarking indicates performance gains are particularly great when writing to RAID 5 arrays—in some cases doubling the throughput of a hardware controller. Mills says this is due primarily to the performance difference of the respective processors. A RAID host bus adapter typically has an 800MHz to 1GHz processor, according to Mills, while todays servers sport multiple cores running at 2 to 3GHz.
Software RAID can also be highly scalable, says Mills, noting that Cipricos driver can span across core-logic disk I/O ports, as well as Ciprico host bus adapter controllers and external DAS boxes supporting the RAIDCore architecture. It is one of the most scalable RAID solutions available today.
A software RAID design also allows functionality to be added and enhanced more easily, without the hassle of swapping out an HBA or upgrading its firmware. Mills notes that many of Cipricos customers will initially license software for just a basic RAID 1 scenario, but should their needs grow, features such as RAID 5 or 6 can be added easily via a license upgrade. The flexibility of software RAID is one of its primary benefits, concurs Reichman, adding that its one of the reasons enterprise RAID leaders such as NetApp (800/206-5363; www.netapp.com) use a software-centric architecture for all of its products.
By eliminating dedicated hardware, software RAID designs are much less expensive. A typical HBA may run from $400 to upwards of $900, according to Mills, while a software RAID using a separate multiport I/O board such as Cipricos RAIDCore is closer to $150. An even less expensive option, perhaps as little as $10, is an integrated ROC (RAID-on-Chip) with a software RAID driver.
RAID-On-Chip: A Hybrid Approach
RAID-on-Chip designs incorporate an I/O offload processor directly on the server motherboard or I/O board. What ROC does is add RAID assist to the general-purpose processor, says Schulz. Even though the general-purpose processor has a lot of compute power that may be lying around, you still have specialized functions that are handled better by that offload processor instead of just throwing brute CPU cycles on it.
Intel (www.intel.com) collaborated with LSI (www.lsi.com) starting in 2003 to incorporate ROC functionality and now offers a range of SAS and SATA RAID products on many of its server motherboards. Schulz notes that ROC functionality is added either via a separate chip or is increasingly integrated directly into the server chipset. Nvidia (www.nvidia.com) also includes RAID features in some chipsets, Mills says, adding that Ciprico is working to provide enterprise-class RAID functionality via a so-called virtualized adapter for both Intel and Nvidia systems.
Software RAID & The SME
Schulz feels that software RAID is particularly attractive for lower-end embedded systems because its value proposition is cost avoidance. Reichman concurs that a sweet spot for software RAID is the embedded market, adding that given the complexities of benchmarking performance and cost trade-offs of various RAID designs, it makes sense for the storage vendors to do it right and determine the optimal mix of hardware and software.
While Reichman believes that software RAID is appropriate for most applications, virtual servers are one area in which he advises caution. In VMware, the whole point is to pool images and increase CPU utilization, he says, so you want all of your processing for VM images. In this scenario, even small increases of CPU load due to RAID processing could be deleterious. Of course, as Gartner analyst Roger Cox points out, most VMware implementations use a storage network with dedicated external RAID arrays, so an internal software-based controller is unnecessary.
RAID implementations are no longer limited to a binary choice between OS-based software and a dedicated hardware board. Software RAID solutions, along with add-on I/O boards or motherboard-based ROC hardware assist, provide a continuum of hybrid hardware-software options that allows users to select the optimal balance of price and performance.
by Kurt Marko
Software-Assisted RAID Vendors & Products |
|Vendor/URL ||Products ||Description |
|Entry-level cards with HostRAID technology ||4- and 8-port controllers with support for either SATA-only or SAS/SATA featuring Adaptec HostRAID, an integrated RAID technology that maximizes system performance and uptime |
|ExpressSAS RAID Adapters ||A low-profile RAID solution for 3Gb SAS and SATA with eight external ports; combined support for both SAS and SATA drive technologies enables multitiered storage architecture, balancing internal and external drive connectivity to accommodate a variety of application needs |
|RAIDCore ||Offers a wide range of price and performance featuring a unified RAID driver and management software and the ability to span RAID across controllers without incurring additional parity drive penalty |
|Integrated Server RAIDPCI Express-based RAID Controllers ||Using the LSI SAS1078 SAS RAID-on-Chip and MegaRAID solutions, Intel's RAID controllers and integrated ROC controller boards are designed to complement the new quad-core Intel Xeon processors; controller cards feature eight ports and support up to 240 SAS and SATA disks |
|FastTrak SAS RAID ||Offers a cost-effective solution for implementing a RAID 0, RAID 1, RAID 5, or RAID 10 storage system with up to four high-performance SAS or SATA disk drives |
Software-Hardware RAID Continuum |
Greg Schulz, principal at StorageIO (www.storageio.com), says current RAID implementations can be divided into the following five approaches:
1. Entirely Software: RAID drivers bundled with server OS
2. Optimized Software: Third-party drivers, such as Cipricos (www.ciprico.com), optimized to exploit server chipset capabilities to enhance performance and lower CPU overhead
3. RAID-on-Chip Hardware Assist: A hybrid approach that boosts performance by adding RAID assist hardware either directly on a server motherboard or on an I/O expansion card; still uses server CPU for the bulk of RAID computations
4. Internal Hardware Controller: The traditional host bus adapter with a dedicated processor and memory to offload all RAID overhead from the server CPU; interfaces with an internal I/O bus such as PCI Express or PCI-X
5. External Hardware Controller: Similar in functionality to the internal controller but integrated with an external drive array; accessed via either a storage network protocol (such as Fibre Channel or iSCSI) or disk protocol (such as SAS)