Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Measuring Performance on SSDs (Solid State Drives) and CacheCade Virtual Disks

Summary: This article provides information on "measuring performance on SSDs and CacheCade™ virtual disks".

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Instructions

CacheCade Overview

CacheCade provides cost-effective performance scaling for database-type application profiles in a host-based RAID environment by extending the PERC RAID controller cache with the addition of Dell-qualified Enterprise SSDs.

CacheCade identifies frequently-accessed areas within a data set and copies this data to a Dell-qualified, Enterprise SSD (SATA or SAS), enabling faster response time by directing popular Random Read queries to the CacheCade SSD instead of to the underlying HDD.

Supporting up to 512 GB of extended cache, CacheCade SSDs must all be the same interface (SATA or SAS) and will be contained in the server or storage enclosure where the RAID array resides. CacheCade SSDs will not be a part of the RAID array.

CacheCade is a standard feature on, and only available with, the PERC H700/H800 1 GB NV Cache and  PERCH710/H710P/H800 RAID controller.

CacheCade SSDs can be configured using the PERC BIOS Configuration Utility or OpenManage.

CacheCade Using Solid State Drives
 
Dell OpenManage Server Administrator Storage Management User's Guide


CacheCade is used to improve random read performance of the Hard Disk Drive (HDD) based Virtual Disks. A solid-state drive (SSD) is a data storage device that uses solid-state memory to store persistent data. SSDs significantly increase the I/O performance (IOPS) and/or write speed in Mbps from a storage device. With Dell Storage Controllers, you can create a CacheCade using SSDs. The CacheCade is then used for better performance of the storage I/O operations. Use either Serial Attached SCSI (SAS) or Serial Advanced Technology Attachment (SATA) SSDs to create a CacheCade. 
 
CacheCade Using Solid State Drives
 
Dell OpenManage Server Administrator Storage Management User's Guide


CacheCade is used to improve random read performance of the Hard Disk Drive (HDD) based Virtual Disks. A solid-state drive (SSD) is a data storage device that uses solid-state memory to store persistent data. SSDs significantly increase the I/O performance (IOPS) and/or write speed in Mbps from a storage device. With Dell Storage Controllers, you can create a CacheCade using SSDs. The CacheCade is then used for better performance of the storage I/O operations. Use either Serial Attached SCSI (SAS) or Serial Advanced Technology Attachment (SATA) SSDs to create a CacheCade.
 
Create a CacheCade with SSDs in the following scenarios:  
  • Maximum application performance—Create a CacheCade using SSDs to achieve higher performance without wasted capacity.
  • Maximum application performance and higher capacity—Create a CacheCade using SSDs to balance the capacity of the CacheCade with high performance SSDs.
  • Higher capacity—If you do not have empty slots for additional HDDs, use SSDs and create a CacheCade. This reduces the number of HDDs required and increases application performance.

The CacheCade feature has the following restrictions:  
  • Only SSDs with the proper Dell identifiers can be used to create a CacheCade.
  • If you create a CacheCade using SSDs, the SSD properties are still retained. At a later point of time, you can use the SSD to create virtual disks.
  • A CacheCade can contain either SAS drives or SATA drives but not both.
  • Each SSD in the CacheCade does not have to be of the same size.
  • The CacheCade size is automatically calculated as follows: CacheCade size =capacity of the smallest SSD * the number of SSDs.
  • The unused portion of SSD is wasted and can not be used as an additional CacheCade or an SSD-based virtual disk,
  • The total amount of cache pool with a CacheCade is 512 GB. If you create a CacheCade which is larger than 512 GB, the storage controller still uses only 512 GB.
  • The CacheCade is supported only on Dell PERC H700 and H800 controllers with 1 GB NVRAM and firmware version 7.2 or later, and PERC H710, H710P, and H810.
  • In a storage enclosure, the total number of logical devices including virtual disks and CacheCade(s) cannot exceed 64.

 

Note:
The CacheCade feature is available from first half of calendar year 2011.

     

 

Note:
In order to use CacheCade for the virtual disk, the Write and Read policy of the HDD based virtual disk must be set to Write Back or Force Write Back and read policy must be set to Read Ahead or Adaptive Read Ahead.
 

 

Related articles and whitepapers:

Measuring Performance

Users may not understand the best methods to test SSD and CacheCade™ devices so that they can observe the benefits of solid-state storage. This article attempts to provide guidance on the optimal performance specifications which can be applied generically to most of the performance testing tools. 

The use of performance testing tools to attain optimal performance is, of course, dependant on the level of understanding of the user as to how the device under test is supposed to operate. 

