Overlapped IO Support

Here we make a comparison between ramdisk with Overlapped IO support and that without Overlapped IO support.

The test platform has the following configuration:
physical harddisk: HITACHI HTS541616J9SA00
                          (SATA, 160GB, 5400 RPM, cache size: 8MB, cache to host data rate: 150MB/s)
CPU:Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz, 2194 MHz
physical memory:2GB + 2GB,DDR2-667 SDRAM
OS:Microsoft Windows XP Professional (32bit) SP3

Both test ramdisks are Direct IO ramdisk based on OS managed memory (Visible Memory), and use NTFS file system with default cluster size. Because Atto Disk Benchmark has a bug when transfer rate is over about 1000MB/s, here we use Iometer v2006.07.27 test tool.
Total length: 150MB
Transfer size: 512B, 4KB, 16KB, 32KB, 64KB and 128KB
Test item: 100% sequential read (other test items have similar results, not listed here)
# of Outstanding I/Os: 1, 2, 4

The following graphs show the transfer rate and CPU utilization of these two ramdisks.

note:
Overlapped: ramdisk with Overlapped IO support
Non-overlapped: ramdisk without Overlapped IO support

# of Outstanding I/Os: 1

# of Outstanding I/Os: 2

# of Outstanding I/Os: 4

From the above test results, we find the transfer rate of the ramdisk with Overlapped IO support is slower than that without Overlapped IO support when the number of Outstanding I/Os is only 1. when the number of Outstanding I/Os increases, the ramdisk with Overlapped IO support shows much faster transfer rate than that without this feature.

Conclusion:
It can achieve better access speed with Overlapped IO support under the applications which use greater than 1 Outstanding I/Os. If the application use only 1 Outstanding I/O, it is not recommended to enable Overlapped IO support.