IBM FlashSystem V840 and Comprestimator
IBM Redbooks Solution Guide
Published 18 January 2015
Authors: Helmbrecht Detlef, James Thompson
This IBM Redbooks Solution Guide provides an overview of IBM FlashSystem™ V840 running with IBM Real-time Compression™ (RtC).
This solution guide focuses on estimating capacity savings by using the Comprestimator utility. It also focuses on performance analysis by using FlashSystem V840 with RtC.
This IBM® Redbooks® Solution Guide provides an overview of the IBM FlashSystem™ V840 running with IBM Real-time Compression™ (RtC). This solution guide focuses on estimating capacity savings by using Comprestimator. It also focuses on performance analysis by using FlashSystem V840 with RtC. Figure 1 shows possible savings when data is placed on a FlashSystem V840 with RtC.
Figure 1. FlashSystem V840 home GUI
Figure 1 shows an 827 GiB savings (635 GiB thin-provisioning savings plus 192 GiB compression savings). Without compression, 1.43 TiB is used. The actual used capacity is 1.43 TiB – 192.26 GiB = 1.24 TiB.
Did you know?
FlashSystem V840 with RtC offers these benefits:
- FlashSystem V840 is an all flash array that can accelerate mission-critical applications.
- You can scale up to 1.2 M I/O per second (IOPS) and 1.6 PB effective capacity when you use IBM RtC.
- Up to four FlashSystem V840 building blocks can be clustered into a single storage system, multiplying performance and capacity with each addition.
- The new IBM FlashSystem V840 Control Enclosure (9846-AC1 or 9848-AC1) includes the use of the compression accelerator card, which accelerates RtC performance up to 5x.
- You can achieve advanced virtualization, provisioning, and performance management with IBM SmartCloud Virtual Storage Center (VSC).
- The IBM Comprestimator tool can be used to estimate expected compression rate for block devices.
IBM FlashSystem storage products have extremely low latency. They can be integrated into your existing environment to minimize I/O wait time and increase database performance. Figure 2 shows the FlashSystem V840 product.
Figure 2. FlashSystem V840
FlashSystem products offer these advantages:
- Extreme Performance: These products enable the business to unleash the power of performance, scale, and insight to drive services and products to market faster.
- IBM MicroLatency™: MicroLatency delivers response time in microseconds to accelerate critical applications to achieve competitive advantages.
- Macro Efficiency: These products are driven by the consolidation of hardware and software, deployment speed, efficient use of IT staff, and power and cooling savings.
- Enterprise reliability: Durable and reliable designs use enterprise-class flash and patented data protection technology.
- Data reduction: RtC provides a significant reduction in the amount of storage capacity that is needed.
Use FlashSystem products to improve response time, increase the number of transactions that can be processed, save storage capacity by using RtC, and save time when making copies or mirrors of the data. You can reduce the total cost of ownership (TCO) with FlashSystem products by consolidating storage to reduce costs for administration, disk capacity, floor space, power, and cooling. FlashSystem V840 has low-power consumption and efficient cooling. FlashSystem V840 provides up to 48 TB of storage, storage virtualization, and advanced features in a small, 6U design.
In recent years, the demands that are placed on application servers, and therefore the amount of stored data, increased dramatically. Data growth is a factor or a combination of many different sources:
- Business growth of current applications
- New applications for new markets or business targets
- Big data and business analytics
- Compliance needs
This data is also backed up and often replicated to other sites for availability or recovery purposes. Most of this data is on primary disks. As data grows, the overall application performance decreases. This issue is an effect of larger disks. The number of IOPS per disks does not change and therefore the IOPS per used GB declines. Another factor of decreasing performance is the load on the storage systems. More load eventually causes higher latency and reduced response time that affects users.
Most IT departments initially add processors and memory to servers or add servers to server farms to increase performance. However, adding processors, memory, and servers will not help if the same slow storage is used. Adding memory helps only those applications that are able to use it and where the system memory is a constraining factor.
In many cases, the money spent on this first approach can be significant; however, the return is often disappointing. This approach often does not detect the true cause of poor application performance: the gap between processor performance and storage performance.
When system administrators look to storage to resolve performance problems, they frequently try several approaches:
- Increase the number of disks. Adding disks to just a bunch of disks (JBOD) or RAID configurations is one way to improve storage performance. By increasing the number of disks, the I/O from application can be spread across more physical devices. This approach will increase the I/O capacity because I/O growth is a linear function when increasing the drive count. However, this approach has little effect on the bottleneck if the performance issue relates to latency. You can scale I/O and bandwidth with disks if you have the space and budget to do so, but you cannot gain the benefit of microsecond latency no matter how many disks you add.
- Move the most frequently accessed files to their own disk. This approach delivers the best I/O available from a single disk drive. The I/O capability of a single hard disk drive (HDD) is limited. At best, a single disk drive can provide hundreds of IOPS versus thousands of IOPS for FlashSystem storage. Latency is the measure of how long it takes for a single I/O request to be requested and completed from an application's point of view. FlashSystem V840 combines the low latency at 200 μs and over 520.00 IOPS to provide extreme performance and MicroLatency for critical business needs. Moving frequently accessed files to their own disk is not always inexpensive or easy to implement because it requires tiering and analyzing workloads, tuning applications, and validating results. Depending on where the segregation happens (disk, solid-state drive (SSD), or Flash), the results vary for IOPS, bandwidth, and latency.
Another solution to the performance gap is to implement SSDs for the most frequently accessed application components. Many administrators use SSD storage with servers and implement in-server Flash PCI Express (PCIe) cards. It is important to consider the performance and availability of various types of flash storage. It is also important to distinguish between FlashSystem products and the other types of flash storage available. Form-factor SSD technologies are limited by the speed of SCSI controllers. Many PCIe solutions require additional software to manage operations and secure the data. FlashSystem V840 provides much faster access than any of these other solutions. When servers wait on storage, users wait on servers. This time is I/O wait time. FlashSystem storage systems are designed to minimize I/O wait time by providing a fast, hardware-only data path. Although multiple HDDs can be stacked to obtain thousands of IOPS, this type of solution soon reaches a point of diminishing return where the costs of power, floor space, and air conditioning become prohibitive.
Therefore, IT departments face two major challenges:
- Data growth
- Application response time reduction
IBM FlashSystem V840 addresses both of these challenges. Data can be dramatically reduced by using the RtC feature of FlashSystem V840. The application response time can be reduced to 200 µs latency.
Comprestimator is a command-line host-based utility that can be used to estimate the expected compression rate for block devices. The Comprestimator utility uses advanced mathematical and statistical formulas to perform the sampling and analysis process in a short and efficient way. The utility also displays its accuracy level by showing the maximum error range of the results that are achieved based on the formulas that it uses. The utility runs on a host that has access to the devices that will be analyzed, and the utility performs only read operations so it has no effect on the data that is stored on the device.
The following section provides useful information about installing Comprestimator on a host and using it to analyze devices on that host. Depending on the environment configuration, in many cases Comprestimator will be used on more than one host to analyze additional data types.
Comprestimator is supported. At the time that this solution guide was written, Comprestimator can be used on the following client operating system versions:
- Microsoft Windows 2003 Server, Windows 7, Windows 2008 Server, Windows 8, and Windows 2012
- ESXi 4 and 5
- IBM AIX® 6.1 and 7
- Red Hat Enterprise Linux Version 5.x and 6
- HP-UX 11.31
- Sun Solaris 10 and 11
- SUSE SLES 11
- Ubuntu 12
- CentOS 5.x
Use the following installation instructions for the Comprestimator tool.
Comprestimator can be installed only on supported Windows operating systems (see previous list). After the installation completes, the binary files for other supported operating systems are available in the Windows installation folder.
By default, the files are copied to these directories:
- In Windows 64 bit: C:\Program Files (x86)\IBM\Comprestimator
- In Windows 32 bit: C:\Program Files\IBM\Comprestimator
After you transfer the operating system-dependent Comprestimator tools, follow the installation instructions that are provided on the Comprestimator download page.
Example of using Comprestimator
The program invocation differs by operating systems, but the output is the same. The following example shows Comprestimator on IBM AIX.
The following example shows the Comprestimator syntax:
Comprestimator version: 18.104.22.168 (Build w0087)
comprestimator [-h | -d device] [-c filename] [-v] [-p number_of_threads] [-P] [-I] [--storageVer=version] [--config=task_file]
-d device name Path of device to analyze (for example: /dev/hdisk0)
-p number Number of threads (default 10)
-c Export the results to a comma-separated value (CSV) file
-v Verbose output
-h Print this help message
-P Display results by using a paragraph format
-I Allow a larger scale of storage I/O-error threshold rate (up to 5%)
--config=file Configuration file that contains a list of devices to analyze
--storageVer=version Target Storwize®/SAN Volume Controller/Flex storage system version.
The options include 6.4, 7.1, 7.2, or 7.3; the default is 7.
Figure 3 shows the Comprestimator results.
Figure 3. Comprestimator results
Table 1 shows explanations of the Comprestimator results.
Table 1. Comprestimator results and explanations
|Sample#||The number of the current sample reported.|
|Device||The device name that is used in the scan.|
|Size (GB)||The total size of the device as reported by the operating system, in gigabytes.|
|Compressed Size (GB)||The estimated size of the device if it will be compressed by using FlashSystem V840 RtC, in gigabytes.|
|Total Savings (GB)||The total estimated savings from thin-provisioning and compression, in gigabytes.|
|Total Savings (%)||The estimated savings from thin-provisioning and compression, in percentage of the size of the device.|
This value is calculated in the following method:
Total Savings(%) = 1-(Compressed Size(GB)/Size(GB))
|Thin Provision Savings (%)||The estimated savings from thin provisioning (areas with zeros are stored using minimal capacity).|
|Compression Savings (%)||The estimated savings from compression.|
|Compression Accuracy Range (%)||The accuracy of the estimate that is provided by Comprestimator. The results that are provided are estimated based on samples from the device and therefore can be lower or higher than the actual compression that will be achieved. The approximate accuracy of the results is represented as a percentage of the total size of the device.|
For example, if the estimated Compression Savings (%) is 67%, and the Compression Accuracy Range is 5%, the actual compression savings (in a percentage) if this device will be compressed on FlashSystem V840 is 62% - 72%.
In this example, a generic (fully allocated) FlashSystem V840 volume was used. After you add a compressed mirrored copy to the volume, you can see the results by using the FlashSystem V840 GUI or by using the command-line tool. Figure 4 depicts the Volume list in the GUI of the overall information.
Figure 4. FlashSystem V840 GUI: Volume list
To see all of the capacity information, you will need to extend the normal view, as shown in Figure 5.
Figure 5. Properties view of volume Database_RTC
The fully allocated volume Database_RTC has a capacity of 200 GiB. Table 2 shows the size of the uncompressed fully allocated volume (Copy 0), the RtC mirror (Copy 1), and the estimated size that is provided by Comprestimator. The compression savings of the controller nodes are within the Comprestimator provided result range.
Table 2. Estimated and RtC savings
|Copy||Host capacity (GiB)||Used (before compression)||Real capacity (GiB)||Used capacity (GiB)||Compression savings (%)|
|200||55.5||67.3 - 77.3|
It is important to understand the block-device behavior when you analyze traditional (fully allocated) volumes. Traditional volumes that were created without initially zeroing the device might contain traces of old data in the block-device level. This old data is not accessible or viewable at the file system level. When files are deleted from a file system, the space that they occupied before they were deleted is freed and available to the file system even though the data on the disk was not actually deleted; instead, the file system index and pointers were updated to reflect this change. Therefore, inactive data exists at the block-device level that is not shown at the file system level.
When you use Comprestimator to analyze these volumes, the expected compression results reflect the compression rate that will be achieved for all data in the block-device level, including the traces of inactive data. This analysis simulates the volume mirroring processing of the analyzed device into a compressed volume. Later, when volume mirroring is used to compress the data on the storage system, it processes all data on the device (including both active data and inactive data) and compresses it. When storing more active data on the compressed volume later, traces of inactive data are deleted by the new data that is written onto the volume. As more active data accumulates on the device, the compression rate that is achieved is adjusted to reflect the accurate savings that are achieved for the active data. This block-device behavior is limited to traditional volumes. This behavior does not occur when you analyze thinly provisioned volumes.
To reduce the impact of the block-device and file system behavior, use Comprestimator to analyze volumes that contain as much active data as possible rather than volumes that are mostly empty. This approach increases the accuracy level and reduces the risk of analyzing old data that is already deleted but might still have traces on the device.
IBM FlashSystem V840 flash technology with RtC is available as a solution in a compact 6U form factor. FlashSystem V840 improves business application availability and delivers greater resource usage so that you can get the most from your storage resources, and achieve a simpler, more scalable, and cost-efficient IT Infrastructure. By using the IBM Storwize family functions, management tools, and interoperability, this product combines the performance of FlashSystem architecture with the advanced functions of software-defined storage to deliver performance, efficiency, and functions that meet the needs of enterprise workloads that demand IBM MicroLatency™ response time.
FlashSystem V840 is a rack-mounted, shared flash storage device that is based on enterprise multilevel cell (eMLC) flash technology. It provides macro efficiency with up to 40 TB of protected capacity in a 6U form factor, enterprise reliability through IBM Variable Stripe RAID™ and two-dimensional flash RAID, and extreme performance with MicroLatency. FlashSystem V840 provides advanced data services, including business continuity with replication services, data protection with IBM FlashCopy® services, and higher storage efficiency with thin provisioning, RtC, IBM Easy Tier®, external virtualization, and space-efficient copies. The FlashSystem V840 baseline configuration consists of the following components:
- Two FlashSystem V840 control enclosures
- One FlashSystem V840 storage enclosure
Real-time Compression running on two cores (dual instance)
FlashSystem V840 Software V7.4 includes the potential for improvements to RtC performance by taking greater advantage of the processor cores that are available to it, and by running a second instance of RtC. You must refer to the product documentation for the exact prerequisites for taking full advantage of this capability. At the time of this release, FlashSystem V840 can take advantage of this capability when using the control enclosures and the compression acceleration cards. Each of the two controller nodes has six slots for PCI cards. Slot 4 and slot 6 are reserved for the RtC accelerator cards (Figure 6). You can configure FlashSystem V840 either without compression acceleration cards or with two compression acceleration cards per controller node.
Figure 6. FlashSystem V840 rear view
Figure 7 shows the FlashSystem V840 Real-time accelerator card.
Figure 7. FlashSystem V840 Real-time accelerator card
FlashSystem V840 thin provisioning enables the storage to present the required capacity to the host while it allocates only the actual used capacity in terms of space on the physical storage media. FlashSystem V840 RtC uses thin provisioning (Figure 8).
Figure 8. Traditional volume compared to a thin-provisioned volume and to a compressed volume
IBM Easy Tier is a performance function that automatically and nondisruptively migrates data to adequate performance tiers. Three tier levels exist:
- Flash: Used for frequently accessed data
- Enterprise: Used for normally accessed data
- Near line: Used for the least accessed data
The Easy Tier algorithm moves data according to different parameters, such as the data usage, cost of migration, and usage of the tiers, to higher or lower tiers. When you use RtC, the data from different source blocks can be compressed together and written in only one block to a new location on the storage enclosure. With RtC, the writes are always new blocks for the Easy Tier layer. Therefore, Easy Tier considers block reads only when it is used in combination with RtC.
RtC savings depend on the data. Table 3 shows an overview of typical savings by using RtC.
Table 3. Overview of typical savings by using RtC
|Databases||50 - 80%|
|Office 2003||40 - 60%|
|Office 2013||5 - 20%|
|Server virtualization||45 - 70%|
|Seismic data, oil, and gas||40 - 70%|
|Engineering Data, CAD, and CAM||50 - 80%|
|30 - 60%|
RtC excels in production I/O workloads while using system resources efficiently. The type of data determines potential compression savings. The following suggestions can help you to select adequate candidate volumes for compression:
- To achieve a high compression ratio, use compressible data. The previous table lists common applications that provide a high compression ratio. Storing these data types on a compressed volume saves disk space and improves the benefit of using compression with FlashSystem V840.
- Use compression on homogeneous volumes, which are volumes that contain the data of one application or data with the same expected compression factor.
- Avoid using any client, file system, or application compression when you use IBM SAN Volume Controller.
- Avoid FlashSystem V840 compressed volumes. In most cases, data that is already compressed cannot achieve significant additional savings by compressing it again.
- Avoid using any client, file system, or application encryption when you use FlashSystem V840 compressed volumes. Encrypted data is not compressible.
- Avoid the compression of FlashSystem V840 volumes that are used to store homogeneous or heterogeneous data types that contain compressed data or compressed file types.
To get the best information about savings, start by using the Comprestimator utility to see whether your data is a good candidate for compression. This host-based utility offers fast and accurate estimates of an expected compression rate for block devices. Use Comprestimator to estimate the compression ratio and to implement compression on volumes that have a compression ratio above 40%. Evaluate the workload on volumes with a low compression ratio (< 40%).
Figure 9 shows various types of application-dependent volumes and their compression savings.
Figure 9. FlashSystem V840 GUI information about compression savings
IBM continuously tests and approves the interoperability of IBM products in different environments. You can search the interoperability results at the IBM System Storage® Interoperation Center (SSIC).
You must check the IBM SSIC to get the latest information about supported operating systems, hosts, switches, and so on:
See the following link for the announcement letter and ordering information for IBM FlashSystem V840 Software V7.4, which improves the performance of RtC and includes license compatibility with SmartCloud Virtual Storage Center:
For more information, see the following documents:
- IBM Redpaper™ publication: Accelerate with FlashSystem V840 Compression, REDP-5147:
- IBM Redbooks publication, IBM SAN Volume Controller 2145-DH8 Introduction and Implementation, SG24-8229:
On this page, enter FlashSystem V840 Comprestimator, select the information type, and then click Search. On the next page, narrow your search results by geography and language.
Others who read this publication also read
This material has not been submitted to any formal IBM test and is published AS IS. It has not been the subject of rigorous review. IBM assumes no responsibility for its accuracy or completeness. The use of this information or the implementation of any of these techniques is a client responsibility and depends upon the client's ability to evaluate and integrate them into the client's operational environment.
Follow IBM Redbooks
Follow IBM Redbooks