Previous Table of Contents Next


Choosing The Best Caching Subsystem

Along with your primary memory subsystem, your computer should have a caching subsystem. Many people refer to the caching subsystem as a secondary, or level 2, cache. If any computer you are considering does not have a secondary cache, I suggest you look elsewhere and choose another computer. A properly designed secondary cache can improve memory access from 10 to 20 percent. This can provide a significant overall performance improvement to your computer system.

The cache is used to either hold a copy of main system memory that is frequently accessed, pre-read and hold sequential data requests from main memory, or buffer data writes to main memory. All of these offer increased memory access times because cache memory operates in the 15 to 20 nanosecond range, while system memory operates in the 60 to 80 nanosecond range. Caches are used because the processor speed has exceeded the speed at which the main memory can be accessed. System memory is based on DRAM, EDO RAM, or SDRAM chips, which require a refresh cycle before they can be accessed again. This refresh cycle doubles, or even triples, depending on the system architecture and wait cycles (the time between concurrent memory access rates). Secondary cache chips, on the other hand, are based on Static Random Access Memory (SRAM) chips, which do not require a refresh between concurrent data access cycles.

My recommendation is to increase the size of your secondary processor cache based on the size of your system memory. Use a minimum of 256K for a 16MB system, 512MB cache for systems up to 64MB, and at least 1MB of cache for anything larger than 64MB, if possible. Not all systems have upgradable secondary caches, however, which is why you should pay careful attention to the caching options when selecting a motherboard or computer system.

Most Intel computers offer an advanced BIOS setup option to configure the secondary cache and main system memory refresh times and wait states. If you can, set your secondary cache to offer write-back functionality (which will buffer writes to system memory), as this will increase system performance. If data integrity is an issue, set your secondary cache settings to write-through (which will pass all data writes directly to main memory), and only cache memory read requests.

Choosing The Best Disk Subsystem

The single most-important component on your system aside from the processor is your disk subsystem. If your server cannot access the data fast enough to handle your client requests, it slows down the entire network while your clients wait to access the data. Poor performance means you will be called in to explain this situation sooner or later to your superiors, and it will rarely be a happy meeting. So, it pays to consider the possibilities beforehand. There are currently three types of disk subsystems on the market today, including:

  IDE (Integrated Drive Electronics)—This drive interface is an outgrowth of the ST-506 interface—introduced with the IBM PC—and is designed to replace a dedicated (i.e., smart) disk controller with a host (i.e., dumb) adapter and a smart disk drive. In this particular scheme, the disk controller is really just an interface between the host computer and the smart peripheral. You can add disk drives, tape drives, or even CD-ROM drives to an IDE host adapter. The current limitation includes a maximum of four IDE peripherals in a single system. It accomplishes this by utilizing both the primary and secondary I/O addresses defined for ST-506 hard disk controllers (370-37F and 170-17F) and, in some cases, actually provides separate interrupts for each I/O channel. The good news about IDE disk drives is that they are very inexpensive and can offer acceptable performance for a workstation computer. The bad news is that they are not fast enough for a server. The really bad news is that most IDE disk controllers are programmed I/O (PIO) devices. This means that the host processor (on your motherboard) must transfer the data back and forth between the adapter and system memory. This decreases the efficiency of your server and should be avoided, if at all possible.
  EIDE (Enhanced Integrated Drive Electronics)—This is an extension to the current IDE standard and is designed to increase the data transfer rates. It does this by reading multiple sectors of the disk whenever a data access request is specified. It also increases the maximum size of a disk drive from 512MB to 8GB. But you are still limited to a maximum of four IDE peripherals in a single system. Some EIDE controllers are also bus masters, which can lower the CPU overhead and improve data transmission performance. EIDE drives are not the best choice to make for your server, as they do not support asyncronous access, but they are acceptable if you lack the funds for better equipment.
  SCSI (Small Computer System Interface)—This is my personal recommendation for a primary disk subsystem, although you can mix and match a SCSI system with any other subsystem mentioned earlier and use it as a secondary disk subsystem. SCSI is another expansion bus, not just a disk I/O bus like IDE. However, like IDE drives, the electronics for controlling the drive and accessing the data are located on the disk drive. You can add SCSI tape drives, SCSI scanners, SCSI printers, and any other SCSI device to your SCSI host adapter. The standard SCSI interface offers a single disk channel which can add up to 7 SCSI peripherals, while enhanced versions offer the ability to add up to 15 SCSI peripherals on two separate channels—7 on one channel and 8 on the other channel. The remaining SCSI ID on the first channel is used by the host adapter. Most SCSI adapters are also bus masters, which can increase performance quite a bit. Other factors include the ability to attach/detach the SCSI peripheral from the SCSI bus so that another SCSI peripheral can access the bus while the first processes a data request, queues multiple disk commands for later processing, and replaces bad sectors with spare sectors on command.


Note:  SCSI currently comes in several flavors. There is the original SCSI I, which you should avoid when purchasing SCSI peripherals; SCSI II, which is the most used; SCSI III, which is on its way to becoming the new standard; and then there are FAST SCSI and WIDE SCSI. FAST SCSI extends the data transfer rate from 10MB/sec. to 20MB/sec., while Wide SCSI extends the I/O interface from 8 bits to 16 bits. In some cases, you can even find a combination of FAST WIDE SCSI, which extends the data transfer rate to 40MB/sec.

When adding a CD-ROM to Windows NT, always try and choose a SCSI II CD-ROM drive. These types of CD-ROM drives are the easiest to add to an NT system.



Previous Table of Contents Next