Block-size: SSD and CacheCade devices behave optimally when used with small block sizes rather than large-block. When IO is being read or written, the process of selecting the active cell is electronic and is not dependent on a physical head movement as with mechanical disks. This means that the solid-state devices can respond very quickly to small-block random IO and may achieve greater than 10,000 IOPS where a mechanical disk would struggle to attain greater than 200 IOPS. 

Queue-depth: SSD’s have a deep queue-depth, with most capable of 64 outstanding IO’s, significantly more than that of a standard SAS disk, typically at 16 outstanding IO’s. This deep queue-depth allows much more flexibility to the disk as it lessens the disk’s dependency on the controller to provide IO’s in a timely manner. The controller can maintain the queue when it can, leaving the disk to work through it without having to wait on the controller.

As the technology changes and SSD’s perform more tasks in parallel, the disk queue-depth is likely to deepen again. The performance testing tool needs to be used to probe for the most effective queue-depth, so increasing this queue-depth from time to time may result in better figures with differing devices. 

Cache-bound: It’s important that the performance tool is not cache-bound, that being that all of the IO gets serviced by the controller cache. This occurs when the test-file size is incorrectly specified and is able to fit completely into the controller cache. When this occurs, the IO’s never reach the disks and the performance returned for IO is usually limited by the speed of the PCI bus, therefore false performance figures of more than 3GB/sec can be observed. Always overwhelm the cache by selecting a test-file size of greater than that of the controller cache. 
  
 
CacheCade
 
CacheCade must be benchmarked differently to standard SSD drives as this technology is only used to cache read requests, not write requests. A challenge is therefore created when a user wishes to benchmark a CacheCade solution as the standard methodology of just reading or writing blocks will not provide the expected results unless the cache is prepared.

To further describe this characteristic of CacheCade, consider a situation where mechanical disks are only read-cached and you wish to run IOMeter to validate that CacheCade is capable of providing the performance expected of it. IOMeter will first create a test file from which it will carry out it’s IO operations, this file is written to the target storage, therefore the file is not cached by CacheCade. IOMeter will then start to carry out it’s IO operations on the file, but as we already understand it’s not currently in the cache, so the initial IO operations will be carried out on the mechanical disks. This initial cache-miss (where the data requested is not available in the cache) negatively affects the first part of the performance analysis, so steps need to be carried out to eliminate this performance hit from the statistics. CacheCade also implements caching on data hot-spots only, meaning that data needs to be frequently accessed before it becomes cached; we also need to overcome this effect to measure the performance at a practical level.

To achieve our expectations we need to ensure that the test file is accessed enough to cause it to be cached. To do this, leave IOMeter running a read test for an extended period of time. Bear in mind that the size of the test file and the speed of the IO operations in MD/sec will determine how long it takes for the file to become cached. The file needs to be read MULTIPLE times before it becomes cached, so you could aim to read the file an equivalent of 5 times by dividing the size of the file by the speed in MB/sec * 5.

For example, a test file of 4GB, being read at 40MB/sec = 100 seconds * 5 = 500 seconds.

For this example, you would need to leave a READ test running for a minimum of 8.5 minutes for the equivalent of 5 read operations to be carried out over the whole file. This time is called the ‘warm-up time’ for the cache.

After completing more than 8.5 minutes of warm-up, terminate the performance test. This will leave IOMeter’s test target file still cached as there will not be any process to flush the data from CacheCade as the file is retained after the application is closed. Then restart the same performance application and select the same target drives. When IOMeter now starts to read from the file, the data will already be in cache (a cache-hit) and the performance should resemble that of CacheCade in an optimised state. 

Key points:

When running other performance measurement tools there are some configuration recommendations which should be followed. 

For SSD and CacheCade:  

  • Block-size: To measure IOPS, use a block-size which matches the disk sector size as this will give the highest count of efficient transactions. This value should be 4kB. Picking a smaller block-size will be inefficient as the whole 4k disk sector will still have to be read/written to; picking a larger block-size won’t provide a valid measurement of IOPS. 
  • Queue-depth: Provide at least 64 outstanding IO’s (also known as "QD"). Scale the queue-depth through 96, 128 and 256, re-running the test each time to see where the performance flattens off.

For SSD specifically:

Test file size: Choose a test file size which will be bigger than the first-level cache. On a PERC H700 & H710 this is either 512MB or 1GB, on a PERC H710p this is 1GB. Smaller file sizes will allow the controller to carry out all IO operations in cache, providing an invalid result. 

For CacheCade specifically:

Cache warm-up: CacheCade caches read operations only. Warm-up the cache by running the same benchmark to create significant numbers of reads from the test file before launching a full performance test. The larger the data-set (test file), the longer the warm-up. Some performance tools such as fio in linux provide for a ramp-time option to allow for this. 

Article Properties


Affected Product

Servers

Last Published Date

22 Feb 2022

Version

7

Article Type

How To