Contents | < Browse | Browse >
%% Review: HyperCache Professional v2.0                By: William Near %%
%% An inexpensive disk cache solution    %%

Description:  HyperCache Professional is a device caching program. It can
be used to speed up data access by as much as 3000% on devices such
as: SCSI & IDE hard drives, CD-ROM drives and floppy drives.

Price:  I paid 19.95 + $3.00 S&H as an upgrade from v1.01b direct from
Silicon Prairie.

System Requirements:  512K RAM, Workbench 2.04 or higher, hard drive

System tested on: Amiga 2000, Workbench 3.1, GForce '030 accelerator
Quantum LP270S hard drive with Trumpcard Professional controller.


HyperCache Professional v2.0 (HCP) came with a 19 page manual, one
disk, a registration card and a letter containing an addendum to the
installation instructions contained in the manual all shrink wrapped


HCP uses the standard Commodore Installer program which makes the
program easy to set up on your hard drive. HCP will create its own drawer
in the directory or partition that you specify during installation. The installer
places a library (rexxhost.library) in your LIBS directory, well sort of.
It also places HyperCachePrefs,, HyperCacheStats, and an
ARexx drawer inside its drawer.

The included addendum letter states the following: "We have learned that
in certain system configurations where multiple partitions are available to
install to, the HyperCache installation program is unable to locate a
required library. If you receive such an error message while installing,
re-start the installation, select Intermediate or Expert installation, and
install to the SYS: partition. We have been unable to reproduce this problem
in-house, and it has proven to be quite rare, but the above steps have
always cured it."

Well, I experienced this "rare" problem during the installation of HCP. I
followed the addendum instructions, but this didn't cure the problem either.
I called Silicon Prairie's tech support number and the representative told
me to re-install the program to my SYS: partition. He also stated that they
had traced the problem to an error in their installation script. The third
try at installing HCP was unsuccessful, so I resorted to manually copying the
"missing" library to the LIBS directory on my SYS: partition and running the
installation program one more time. This time it worked flawlessly, but it
was somewhat of a hassle because of the script error by Silicon Prairie -
nothing major, just annoying.

At the end of the installation process you are asked if you want HCP to
automatically run upon booting up your system. If you answer yes the
Installer will add a line to your S:User-Startup file. I chose not to have
the Installer add the line to my User-Startup and instead placed the HCP
program in my WBStartup drawer. Finally, the installation process ends by
asking what type CPU you are using, either 68000 or 68020 and then it
starts the HyperCachePrefs program.

If you want to cache more than one device then you must create multiple
copies of the HCP icon and rename them appropriately. I have three icons
in my WBStartup drawer:  HyperCacheHD, HyperCacheDF0, and
HyperCacheDF1. The Tooltypes were modified for each of the three icons
to correspond with the type of device being cached. It is not necessary to
cache each partition of a device such as a hard drive. When you cache a
hard drive HCP caches the entire device, creating multiple caches for the
same device would waste memory and would not improve performance.
The same caching setup could have been accomplished by adding the
appropriate lines to my S:User-Startup script, but I found it much more
convenient to just put the icons in my WBStartup drawer where they can be
easily modified using the Icon/Information menu choice from Workbench.


HCP's GUI, known as HyperCachePrefs, opens a small window in the
center of your Workbench screen which contains various areas for
adjusting parameters for the operation of the disk caching. You may access
the interface at any time by selecting the HyperCachePrefs icon contained
in the drawer you specified at installation. The interface consists of:
Available Storage Volumes List, Device Driver, Unit Number, Cache Size,
Number of Lines, Line Size, Write Rentention Time, Quiet Write Time, and
finally, Save, Use and Cancel buttons.

* Available Storage Volumes List - Displays all available devices for
possible caching.

* Device Driver - Displays the device driver for the selected device i.e.
scsi.device, trackdisk.device, etc. The Device Driver is automatically
updated when a device is selected from the Available Storage Volumes

* Unit Number - Displays the selected device's unit number. The Unit
Number is automatically updated when a device is selected from the
Available Storage Volumes List.

* Cache Size - Displays the size of the current cache according to the
Number of Lines setting.

