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