home *** CD-ROM | disk | FTP | other *** search
- Path: menudo.uh.edu!usenet
- From: Mike_Noreen@p14.anet.bbs.bad.se (Mike Noreen)
- Newsgroups: comp.sys.amiga.reviews
- Subject: REVIEW: FastCache version 1.0
- Followup-To: comp.sys.amiga.applications
- Date: 9 Jul 1993 01:48:04 GMT
- Organization: The Amiga Online Review Column - ed. Daniel Barrett
- Lines: 475
- Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator)
- Distribution: world
- Message-ID: <21iiok$k1b@menudo.uh.edu>
- Reply-To: Mike_Noreen@p14.anet.bbs.bad.se (Mike Noreen)
- NNTP-Posting-Host: karazm.math.uh.edu
- Keywords: cache, disks, shareware
-
-
-
- PRODUCT NAME
-
- FastCache version 1.0
-
- [MODERATOR'S NOTE: This review was updated on July 15, 1993.
- -Dan]
-
-
- BRIEF DESCRIPTION
-
- FastCache is a program for speeding up your disk access. It is a
- fully associate shareware disk-cache which features prefetch and write-back.
-
-
- AUTHOR/COMPANY INFORMATION
-
- Name: Philip D'Ath
- Address: 9 Elmwood Crescent
- Pukete, Hamilton
- New Zealand
-
- E-mail: pid@waikato.ac.nz
-
-
- SHAREWARE FEE
-
- You may use the program freely for a period of three months. If you
- continue to use it after that period, you are requested to send $20 to the
- author, payable in either New Zealand, Australian or American dollars.
-
-
- SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS
-
-
- HARDWARE
-
- At least 256K free RAM is recommended. FastCache uses RAM
- to speed up disk read/write operations, and will not give
- much increase in disk performance if the cache is smaller
- than this. If you cannot spare this much RAM, then
- FastCache probably isn't for you.
-
- FastCache is supplied in two flavours: one for 68000-based
- machines such as the Amiga 500, and one for 68030-based
- machines such as the Amiga 3000.
-
- SOFTWARE
-
- FastCache was designed to be used under AmigaDOS 2.0, and
- seems to work well under AmigaDOS 3.0. It MIGHT work under
- AmigaDOS 1.3, but it's not guaranteed.
-
-
- COPY PROTECTION
-
- None.
-
-
- MACHINE USED FOR TESTING
-
- Amiga 3000-25
- 2 MB Chip RAM, 4MB Static Column Fast RAM
- Kickstart v40.9, Workbench v40.4
- DEC RZ24 hard disk, 199MB formatted, 64KB onboard cache, 19ms seek
- time.
-
-
- REVIEW
-
- The reason I tested FastCache was because I needed to speed up the
- handling of mail on my system. I had earlier tested a public domain
- disk cache called SmartDisk and had not been terribly impressed. FastCache,
- however, had features which made it worth checking out. Here's its feature
- list from its manual:
-
- * Fully associate cache (one of the best algorithms)
- * LRU cache replacement policy (one of the best)
- * Can handle multiple drives
- * *Should* be able to handle removable media
- * All cache settings are determined at run time
- * Optional write retention
- * Does not require large continuous chunks of memory
- * Uses a hashing system to locate date (one of the best)
- * Performs both forward and reverse prefetching
- * Will utilize the blitter to move data, if possible
-
- Having gotten this far, I think most people will agree that it is
- high time for a short explanation of what a disk cache is, how it works, and
- what all these fancy terms and abbreviations mean. (Many thanks to John C.
- Chu for helping me out with this!)
-
-
- WHAT IS A DISK CACHE?
-
- RAM is faster than the disks on your computer. A cache takes
- advantage of this fact to speed up read (and sometimes write) operations
- that use your disks. Any data read by the computer is stored in the cache,
- so that if the data is used again, it is read from the cache (in RAM)
- instead of the cached device (the disk).
-
- From the above explanation, note that information is read from the
- cache only if it is already IN the cache -- that is, the second (or later)
- time that it is read. However, a cache can also speed up the initial read
- by using "Prefetch." This takes advantage of the fact that it's faster to
- read data in large chunks rather than in little pieces. Prefetch means that
- if the computer asks for block N from the hard drive, it is put into the
- cache along with a number of subsequent blocks, anticipating their use. So,
- when the computer has processed block N, and asks for block N+1, it is
- already in the cache. On a fast, unfragmented hard disk, prefetch can give
- huge boosts in speed, while on a heavily fragmented disk it can lower
- performance.
-
- Some caches, like FastCache, may optionally cache write operations
- as well as read operations. While this means less disk contention and faster
- writes, it also means that a crash or reset before the cache is flushed will
- result in LOSS OF DATA! For this reason, I do not recommend write retention
- (write-back). Sooner or later, one IS going to lose data if one uses
- write-back, so do *NOT* use write-back on important files. Also, writes to
- the disk which are verified (like formatting) will be verified against the
- cache, and so is useless. Caching writes is DANGEROUS STUFF!
-
- [MODERATOR'S NOTE: The author of FastCache, Philip D'Ath, says the
- following about verifying writes against the cache:
-
- "...you mentioned about programs who try to verify
- data essentially wasting their time. This will not be the
- case if the program issues any kind of flush command (like
- CMD_FLUSH). FastCache honours all such requests, by
- flushing its entire cache, for this exact reason.
- If any program does a verify operation now, without
- issuing a flush command, then it is probably already broken,
- as many KS2 devices buffer at least a track already."]
-
- Time to get technical! (Non-technical users can safely skip ahead
- to "INSTALLATION" below.) Basically, there are three types of disk caches:
-
- * Direct Map Caches. The most primitive form, easy to implement and
- with low processing overhead; but since it is "unintelligent", large
- parts of the cache memory will be wasted.
-
- * Set Associative Caches. A set associative cache consists of some
- number of small Direct Map caches combined. While being smarter
- about memory usage than a Direct Map cache, a Set Associative cache
- is less efficient than a Fully Associative cache (described below),
- and it requires more processing than a Direct Map cache. Examples
- of Set Associative caches are PowerCache and SmartDisk.
-
- * Fully Associative Cache. The best and brightest of the caches.
- Will not flush data until completely full; but as it is the most
- complex of the caches, it is also the one which requires the most
- processing overhead and is the hardest to implement. FastCache is
- of this kind.
-
- When the cache is full, it has to flush old data to be able to cache
- new, and this can be done in a number of ways. FastCache uses an algorithm
- called LRU, Least Recently Used, meaning that the information least recently
- accessed is flushed before more recently accessed information.
-
-
- INSTALLATION
-
- Installation is easy. You simply put the appropriate FastCache
- version (68000 or 68030) where you want it, edit its ToolTypes to fit your
- system, and double-click on its icon. It's runnable from the shell also,
- with arguments instead of ToolTypes. Setting the ToolTypes is no problem if
- you know a little about your hard disk; in my case, as on all A3000's, the
- device name is "scsi.device" (case sensitive!), and unit number is 6. On
- other controllers, you will have to check what your device driver is called
- (like GVPscsi.device for GVP controllers), and what unit number your hard
- drive is (usually 0).
-
-
- BENCHMARKS
-
- The wonderful bit about reviewing something like FastCache is that
- its performance can be MEASURED OBJECTIVELY! Therefore, you are now going to
- be treated to a number of impressive benchmarks, all obtained with DiskSpeed
- v4.2. Here is my system with no caching:
-
-
- MKSoft DiskSpeed 4.2 Copyright - 1989-92 MKSoft Development
- ------------------------------------------------------------
- CPU: 68030 AmigaOS Version: 40.9 Normal Video DMA
- Device: dh0: Buffers: 200
- Comments: My setup, without any disk cache. Test partition is 52Mb, 40% full.
-
- No CPU Speed Rating -- CPU % not available.
-
- Testing directory manipulation speed.
- File Create: 147 files/sec
- File Open: 129 files/sec
- Directory Scan: 221 files/sec
- File Delete: 322 files/sec
-
- Seek/Read: 784 seeks/sec
-
- Testing with a 512 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 28864 bytes/sec
- Write to file: 28480 bytes/sec
- Read from file: 108928 bytes/sec
-
- Testing with a 262144 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 552909 bytes/sec
- Write to file: 791497 bytes/sec
- Read from file: 799219 bytes/sec
-
-
- It's not a speed-demon, but not too bad either. Now here are results for
- my system running FastCache with a 512K cache:
-
- MKSoft DiskSpeed 4.2 Copyright - 1989-92 MKSoft Development
- ------------------------------------------------------------
- CPU: 68030 AmigaOS Version: 40.9 Normal Video DMA
- Device: dh0: Buffers: 200
- Comments: FastCache 512KB cache, default settings.
-
- No CPU Speed Rating -- CPU % not available.
-
- Testing directory manipulation speed.
- File Create: 76 files/sec
- File Open: 207 files/sec
- Directory Scan: 897 files/sec
- File Delete: 344 files/sec
-
- Seek/Read: 606 seeks/sec
-
- Testing with a 512 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 132480 bytes/sec
- Write to file: 132435 bytes/sec
- Read from file: 377984 bytes/sec
-
- Testing with a 262144 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 1410065 bytes/sec
- Write to file: 2453564 bytes/sec
- Read from file: 3693550 bytes/sec
-
-
- The above is FastCache with its default settings. While it's
- noticeably faster than my plain system, it is not very impressive; apart from
- the write-caching, it's slower than SmartDisk. The cache is 512KB, with a
- LINE_SIZE (prefetch) of 4 blocks, NUM_LINES is 256, and ChipRAM is always
- used as cache-memory.
-
- So, we tweak some parameters and get:
-
- MKSoft DiskSpeed 4.2 Copyright - 1989-92 MKSoft Development
- ------------------------------------------------------------
- CPU: 68030 AmigaOS Version: 40.9 Normal Video DMA
- Device: dh0: Buffers: 200
- Comments: FastCache 512KB cache, after tweaking of parameters.
-
- Testing directory manipulation speed.
- File Create: 89 files/sec
- File Open: 231 files/sec
- Directory Scan: 916 files/sec
- File Delete: 344 files/sec
-
- Seek/Read: 761 seeks/sec
-
- Testing with a 512 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 175808 bytes/sec
- Write to file: 214976 bytes/sec
- Read from file: 438400 bytes/sec
-
- Testing with a 262144 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 1719508 bytes/sec
- Write to file: 3530118 bytes/sec
- Read from file: 5799936 bytes/sec
-
-
- While the cache is still 512KB, I've changed the parameters. I've
- added the NO_CHIP ToolType, and changed the prefetch to 8 blocks. The reason
- this improves performance is because my partition is fairly unfragmented.
- To keep the cache at a manageable size, I've halved the NUM_LINES to 128.
- This setting is pretty optimal on my setup.
-
- Now, let's increase the cache size:
-
- MKSoft DiskSpeed 4.2 Copyright - 1989-92 MKSoft Development
- ------------------------------------------------------------
- CPU: 68030 AmigaOS Version: 40.9 Normal Video DMA
- Device: dh0: Buffers: 200
- Comments: Num_Lines = 256, Line_Size = 16
-
- Testing directory manipulation speed.
- File Create: 98 files/sec
- File Open: 210 files/sec
- Directory Scan: 900 files/sec
- File Delete: 384 files/sec
-
- Seek/Read: 800 seeks/sec
-
- Testing with a 512 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 202767 bytes/sec
- Write to file: 244874 bytes/sec
- Read from file: 540096 bytes/sec
-
- Testing with a 262144 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 2386098 bytes/sec
- Write to file: 4455156 bytes/sec
- Read from file: 7733248 bytes/sec
-
-
- This is as fast as it will go on my system. Cache-size here is 2MB,
- but on systems with more memory it can undoubtedly go even faster. The author
- claims performance will increase up to a cache size of about 10MB.
-
- How about floppy drives? Here is what FastCache can do:
-
- MKSoft DiskSpeed 4.2 Copyright - 1989-92 MKSoft Development
- ------------------------------------------------------------
- CPU: 68030 AmigaOS Version: 40.9 Normal Video DMA
- Device: df0: Buffers: 10
- Comments: This is how fast a FLOPPY get with FastCache.
-
- Testing directory manipulation speed.
- File Create: 6 files/sec
- File Open: 168 files/sec
- Directory Scan: 926 files/sec
- File Delete: 416 files/sec
-
- Seek/Read: < 1 seeks/sec
-
- Testing with a 512 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 285 bytes/sec
- Write to file: 6657 bytes/sec
- Read from file: 366080 bytes/sec
-
- Testing with a 262144 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 381763 bytes/sec
- Write to file: 141241 bytes/sec
- Read from file: 978591 bytes/sec
-
-
- Considering a floppy normally has a peak performance of about
- 20KB/sec, these are pretty amazing results. I think the figures here are a
- VERY misleading, though; in normal usage, the increase would be nowhere NEAR
- this huge. You will NOT get hard disk performance out of a floppy even with
- a disk cache, no matter what. The settings were the same as for my 512KB
- tweaked cache, except the unit number was 0 (for df0:) and the device was
- trackdisk.device.
-
-
- DOCUMENTATION
-
- FastCache comes with a text file explaining the usage and various
- ToolTypes/arguments of FastCache. If you have had a little experience with
- your Amiga, you will not have any difficulties with the documentation. (If
- you're a REAL novice to the Amiga, it might be wise to stay clear of
- potentially dangerous software like disk caches anyway.)
-
-
- LIKES AND DISLIKES
-
- Well, I think it's a great program. Although I've heard complaints
- about FastCache not running, or crashing and causing data losses, it has not
- caused me any problems during these two weeks. If it continues to behave
- this well, I will certainly register for the program. My mail-handling now
- takes only a few minutes, as compared to 15-20 minutes before I got
- FastCache.
-
- Having said this, I'd like to point out that there ARE things that
- could be improved in the program. Most important would be a less awkward
- way of configuring FastCache. If it could pop up a window with gadgets for
- all settings like its competitor PowerCache does, that would be great.
- Also, I'd like a program which generated statistics about the cache
- (hit-rate, usage, etc.).
-
-
- COMPARISON TO OTHER SIMILAR PRODUCTS
-
- There are a bunch of other disk caches out. I will try to give a
- short rundown on those here, and add short benchmarks where possible.
-
- * SmartDisk. This is a 8-way set-associate disk cache. It does not support
- multiple devices. The version I've tested is 1.41. It has a fixed size of
- 512KB, and the parameters cannot be changed. Since it does not do write-back,
- only reads are sped up. Generally very stable. Very poor documentation.
- Public domain; author David Le Blanc.
-
- MKSoft DiskSpeed 4.2 Copyright - 1989-92 MKSoft Development
- ------------------------------------------------------------
- CPU: 68030 AmigaOS Version: 40.9 Normal Video DMA
- Device: dh0: Buffers: 200
- Comments: SmartDisk v1.41
-
- Testing with a 262144 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 411578 bytes/sec
- Write to file: 652099 bytes/sec
- Read from file: 5701632 bytes/sec
-
-
- * PowerCache. Another set-associate cache. Supports multiple devices.
- It's released under the concept of shareware, but is so badly crippled that
- it is hard to test. It is, however, probably faster than FastCache, and far
- easier to configure. A word of caution: PowerCache v37.46e has a few bugs
- and causes Enforcer hits when its window is opened. I'd stay away from ANY
- program that causes Enforcer hits; wait for a bug-fixed version instead. The
- documentation is outstanding. Shareware; registration fee is $20US, or the
- equivalent. A fine disk cache indeed. Author: Michael Berg.
-
- Here is how PowerCache performed on my stock system:
-
- MKSoft DiskSpeed 4.2 Copyright - 1989-92 MKSoft Development
- ------------------------------------------------------------
- CPU: 68030 AmigaOS Version: 40.9 Normal Video DMA
- Device: dh0: Buffers: 200
- Comments: PowerCache v37.45e; cache size approximately 660KB.
-
- Testing directory manipulation speed.
- File Create: 114 files/sec
- File Open: 209 files/sec
- Directory Scan: 707 files/sec
- File Delete: 370 files/sec
-
- Seek/Read: 901 seeks/sec
-
- Testing with a 262144 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 3899392 bytes/sec
- Write to file: 6946816 bytes/sec
- Read from file: 6979584 bytes/sec
-
- And now, here is PowerCache with a 10*32*8 cache setting:
-
- MKSoft DiskSpeed 4.2 Copyright - 1989-92 MKSoft Development
- ------------------------------------------------------------
- CPU: 68030 AmigaOS Version: 40.9 Normal Video DMA
- Device: dh0: Buffers: 200
- Comments: PowerCache tweaked slightly. Large (1.3MB) cache.
-
- Testing directory manipulation speed.
- File Create: 123 files/sec
- File Open: 208 files/sec
- Directory Scan: 717 files/sec
- File Delete: 370 files/sec
-
- Seek/Read: 900 seeks/sec
-
- Testing with a 262144 byte, MEMF_FAST, LONG-aligned buffer.
- Create file: 4620288 bytes/sec
- Write to file: 8060928 bytes/sec
- Read from file: 8093696 bytes/sec
-
- This is very impressive speed. If properly bug-fixed and less
- crippled, this program would be the best shareware disk cache available.
-
-
- BUGS
-
- Unfortunately, there seem to be bugs or incompatibilities in
- FastCache. It does not run at all on some systems, on others it LOWERS
- throughput, and on some it runs fine until it one day crashes and causes
- loss of data. Possibly this is not FastCache's fault (a misbehaved program
- which does a write to a portion of the memory allocated to FastCache would
- cause corrupt data), but equally likely it is. Anyway, if you do not use
- write-back you will not lose data, so stay safe and disable that feature if
- you cannot afford to have files destroyed. This is sound advice and goes
- for ALL disk caches which can do write-back.
-
-
- FUTURE PLANS
-
- According to the author, the following features are planned for
- future versions of FastCache:
-
- - GUI.
- - Stats-program.
- - Complete rewrite of FastCache, with time critical sections done in
- assembly.
- - Buffer for small writes, to speed up small write operations.
- - AREXX port.
- - Ability to specify multiple devices to cache (ie: you could specify
- that trackdisk.device 0 and 1 and scsi.device 6 should be cached,
- where the most used device will get most of the cache, resulting
- in more efficient use of memory when multiple devices are cached).
-
-
- CONCLUSIONS
-
- Anyone who moves lots of little files, scans large directories, has
- a slow hard drive, handles mail, or reads large data files from disk would
- probably benefit from a disk cache. At present, I'd have to recommend
- FastCache or SmartDisk over the others. It's true that FastCache does have
- problems on some systems, but it runs beautifully for me and is not
- crippled, so you can really try it out under the three trial months you are
- allowed before registering. SmartDisk is pretty limited, but is free, and
- has no bugs known to me. If PowerCache gets properly debugged, it will be
- the best shareware disk cache, but until then I don't feel I can recommend
- it.
-
- If stability and safety is REALLY an issue, you might wish to check
- out the commercial disk caches. I can't really say if they're good or not,
- as I've not used them, but generally commercial software's more stable than
- its public domain or shareware counterparts.
-
-
- MVH: Mike Noreen InterNet: radharc@p14.anet.bbs.bad.se
- FidoNet: 2:201/411.14
-
-
- ---
-
- Daniel Barrett, Moderator, comp.sys.amiga.reviews
- Send reviews to: amiga-reviews-submissions@math.uh.edu
- Request information: amiga-reviews-requests@math.uh.edu
- Moderator mail: amiga-reviews@math.uh.edu
- Anonymous ftp site: math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews
-