* Number of Lines - This parameter is the primary setting for determining
the size of the selected device's cache. Increasing the Number of Lines will
make the cache larger; conversely, decreasing the Number of Lines will
make the cache smaller (256 lines = 512K cache, 512 lines = 1024K
cache, etc.)

* Line Size - This parameter controls how far HCP reads ahead (known as
prefetching) in the data from your device and the amount of data that is
moved to and from the cache at any one time. 4K is the default setting
which is recommended by Silicon Prairie for most devices. If your device is
very fragmented then they suggest that you try an 8K Line Size. The Line
Size must be changed in powers of 2 i.e. 4K, 8K, 16K, etc. If you double
the Line Size it will, in turn, double the size of the cache. You can maintain
the same size cache by cutting the Number of Lines in half for each
doubling of the Line Size.

If your device is very fragmented, characterized by a slowing of read
speeds, then I would suggest using ReOrg (PD) to defragment your device
rather than trying to make up for it by adjusting the Line Size. You'll
gain much more performance from reorganizing your device than by using HCP
for this purpose.

* Write Retention Time - This parameter determines the length of time that
data will be kept in the cache before being written to the device. The
default setting is 5 minutes (setting is displayed in seconds.) This setting
can be disabled by setting the Write Retention Time to 0. The data in the
cache will be written to the device after the amount of time set in the Quiet
Write Time parameter has passed. The Write Retention Time setting is only
useful when your CPU will have no idle time.

* Quiet Write Time - This parameter controls the amount of time that HCP
will wait, after the CPU goes idle, before any writes are made from the
cache to the device. The default setting is 1 second, but you can add an
extra margin of safety by setting the Quiet Write Time to 0 -- this will
cause any writes to occur as soon as any spare I/O cycles are available.

* Save - Selecting the Save button will cause any changes to HCP's
operation to be permanently saved.

* Use - Selecting the Use button will cause any changes to HCP's
operation to be immediately activated, but these changes will not be
permanently saved.

* Cancel - Selecting the Cancel button will cause any changes to HCP's
operation to be aborted.

This is the Amigaguide hypertext on-line help document for HCP.
This text includes:  Late Breaking News, Parameters, ARexx,
HyperCacheStats, and an Index.

* Late Breaking News - This section contains any last minute information
that was not included in the written manual.

* Parameters - This section covers every aspect of setting the parameters
for HCP.

* ARexx - This section gives information about the supported ARexx
commands (5) for HCP. By using ARexx commands you can control every
aspect of HCP's operation, including statistics on the program's operation.

* HyperCacheStats - This section gives information on the use of the
HyperCacheStats program.

* Index - A complete index to the Amigaguide hypertext document.


This program opens a window on your Workbench which contains several
areas of information pertinent to the device you are caching. The
HyperCacheStats (Stats) program will only give information for the device
which is being cached, if you have more than one device cached then you
must use multiple copies of the Stats program with the appropriate
Tooltype defined in each icon. I used HCP to cache my hard drive, DF0,
and DF1. If I wanted to view the statistics for each of these devices I would
make three copies of the Stats program and use the following Tooltypes:

PORT=HyperCache.IVS_SCSIpro.device (for my hard drive using the
Trumpcard Pro controller)

PORT=HyperCache.trackdisk.device UNIT=0 (for floppy drive DF0:)

PORT=HyperCache.trackdisk.device UNIT=1 (for floppy drive DF1:)

The Stats program only compiles the information while it is activated. There
is no way to save the statistics for future reference. This program is mainly
intended to help determine the appropriate cache size for a certain device
and for purely informative use.

The Stats program consists of two separate areas, Averaged Statistics and
Instantaneous Statistics.

Averaged statistics:  Total Read Hits, Total Read Misses, Total Read
Samples and the same three categories for Writes.

* Total Read hits - This represents the total number of reads from the
cache as opposed to reading the data from the device.

* Total Read Misses - This represents the total number of reads that had to
be made from the device because the needed data was not available from
the cache.

* Total Read Samples - This represents the total number of times the Stats
program has requested information from the cache.

