Increasing performance using RAID

To make full use of the processing power available in modern Windows NT workstations and servers, disk drives connected using...

To make full use of the processing power available in modern Windows NT workstations and servers, disk drives connected using RAID controllers can be used

PC workstation users running high-end 32-bit technical and commercial applications demand high-performance computing for mission-critical calculations and/or graphics work. Traditionally, these users have had to rely on expensive, proprietary, RISC-based systems to get that performance. Today, however, professionals are migrating with increased frequency to high-end PC workstation platforms using the Intel Pentium III microprocessors, Microsoft's Windows NT Workstation and Windows 2000 Professional operating systems.

In 1996, for example, sales of Windows NT-based PC workstations reached 740,000 systems - more than the total number of UNIX-based systems sold. In 1997, the number was near 1.7 million and IDC predicts a 40 per cent annual growth of the Windows NT/Windows 2000 PC workstation market well into this year.

The reason for this growth is price-performance. Equipped with Pentium III processors, the NT operating system, and increasingly faster storage subsystems powered by SCSI and RAID, PC workstations have acquired sufficient power and features to compete effectively with traditional high-end workstations for roughly half the price. A PC workstation also offers broader software support. One additional benefit is the ability of the PC workstation to double as a traditional PC supporting office applications such as Word, Excel, and basic email, in addition to handling the computing-intensive tasks of high-end applications.

As with users of more expensive proprietary RISC-based workstations, performance remains the leading issue for PC workstation users. Ongoing PC technology advances (such as faster operating systems and higher clock speed CPUs) have helped to boost the performance of PC workstations. However, a key factor in the performance of high-end applications running on the PC workstation lies with the I/O technology. Even more powerful processors, such as the Pentium III, can become I/O bound.

As the computing industry evolves, two key trends continue to dictate system performance. Moore's Law says that processing power will double every 18 months. Amdahl's Law states that, for every million instructions per second (MIPS) a microprocessor handles, a megabit of I/O is required to keep up. As CPUs double in speed, system performance becomes more and more dependent upon the I/O storage subsystem. The three components of CPU, operating system and I/O form a performance "chain." And like a chain, the system is only as strong, performance-wise, as the weakest link. Increase the performance of the processor and operating system, and the I/O performance must grow as well. CPUs have, indeed, grown more powerful as predicted by Moore's Law, as have operating systems. The PentiumIII processor and the NT operating system are two good examples of what has happened in the PC workstation market to create more powerful systems. Consequently, much attention is being focused today on storage acceleration technology as an answer to Amdahl's Law, since the PC Workstation's I/O storage subsystem needs to keep momentum.

Industry attention on the I/O storage subsystem has resulted in a significant shift from EIDE to SCSI with an emphasis on faster I/O. Technologies such as striping (RAID 0) and caching are now commonplace in the PC workstation.

SCSI is the well-accepted standard in the PC workstation, since EIDE offers limited performance in a multitasking environment. In real-world application environments, SCSI offers an average 17 to 28 percent I/O performance improvement over EIDE. The combination of SCSI, a multi-threading I/O technology, and NT's multitasking allows single or multiple drive configurations to queue tasks.

RAID subsystems can be optimised for performance, the highest capacity, fault tolerance or a combination of these features. Different so-called RAID levels have been defined and standardised in accordance with those general optimisation parameters. There are six such standardised levels RAID - RAID 0, 1, 2, 3, 4 or 5, depending upon performance, redundancy and other attributes required by the host system. Of these, the first two levels are the most common. The RAID software is what is used to configure the desired RAID level of features in an array.

RAID 0, or disk striping, requires at least two disk drives and increases performance by simultaneously "striping" data across multiple disks. Compared to a single hard disk, this can increase I/O performance by up to 12 per cent when using striping software provided by the operating system, and even more when hardware-assisted striping (RAID) is used.

The Windows NT Workstation operating system striping moderately improves I/O performance. With NT striping, volumes are defined on extra partitions after Windows NT is loaded, ignoring operating system files. Since operating system files aren't striped, the operating system doesn't load or operate faster. Software striping requires the main processor to manage stripes, causing greater CPU overhead.

Hardware-assisted striping uses advanced RAID co-processor upgrade technology for flexible striping configurations that can't be achieved with NT Workstation software striping. With striping designed around a co-processor board, an on-board BIOS and SRAM for RAID command execution is employed. Additionally, an optimised RAID driver (tuned for NT), a SCSI ASIC and a RAID coprocessor together accelerate performance, surpassing Windows NT striping speeds. Importantly, due to the on-board BIOS, hardware-assisted striping allows for bootable arrays that stripe the operating system files resulting in faster PC workstation booting, loading, and operation.

The goal of disk caching is to increase performance by the allocation of dedicated solid state memory to store disk I/O temporarily instead of relying on the mechanical disk drives to seek slowly for data. Typically, this solid state memory is allocated in two places: main memory (reserved by the operating system during system setup) and on board the disk drive's circuit board. These caching allocations do not sufficiently increase disk performance. Adaptec's RAID cache significantly enhances disk caching performance. RAID cache is located on a RAID Coprocessor board that upgrades the SCSI bus to RAID caching.

NT allocates system memory for file caching. Hard disk drives have local cache. Some disk access are automatically handled by NT's file cache. If NT's file cache misses (block not found in system RAM), the drive's on-board cache is the next place to find the data. Finally, if that fails - a cache-miss - then the drive moves its actuator over to the track where the block of data is stored, slowing performance.

NT's file caching is efficient in applications where disk requests are light (CPU-bound applications). As applications become disk I/O bound, however, periods of system idle time become shorter and less frequent, causing the operating system cache to fill up with "dirty" sectors. A dirty sector is a cache page in which data has been written or modified but not yet copied to the disk drive. Once the data has been copied to disk, the page is said to be "clean". These sectors take up space that could be used for more current data.

Under NT, most of the data missed by the operating system's file cache can be delivered to the cache on a RAID coprocessor card at PCI bandwidth rather than to the drives at SCSI's bandwidth, allowing for faster data transfers. NT's buffer flushing writes (periodic cleaning of dirty sectors) go to the write-back cache on the RAID coprocessor card. Then, flush operations from the card's cache occur much more efficiently than from the operating system cache. These blocks are elevator sorted (minimising disk head movement) so that flushing to disk is smoother and faster. The "elevator sorted write back" eliminates much of the "head thrashing" commonly associated with disk-intensive operating systems. In some cases, the average write access time to the drive is halved.

RAID coprocessor-based caching "pre-fetches" the next sequential data block. Disk I/O is typically sequential. Performance can, therefore, be boosted by reading the next sequential file portion into the file cache before the program accesses it, enabling file access to overlap program execution. These pre-fetches are known as look-ahead reads and demand reads, which anticipate requests for data sets by the operating system.

The recent release of Windows 2000 is expected to give a further boost to the PC workstation market. Moreover, as hardware prices continue to fall, hardware RAID controllers might become standard fare in all workstations.

Compiled by Ajith Ram

Windows NT RAID solution I.S. Department 19/07/99 09:49

Read more on Integration software and middleware