FancyCache Benchmark with Iometer (1) Defer-Write
Iometer (website) is an I/O subsystem measurement and characterization tool and is widely used within the storage industry. Here we use it to test the performance of the FancyCache product.
Hardware Platform:
Motherboard: ASUS P6T SE
CPU: Intel i7-950 3.06GHz
RAM: 4GB x2 = 8GB, DDR3-1600
Hard disk #1: ST31000528AS (in which OS was installed)
Hard disk #2: OCZSSD2-2VTX40G (target drive)
SATA mode: ACHI
Software Version:
OS: Microsoft Windows 7 Ultimate (64bit)
Iometer: 2008-06-22-rc2
FancyCache: Disk Edition, 0.5.0
File System (Target Drive):
NTFS
Cluster Size: 4KB
1 partition only, aligned for SSD
Defer-Write Performance Testing
Testing Preparations
Testing Items:
Transfer Size (bytes): 1M, 512K, 256K, 128K, 64K, 32K, 16K, 8K, 4K, 2K, 1K, 512
100% Write
100% Random & 100% Sequential
32 Outstanding IOs & 1 Outstanding IO
Other Iometer Specifications:
Run time: 5 minutes per item
No I/O alignment (Align IOs on Sector Boundaries)
Below is an example of Access Specification,
Sequence of Testing Items in One Batch Run:
1MB 100% random
512KB 100% random
...
512B 100% random
1MB 100% sequential
512KB 100% sequential
...
512B 100% sequential
Total time in one batch run: 24 * 5 Minutes = 2 Hours
Secure-erase drive after batch run testing to ensure performance consistency. (Specific to Solid-State Drives)
FancyCache Settings:
Block Size: 4KB & 16KB
Cache Size: 1024MB
Algorithm: LFU-R
Caching Strategy: Read/Write
Defer-Write on: latency 10 sec
L2 Caching: off
Testing Results
Scenario #1: Full range testing, covering the whole drive (drive size 40GB >> 1GB Cache Size)


Scenario #2: limited range testing, less than cache size
(Specify Maximum Disk Size in Iometer: 2,000,000 Sectors, ~976MB < 1024MB Cache Size)
FC050(4KB): FancyCache 0.5.0, Block Size: 4KB
FC050(16KB): FancyCache 0.5.0, Block Size: 16KB
Comments
1. In scenario #1, Iometer writes a large test file (about 40GB) which covers the whole drive when preparing the testing, leading to the full comsumption of the cache. When the cache is full, FancyCache is busy emptying cache and writing data back to the drive. This is the worst case. In scenario #2, the whole test file prepared by Iometer is about 976MB which less than cache size. All testing data can be hold in cache. This is the best case and the performance is surprisingly great.
2. From the testing results, we can see that generally the performance of Defer-Write is greater than that of SSD itself, whether it is under the worst case or not. We also see the great performance boost in “1 Outstanding IO” testing even FancyCache works under the worst case.
3. With Defer-Write, FancyCache can combine neighbouring small writes into one large write and align writes with SSD’s erase block boundary. This feature brings the performance boost: Performance of sequential write (512B~8KB) is improved greatly, even 5 times greater than the original performance.
E-mail To:



