cancel
Showing results for 
Search instead for 
Did you mean: 
Views: 620

Symptoms

A FlashCopy mapping grain size significantly larger than host I/O size may yield suboptimal performance during FlashCopy operations. This applies to Storwize and SVC firmware releases V7.3.x and higher.

 

For applications with host application I/O transfer sizes less than or close to 64K, overall IO performance during FlashCopy may be degraded with the larger, default grain size of 256K.

Diagnosis

If FlashCopy mapping grain size does not match host IO size closely, it may result in an amplification of the number of writes to the backend storage, due to the fact that for every write IO to an unsplit grain the whole grain must be read from the FlashCopy source and copied to the target.

When a write IO is executed on a source volume, FlashCopy will check whether the original data in this location has already been copied to the target. If the data has not already been copied, FlashCopy will perform this copy before completing the IO back to the host system.

In cases where an application performs a small write IO to the source volume, this may result in a larger IO being copied to the target volume before completion to the host, potentially producing a performance degradation. This is due to the fact that the smallest size of IO copied between a FlashCopy source and target is determined by the FlashCopy grain size.

Ensuring that the grain size is closer to the size of the application write IOs being performed to the source volume will therefore help to minimize this effect.

 

The single cache architecture in V7.2.x releases and earlier meant that the rate at which grains could be split and processed was dictated by backend storage performance. From V7.3.x onwards, the dual cache architecture means that FlashCopy will perform writes directly to the lower cache, enabling these to be processed much more quickly, hence filling the lower cache with write IOs which then need to be destaged to physical storage.

 

Solution

Utilize 64K grain size for FlashCopy mappings used by applications exhibiting small host application I/O. This is applicable to Storwize and SVC releases V7.3.x and higher.


N.B. The grain size for a mapping cannot be changed after the mapping has been created.

If using a thin-provisioned volume in a FlashCopy map, use the same grain size as the map grain size for best performance. Additionally, If using a thin-provisioned volume directly with a host system, use a grain size that more closely matches the host IO size.   (Reference #: S1005017)

Was this information helpful?

Contributors