白皮書

Caching Software Performance: FlashSoft 3.7 for Linux

Introduction

The objective of this paper is to observe performance gains that can be achieved on a Linux server with the application of a host-based SSD cache controlled using FlashSoft® software. Red Hat Enterprise Linux 6.5 was installed directly on server hardware in a “bare metal” (not virtualized) system configuration. Write-through and write-back cache performance was compared to an all-HDD baseline using a synthetic workload generated and measured by the benchmark program fio.exe.

 

System Under Test

The test server was configured as described below:

Hardware

  • Server: Dell™ PowerEdge™ R720xd
    • CPU: 2x Intel® Xeon® E5-2620 @ 2.0GHz, 12 cores total
    • System Memory (RAM): 128GB
    • Storage Controller: Dell PERC H730P RAID controller (embedded); cache size: 1024MB
  • HDD Storage: 3x 500GB SAS 6Gb/s 7.2K RPM, Seagate ST500NM0001 (target); 1x 2TB SATA 7.2K RPM (OS)
  • Flash Memory (SSD): 1x 400GB SAS 6Gbps, SanDisk Optimus Ascend (cache)

Software

  • System Software
    • Operating System
  • Red Hat Enterprise Linux 6.5 (kernel version 2.6.32-431.el6.x86_64)
    • MegaRAID® Storage Manager (version 9.00.0100)
  • Benchmark Program)
    • fio.exe (version 2.1.1)
  • Caching Software
    • FlashSoft® for Linux (version 3.7.0)
  • “fiodrv” driver version 4.0.5.60259
 

Test Procedure

The benchmark test was conducted multiple times to measure and compare performance of the non-accelerated HDD storage backend and the same HDD backend accelerated using FlashSoft software in write-through and write-back modes of operation.

The testing procedure is described below:

  • Install and configure the Linux operating system.
  • Configure the storage to be tested.
  • Install and configure flash memory (SSD) and FlashSoft software.
  • Install the fio.exe benchmark test software.
  • Conduct benchmark tests to measure:
    • Baseline performance of HDD storage without caching.
    • Accelerated performance of storage using write-through caching mode.
    • Accelerated performance of storage using write-back caching mode.

 

Testing Cached Configurations

In order to consistently measure the performance of cached configurations, the cache was completely flushed after each individual test and “pre-warmed” immediately before conducting the next benchmark test using the same warmup workload.

 

Test Configuration

Storage

RAID Controller: The following settings were used for all storage for the tests:

  • Strip Size: 64KB
  • Access Policy: Read Write
  • Disk Cache Policy: Disabled
  • Read Policy: Always Read Ahead
  • IO Policy: Direct IO
  • Write Policy: Always Write Back (although the RAID controller contains some onboard cache, its small size relative to storage and the external cache did not adversely affect test performance)
  • Patrol Read Mode: Disabled

OS HDD: A single 2TB SATA 7.2K RPM HDD contained the server operating system.

Target HDD: A virtual disk was created using direct attached storage for testing write-through and write-back caching performance. The virtual disk consisted of three 500GB SAS 7.2K RPM HDDs configured using RAID 5 and partitioned as a 100GB data volume for benchmark testing. Additional capacity was left unformatted and unused.

Cache SSD: A single 400GB SAS SSD was configured using RAID 1 and partitioned as a 30GB cache volume for benchmark testing. Additional capacity was left unformatted and unused.

Data to Cache Ratio: The partitioned sizes of data (100GB) and cache (30GB) were selected to emulate the 30% cache-to-dataset ratio commonly encountered in production environments.

 

Benchmark Software

The benchmark tests were executed using the following commands:

Warmup: Prior to each measured test the cache was warmed up with three sequential passes of the following script to apply weighted hotspot distribution across two distinct regions of the workload.

[global] 
rw=randrw 
ioengine=libaio 
direct=1 
filename=/dev/sdc 
randrepeat=0 
norandommap 
rwmixread=80 
thread 
runtime=1200 
time_based=1 
exitall

[job1] 
size=10G 
iodepth=32 
bs=4k 
flow=-1

[job2] 
offset=10G 
iodepth=32 
bs=4k 
flow=5

; End of Job file

 

Benchmark Test: After the preconditioning sequence, the performance test was run with the following parameters:

  • 4KB block size with aligned transfers
  • 100% random distribution
  • 80/20 read-write mix
  • Queue depth = 32
  • Two weighted jobs spanning different regions of the workload (job1=10%, job2=90%)

 

[global] 
rw=randrw 
ioengine=libaio 
direct=1 
filename=/dev/sdc 
randrepeat=0 
norandommap 
rwmixread=80 
thread 
ramp_time=1200 
runtime=1200 
time_based=1 
exitall

[job1] 
size=10G 
iodepth=32 
bs=4k 
flow=-1

[job2] 
offset=10G 
iodepth=32 
bs=4k 
flow=5

; End of Job file

 

Workload Configuration

The benchmark test was configured to run two jobs simultaneously and the aggregate performance numbers were totaled and used for comparison. Job1 was restricted in size to a 10GB region of the target storage (size=10G) with a higher density of IO traffic (flow=-1). Job2 was assigned to the remainder of the storage (offset=10G) with a lower density of IO traffic (flow=5). The objective was to create an 80/20 split of all IOs across a 10/90 split of the storage – thus driving 80% of all IO traffic within 10GB of disk space. This scenario intensifies the workload IO while at the same time ensures the entire target storage is utilized during the test.

 

Measured Results

Tables

 

Charts

Analysis / Conclusion

Data measured using FlashSoft software show noticeable improvement of performance compared to the baseline across all measured parameters. When operated using write-through cache mode, FlashSoft doubled IOPS performance and reduced latency by half compared to the baseline. Write-back cache mode doubled the performance of write-through mode providing nearly five times IOPS performance compared to the baseline and reduced latency nearly 80%. Comparable increases in CPU utilization when caching was applied illustrate the ability of FlashSoft software to reduce I/O “bottlenecks” and allow the system to operate more efficiently.

This test was conducted using synthetic data generated by the benchmark program fio.exe, the workload was constructed to incorporate a mixed ratio of random reads and writes, operate disparate workload jobs, utilize a cache limited in size to 30% of the entire workload and forced to span the entire storage backend. In actual application, performance will vary depending upon the specifics of the workload and system configuration; however, as demonstrated by this “torture test” FlashSoft software is capable of significantly enhancing application performance by reducing latency between the host and backend storage.

READY TO FLASH FORWARD?

Whether you’re a Fortune 500 or five person startup, SanDisk has solutions that will help you get the most out of your infrastructure.

VIA
EMAIL

Go ahead, ask us some questions and we'll get back to you with answers.

Let's Talk
800.578.6007

Don't wait, let's just talk now and start building the perfect flash solution.

Global Contact

Find contact information for offices all over the world.

SALES INQUIRIES

Whether you'd like to ask a few initial questions or are ready to discuss a SanDisk solution tailored to your organizations's needs, the SanDisk sales team is standing by to help.

We're happy to answer your questions, so please fill out the form below so we can get started. If you need to talk to the sales team immediately, please phone: 800.578.6007

欄位不能為空。
欄位不能為空。
請輸入有效的電子郵件地址。
欄位只能包含數字。
欄位不能為空。
欄位不能為空。
欄位不能為空。
欄位不能為空。
欄位不能為空。
欄位不能為空。

Please indicate your areas of interest:

你必須選擇一個選項。

Questions or comments:

你必須選擇一個選項。

Thank you. We have received your request.