Uploaded by Mark Lehrmann

Adaptive Optimization for HPE 3PAR StoreServ Storage Hybrid storage on HPE 3PAR StoreServ Technical white paper-4aa4-0867enw

advertisement
Adaptive Optimization for HPE 3PAR
StoreServ Storage
Hybrid storage on HPE 3PAR StoreServ
Technical white paper
Technical white paper
Contents
Executive summary .................................................................................................................................................................................................................................................................................................................................3
Storage tiers: Opportunity and challenge ...........................................................................................................................................................................................................................................................................3
Brief overview of volume mapping .......................................................................................................................................................................................................................................................................................... 5
Physical disks ........................................................................................................................................................................................................................................................................................................................................ 5
Logical disks ........................................................................................................................................................................................................................................................................................................................................... 5
Common provisioning groups................................................................................................................................................................................................................................................................................................6
CPGs and workloads ....................................................................................................................................................................................................................................................................................................................... 6
Virtual volumes ....................................................................................................................................................................................................................................................................................................................................6
Requirements .............................................................................................................................................................................................................................................................................................................................................. 6
HPE 3PAR Adaptive Optimization Software ................................................................................................................................................................................................................................................................... 7
CPG as tiers in AO configuration ......................................................................................................................................................................................................................................................................................... 7
Data locality ............................................................................................................................................................................................................................................................................................................................................ 7
Tiering analysis algorithm ......................................................................................................................................................................................................................................................................................................... 8
Average tier access rate densities...................................................................................................................................................................................................................................................................................... 8
Design tradeoff: Granularity of data movement ..................................................................................................................................................................................................................................................10
HPE 3PAR Adaptive Flash Cache.....................................................................................................................................................................................................................................................................................10
HPE 3PAR Thin Deduplication ...........................................................................................................................................................................................................................................................................................10
Implementing Adaptive Optimization ..................................................................................................................................................................................................................................................................................11
Sizing for Adaptive Optimization ....................................................................................................................................................................................................................................................................................... 11
Configuring AO using IOPS and Capacity Targets ............................................................................................................................................................................................................................................ 11
Configuring AO using region I/O density reports .............................................................................................................................................................................................................................................. 13
Scheduling AO Policies............................................................................................................................................................................................................................................................................................................... 17
StartAO Output .................................................................................................................................................................................................................................................................................................................................18
Using AO configuration with VVsets ............................................................................................................................................................................................................................................................................20
Adaptive Optimization with Remote Copy ............................................................................................................................................................................................................................................................... 21
Use case..........................................................................................................................................................................................................................................................................................................................................................21
Accelerating workloads by adding SSDs.................................................................................................................................................................................................................................................................... 21
Lowering cost per GB by configuring a three-tier configuration with SSD, FC, and NL ................................................................................................................................................ 23
Summary ....................................................................................................................................................................................................................................................................................................................................................... 25
Technical white paper
Page 3
Executive summary
Now more than ever, IT managers are under pressure to deliver the service levels necessary for a wide variety of mission-critical applications at
the lowest possible cost. The introduction of solid-state drive (SSD) technology has created enormous demand for an optimization solution
capable of leveraging this drive class to improve service levels without raising costs. Traditional approaches to service-level optimization have
not been successful in meeting this need due to limitations such as:
• High cost of placing entire volumes onto SSDs
• Inability to scale sub-volume optimization to accommodate large, mission-critical data centers
• Insufficient administrative controls and override mechanisms
• Inability to move data without impacting service levels
• Unproven technologies that introduce unnecessary risk
New opportunities exist to optimize the cost and performance of storage arrays, thanks to the availability of a wide range of storage media such
as SSDs, high-performance hard disk drives (HDDs), and high-capacity HDDs. But these opportunities come with the challenge of doing it
effectively and without increasing administrative burdens.
HPE 3PAR Adaptive Optimization (AO) enables the HPE 3PAR StoreServ to act as a hybrid storage array where the StoreServ can blend
flash-based SSDs and HDDs to provide performance at an affordable price. HPE 3PAR Adaptive Optimization Software delivers the next
generation in autonomic storage tiering by taking a fine-grained, highly automated approach to service-level improvement. Using the massively
parallel, widely striped, and highly granular HPE 3PAR architecture as a foundation, Adaptive Optimization leverages the proven sub-volume
data movement engine built into the HPE 3PAR Operating System Software. The result is highly reliable, non-disruptive, cost-efficient
sub-volume storage tiering that delivers the right quality of service (QoS) at the lowest transactional cost.
Adaptive Optimization enables enterprise and cloud data centers to improve service levels effortlessly, on a large scale and for a lower total cost
than other solutions. This approach enables data centers using HPE 3PAR systems to meet enterprise and cloud performance demands within a
smaller footprint and lower storage equipment cost than by using only Fibre Channel (FC) storage. This level of cost savings is made possible in
part by application-specific thresholds and comprehensive support for thin and fat volumes as well as volume copies. Adaptive Optimization
enables IT managers to react swiftly to changing business needs while delivering service-level improvement over the entire application
lifecycle—autonomically and non-disruptively.
With this highly autonomic technology, IT managers can now achieve non-disruptive, cost- and performance-efficient storage within even the
largest and most demanding enterprise and cloud environments.
This white paper describes the technology that adaptively optimizes storage on HPE 3PAR StoreServ Storage, explains some of the tradeoffs,
and illustrates its effectiveness with performance results.
Storage tiers: Opportunity and challenge
Modern storage arrays support multiple tiers of storage media with a wide range of performance, cost, and capacity characteristics—ranging
from inexpensive Serial ATA (SATA) HDDs that can sustain only about 75 IOPS to more expensive flash memory-based SSDs that can sustain
thousands of IOPS. Volume RAID and layout choices enable additional performance, cost, and capacity options. This wide range of cost, capacity,
and performance characteristics is both an opportunity and a challenge.
Technical white paper
Page 4
Figure 1. Autonomic tiering with HPE 3PAR StoreServ
The opportunity is that the performance of a system can be maintained while the cost of the system can be improved (lowered) by correctly
placing the data on different tiers; move the most active data to the fastest (and most expensive) tier and move the idle data to the slowest
(and least expensive) tier. The challenge, of course, is to do this in a way that minimizes the burden on storage administrators while also
providing them with appropriate controls.
Currently, data placement on different tiers is a task usually performed by storage administrators—and their decisions are often based not on
application demands but on the price paid by the users. If they don’t use careful analysis, they may allocate storage based on available space
rather than on performance requirements. At times, HDDs with the largest capacity may also have the highest number of accesses. However,
the largest HDDs are often the slowest HDDs. This can create significant performance bottlenecks.
There is an obvious analogy with CPU memory hierarchies. Although the basic idea is the same (use the smallest, fastest, most expensive
resource for the busiest data), the implementation tradeoffs are different for storage arrays. While deep CPU memory hierarchies (first-, second-,
and third-level caches; main memory; and finally paging store) are ubiquitous and have mature design and implementation techniques, storage
arrays typically have only a single cache level (the cache on disk drives usually acts more like a buffer than a cache).
Technical white paper
Page 5
Brief overview of volume mapping
Before you can understand HPE 3PAR Adaptive Optimization, it is important to understand volume mapping on HPE 3PAR StoreServ Storage as
illustrated in figure 2.
Figure 2. HPE 3PAR volume management
The HPE 3PAR Operating System has a logical volume manager that provides the virtual volume abstraction. It comprises several layers, with
each layer being created from elements of the layer below.
Physical disks
Every physical disk (PD) that is admitted into the system is divided into 1 GB chunklets. A chunklet is the most basic element of data storage of
the HPE 3PAR OS. These chunklets form the basis of the RAID sets; depending on the sparing algorithm and system configuration, some
chunklets are allocated as spares.
Logical disks
The logical disk (LD) layer is where the RAID functionality occurs. Multiple chunklet RAID sets, from different PDs, are striped together to form an
LD. All chunklets belonging to a given LD will be from the same drive type. LDs can consist of all nearline (NL), FC, or SSD drive type chunklets.
There are three types of logical disks:
1. User (USR) logical disks provide user storage space to fully provisioned virtual volumes.
2. Shared data (SD) logical disks provide the storage space for snapshots, virtual copies, thinly provisioned virtual volumes (TPVVs), or thinly
deduped virtual volumes (TDVVs).
3. Shared administration (SA) logical disks provide the storage space for snapshot and TPVV administration. They contain the bitmaps pointing
to which pages of which SD LD are in use.
The LDs are divided into regions, which are contiguous 128 MB blocks. The space for the virtual volumes is allocated across these regions.
Technical white paper
Page 6
Common provisioning groups
The next layer is the common provisioning group (CPG), which defines the LD creation characteristics, such as RAID type, set size, disk type for
chunklet selection, plus total space warning and limit points. A CPG is a virtual pool of LDs that allows volumes to share resources and to allocate
space on demand. A thin provisioned volume created from a CPG will automatically allocate space on demand by mapping new regions from the
LDs associated with the CPG. New LDs of requested size will be created for fully provisioned volumes and regions are mapped from these LDs.
CPGs and workloads
HPE 3PAR StoreServ performs efficiently for any type of workload, and different workloads can be mixed on the same array. These different
workloads may need different types of service levels to store their data. For example, for high-performance mission-critical workloads, it may be
best to create volumes with RAID 5 protection on SSD or RAID 1 protection on fast class [FC or serial-attached SCSI (SAS) performance HDDs].
For less-demanding projects, RAID 5 on FC drives or RAID 6 on NL drives may suffice. For each of these workloads, you can create a CPG to
serve as the template for creating virtual volumes (VVs) for the workload. VVs can be moved between CPGs with the HPE 3PAR Dynamic
Optimization (DO) software command tunevv, thereby changing their underlying physical disk layout and hence their service level.
Virtual volumes
The top layer is the VV, which is the only data layer visible to hosts. VVs draw their resources from CPGs and the volumes are exported as virtual
logical unit numbers (VLUNs) to hosts.
A VV is classified by its type of provisioning, which can be one of the following:
• Full: Fully provisioned VV, either with no snapshot space or with statically allocated snapshot space
• TPVV: Thin provisioned VV, with space for the base volume allocated from the associated user CPG and snapshot space allocated from the
associated snapshot CPG (if any)
• TDVV: Thin deduped VV, with space for the base volume allocated from the associated user CPG (SSD tier only) and snapshot space allocated
from the associated snapshot CPG (if any)
Note: TDVV’s must be 100% on an SSD tier and hence cannot be combined with AO
• CPVV: Commonly provisioned VV. The space for this VV is fully provisioned from the associated user CPG and the snapshot space allocated
from the associated snapshot CPG
TPVVs and TDVVs associated with the same CPG share the same LDs and draw space from that pool as needed, allocating space on demand in
small increments for each controller node. As the volumes that draw space from the CPG require additional storage, the HPE 3PAR OS
automatically increases the logical disk storage until either all available storage is consumed or, if specified, the CPG reaches the user-defined
growth limit, which restricts the CPG’s maximum size. The size limit for an individual VV is 16 TB.
Figure 2 illustrates the volume mapping for both non-tiered as well as tiered (adaptively optimized) volumes. For non-tiered VVs, each type of
space (user, snap) is mapped to LD regions within a single CPG, and therefore, all space is in a single tier. For tiered VVs, each type of space can
be mapped to regions from different CPGs.
Finally, remember that although this mapping from VVs to VV spaces to LDs to chunklets is complex, the user is not exposed to this complexity
because the system software automatically creates the mappings.
The remainder of this white paper describes how Adaptive Optimization tiering is implemented and the benefits that can be expected.
Requirements
HPE 3PAR Adaptive Optimization is a licensed feature of HPE 3PAR OS and is supported on all HPE 3PAR StoreServ Storage systems. For more
information on HPE 3PAR Adaptive Optimization licensing, contact your HPE representative or authorized HPE partner. Creating and managing
AO requires HPE 3PAR StoreServ Management Console (MC) 4.5 or later, or SSMC version 2.1 or later. To use the command line, you must install
HPE 3PAR Command Line Interface 3.1.2 MU2 or later. Certain features and reports of HPE 3PAR Adaptive Optimization described in this paper
are only available from HPE 3PAR SSMC 4.5 or later and HPE 3PAR OS 3.1.3 MU1 and later. The ability to specify minimum and maximum sizes of
each tier is supported in HPE 3PAR OS 3.2.2 and later.
Technical white paper
Page 7
HPE 3PAR Adaptive Optimization Software
CPG as tiers in AO configuration
Before creating an AO configuration, it is required to create CPGs. CPGs are used as tiers within AO. An AO configuration can have a maximum of
three tiers, and a minimum of two tiers are required to define a new AO configuration. A CPG can be part of only one AO configuration. So, every
AO configuration will need a different set of CPGs. Virtual volumes that are not part of an AO configuration have all their regions mapped to LDs
belonging to a single CPG. However, in the case of AO, VVs will have regions mapped to LDs from different CPGs (tiers). Data placement for a
particular region is decided based on statistics collected and analyzed by AO for each region.
HPE 3PAR Adaptive Optimization leverages data collected by HPE 3PAR System Reporter (SR) on node. The SR on node periodically collects
detailed performance and space data that is used by AO for the following:
• Analyze the data to determine the volume regions that should be moved between tiers
• Instruct the array to move the regions from one CPG (tier) to another
• Provide the user with reports that show the impact of Adaptive Optimization
Refer to the HPE 3PAR System Reporter white paper for more details.
Data locality
Sub-LUN tiering solutions such as AO provide high value when there is a lot of locality of data. Locality of data means there is a limited area of
the data address space used by a server or application that receives a large percentage of the I/O requests compared to the rest of the data
space. This is the result of how a server’s applications use the data on the LUNs.
A relatively small portion of the data receives a lot of I/O and is hot, while a larger portion of the data space receives very few or no I/O and is
considered cold. AO is not responsible for causing locality of data. Sub-LUN tiering solutions move small pieces of a LUN up and down between
tiers based on how hot or cold the data pieces are. In the case of AO, the pieces are 128 MB regions.
Typically, over 80 percent of IOPS is served by less than 20 percent of addressable capacity. If such a LUN is part of a single tier, then that tier
should be capable of handling the maximum IOPS requirement even when most of the capacity will not be accessed as frequently. With Adaptive
Optimization, the LUN will be spread over multiple tiers; a small amount of capacity that is accessed heavily will be moved to the fastest tier and
any capacity that is lightly accessed will be moved to the slowest and cheapest tier. Due to high data locality, the fastest tier can be small as
compared to the other tiers and still provide the required IOPS. Figure 3 gives an example of how I/O will be distributed on a LUN that has a
single tier and of a LUN that is spread across multiple tiers.
An application that does not have high data locality will have IOPS spread throughout the LUN and a small fast tier will not be a good fit; capacity
allocated from the slower tiers will also have a similar access rate as the fastest tier. Such an application will not perform optimally with a tiered
LUN. It should be deployed on a LUN created using a single tier.
The section about region I/O density reports will explain in detail how to find out if a particular group of applications is suitable for
sub-LUN tiering.
Technical white paper
Page 8
Figure 3. Data locality and I/O distribution
Tiering analysis algorithm
The tiering analysis algorithm that selects regions to move from one tier to another considers several things described in the following sections.
Space available in the tiers
When AO runs, it will first consider available space in the tiers. If a tier has a CPG warning limit or a tier maximum value configured and the tier
space exceeds the lower of these limits, AO will move regions to reduce space consumption below the limit. (Note: If the warning limit for any
CPG is exceeded, the array will generate a warning alert). If space is available in a faster tier, it chooses the busiest regions to move to that tier.
Similarly, if space is available in a slower tier, it chooses the idlest regions to move to that tier. The average tier service times and average tier
access rates are ignored when data is being moved because the size limits of a tier take precedent.
Average tier service times
Normally, HPE 3PAR Adaptive Optimization tries to move busier regions in a slow tier into a higher performance tier. However, if a higher
performance tier gets overloaded (too busy), performance for regions in that tier may actually be lower than regions in a slower tier. In order to
prevent this, the algorithm does not move any regions from a slower to a faster tier if the faster tier’s average service time is not lower than the
slower tier’s average service time by a certain factor (a parameter called svctFactor). There is an important exception to this rule because service
times are only significant if there is sufficient IOPS load on the tier. If the IOPS load on the destination tier is below another value (a parameter
called minDstIops), then we do not compare the destination tier’s average service time with the source tier’s average service time. Instead, we
use an absolute threshold (a parameter called maxSvctms).
Average tier access rate densities
When not limited, as described earlier, by lack of space in tiers or by high average tier service times, Adaptive Optimization computes the average
tier access rate densities (a measure of how busy the regions in a tier are on average, calculated with units of IOPS per gigabyte per minute). It
also compares them with the access rate densities of individual regions in each tier. It uses this data to decide if the region should be moved to a
different tier or remain in its current tier.
We first consider the algorithm for selecting regions to move from a slower to a faster tier. For a region to be considered busy enough to move
from a slower to a faster tier, its average access rate density or accr(region) must satisfy these two conditions:
First, the region must be sufficiently busy compared to other regions in the source tier:
accr(region) > srcAvgFactorUp(Mode) * accr(srcTier)
Where accr(srcTier) is the average access rate density of the source (slower) tier and srcAvgFactorUp(Mode) is a tuning parameter
that depends on the mode configuration parameter. Note that by selecting different values of srcAvgFactorUp for performance, balanced, or
cost mode, HPE 3PAR Adaptive Optimization can control how aggressive the algorithm is in moving regions up to faster tiers. Performance mode
will be more aggressive in moving regions up to faster tiers and keeping cooling regions in a higher tier. Cost mode will be more aggressive in
moving regions down to lower tiers and keeping warm regions in a lower tier.
Technical white paper
Page 9
The values used in this algorithm may change from release to release, but in 3.2.1 MU3 the values used for srcAvgFactorUp are:
• srvAvgFactorUp(Performance mode) = 1.0
• srvAvgFactorUp(Balanced mode) = 1.5
• srvAvgFactorUp(Cost mode) = 2.0
Applying these values to the algorithm above you can see that when using Performance mode accr(region) must be greater than 1.0 times the
source tier accr in order to be moved to a higher tier. If the mode changes to Balanced, the accr(region) must be 50% (1.5 times) greater than the
source tier accr in order to be moved. This higher threshold means fewer regions will be considered for movement to a higher tier when the
mode is Balanced. Considering a configuration with a mode of Cost the accr(region) must be 100% (2 times) greater than the source tier accr in
order to be considered for a move. Using Performance Mode, more regions are considered for movement to a higher tier while using Cost mode
results in fewer regions being considered for movement to a higher tier.
Second, the region must meet one of two conditions: it must be sufficiently busy compared with other regions in the destination tier, or it must be
exceptionally busy compared with the source tier regions. This second condition is added to cover the case in which a very small number of
extremely busy regions are moved to the fast tier, but then the average access rate density of the fast tier creates too high a barrier for other
busy regions to move to the fast tier:
accr(region) > minimum((dstAvgFactorUp(Mode) * accr(dstTier)), (dstAvgMaxUp(Mode) * accr(srcTier)))
The algorithm for moving idle regions down from faster to slower tiers is similar in spirit—but instead of checking for access rate densities
greater than some value, the algorithm checks for access rate densities less than some value:
accr(region) < srcAvgFactorDown(Mode) * accr(srcTier) accr(region) < maximum((dstAvgFactorDown(Mode)
* accr(dstTier)), (dstAvgMinDown(Mode) * accr(srcTier)))
The choice of mode (Performance, Balanced, and Cost) will allow more or less regions to be considered for moves. Performance mode will allow
fewer regions to be considered for moves to lower tiers while Cost mode will allow more regions to be considered for moves to lower tiers.
Balanced mode, as its name implies, is in the middle.
AO makes a special case for regions that are completely idle (accr(region) = 0). These regions are moved directly to the lowest tier, even
when performance mode is selected.
Minimum and maximum space within a tier
HPE 3PAR InForm OS version 3.2.2 introduces the ability to manage the space AO consumes directly in each tier. The previous discussion
illustrates how AO monitors the system and moves data between tiers in response to available space and region IO density. This can result in
little or no data in a given tier. In cases where tier 0 is an SSD tier and all SSD space is dedicated to AO, it is desirable to maximize the SSD space
utilization. HPE 3PAR InForm OS version 3.2.2 introduces new options to the “createaocfg,” “setaocfg,” and “startao” commands to support a
user-specified minimum or maximum size for each tier.
The new command options are -t0min, -t1min, and -t2min to set a minimum size for a tier and -t0max, -t1max, and -t2max to set a maximum size
for a tier. Specifying a minimum size target for tier 0 of 400 GB (setaocfg -t0min 400G), for example, will instruct AO to utilize a minimum of
400 GB in tier 0. In this case, AO will move regions into tier 0 that qualify according to the region density data and additional regions, if needed,
will also be moved into tier 0 to consume at least 400 GB in this tier. The additional regions will be selected according to the region density data,
but with a relaxed threshold to meet the minimum space target.
The space specified with the min or max parameters can be specified in MB (default), GB (g or G), or TB (t or T). Specifying a size of 0 instructs
AO not to enforce a minimum or maximum size target. Note the maximum parameters serve the same function as the CPG warning limit. If both
are specified, the lower value will be enforced.
Special consideration must be given when using these new parameters in multiple AO configurations simultaneously or in more than one tier in a
single AO configuration.
Consider two AO configurations each with a tier 0 minimum of 750 GB configured and only 1 TB of space available to tier 0. If each AO
configuration is run sequentially, the first AO configuration to run will meet its minimum configuration of 750 GB leaving only 250 GB available to
the second AO configuration. If both AO configurations are run together both AO configurations will consume tier 0 space at a similar rate until
the space is exhausted. It is likely that neither AO configuration will meet its minimum configuration of 750 GB.
Technical white paper
Page 10
Consider a second case of a single AO configuration with tier minimums of 750 GB configured for each of the 3-tiers. If only 1 TB of VV space is
consumed in the AO configuration, all three minimums cannot be met at the same time and AO will use the configured AO mode to guide region
moves. When performance mode is configured, regions will be moved to tier 0 space first, leaving tier 2 and perhaps tier 1 below its minimum.
Likewise when cost mode is configured, regions will be moved to tier 2 space first, leaving tier 0 and perhaps tier 1 space below its minimum. This
leaves balanced mode which is a compromise between performance mode and cost mode.
Example
A new array is purchased that includes eight 480 GB SSDs. The goal is to use all the space from all eight SSDs as tier 0 in an AO configuration.
If the CPG holding the SSDs is configured to use RAID 5 (3+1), for example, we calculate a total space in this tier of 2.6 TB. Executing the
command setaocfg –t0min 2.6T <aocfg name> will cause AO to use all the SSD space.
Consult the 3.2.2 CLI Reference Manual or CLI help output for more details on command syntax.
Design tradeoff: Granularity of data movement
The volume space to LD mapping has a granularity of either 128 MB (user and snapshot data) or 32 MB (admin metadata) and that is naturally
the granularity at which the data is moved between tiers. Is that the optimal granularity? On the one hand, having fine-grain data movement is
better since we can move a smaller region of busy data to high-performance storage without being forced to bring along additional idle data
adjacent to it. On the other hand, having a fine-grain mapping imposes a larger overhead because HPE 3PAR Adaptive Optimization needs to
track performance of a larger number of regions, maintain larger numbers of mappings, and perform more data movement operations. Larger
regions also take more advantage of spatial locality (the blocks near a busy block are more likely to be busy in the near future than a distant
block). A thorough analysis shows that using 128 MB regions for user data is the best granularity for moving data between tiers with
Adaptive Optimization.
HPE 3PAR Adaptive Flash Cache
HPE 3PAR OS 3.2.1 introduced a new feature called HPE 3PAR Adaptive Flash Cache (AFC), which provides read cache extensions by leveraging
HPE 3PAR first-in-class virtualization technologies. This functionality allows dedicating a portion of SSD capacity as an augmentation of the
HPE 3PAR StoreServ data read cache, reducing application response time for read-intensive I/O workloads. This feature can coexist with
Adaptive Optimization and in fact is complementary to AO.
In order to understand how much of the existing SSD capacity should be allocated to AFC, refer to the HPE 3PAR Adaptive Flash Cache technical
white paper. If customers already have Adaptive Optimization configured and no available space on the SSD tier, they may set a warning limit on
the CPG SSD tier to free up some space to then allocate to AFC. If the array is running Inform OS 3.2.2 or later, space can be freed using the AO
tier CFG limit options (e.g., –t0max) to the createaocfg, setaocfg, and startao commands. AFC will allocate the same amount of space on all node
pairs with the smallest amount being 128 GB per node pair increasing in 16 GB increments.
HPE 3PAR Thin Deduplication
HPE 3PAR OS 3.2.1 MU1 introduces a new feature called HPE 3PAR Thin Deduplication, which allows provisioning of TDVVs to an SSD tier. While
the feature can coexist on the same system where Adaptive Optimization is running and configured, TDVVs cannot be provisioned on a CPG
that is part of an AO configuration, and the system will prevent creating an AO configuration if a CPG has TDVVs associated with it. A system can
be configured with a shared pool of SSDs that may be used for sub-tiering (AO), cache augmentation (AFC), and provisioning of TDVVs, TPVVs,
or full VVs.
Technical white paper
Page 11
Implementing Adaptive Optimization
Sizing for Adaptive Optimization
It’s important to size correctly when setting up an HPE 3PAR array with Adaptive Optimization. Traditional approaches start with sizing the
storage capacity of each tier. This approach fits nicely with easily available capacity information, but fails to consider the performance needed to
access the capacity. Sizing an array for Adaptive Optimization begins with performance. When performance sizing is met, adjustments can be
made to address capacity needs. This approach considers both performance and capacity so performance and space concerns are addressed in
the sizing exercise.
Performance sizing for Adaptive Optimization is best accomplished using region density reports. These reports show the suitability of a VV or all
VVs in a CPG for use with Adaptive Optimization. This approach requires that the VVs and workload already exist and have been measured. First,
we will consider an AO sizing approach where region density reports are not available. AO sizing using region density reports will be considered
later under the section titled Configuring AO using Region I/O Density Reports on page 13. The following sizing approach may require
adjustments after AO is implemented if data locality does not fit on the SSD and FC tiers. This sizing approach targets the NL tier to perform 0%
of the IOPS. Observing significant IOPS to the NL tier after AO is implemented indicates adjustments are needed.
Default CPG
When new data (new VVs or new user space for a thin volume) is created, it will be written in the default CPG defined at volume creation time.
3PAR AO best practice is to create VVs in the FC tier when there is an FC tier and in the SSD tier in a 2-tier SSD+NL AO configuration. Adaptive
Optimization will not migrate regions of data to other tiers until the next time the AO configuration is executed. It is, therefore, important that the
default CPG have enough performance and capacity to accommodate the performance and capacity requirements of new applications that are
provisioned to the system. It is a best practice to size the solutions assuming the NL tier will contribute zero percent of the IOPS required from
the solution.
Configuring AO using IOPS and Capacity Targets
Region density reports provide measurement data on a running system to use in sizing a 3PAR array using AO. When this data is not available it
may be necessary to size the array using I/O and Capacity targets. An I/O target is an estimate of the total I/O’s an array may be asked to perform
and will be used to size the performance of the array. A capacity target is the amount of storage space required by the application and is
necessary but of secondary importance to performance when sizing an array. An example of IOPS and Capacity targets is to size an array for use
with AO that needs to perform 125,000 IOPS with 450 TB of capacity.
AO Sizing for 2-Tier: FC+NL
Sizing an AO configuration for any set of tiers begins with performance. In all AO sizing, the NL tier will be sized to handle 0% of the IOPS making
sizing for a 2-tier FC+NL AO configuration straightforward. Begin by sizing the FC tier to handle 100% of the IOPS and add NL drives to meet the
capacity target.
When sizing the FC AO tier, use a guideline of 150 IOPS per 10k FC drive and 200 IOPS per 15k drive. A target of 50,000 IOPS and 450 TB raw
capacity, for example, can be sized by dividing 150 IOPS per 10k FC drive by the IOPS goal to determine how many 10k FC drives are required. In
this case, 333 (50000/150) 10k FC drives will meet the target of 50,000 IOPS. Choosing 600 GB 10k FC drives will result in the FC tier of an AO
configuration performing the target 50,000 IOPS and providing 200 TB of raw capacity. The addition storage needed to meet the target of
450 TB can be provided by adding 63 4 TB NL drives.
AO Sizing for 2-Tier: SSD+FC
Sizing an AO configuration with a 2-tier configuration using SSD and FC will also begin by performance sizing the FC tier. The same guidelines of
150 IOPS for 10k rpm FC drives and 200 IOPS per 15k rpm drives are used to start. A target of 100,000 IOPS and 425 TB raw capacity, for
example, can be sized by dividing 150 IOPS per 10k FC drive by the IOPS goal of 100,000 to determine how many 10k FC drives are required. In
this example, 667 (100000/150) 10k FC drives will meet the target of 100,000 IOPS.
Next we choose a target SSD configuration and calculate how many FC drives can be removed from the configuration to remain at the target
IOPS level. IOPS guidelines for SSDs can be used like the FC IOPS guidelines and traded off to maintain the target IOPS while changing the mix of
drives. Use an AO configuration IOPS guideline of 1100 IOPS for the 480 GB MLC SSDs and 4000 IOPS for the 1920 GB and 3840 GB SSDs.
Technical white paper
Page 12
Choosing a configuration of 48 x 480 GB SSDs will result in an SSD tier capable of 52,800 (48 * 1100) IOPS. Reduce the number of drives in the
FC tier by the same 52,800 IOPS to keep the same target IOPS of 100,000. The above configuration included 10 k rpm FC drives so we use the
150 IOPS per drive guideline to calculate the number of 10k FC drives we can remove from the configuration. The result is 352 (52,800 SSD IOPS
/ 150 10k FC drive IOPS) 10k FC drives can be removed from the configuration to trade the FC IOPS for the SSD IOPS. The 2-tier AO
configuration to provide 100,000 IOPS has now been sized with 48 x 480 GB SSDs and 315 (667-362) 10k FC drives.
The last step is to make adjustments to meet the capacity target of 425 TB by adding FC drives. The configuration so far includes 48 x 480 GB
SSDs providing 23 TB raw. Choosing 315 of the 1.2 TB 10k FC drives will provide 377 TB of raw capacity and a total of 400 TB (23 TB SSD +
377 TB FC) raw capacity. 25 TB additional raw capacity is required to meet the target of 425 TB raw and can be achieved by adding 20 1.2 TB 10k
FC drives. The AO configuration sized to meet 100,000 IOPS and 425 TB raw capacity using a 2-tier SSD+FC configuration is 48 x 480 GB SSDs
and 340 (315+25) 1.2 TB 10k FC drives.
AO Sizing for 3-Tier: SSD+FC+NL
Sizing an AO configuration for a 3-tier configuration using SSD, FC, and NL tiers will begin like the other examples with performance sizing of the
FC tier. The sizing process for a 3-tier SSD+FC+NL AO configuration follows the prior discussion of sizing a 2-tier SSD+FC AO configuration with
one minor modification. Sizing the FC tier and trading SSD IOPS for FC IOPS remains the same. The only difference is the last step to adjust the
configuration to meet the capacity target where NL drives are added instead of FC drives.
Using a target of 125,000 IOPS and 450 TB raw as an example, start by sizing the FC tier using the previous guidelines of 150 IOPS per 10k rpm
FC drive and 200 IOPS per 15k rpm FC drive. Using 15k rpm FC drives in this example, 625 drives are needed to meet the target of 125,000 IOPS.
Adding 64 x 480 GB SSDs will add 70,400 IOPS allowing the SSDs to replace the IOPS of 352 15 k rpm FC drives (70,400/200=352).
The AO configuration after sizing the FC and SSD tiers is made up of 64 x 480 GB SSDs holding 31 TB raw and 273 (625–362) 15k rpm FC drives.
If we choose 600GB 15k RPM FC drives, this represents 164 TB raw space and when adding the 31 TB raw from the SSD tier reaches a total of
195 TB raw. The NL tier will be sized to provide 0% of the IOPS target and capacity to fill the gap from 195 TB raw in the SSD and FC tiers to the
target of 450 TB raw. The NL tier must provide 255 TB raw (450–195) capacity which can achieved with 64 x 4 TB NL drives. In this example a
3-tier AO configuration is sized to provide a target of 125,000 IOPS and 450 TB raw with 64 x 480 GB SSDs in tier 0, 273 x 600 GB 15k rpm FC
drives in tier 1 and 64 x 4 TB NL drives in tier 2.
AO Sizing for 2-Tier: SSD+NL
A 2-tier AO configuration using SSD and NL tiers is sized following the same process as the earlier example of a 2-tier configuration with FC and
NL with some additional considerations. One of these considerations is the difference in average service times of the SSD and NL tiers. This
difference is much greater than the average service time difference of any other tiers in the AO configurations previously discussed. This
difference may result in users being more aware of tiering of their data when that data is heavily accessed and ends up on the NL tier. It is always
important to understand how your data is accessed when setting up an AO configuration, but a 2-tier configuration with SSD and NL will cause
any deficiencies in the configuration to be magnified.
Adaptive Flash Cache (AFC) may be helpful to minimize the impact of the average service time differences for some workloads. AFC uses SSD to
extend the read cache for small block (64k or less) random reads. SSD space will need to be balanced between AO and AFC, but for some
workloads this is a very effective mix of 3PAR technologies. Refer to the Adaptive Flash Cache White Paper for more details.
In addition to considering AFC, it is recommended to create VV’s that will be part of a 2-tier (SSD+NL) AO configuration in the SSD CPG. This will
cause new space allocations (new data written) to be allocated first to the SSD tier and later moved according to the AO policy.
AO sizing of a 2-tier configuration using SSD and NL tiers begins with performance of the SSD tier. In this example the target is 140,000 IOPS
and 350 TB raw space. Calculate the number of SSDs required to meet the IOPS target using the AO configuration guidelines of 1100 IOPS per
480 GB SSD or 4000 IOPS per 1920 GB or 3840 GB SSD. The 3840 GB SSDs can meet the target of 140,000 IOPS with 36 drives providing
138 TB raw capacity. An additional 212 TB raw capacity is needed to meet the capacity target of 350 TB and can be provided with 36 x 6 TB
NL drives. The 2-tier SSD+NL AO configuration to meet the target of 140,000 IOPS and 350 TB raw capacity is 36 x 3.84 TB SSDs and 36 x 6 TB
NL drives.
Technical white paper
Page 13
Configuring AO using region I/O density reports
Region I/O density reports are used to identify applications and volumes that are suitable for AO. Starting from HPE 3PAR OS 3.1.3 MU1, System
Reporter license is not needed to produce region I/O density reports. The cumulative region I/O density is most useful when setting up AO and
the regular bar chart-based region I/O density is useful to get insights into how AO has performed over time. These reports can be run via the
command line or from the HPE 3PAR SSMC.
Cumulative region I/O density reports
These reports give a good indication about the locality of data for a particular CPG for a defined interval of time. These reports can be generated
against CPGs and AO configurations; when setting up a configuration for the first time, reports should be generated against single CPGs, as they
will help identify CPGs that are a good candidate for an AO configuration. There are two types of cumulative reports: percentage-based and
numbers-based. The percentage type report has percent capacity on X-axis and % access rate on Y-axis. Whereas for the numbers-type report
the total capacity is on X-axis and total access rate is on Y-axis. Figure 4 gives an example of the percentage-type cumulative region I/O
density report.
Figure 4. Cumulative region I/O density report–percentage
A CPG is a possible candidate for AO if the curve for that CPG is in the left top corner. Such a CPG will serve most of its I/O from a small amount
of addressable capacity. The report in figure 4 has two visible curves both in the left top corner. So both are possible candidates for AO. The red
colored curve tells that almost 90 percent of the I/O for that CPG is serviced by 5 percent of the capacity. Similarly, the green curve tells that
almost 90 percent of the I/O for that CPG is serviced by 1 percent of the capacity.
From this report, it seems that it will help if we add the two CPGs to an AO configuration and let AO move this hot capacity to SSD. But, this
report is a normalized report based on percentage, so you do not have the actual IOPS or capacity numbers. We first need to find out how much
capacity is hot and how much total I/O this small capacity is serving. This information is given by the numbers-type cumulate region I/O
density report.
Figure 5 gives an example of the numbers-type report. Here capacity in GiB is on X-axis and access rate I/O/min is on Y-axis. In this report, we
see that it will be useful to move the FastClass.cpg into an AO configuration that uses SSDs for tier 0. However, the OS_Images, which was on
the left top corner in figure 4, has very small I/O and so it will not be beneficial to move this CPG to an AO configuration.
Technical white paper
Page 14
Figure 5. Cumulative region I/O density report—numbers
Region I/O density reports
Region I/O density is an indication of how busy a region of data is. A region I/O density report is a set of histograms with I/O rate buckets. The
space GiB histogram shows the capacity in GiB for all regions in the I/O rate buckets. The IO/min histogram shows the total maximum IO’s/min
for the regions in the I/O rate buckets. The example results in figure 6 is describe region I/O density after HPE 3PAR Adaptive Optimization has
run for a while.
Both charts are histograms, with the X-axis showing the I/O rate density buckets; the busiest regions are to the right and the idlest regions are to
the left. The chart on the left shows on the Y-axis the capacity for all the regions in each bucket, while the chart on the right shows on the Y-axis
the total maximum IO’s/min for the regions in each bucket. As shown in the charts, the FC tier (tier 1) occupies very little space but absorbs most
of the I/O accesses, whereas the nearline tier (tier 2) occupies most of the space but absorbs almost no accesses at all. This environment is a
good fit for Adaptive Optimization.
Figure 6. Region I/O density report for AO configuration with two tiers
There is also a cumulative histogram that adds up all the bucket values from left to right. Figure 7 shows the cumulative region I/O density report
for the same AO configuration as shown in figure 6.
Technical white paper
Page 15
Figure 7. Cumulative Region I/O density report for AO configuration with two tiers
Using these charts together, we can get a view into how densely I/O values are grouped across the data space and determine how large different
tiers of storage should be. These reports are most useful when run against an AO configuration as they display the distribution of space and I/O
across all tiers in the AO configuration.
This report, when run daily, offers insight into the data locality of the workload. When there is too much “blue” in buckets to the right side of the
IO/min report, it indicates cold regions are heating up every day and perhaps showing too little data locality. In the example in figures 6 and 7 the
“hot” NL data consumes about 250 GB and 1000 IO/min which is not a problem. If the IOs were grew higher, however, it could indicate a data
locality concern with some of the VVs in the configuration.
From HPE 3PAR OS version 3.1.3 onwards, you can display region density report for each VV in an AO configuration or CPG. This report has two
use cases: to find which VVs are best suited for AO and to find if certain VVs need a different AO policy. Certain VVs could have a different I/O
profile than the rest of the VVs in the Adaptive Optimization configuration (AOCFG). You might find out that some VVs are not well suited for
Adaptive Optimization, as they do not have enough locality of data. Using the per VV region density report, you can now find such VVs and move
them to a CPG outside the AO configuration using Dynamic Optimization. Figure 8 shows the region density reports for some of the VVs in an
AO configuration with two tiers. As shown in the chart, the volumes using the FC tier have more I/O but consume very little space. Whereas the
volumes using the NL tier have very little I/O but consume most of the space.
Figure 8. Region I/O density report for AO configuration with individual VVs
Technical white paper
Page 16
Creating and managing AO
Simple administration is an important design goal, which makes it tempting to automate Adaptive Optimization completely. The administrator
need not configure anything. However, analysis indicates that some controls are, in fact, desirable for administration simplicity. Since HPE 3PAR
StoreServ Storage is typically used for multiple applications—often for multiple customers—HPE allows administrators to create multiple
Adaptive Optimization configurations so that they can use different configurations for different applications or customers. Figure 9 shows the
configuration settings for an Adaptive Optimization configuration.
Figure 9. Configuration settings
An AO configuration is made up of up to three tiers. Each tier corresponds to a CPG. In figure 9, SSD CPG is used for tier 0, RAID 1 FC CPG is
used for tier 1, and RAID 5 FC CPG is used for tier 2. The warning and limits displayed in figure 9 have to be configured for each CPG individually
by editing the CPG. More details on how to edit the warning and limit for the CPG is available in the HPE 3PAR SSMC user guide.
Make sure to define tier 0 to be on a higher performance level than tier 1, which in turn should be higher performance than tier 2. For example,
you may choose RAID 1 with SSDs for tier 0, RAID 5 with FC drives for tier 1, and RAID 6 with NL or SATA drives for tier 2.
Best practices encourage you to begin your Adaptive Optimization configurations with your application CPG starting with tier 1. For example,
tier 1 could be CPG using your FC or SAS physical disks. This allows you to add both higher and lower tier capabilities at a later date. If you don’t
have a higher or lower tier, you can add either or both at a later date by using a new CPG, such as tier 0 using SSDs or tier 2 using NL. Or, you
could have CPG tiers with RAID 1 or RAID 5 and RAID 6. The main point is that you should begin with middle CPG tier 1 when configuring
Adaptive Optimization with your application.
It is also important to specify the schedule when a configuration will move data across tiers along with the measurement duration preceding the
execution time. This allows the administrator to schedule data movement at times when the additional overhead of that data movement is
acceptable (for example, non-peak hours). You can also set the schedule as to when Adaptive Optimization should stop working before the next
measurement period.
The following data movement modes are available:
1. Performance mode—biases the tiering algorithm to move more data into faster tiers.
2. Cost mode—biases the tiering algorithm to move more data into the slower tiers.
3. Balanced mode—is a balance between performance and cost.
The mode configuration parameter does not change the basic flow of the tiering analysis algorithm, but rather it changes certain tuning
parameters that the algorithm uses.
If the SSD tier is used only for AO, then it is recommended to disable the raw space alert for the SSD tier. AO manages the amount of space used
on each tier and it can fill up over 90 percent of a small SSD tier. But, this will generate alerts about raw space availability. These alerts can be
ignored if the SSD tier is used only by AO. These alerts can be disabled using the following command:
setsys –param RawSpaceAlertSSD 0
Technical white paper
Page 17
In addition to disabling the raw space alerts when the entire SSD tier is used only for AO, a tier minimum value can be set. 3PAR InForm OS 3.2.2
and later includes the ability to set tier minimum and maximum values. These options were designed to address the use case of an environment
where all SSD space is dedicated to AO. Use this option by first calculating the usable space in the SSD tier available to AO. A configuration of
8 x 480 GB MLC SSDs in a RAID 5 CPG, for example, results in about 2.6 TB of usable space available to AO. Specify this as the tier minimum for
AO with a command such as setaocfg –t0min 2.6T CPG_SSD_r5. Tier minimum and maximums may also be set with the createaocfg and
startao commands.
Scheduling AO Policies
After creating the AO configuration, the configuration has to be scheduled to run on a regular interval. Figure 10 shows how to create the
scheduled task for an AO configuration. The max run time specifies how long AO should move the regions once it is scheduled. The
measurement interval specifies the duration for which the AO configuration should be analyzed for data movement. Schedule specifies when to
run the AO task; the task can recur daily, once, multiple times daily, or advanced. Figure 11 shows details of the scheduled tasks.
Figure 10. Schedule AO configuration
Figure 11. 3PAR Activity View
Technical white paper
Page 18
The AO Space Moved Report shown in figure 12 provides details about the capacity migrated across tiers. This report can be used to verify the
effectiveness of the AO configuration and should be checked regularly.
Figure 12. AO Space Moved Report
The space moved report shows the movement of data between tiers. When AO is first implemented the data moved in each AO run will start at
some level. In one example AO moved about 500 GB of data per day between tier 1 and tier 0. Over time the space moved by AO should decline
and stabilize in a lower range for data that is a good fit for AO. In the same example AO space moved declined from 500 GB to 25 GB–40 GB
per day after a few weeks. Space moved reports that show large moves every time AO runs or large regular spikes in data moved may indicate
the data locality is not a good fit for AO. Data indicating large moves of cold data from the lowest tier to a higher tier is cause for investigation
into the application data locality.
Freeing unused space from CPGs using compact operation
The startao command has a -compact auto option that runs compactcpg only if one or more of the following conditions are met (otherwise,
compactcpg is not run):
1. There is unused space in the CPG and the current allocated space is above the warning limit.
2. The unused space in the CPG is more than a certain fraction (25 percent) of the CPG space. This is the total unused space across user,
snapshot, and admin space.
3. The space available to grow the CPG (i.e., free chunklets for the CPG) is less than four times the CPG growth increment. This can be examined
by comparing the LDFree output of showspace -cpg with showcpg -sdg.
Compactcpg when run as part of AO has a limited scope by design to minimize overhead. If desired, compactcpg can be scheduled separately
from startao to always run compactcpg.
StartAO Output
Scheduling an AO policy causes the startao command to execute. It is recommended to monitor the effectiveness of AO using space moved
reports as just discussed. The startao command output also includes information that can help understand AO. The output can be found in the
Schedules tab of SSMC and will be provided as command line output when run from the CLI.
The first two lines in the startao output identifies the time period that will be analyzed. This is sometimes called the measurement period. Region
moves will be based on the activity of the system during this time interval. If you choose a measurement period that does not represent the
desired tuning timeframe the results may be undesirable.
Start sample: 2015-11-05 16:30:00 (1446766200)
End sample: 2015-11-05 18:30:00 (1446773400)
The analysis phase is next. During this phase data is gathered from On Node System Reporter representing the specified measurement period
and the necessary calculations are made. All data needed to select regions to be moved such as the Average Access Rate Density of a Region
(ACCR) are computed during this phase. When the calculations are complete, AO checks the data against the –min_iops value optionally set in
the schedule. The –min_iops parameter, discussed in a later section titled “Using min_iops option” defaults to 50. If the system is not sufficiently
busy during the measurement period AO stops after the analysis phase and no region moves are scheduled.
Technical white paper
Page 19
StartAO has now been initialized, and the needed data collected or calculated. The next phase will schedule region moves. The first region moves
considered by AO are based on available space. AO will check the CPG’s in the AO configuration for free space. If one or two of the CPGs do not
have sufficient free space, AO will attempt to move regions between tiers to create free space. If sufficient free space is unavailable on all tiers, AO
will stop. This is the phase where AO will consider any tier minimum or maximum values as described earlier in the section titled “Minimum and
Maximum Space within a Tier”. AO will schedule region moves, if necessary, to satisfy any minimum or maximum settings.
When space considerations are complete a series of iterations begins to consider regions moves based on data analyzed from the measurement
period. Each iteration begins with a line in the output that looks like this:
Starting genMoves iteration: #
Where # is the iteration number starting with 0.
The next line in each iteration identifies the tiers and the AO mode used in considering moves.
Starting genMoves 1 0 busiest Performance
Where the numbers 1 and 0 are the tiers (tier 1 and tier 0), busiest is the criteria and Performance is the AO mode.
Each iteration will move a maximum of about 16 GiB of regions between tiers. The space moved in any iteration will be reported in the startao
output with a line like the following:
Criteria: busiest Move from tier1 to tier 0 16448.0 MiB
This line reports the move criteria (busiest in this example), the tiers involved and the space to be moved. If the space to be moved is not zero,
the next several lines of the output list the commands to schedule the region moves. This process repeats until AO finds no more regions to
move or it reaches an ending condition. In some configurations a large number of regions need to be moved to satisfy the AO configuration
parameters. Ending conditions provide a reasonable limit on the duration of a single run of AO. Ending conditions include reaching the time limit
set in the AO schedule or –maxrunh parameter when run from the CLI. Other ending conditions are based on the total amount of data moved.
The total space moved for an AO run can be calculated by summing the space reported on all “Criteria:” lines in the startao output. In a recent
example there were over 300 “Criteria:” lines reporting a total of more than 4 TB of space moved.
The last phase of the AO run is compaction. The goal of this phase is to free up regions which have been moved to other tiers. The approach is
to reclaim space when conditions are right, but not to provide a full space reclaim for all CPGs.
Using min_iops option
From HPE 3PAR OS version 3.1.3 onwards, a new option -min_iops was added to the startao command. If this option is used, AO will not execute
the region moves if the average LD IOPS for the AOCFG during the measurement interval is less than <min_iops> value specified with this
option. If -min_iops is not specified, then the default value is 50. The -min_iops option can be used to prevent movement of normally busy
regions to slower tiers if the application associated with an AOCFG is down or inactive (i.e., total LD IOPS for the AOCFG is less than <min_iops>)
during the measurement interval. This ensures that when the application resumes normal operation, its busy regions are still in the faster tiers.
Removing a tier from an AO configuration
A CPG will not be tracked by AO after it is removed from the AO configuration and any existing data in that CPG will not be moved to other
CPGs. Hence, it’s important to move all data out of a tier before it is removed from the AO configuration. The easiest way to drain the tier is by
setting the CPG warning level to 1 or setting the tier maximum value to 1. This will hint AO to not move any new data to this CPG and to move
existing data from this tier to the other CPGs. Note that setting the tier maximum to 0 will disable space considerations for that tier by AO and
will not cause all data to be removed from the tier. Setting the maximum value to 1, meaning 1 MB, will minimize the data on the tier.
Configuring the SSD pool to be used by multiple CPGs
The SSD tier may be used by CPGs that are not part of an AO configuration. In this case it is a best practice to set warning limits on the SSD
AO configurations or tier limits when running 3.2.2 or later. This helps prevent the system from allocating all available free space to the
AO tier 0 CPG.
For example, if a system has 10 TB of usable SSD capacity, the user can create an AO_tier0_SSDr5 and App1_SSDr5 and set a warning limit on the
AO CPGs or tier maximum in the AO configuration to 5 TB so no more than 5 TB of usable SSD will be allocated for that AO configuration. For
the other App1_SSDr5 CPG, the users can decide to set a warning or limits on the CPGs or VVs depending on how they want to manage the
shared pool of space and when they want to be alerted that the pool is running short of space.
Technical white paper
Page 20
Using AO configuration with VVsets
Starting from HPE 3PAR OS 3.2.1, a customer can configure AO region moves at a more granular level than all the volumes within a CPG. This can
be done by scheduling region moves at the virtual volume set (VVset) that serves as a proxy for an application.
This option is useful if a customer wants to have multiple volumes within the same AO Configuration CPG and schedule data movements at
different times with different schedules and modes.
A VVset is an autonomic group object that is a collection of one or more virtual volumes. VVsets help to simplify the administration of VVs and
reduce human error. An operation like exporting a VVset to a host will export all member volumes of the VVset. Adding a volume to an existing
VVset will export the new volume automatically to the host or the host set the VVset is exported to.
VVsets have a number of use cases beyond reducing the administration of their volume members, such as enabling simultaneous point-in-time
snapshots of a group of volumes with a single command. There is no requirement that volumes in a VVset have to be exported to hosts for an
AO configuration to work at the VVset level.
An environment may have workloads with two distinct IO profiles; profile_1 business hours and profile_2 non_business_hours.
For profile_2 only a subset of volumes are used and these applications can be logically assigned to a VVset called AO_Profile_2.
In order to make the volumes layout ready for out of business hours activity, one can schedule an Adaptive Optimization run that will target only
the volumes that belong to VVset AO_Profile_2, without impacting other volumes that are part of the AOCFG:
• 8:00 PM—Run AO against AO_Profile_2 measurement from last night, (12:00 AM to 5 AM). Maximum run for 4 hours.
• 5:00 AM—Run AO on entire AO config to prepare for day activity, (9:00 AM to 7:00 PM). Maximum run for 4 hours.
Alternatively, instead of running AO against all volumes, it’s possible to create VVset AO_Profile_1 and run AO only against that VVset. Without
this feature, we would have needed two different AO configurations and hence different sets of CPGs.
A new option -vv that takes a comma-separated list of VV names or set patterns has been added to three commands startao,
srrgiodensity, and sraomoves.
If -vv option is used with startao, the command then runs AO on the specified AOCFG, but only to matching VVs. This allows a user to run AO
on separate applications using the same AOCFG.
For srrgiodensity, the -vv option can be used to filter the volumes in the report when used along with the –withvv option.
And, the -vv option for sraomoves will allow the user to see the region moves associated with individual VVs. The min_iops option described in
the previous sections can be used at a more granular level when implementing AO with VVsets.
This option is configurable via command line only; for more information refer to the HPE 3PAR Command Line Interface reference guide.
Following example schedules AO moves every day at 23:00; this command will only move regions belonging to VVs in VVset AO_Profile_2.
createsched "startao -btsecs -1h -vv set:AO_Profile_2 AOCFG" "0 23 * * *" AO_out_of_business_hours
Technical white paper
Page 21
Adaptive Optimization with Remote Copy
Although Adaptive Optimization coexists and works with replicated volumes, it’s important that users take into account the following
considerations when using AO on destination volumes for HPE 3PAR Remote Copy. The I/O pattern on the Remote Copy source volumes is
different from the I/O pattern on the Remote Copy target volumes; hence, AO will act differently when moving regions on the primary volume
when compared to the data movement on the destination volume.
• With synchronous replication and asynchronous streaming replication, the target volumes will receive all the write I/O requests; however, the
target volume will see none of the read requests on the source volume. AO will only see the write I/O on the target volumes and will move the
regions accordingly. If the application is read intensive, then the hot regions will be moved to tier 0 on the source array but will not be moved
to tier 0 on the target array. Upon failover to the remote array, the performance of the application may be impacted as the region that was hot
and in tier 0 earlier (on the source array) may not be in tier 0. This scenario also applies to HPE 3PAR Peer Persistence.
• With periodic asynchronous replication mode, write I/O operations are batched and sent to the target volumes periodically; hence, the I/O
pattern on target volumes is very different from that on source volumes. If AO is configured on these volumes, the resulting sub-tiering will be
different from the sub-tiering done on the source volumes.
Considering the above scenarios, data layout on the target volume may be different on the secondary system. And in case of a failover,
performance levels may differ. In these cases, a good way to rebalance the hottest data to the upper tiers is to manually run the AO policy
30 minutes after failover (so the system has enough I/O statistics for the new I/O profile to identify the right regions to move).
Use case
Accelerating workloads by adding SSDs
In a two-tier configuration with SSD and fast-class drives, AO can provide performance acceleration by lowering the average svctimes. In the
provided example, a customer had an array with 120 FC drives with a backend IOPS of over 30,250. Each drive was getting around 250 IOPS and
had a service time of over 20 ms. Figure 13 shows the IOPS and service times reported by the statport command. The customer engaged
Hewlett Packard Enterprise to help them resolve their performance problem.
Figure 13. Back-end IOPS and service time before implementing AO
From the HPE 3PAR StoreServ CLI command statport, it was clear that the array was getting a lot more I/O than what it was sized for. And, they
had not yet completed the migration activity and expected a lot more load on the array. The customer had two options: either add more FC
drives or analyze and check if adding SSD drives and enabling AO will help. Figure 14 shows the region I/O density report for the FC CPG.
Technical white paper
Page 22
Figure 14. Region I/O density report
The customer decided to add 24 SSD drives and use AO. Figure 15 shows the statpd report after enabling AO. The SSD drives are now serving
around 1,000 IOPS each and the FC drives are now serving around 200 IOPS each. And, figure 16 shows how service times reduced from over
20 ms to less than 10 ms.
Figure 15. PD IOPS after implementing AO
Technical white paper
Page 23
Figure 16. Service time reduction as result of AO
So, by enabling AO, the customer was able to reduce the IOPS on FC drives, thereby improving the response time. The I/O profile also had good
locality of data that helped AO to put the hot regions in SSD tier.
Lowering cost per GB by configuring a three-tier configuration with SSD, FC, and NL
This section describes the real benefits that a customer has from using HPE 3PAR Adaptive Optimization. The customer had a system with 96
300 GB 15k rpm FC drives and 48 1 TB 7.2k rpm NL drives. The customer had 52 physical servers connected and running VMware® with more
than 250 virtual machines (VMs).
The workload was mixed (development and QA, databases, file servers, and more) and they needed more space to accommodate many more
VMs that were scheduled to be moved onto the array. However, they faced a performance issue: they had difficulty managing their two tiers
(FC and NL) in a way that kept the busier workloads on their FC disks. Even though the NL disks had substantially less performance capability
(because there were fewer NL disks and they were much slower), they had larger overall capacity.
As a result, more workloads were allocated to them and they tended to be busier while incurring long latencies. The customer considered two
options: either they would purchase additional 96 FC drives, or they would purchase additional 48 NL drives and 16 SSD drives and use
HPE 3PAR Adaptive Optimization to migrate busy regions onto the SSD drives. They chose the latter and were pleased with the results
(illustrated in figure 17).
Technical white paper
Page 24
Figure 17. Improved performance after Adaptive Optimization
Before HPE 3PAR Adaptive Optimization, as described in the charts—and even though there are fewer NL drives—they incur greater IOPS load
than the FC drives in aggregate and consequently have very poor latency (~40 ms) compared with the FC drives (~10 ms). After HPE 3PAR
Adaptive Optimization was executed for a little while, as shown in figure 17, the IOPS load for the NL drives dropped substantially and the load
was transferred mostly to the SSD drives.
HPE 3PAR Adaptive Optimization moved approximately 33 percent of the IOPS workload to the SSD drives even though that involved moving
only one percent of the space. Back-end performance improved in two ways: the 33 percent of the IOPS that were serviced by SSD drives got
very good latencies (~2 ms), and the latencies for the NL drives improved (from ~40 ms to ~15 ms). The front-end performance also improved
significantly as most of the frequently accessed data was serviced by SSD tier. Moreover, the investment in the 16 SSD drives permitted them to
add even more NL drives in the future, because the SSD drives have both space and performance headroom remaining.
Technical white paper
Summary
HPE 3PAR Adaptive Optimization is a powerful tool for identifying how to configure multiple tiers of storage devices for high performance. Its
management features can deliver results with reduced effort. As in all matters concerning performance, your results may vary but proper focus
and use of HPE 3PAR Adaptive Optimization can deliver significant improvements in device utilization and total throughput
Learn more at
hpe.com/storage/3PARStoreServ
Sign up for updates
Rate this document
© Copyright 2012–2016 Hewlett Packard Enterprise Development LP. The information contained herein is subject to change without
notice. The only warranties for Hewlett Packard Enterprise products and services are set forth in the express warranty statements
accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. Hewlett Packard
Enterprise shall not be liable for technical or editorial errors or omissions contained herein.
VMware is a registered trademark or trademark of VMware, Inc. in the United States and/or other jurisdictions.
4AA4-0867ENW, January 2016, Rev. 4
Download