To the right of these lines are the complementary values for Writes. The
above definitions are identical, except that they show statistics for Writes
instead of Reads.

Instantaneous statistics:  Read Hits, Read Misses, Read Hit Ratio and the
same three categories for Writes.

* Read hits - Displays the number of reads from the cache over the past

* Read Misses - Displays the number of reads from the device due to the
needed information being unavailable in the cache over the last second.

* Read Hit Ratio - Displays the total number of reads from the cache
divided by the number of read hits then multiplied by 100. This represents
the percentage of reads that were successful from the cache as opposed to
having to read the data from the device.

Just below these lines are the complementary values for Writes. The above
definitions are identical, except that they show statistics for Writes
instead of Reads. Also, to the right of this area are the averages for these

The manual states that the running of HyperCacheStats can slightly
hamper the performance of the cache. They do not recommend running the
Stats program during system performance tests i.e. A.I.B.B., SysInfo, etc.
as it may effect the outcome.

ARexx drawer

The ARexx drawer contains five example ARexx scripts that require the
user to modify the code with the appropriate device port. The scripts
included are:  Suspend, Activate, Alternate, Stats, and Flush.

* Suspend - This script will stop HCP from running on the specified device

* Activate - This script will start HCP running on the specified device port.

* Alternate - This script will alternate between starting and stopping HCP's
operation on the specified device port depending on HCP's current status.

* Stats - This script will activate the Stats program for the specified device

* Flush - This script forces HCP to immediately write any information
currently waiting to be written from the cache.

The included scripts are fully documented by the programmers and are a
nice addition to the HCP package.

LIKES:  I liked the easy installation of HCP, except for the missing library
problem, using the standard Commodore installer program. The program
only takes a few minutes to install once you manually copy the included
library, if necessary, to your LIBS directory.

HCP adds a great amount of speed to several aspects of everyday
operations, such as:  reopening windows, reloading programs, rereading
data in a data base or spreadsheet, reopening documents in a word
processor or desktop publishing program, working on pictures or
animations in paint and animation/rendering programs, etc.

The HyperCacheStats program is a nice way of verifying HCP's operation
and determining the appropriate cache size for each device.

The included ARexx scripts are helpful in controlling HCP at this level.

The manual is well written and precise, for the most part.

The Amigaguide on-line help document is a very nice feature.

The GUI is a big improvement over earlier releases of HCP. It makes the
adjustment of HCP's features very easy to do (see dislikes.)

DISLIKES:  HCP's GUI will load under WB 3.1, but it freezes up after that.
The computer is still functional, but the GUI remains on the Workbench and
won't go away unless you reboot. I contacted Silicon Prairie about this and
the representative said that they had done limited testing under WB 3.1. I
used the Tooltypes to adjust the parameters for all my devices' HCP icons.
This wasn't that big of a deal, but it would have been much nicer if the GUI
would have worked under WB 3.1.

The manual could have given some suggestions as to the recommended
size of caches used by certain devices. The old manual (v1.01b) gave
suggested settings for hard drives and floppy drives. I used a 512K cache
for my hard drive and a 100K cache for each of the floppy drives. Through
trial and error you can arrive at a good cache size based on your usage of
the particular device and the information provided by the Stats program.

Prettier icons should have been included for all of the supplied files. The
included icons are rather dull as compared to a MagicWorkbench type

SUMMARY:  I highly recommend HyperCache Professional v2.0 to
everyone. If you do a lot of everyday work with directories, databases,
spreadsheets, word processors and the like, then you'll appreciate the
benefits that HCP has to offer.

It's nice to load a program such as DirectoryOpus or DPaint IV and then if
you quit from it and try to reload it a few minutes later the program loads
in a matter of a few seconds, instead of the usual several seconds on my
machine. Also, when working with large databases in SuperBase IV it's
nice to read through the data from beginning to end once from the hard
drive and then have all subsequent reads made from the much faster

Buy this program!

Publisher: Silicon Prairie Software
           4771 148th Ave. NE
           Suite N202
           Bellevue, WA  98007

           (206) 556-0618 * Order, Product Info & Tech Support * Tech Support Internet