Example: Utilize Invisible Memory

As is well known, 32-bit Windows desktop operating systems only use 2.75~3.5GB physical memory even though 4GB or more is installed. The unused part of memory is called Invisible Memory. This document gives an example of how to use Invisible Memory as cache. Comparison measurements show the performance improved by the cache.

Testing Platform

Motherboard: ASUS P6T SE (Intel X58 + ICH10R)
CPU: Intel Core i7-950 @ 3.06GHz
RAM: 12GB (4GB x 3, DDR3-1600)
Hard disk: Seagate ST31000528AS(SATA 3Gb/s, 1TB, 7200RPM, 32MB Buffer)
OS: Microsoft Windows 7 Ultimate (x86)
PrimoCache: version 1.0.1

Before Measurement

In order to minimize the effect of Window native cache system and make the result sensible, here we build up a high-load running environment where some large-scale applications are running simultaneously and the available memory has only about 700MB left.

Use Invisible Memory fig 1

Measurement A: Without PrimoCache

Step 1. Copy large files on one partition (here drive P:) to another partition (here drive N:). The total file size copied is about 9GB. This size is large enough to ignore the effect of Windows cache system because current windows only has about 700MB memory available for its internal cache.

Step 2. Repeat step 1 again and overwrite the files on drive N:. Time this copy process. In this measurement, it took about 3'35". The write speed is about 45MB/s.

Use Invisible Memory fig 2

Measurement B: With PrimoCache

Now, create a cache task on drive P: with about 9GB Invisible Memory as level-1 cache.

Use Invisible Memory fig 3

Do the same measurement as described above. And now the copy process took only about 1'27" and the write speed increases to about 106MB/s, 2 times faster than measurement A.

Use Invisible Memory fig 4