Application workload pacing

Certain applications can generate a very large number of updates to a primary volume in a short period of time, temporarily exceeding XRC's capability to offload updates. Such applications include volume defragmentation or full-volume copy or restore operations.

In order to avoid filling cache and reaching Long-Busy conditions, most storage controls have functions that pace the application writes, allowing XRC to offload updates more effectively. The ESS provides such a function, known as device-level blocking (also called device blocking).

Device blocking allows pacing of application writes to occur for brief intervals, and only on the specific volumes that have accumulated a large number of updates in cache. The level of updates that trigger pacing can be tailored using the XRC parmlib. For volumes that contain high-performance response time-sensitive data, such as data base logs, XRC provides the XADDPAIR DONOTBLOCK option that can be used to disable device blocking for an individual volume.

XRC also provides the capability to enable and disable device blocking dynamically for a volume using the XSET DVCBLOCK parameter. This can be used, for example, to permit device blocking for selected volumes during batch processing, and disable it during online processing, all without suspending the mirroring of updates.

In a properly tuned, configured, and balanced XRC environment, device blocking will be infrequent and will have a minimal effect on application performance. If persistent, excessive device blocking is observed, XRC performance data should be analyzed to determine the underlying cause.

Refer to XADDPAIR–Adding volume pairs or utility volumes and XSET–Changing session parameters for command syntax, and ANTRQST and ANTRQSTL macros – call to the system data mover API for the XRC API invocation of the XADD and XSET requests.